Почему semrushbot и ahrefsbot заблокированы по умолчанию?

Я проверял отчет о покрытии в Google Search Console и обнаружил, что многие страницы нашего форума заблокированы файлом robots.txt. Поэтому я проверил robots.txt и выяснил, что по умолчанию заблокированы боты Semrushbot и Ahrefsbot:

Я знаю, что это два широко используемых SEO-инструмента. Зачем блокировать их ботов?

Потому что эти боты — «пожиратели ресурсов», которые приносят сайтам очень мало пользы по сравнению с тем объемом ресурсов, который они потребляют.

Конечно, вы можете настроить файл robots.txt в Discourse и разрешить им доступ, если хотите; но мы блокируем этих ботов на наших сайтах еще до выпуска Discourse и продолжаем их блокировать.

:slight_smile:


Примечание (отредактировано):

Я забыл упомянуть, что многие из этих «пожирателей ресурсов» не уважают файл robots.txt, и их необходимо блокировать на уровне HTTP User Agent. Обычно мы блокируем этих «неуважительных пожирателей ресурсов» с помощью mod_rewrite на уровне обратного прокси-сервера (кстати, это одна из многих причин запускать сайт за обратным прокси-сервером).

Огромное спасибо за информацию!

Я обнаружил ещё одну проблему и, возможно, вы тоже сможете поделиться своим мнением по этому поводу. :slight_smile:

Я знаю, что по умолчанию Discourse блокирует страницы пользователей, но в отчёте о покрытии в Google Search Console всё ещё индексируются некоторые страницы пользователей. Для Google это проблема, так как все эти страницы не должны индексироваться:

Спасибо!

Это было исправлено недавно:

Можете ли вы обновить Discourse и проверить снова?

@osioke Спасибо за ответ! Я полагаю, что в нашей установленной версии эта функция уже есть? Потому что я заметил, что исправление было внесено в коммит в январе.

Не могли бы вы проверить, нужно ли мне обновиться до последней версии, чтобы получить эту функцию?

По-моему, обновление не помешает, но да, это исправление должно быть в вашей установленной версии. Я бы попробовал обновиться и заново подтвердить, если у вас нет других причин не обновляться.

Потому что они неэффективны? Они создают значительную нагрузку на сервер без какой-либо ощутимой пользы, а у наших клиентов есть лимиты на количество просмотров страниц в рамках их тарифных планов.

Звучит хорошо. Мы сейчас обновляемся. Надеюсь, после обновления всё заработает. Я вернусь и держу вас в курсе. :slight_smile: Спасибо!

Для уточнения: нельзя ли разблокировать semrushbot и SEO Spider? Они необходимы для SEO-аудита. Мы пробовали убрать их из /admin/customize/robots (также пробовали Allow:), но в Screaming Frog получаем ошибку 429. Или эта ошибка 429 — отдельная проблема? Будем очень благодарны за ваши разъяснения.

Ошибки 429 означают, что эти краулеры получают ограничение скорости. В Discourse по умолчанию включено регулирование скорости для предотвращения злоупотреблений. Подробнее об этом можно прочитать здесь.

Вы пробовали это (но используйте имя вашего контейнера)?

Примечание: это также можно настроить в интерфейсе администратора:

# docker exec -it socket-only bash
root@socket-only:/# rails c
[1] pry(main)> SiteSetting.blocked_crawler_user_agents
=> "mauibot|semrushbot|ahrefsbot|blexbot|seo spider"
[2] pry(main)> SiteSetting.blocked_crawler_user_agents = ""
=> ""
[3] pry(main)> SiteSetting.blocked_crawler_user_agents
=> ""
[4] pry(main)> 

См. также:

См. также:

  def self.allow_crawler?(user_agent)
    return true if SiteSetting.allowed_crawler_user_agents.blank? &&
      SiteSetting.blocked_crawler_user_agents.blank?
...
...

Из кода видно, что если установить эти два параметра сайта в значение «пусто», блокировка не будет применяться:

  • SiteSetting.allowed_crawler_user_agents
  • SiteSetting.blocked_crawler_user_agents

Я рекомендую не изменять это, так как боты, которые по умолчанию заблокированы ядром Discourse, не соблюдают robots.txt; однако это ваш сайт, и вы можете делать с ним всё, что захотите. У их блокировки в ядре есть веская причина.

Тем не менее, Discourse предоставляет возможность «разблокировать» их через настройки сайта в интерфейсе.