hreflang - какой код нужно прописать Есть решение

Какой код нужно использовать чтобы атрибут hreflang корректно прописался на всех страницах сайта?

3 ответа

  • 1
    Алексей Webasyst 13 февраля 2019 22:59 # Решение

    В head добавьте поближе к началу.

    <link rel="alternate" hreflang="ru" href="https://site.ru" />
    <link rel="alternate" hreflang="en" href="https://site.ru/en/" />
    <link rel="alternate" hreflang="uk" href="https://site.ru/ua/" />
    

    https://yandex.ru/support/webm...

  • 1
    s.osadchenko 16 сентября 2020 18:51 #

    только Ваш код не учитывает страну для которой показывается страницы сайта.

    Например, fr-be — страница на французском языке для читателей из Бельгии или nl-be — для этих же читателей на нидерландском языке.

    • +1
      Алексей Алексей Webasyst 16 сентября 2020 19:20 #

      Это пример статичного кода без переменных, поэтому самый общий вариант. Вы можете его отредактировать и внести свои ссылки для более точного использования.

      • +1
        s.osadchenko s.osadchenko 17 сентября 2020 12:18 #

        ОК. мы его вставляем в index 

        но к примеру на странице товара так же будет выводить только главную папку языковой версии, например https://site.ru/ua/

        но как вставить подстановку всего URL (товара, или информ страницы

        например: <link rel="alternate" hreflang="ru" href="https://site.ru"><link rel="alternate" hreflang="en" href="https://site.ru/en/"><link rel="alternate" hreflang="uk" href="https://site.ru/ua/"><link rel="alternate" hreflang="ru" href="https://site.ru"><link rel="alternate" hreflang="en" href="https://site.ru/en/"><link rel="alternate" hreflang="uk" href="https://site.ru/ua/">

        <link rel="alternate" hreflang="ru" href="https://site.ru"><link rel="alternate" hreflang="en" href="https://site.ru/en/"><link rel="alternate" hreflang="uk" href="https://site.ru/ua/"><link rel="alternate" hreflang="ru" href="https://site.ru"><link rel="alternate" hreflang="en" href="https://site.ru/en/"><link rel="alternate" hreflang="uk" href="https://site.ru/ua/"><link rel="alternate" hreflang="ru" href="https://site.ru"><link rel="alternate" hreflang="en" href="https://site.ru/en/"><link rel="alternate" hreflang="uk" href="https://site.ru/ua/">

        <link rel="alternate" hreflang="ru" href="https://site.ru/product_iphone" /><link rel="alternate" hreflang="en" href="https://site.ru/en/product_iphone" /><link rel="alternate" hreflang="uk" href="https://site.ru/ua/product_iphone" />
        

        <link rel="alternate" hreflang="ru" href="https://site.ru"><link rel="alternate" hreflang="en" href="https://site.ru/en/"><link rel="alternate" hreflang="uk" href="https://site.ru/ua/">Я попробовал вот так: <link rel="alternate" hreflang="ru-UA" href="{$canonical}" />

        и вот так: <link rel="alternate" hreflang="ru-UA" href="{$wa->currentUrl()}" />


        это работает для одной версии языка, а гугл хочет, что бы на каждой версии языка указывались альтернативные (перекрестно), на русской нужно указать русскую и там же украинскую ... и так далее..

        подскажите как делать вывод URL ?

      • +1
        s.osadchenko s.osadchenko 17 сентября 2020 12:20 #

        2. Перелинковка должна указывать на аналогичную страницу альтернативной версии сайта. Часто указывают главную в качестве альтернативы внутренней страницы, например, статьи, каталога, карточки товара. Это ошибка.

  • 1
    s.osadchenko 17 сентября 2020 20:49 #

    по итогу поиграл и получилось вот так

    <link rel="alternate" hreflang="ru-UA" href="https://europack.kiev.ua{$wa->currentUrl()}" ><link rel="alternate" hreflang="uk-UA" href="https://europack.kiev.ua/ua{$wa->currentUrl()}" >

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите