Надеюсь, мне удастся помочь с этой проблемой, с которой я столкнулся.
Ситуация:
У меня есть 1 веб-сайт на 5 языках (например, example.com, example.com/it и т. Д.)
Проблема:
Теперь у меня есть example.com/about-us и example.com/it/about-us. Очевидно, я хочу, чтобы итальянская версия была похожа на: example.com/it/chi-siamo.
Я пытался перевести идентификатор и связал его в категориях продуктов, чтобы сказать «чи-сиамо». Проблема в том, что если вы пытаетесь переключиться на другой язык, он использует этот идентификатор.
Например: я в настоящее время на example.com/it/chi-siamo, но я хочу переключиться на немецкую версию, которая должна быть example.com/de/ueber-uns. Если я переключаюсь с итальянского на немецкий с помощью переключателя языка, я получаю: example.com/de/chi-siamo. Что дает 404 .
Какое решение выбрать?
источник
Я предполагаю, что у каждого из пяти языков есть свой собственный вид магазина. Если это так, вы можете реализовать это, используя Catalog> URL Rewrite Management для продуктов - по одному для каждого,
store_id
- а затем расширитьMage_Catalog_Model_Product_Url::getUrl
для поиска переписывания для конкретного магазина и использовать егоrequest_path
вместо значения по умолчанию.источник
Вы не должны этого делать.
это добавляет еще один слой в обработке URL. Дает возможность ошибок и узких мест производительности.
переключение языка становится намного сложнее, так как вам нужно не только ссылаться на другой идентификатор языка, вам также нужно выбрать правильные URL-адреса для каждого языка (в случае, если у вас есть переключение языка на вашем сайте)
это почти не приносит пользы. Сегодня многие браузеры даже начинают скрывать полный URL-адрес, показывая только домен или даже только идентификатор в сертификате ssl.
источник
Если SEO является вашей главной задачей, то вам просто нужно использовать атрибуты rel = "alternate" hreflang = "x" в вашем заголовке, чтобы сообщить поисковым системам (Google), что просматриваемая страница является точным переводом другой страницы.
Google не только начнет индексировать ваши переведенные страницы, но и удалит любые штрафы за дублирование контента для любой части страницы, которая не переведена.
Первая часть - это язык, а вторая - страна (ит-ит-итальяно-итальянский или де-ч-немецко-швейцарский), если вы так настроены. Также всегда есть набор по умолчанию.
Пример положить в голову:
Это объясняет это довольно хорошо:
https://support.google.com/webmasters/answer/189077?hl=en
https://moz.com/learn/seo/hreflang-tag
источник