Очистка URL-адресов на многоязычном веб-сайте

Я хотел бы избавиться от многоязычного контента в URL-адресах, т. е. получить site.com/page вместо en.site.com/page, site.com/en/page и site.com/page?lang=en

Мотивация такова: людям не нужны вещи. Можно получить ссылку page?lang=de, просмотрев какую-нибудь немецкую фразу или просматривая некоторые немецкоязычные сообщества. Что означает Accept Language у него /нее? Таким образом, SE является единственной партией, для которой нужны грязные URL-адреса из-за плохой (отсутствие) Accept Language. Поисковые системы пытаются понять все языки, в то время как люди знают, что им нужно. Я хотел бы сохранить беспорядочные URL-адреса только для сканеров и показать, когда это возможно, чистые.

Вопросы:

  1. Что не так с моей мотивацией?
  2. Невозможно заменить грязные URL чистыми в результатах поиска, не так ли?
  3. Влияют ли SE на window.location? Опасно ли очищать URL-адрес через JS?
  4. В отличие от Google, который позволяет связывать локализацию вместе через sitemap, Yandex хочет, чтобы код <link rel="alternate" hreflang="... был внутри страницы. Нужно ли синхронизировать эти теги с помощью window.location?
3 голоса | спросил user76879 10 PMpMon, 10 Apr 2017 14:28:54 +030028Monday 2017, 14:28:54

1 ответ


2

Нет ничего плохого в вашем желании очистить URL-адрес, но за-sey, но я укажу здесь несколько вещей ...

  • Обычно пользователи принимают код языка в URL (либо в качестве поддомена, либо как каталог основного домена).
  • Вы правы, что лучше не иметь код языка в качестве параметра URL, который можно легко изменить или забыть.
  • У многих пользователей нет настроек Accept Language в их браузере, либо из-за отсутствия контроля над ним (public или бизнес-компьютер) или не понимая, как это сделать.

Обычная практика, которая также является одним из поддерживаемых вариантов Google, заключается в том, чтобы либо использовать поддомены для ваших кодов языков, либо использовать домены верхнего уровня кода страны (более дорогие, поскольку вам необходимо приобрести доменное имя для каждого перевода вашего сайта). Вы также можете добавить метафайлы rel="alternate" href-lang="..." в свои файлы для ссылки на переведенную версию. Что-то я также делаю, проверяя заголовки, чтобы увидеть, есть ли заголовок Accept Language и что-то другое, что язык сайта по умолчанию, в каком случае я предоставить пользователю возможность на своем языке перейти на переведенный сайт.

ответил Chris Rutherfurd 17 PMpMon, 17 Apr 2017 12:08:48 +030008Monday 2017, 12:08:48

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132