Discourse теперь будет отвечать заголовком X-Robots-Tag: noindex, если запрошенная страница не является канонической для ресурса.
Хотя Discourse использует автоматическую прокрутку для списков тем и самих тем, это не то, что показывают поисковым роботам, таким как GoogleBot. Поисковые системы видят тематические страницы с пагинацией, по 20 постов на каждой. Однако, поскольку пользователи могут ссылаться на конкретные посты в своих сообщениях, используя формат URL /t/title/topic_id/post_id, поисковые роботы будут находить эти ссылки, что приведёт к дублированию контента в результатах поиска по вашему сайту и к бесполезной трате ограниченного бюджета сканирования вашего домена.
Чтобы решить эту проблему, наше сообщество пользователей предложило добавить заголовок X-Robots-Tag: noindex для URL-адресов, указывающих на конкретные посты. Нам удалось распространить это решение на все неканонические URL-адреса в Discourse. Эта функция была выпущена как скрытая настройка сайта и по умолчанию отключена три месяца назад. За это время мы тестировали включение этого заголовка как на сайтах сообщества, так и на meta.discourse.org.
Поскольку результаты этого периода выглядят обнадеживающе, мы включили эту настройку по умолчанию.
Если по какой-то причине вы не хотите такого поведения на вашем экземпляре, вы всё ещё можете разрешить индексацию неканонических страниц, выполнив на вашем сервере команду: docker exec -i app rails runner "SiteSetting.allow_indexing_non_canonical_urls = true".
Не ожидайте резких изменений в процессе сканирования и результатах поиска в одночасье, но в течение следующих месяцев вы увидите уменьшение количества сканирований и результатов поиска для страниц конкретных постов. Это приведёт к тому, что больше времени сканирования будет уделяться новым темам на вашем сайте и контенту, который ещё не был проиндексирован из-за ограничений бюджета сканирования вашего домена.
TL;DR: Не блокируйте неканонические страницы — просто укажите на правильный URL через <link rel="canonical" … >. Для этого он и создан.
Эта функция может нанести долгосрочный вред SEO-ссылочной массе:
Все глубокие ссылки на ответы внутри тем теперь находятся на страницах с noindex! Нравится ли это Google?
На самом деле тег canonical, всегда указывающий на URL темы — даже для страниц с глубокими ссылками на конкретный ответ — должен идеально справляться с задачей без добавления X-Robots-Tag: noindex:
При первом сканировании страницы с глубокой ссылкой на ответ Google распознаёт, что URL страницы (ответ внутри темы) не соответствует каноническому URL, и решает сканировать только канонический URL (тему).
Можем ли мы добавить <a rel="nofollow" …> ко всем ссылкам, ведущим на глубокие ссылки «тема-ответ»? Редакция: нет, см. Search engines now blocked from indexing non-canonical pages - #9 by j127
Таким образом, мы сможем сэкономить ещё больше драгоценного и ограниченного бюджета сканирования поисковых систем:
поисковая система не будет извлекать ссылку изначально и не будет делать запрос к URL. Поскольку запрос к URL приводит к ответу с HTTP-заголовком X-Robots-Tag: noindex, что заставляет ответ быть «отбракованным» путём добавления URL во внутренний список «noindex» поисковой системы.
Ещё больше экономии бюджета сканирования за счёт добавления nofollow к URL RSS-лент:
Я считаю, что эта функция не должна быть включена по умолчанию. С точки зрения трафика это опасно, даже если она включена лишь на короткое время, поэтому любой, кто обновится сейчас, может столкнуться с неприятным сюрпризом.
Тег canonical — это способ, который рекомендует Google для решения этой проблемы, и он, судя по всему, уже работает. Странные манипуляции с тегами canonical могут привести к неожиданным проблемам в Google, а ошибка с noindex может быть сложной для исправления.
Я согласен с первой частью вашего сообщения, но не считаю, что использование nofollow для внутренних ссылок является оптимальным решением. Внутренние ссылки помогают поисковым системам понять, какие страницы сайта важны. Google не будет переходить по каждой увиденной ссылке, так как знает, что уже видел их раньше. Если они видят URL вроде example.com/t/1234/5, но уже сканировали его и знают, что его канонический URL — example.com/t/1234, они, скорее всего, не станут тратить вычислительные ресурсы на повторное посещение неканонической версии.
Удалить ‘noindex’ для URL, на которые ведут ссылки с внешних сайтов
Извините, под «ответами» я имею в виду «посты» в теме:
Все глубокие ссылки с внешних доменов на посты (например, forum.example.com/t/example-topic/5/11) теперь содержат HTTP-заголовок X-Robots-Tag: noindex! Я предлагаю снова удалить этот HTTP-заголовок.
Я предлагаю для <link rel="canonical" … > никогда не использовать URL с якорем поста (последнее число в …/t/example-topic/1234/5) ни в коем случае. Канонические URL всегда должны указывать на сам URL темы (…/t/example-topic/1234). Мне кажется, это уже реализовано именно так.
Переписывать ссылки для поисковых систем, если целевой URL «перенаправляется» через <link rel="canonical" … >
Очень верное замечание, лучше не добавлять rel="nofollow" здесь.
У Discourse есть специальный вид для краулеров. Новое предложение только для вида краулера:
Преобразовать все внутренние ссылки, ведущие на URL поста (example.com/t/1234/5), чтобы они указывали на соответствующий URL темы (example.com/t/1234) вместо этого.
Намерение: Не сообщать поисковым системам о дополнительных URL, если эти дополнительные URL всё равно «перенаправляются» через <link rel="canonical" … >.
Места, где обнаруживаются такие ссылки на посты:
ссылки, добавленные вручную в контенте пользователей
автоматически сгенерированные ссылки в:
цитатах
первом посте темы: «отслеживаемые входящие ссылки» из других тем
первом посте темы: «выбранный ответ»
первом посте темы при открытом плане темы: «ссылки темы»/«ссылки, получившие лайки»
Отступление: Где Google находит все эти URL?
«Отслеживаемые входящие ссылки» для поисковых систем
Именно по этой причине автоматически генерируемые «отслеживаемые входящие ссылки из других тем» в первом посте темы также должны быть видны поисковым системам. Сейчас эти «отслеживаемые входящие ссылки» отсутствуют в виде краулера. Редакция: Они уже есть в виде краулера.
Но указывают на URL поста вместо URL темы (см. исходный код HTML)
<div class="crawler-linkback-list" itemscope="" itemtype="http://schema.org/ItemList">
<div itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem">
<a href="https://meta.discourse.org/t/removing-the-2-3-4-etc-links-for-each-reply-within-a-topic-url/209648/26" itemscope="" itemtype="http://schema.org/DiscussionForumPosting" itemprop="item">
<meta itemprop="url" content="https://meta.discourse.org/t/removing-the-2-3-4-etc-links-for-each-reply-within-a-topic-url/209648/26">
<span itemprop="name">Удаление ссылок /2, /3, /4 и т.д. для каждого ответа в URL темы</span>
</a>
<meta itemprop="position" content="2">
</div>
</div>
Это ключевой момент. Одно дело — добиться индексации всех ваших страниц, и совсем другое — получить релевантное ранжирование для них. По моему опыту (с сайтами крупных издательств), умная внутренняя перелинковка — это главное для достижения этой цели.
Для тех, кто обновил свой сайт после даты публикации исходного сообщения.
У нас есть данные, показывающие, что новый заголовок сокращает время сканирования на таких страницах, при этом канонический URL всегда был установлен.
Но эти страницы и не предназначены для сканирования. Метаданные с URL устанавливаются на уровне темы; мы не хотим, чтобы Google сканировал уровень сообщений, так как это дублирующийся контент.
Отлично, значит, здесь ничего менять не нужно.
Выполнение этого во время выполнения может быть слишком затратным по процессорному времени, а сохранение двух версий каждого сообщения — слишком затратным по дисковому пространству.
Наши настройки по умолчанию всегда являются тем, что мы рекомендуем. Однако мы поддерживаем и объявляем настройки сайта, чтобы пользователи могли выбрать иное, если считают, что настройка по умолчанию не идеальна для их сайта.
Последний вопрос, и я больше не буду вас беспокоить
Так могут ли возникнуть проблемы с файлом sitemap_recent.xml, который содержит такие ссылки? https://meta.discourse.org/t/category-moderator-improvements/158628?page=2
Привет! Я готов помочь с переводом. Пожалуйста, предоставьте текст, который нужно перевести, и укажите целевой язык (например, ru для русского, en для английского и т.д.).
Я вижу огромную разницу, когда есть внешняя ссылка на URL сообщения.
# A:
Внешний домен
|
|--(вес ссылки)---> URL сообщения
|
|__/ индексация: \---> URL сообщения не индексируется и
\ заголовок noindex / вес ссылки в основном теряется
# B:
Внешний домен
|
|--(вес ссылки)---> URL сообщения
|
|__/ индексация: \__|---> URL сообщения не индексируется
\ канонический ответ / |---> URL темы индексируется (в любом случае)
с передачей веса ссылки
Для новичков, таких как я, в вопросах SEO, означает ли это улучшение SEO, которое потенциально может привести к незначительному росту/преимуществу в результатах поиска Google?
Мы тестировали это изменение в сообществе технологических новостей в течение нескольких месяцев и наблюдали значительный рост пиковых значений анонимных просмотров страниц. Наша конечная цель — всегда делать все сообщества Discourse более здоровыми во всех отношениях.
… я предлагаю следующую реализацию для достижения наилучшего компромисса:
Не добавлять HTTP-заголовок X-Robots-Tag: noindex.
– с учётом пункта [E] –
Всегда указывать теги canonical на URL темы.
– снижение количества сканирований [A] и учёт пункта [C] –
Только для представления поисковым роботам: Автоматически преобразовывать сгенерированные ссылки так, чтобы они всегда вели на URL темы вместо URL сообщения — для всех ссылок в первом сообщении темы «отслеживаемые входящие ссылки из других тем» и «карта темы открыта: ссылки на темы/лайкнутые ссылки».
– снижение количества сканирований [A] и учёт пункта [D], но намеренное игнорирование пункта [B] –
По пункту [B]: расходы процессорного времени возникают только при посещениях поисковыми роботами и заключаются в выполнении замены по регулярному выражению для удаления последней цифры во внутренних URL, заканчивающихся на две цифры, например …/t/example-topic/1234/5 → …/t/example-topic/1234, в пределах первого сообщения темы «отслеживаемые входящие ссылки из других тем» и «карта темы открыта».
Для всех представлений: добавлять внутренний nofollow к цитатам и ссылкам, добавленным вручную в контенте пользователей.
– снижение количества сканирований [A] и учёт пункта [B], но незначительное игнорирование пункта [D] –
По пункту [D]: важные ссылки уже автоматически дублируются в первом сообщении темы в разделе «карта темы открыта: ссылки на темы/лайкнутые ссылки» [см. пункт 3.], и большинство цитат в любом случае остаются внутри самой темы.