Будет ли корректно отрабатывать sitemap.xml если есть редиректы?

RS
На сайте с 02.02.2019
Offline
1
1079

Есть мультиязычный сайт с таким sitemap.xml:


<url>
<loc>https://domain.com</loc>
<xhtml:link
rel="alternate"
hreflang="ru"
href="https://domain.com/ru"/>
<xhtml:link
rel="alternate"
hreflang="x-default"
href="https://domain.com"/>
</url>

У меня также есть адрес https://domain.com/en, с которого всегда идет 301 редирект на https://quality-expert.com.

С точки зрения пользователя: если пользователь при предыдущем посещении выбрал русский язык или php определил по заголовкам запроса, что для пользователя более приоритетный русский, то будет записана кука на русский язык (для последующих посещений). Если русскоязычный пользователь зайдет по url https://domain.com, то он получит редирект на определенный ранее русский язык. Если был определен английский, то он будет показан без редиректа.

Вопрос: Согласно этой логике, отработает ли индексация обоих языков сайта? Или этот редирект может помешать в этом? К примеру, при посещении ботом страницы https://domain.com/ru php записал куку на русский, а затем при посещении https://domain.com мой сервер посмотрит на эту куку, увидит там русский и сделает редирект из https://domain.com на https://domain.com/ru . Работают ли куки при посещении ботов? Если я в sitemap.xml вместо https://domain.com напишу https://domain.com/en, то редиректа точно не произойдет, т.к. php видит, что пользователя интересует именно этот язык и кука запишется на этот язык. Нотогда я боюсь получить дубликат при индексации двух разных url на английском языке. И последнее, нужна ли вообще в php проверка заголовков на приоритетный язык, если на каждой странице я пишу что-то типа:


<link rel="alternate" hreflang="ru" href="http://new-landing/ru" />
<link rel="alternate" hreflang="x-default" href="http://new-landing" />

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

Оптимизайка
На сайте с 11.03.2012
Offline
396
#1
ReaderS:
всегда идет 301 редирект

Лучше использовать 302.

отработает ли индексация обоих языков сайта?

Да, но если у вас есть англ. контент его стоит специально указать:

<xhtml:link rel="alternate" hreflang="en" ...

т.к. x-default предназначен для ситуаций, когда язык контента не определен.

Работают ли куки при посещении ботов?

Поисковые роботы не используют cookie

я боюсь получить дубликат при индексации двух разных url на английском языке

Для устранения дубликатов существует <link rel="canonical">

И последнее, нужна ли вообще в php проверка заголовков на приоритетный язык

Браузеры не учитывают тэги <link rel="alternate">. Конечно эта фича необязательна, но иногда удобна. Принудительный редирект с конкретных языковых версий страниц я бы с точки зрения "удобства" пользователя не делал, т.е.:

если пользователь заходит на http://example.com/en/ то отдавал бы всем англ. версию

если на http://example.com/ru/ - то русскую

а если на http://example.com/ то определял бы язык и редиректил на /en/ или /ru/ соответственно.

Подробнее про sitemap.xml у многоязычных сайтов вы можете прочитать тут:

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

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
RS
На сайте с 02.02.2019
Offline
1
#2
Оптимизайка:

"Лучше использовать 302."

Я знаю, что 302 не передает вес страницы. Разве в случае редиректа с https://domain/com/en на https://domain/com нужен 302-й? Это по сути одна и та же страница, просто у нее есть два url. И при этом в коде указать каноникал на https://domain/com?

"Да, но если у вас есть англ. контент его стоит специально указать:"
Т.е. у меня на каждую страницу должно быть три записи, ru, en и страница по умолчанию?


<url>
<loc>https://domain.com</loc>
<xhtml:link
rel="alternate"
hreflang="ru"
href="https://domain.com/ru"/>
<xhtml:link
rel="alternate"
hreflang="en"
href="https://domain.com/en"/>
<xhtml:link
rel="alternate"
hreflang="x-default"
href="https://domain.com"/>
</url>


"Поисковые роботы не используют cookie"
Хорошо, значит они не получат принудительный редирект по куке.

"Принудительный редирект с конкретных языковых версий страниц я бы с точки зрения "удобства" пользователя не делал, т.е.:
если пользователь заходит на http://example.com/en/ то отдавал бы всем англ. версию
если на http://example.com/ru/ - то русскую
а если на http://example.com/ то определял бы язык и редиректил на /en/ или /ru/ соответственно."

Ну так и есть, если в url есть признак языка, то пользователь получает то, что запрашивает. Только если этот признак языка = /en , то будет редирект. Мне кажется, это правильно, делать редирект на главный url, может ошибаюсь конечно.
S
На сайте с 30.09.2016
Offline
469
#3
ReaderS:
Разве в случае редиректа с https://domain/com/en на https://domain/com нужен 302-й? Это по сути одна и та же страница, просто у нее есть два url. И при этом в коде указать каноникал на https://domain/com?

А какой великий смысл в том, чтобы поддерживать url https://domain/com/en и указывать этот адрес в link, если Вы никогда не собираетесь его использовать?

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
RS
На сайте с 02.02.2019
Offline
1
#4
Sitealert:
А какой великий смысл в том, чтобы поддерживать url https://domain/com/en и указывать этот адрес в link, если Вы никогда не собираетесь его использовать?

Да все очень просто. Если юзер хочет зайти именно на английскую версию, то он сможет это сделать. Если я отправляю письмо юзеру и знаю, что он англоязычный, то указываю эту ссылку /en. А как иначе? Разве есть другой способ?

S
На сайте с 30.09.2016
Offline
469
#5
ReaderS:
указываю эту ссылку /en. А как иначе? Разве есть другой способ?

Да. Можно указать ссылку https://domain/com. Всё равно же туда редиректит.

RS
На сайте с 02.02.2019
Offline
1
#6
Sitealert:
Да. Можно указать ссылку https://domain/com. Всё равно же туда редиректит.

Т.е. вы предлагаете в принципе убрать такой адрес с сайта как domain.com/en ? Это правильно с точки зрения seo?

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