Страница 1 из 1

Файл Sitemap и несколько языков

Добавлено: 20.02.2018, 14:50
dabustard
В текущей версии 2.1.4 для каждого языка свой sitemap.xml.
Согласно рекомендаций Google файл Sitemap должен быть один c перечислением ссылок на все языковые версии страниц.

По сути в имеющемся файле нужно изменить строку:

Код: Выделить всё

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

на

Код: Выделить всё

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">

В каждый <url></url> добавить строки с альтернативными url для каждого языка (в примере демосайт):

Код: Выделить всё

<xhtml:link rel="alternate" hreflang="ru" href="http://www.demookay.com"/>
<xhtml:link rel="alternate" hreflang="en" href="http://www.demookay.com/en"/>

И отдавать 404 по http://www.demookay.com/en/sitemap.xml

Ну и в robots.txt добавить ссылку на sitemap не мешало бы.

Добавлено: 20.02.2018, 21:51
OkayCMS
В документации не сказано что стоит объединять эти файлы в один. А вот объединение их в нашем случает было бы довольно критичным потому что:
а) Намного раньше файл бы превышал количество ссылок в 50 000 и нужно было бы делать пагинацию сайтмапов
б) При ошибочном включении языка ненужные страницы залетали бы в индекс намного быстрее.

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

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

Добавлено: 21.02.2018, 14:23
dabustard
OkayCMS писал(а):В документации не сказано что стоит объединять эти файлы в один.
полагаю, что там не сказано про объединение, так как о нескольких файлах там говорится только в том случае, когда на сайте более 50000 url.

Добавлено: 22.02.2018, 09:09
makki
В Search Console недавно появились такие сообщения об ошибках:
Геотаргетинг | Язык > На странице с кодом языка ru нет обратных ссылок.
Укажите в HTML-коде страницы с кодом языка ru обратные ссылки: URL сайта и альтернативные URL.

На некоторых страницах Вашего сайта неправильно реализованы атрибуты rel и hreflang. Скорее всего, неверно указаны языковые коды или регионы либо отсутствуют обратные ссылки (если страница А ссылается на страницу Б, то вторая страница должна содержать обратную ссылку на первую). Атрибут hreflang используется для показа результатов Google Поиска на подходящем языке и с правильным региональным URL.
Возможно эта ошибка связана с этой темой. Может у кого-то были подобные ошибки в Search Console? Как их убрать?

Добавлено: 22.02.2018, 15:31
pikasso
makki писал(а):В Search Console недавно появились такие сообщения об ошибках:
Геотаргетинг | Язык > На странице с кодом языка ru нет обратных ссылок.
Укажите в HTML-коде страницы с кодом языка ru обратные ссылки: URL сайта и альтернативные URL.

На некоторых страницах Вашего сайта неправильно реализованы атрибуты rel и hreflang. Скорее всего, неверно указаны языковые коды или регионы либо отсутствуют обратные ссылки (если страница А ссылается на страницу Б, то вторая страница должна содержать обратную ссылку на первую). Атрибут hreflang используется для показа результатов Google Поиска на подходящем языке и с правильным региональным URL.
Возможно эта ошибка связана с этой темой. Может у кого-то были подобные ошибки в Search Console? Как их убрать?
Точно такой же вопрос. Недавно увидел аналогичные сообщения в Search Console...

Добавлено: 23.02.2018, 08:09
OkayCMS
Можете прислать ссылку на такие сайты в личку?

Добавлено: 26.02.2018, 09:00
dabustard
makki писал(а):Возможно эта ошибка связана с этой темой. Может у кого-то были подобные ошибки в Search Console? Как их убрать?
OkayCMS писал(а):Точно такой же вопрос. Недавно увидел аналогичные сообщения в Search Console...
OkayCMS писал(а):Можете прислать ссылку на такие сайты в личку?
вот тут валидатор - https://technicalseo.com/seo-tools/hreflang/ который выдаст ту же ошибку на демо-сайте в том числе. Проблема там в несоответствии фактических url и url в тегах canonical и alternate. Я как раз писал об этом в этой теме
У нас получается, что:
URL главной:
для основного языка: http://www.demookay.com/ и дубль http://www.demookay.com
для второго языка: http://www.demookay.com/en/ и дубль http://www.demookay.com/en/
Канонический url:
для основного языка: http://www.demookay.com
для второго языка: http://www.demookay.com/en
Альтернативный url:
для основного языка: http://www.demookay.com/
для второго языка: http://www.demookay.com/en/

К тому же ссылка на главную второго языка идет http://www.demookay.com/en/, вместо http://www.demookay.com/en. Получается, что на страницу с альтернативным языком, которая ялвляется канонической - http://www.demookay.com/en - ссылки нет, потому в search console и ошибка.

Нужно навести порядок со всеми этими url:
1) определится использовать слеш на конце или нет;
2) настроить серверный редирект на нужную версию;
3) проверить/исправить ссылку в переключателе языка;
4) проверить/исправить url в тегах canonical, alternate и файле sitemap.