hreflang - как правильно?

12
VG
На сайте с 22.11.2017
Offline
49
604

Наверное, таких вопросов миллион и новички задолбали не новичков.

Но помогите разобраться.

Есть сайт (новостной портал, много новостей под каждый регион)

https://site.com/

и появилась польская версия

https://site.com/pl/

<link rel=alternate hreflang=en href=https://site.com/>

<link rel=alternate hreflang=pl href=https://site.com/pl/>

Так правильно?

А как на других страницах? На обычных страницах тоже указывать этот хрефланг или только на главной?

Смотрю на templatemonster, так они на каждой странице указывают, другую страницу на другом языке.

У нас много новостей, на одном языке эта новость будет, на другом нет.

Что-то я запутался. Помогите распутаться)

Станислав Романенко
На сайте с 05.09.2007
Offline
325
#1

Если у страницы есть версия только на одном языке, то хрефланг не нужен.

Сайт не лезет в топ? Сделаю аудит без воды всего за 8000 рублей! Отзывы клиентов тут (https://searchengines.guru/ru/forum/939454), почта для связи: ingref@ya.ru Посмотрю, в чём проблема с вашим сайтом, за 100 рублей (https://searchengines.guru/ru/forum/comment/15662080).
VG
На сайте с 22.11.2017
Offline
49
#2

Поправьте если я не прав.

Мы указываем этот блок в хеде страницы

<link rel=alternate hreflang=en href=https://site.com/>

<link rel=alternate hreflang=pl href=https://site.com/pl/>

а если у внутренних страницах нет альтернативных версий на другом языке, то мы на этих страницах ничего не указываем?!

а вот, если уже есть альтернатива, то пишем

<link rel=alternate hreflang=en href=https://site.com/tovar119>

<link rel=alternate hreflang=pl href=https://site.com/pl/tovar119>

так?

Станислав Романенко
На сайте с 05.09.2007
Offline
325
#3

Да, верно.

skapunker
На сайте с 15.01.2014
Offline
215
#4

у поисковиков в справке все написано тысячу раз https://yandex.ru/support/webmaster/yandex-indexing/locale-pages.html

https://support.google.com/webmasters/answer/182192?hl=ru

Избавиться от ботов на сайте https://clck.ru/38bp4f
FoxCloud
На сайте с 08.11.2016
Offline
57
#5

Нужно указывать на каждой странице, если у этой страницы есть альтернативная страница на другом языке, или для другого региона.

Вот как это реализовано у нас:

https://prnt.sc/pbpyu7

вот для этой статьи статья взята для примера):

https://ru.foxcloud.net/en/kb/applications-and-solutions/cms/how-to-install-wordpress-on-hosting.php

Чтобы посмотреть исходный код нужно в статье нажать ctrl+u

FoxCloud ( http://ru.foxcloud.net/ )размещение в Европе / Америке / России. Серверы для любого проекта.
VG
На сайте с 22.11.2017
Offline
49
#6

Всем спасибо за ответы, с примером еще более понятно стало!

Alex Agent
На сайте с 07.04.2011
Offline
304
#7

Готовый пример: сайт EN (основной), RU, UA. С указанием региона.

<link rel="alternate" href="https://site.name/page.html" hreflang="en" />
<link rel="alternate" href="https://site.name/page.html" hreflang="en-US" />
<link rel="alternate" href="https://site.name/ru/page.html" hreflang="ru" />
<link rel="alternate" href="https://site.name/ru/page.html" hreflang="ru-RU" />
<link rel="alternate" href="https://site.name/uk/page.html" hreflang="uk" />
<link rel="alternate" href="https://site.name/uk/page.html" hreflang="uk-UA" />
<link rel="alternate" href="https://site.name/page.html" hreflang="x-default" />

Если нет страницы, допустим, в переводе на украинский, то остается:

<link rel="alternate" href="https://site.name/page.html" hreflang="en" />
<link rel="alternate" href="https://site.name/page.html" hreflang="en-US" />
<link rel="alternate" href="https://site.name/ru/page.html" hreflang="ru" />
<link rel="alternate" href="https://site.name/ru/page.html" hreflang="ru-RU" />
<link rel="alternate" href="https://site.name/page.html" hreflang="x-default" />

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


<link rel="alternate" href="https://site.name/ru/page.html" hreflang="ru" />
<link rel="alternate" href="https://site.name/ru/page.html" hreflang="ru-RU" />
<link rel="alternate" href="https://site.name/uk/page.html" hreflang="uk" />
<link rel="alternate" href="https://site.name/uk/page.html" hreflang="uk-UA" />
<link rel="alternate" href="https://site.name/ru/page.html" hreflang="x-default" />

Если страница существует только на одном языке и не имеет переводов - вообще не указываем ничего.

В начале тега html также стоит указывать язык страницы (не обязательно, но полезно):

<html lang="en-US">
Всему свое время. Все сами принесут и все сделают. Быстрый и выгодный перевод денег Россия ↔ Украина онлайн (http://smartwm.ru/referral/cea1f09842be).
VG
На сайте с 22.11.2017
Offline
49
#8
FoxCloud:
Нужно указывать на каждой странице, если у этой страницы есть альтернативная страница на другом языке, или для другого региона.
Вот как это реализовано у нас:
https://prnt.sc/pbpyu7
вот для этой статьи статья взята для примера):
https://ru.foxcloud.net/en/kb/applications-and-solutions/cms/how-to-install-wordpress-on-hosting.php
Чтобы посмотреть исходный код нужно в статье нажать ctrl+u

А hreflang="x-default" вы указываете на англоязычную версию?

https://www.foxcloud.net/kb/applications-and-solutions/cms/how-to-install-wordpress-on-hosting.php

Lazy Badger
На сайте с 14.06.2017
Offline
231
#9
vip-grinders:
<link rel=alternate hreflang=en href=https://site.com/>
<link rel=alternate hreflang=pl href=https://site.com/pl/>

Так правильно?

Правильно, но не полно. Должен быть еще (ну или "крайне желателен") default для тех посетителей, кто не отсылает Accept-Language

hreflang="x-default"

+ как мне помнится, код языка - в кавычках, как и все остальные значения параметров

Производство жести методом непрерывного отжига
VG
На сайте с 22.11.2017
Offline
49
#10

На одном сайте нашел ошибку, там тупо на всех страницах стоит

<link rel=alternate hreflang=en href=https://site.com/>

<link rel=alternate hreflang=pl href=https://site.com/pl/>

Без изменения естественно урла) Интересно как гугл это воспринимает)

12

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