Я проверял отчет о покрытии в Google Search Console и обнаружил, что многие страницы нашего форума заблокированы файлом robots.txt. Поэтому я проверил robots.txt и выяснил, что по умолчанию заблокированы боты Semrushbot и Ahrefsbot:
Потому что эти боты — «пожиратели ресурсов», которые приносят сайтам очень мало пользы по сравнению с тем объемом ресурсов, который они потребляют.
Конечно, вы можете настроить файл robots.txt в Discourse и разрешить им доступ, если хотите; но мы блокируем этих ботов на наших сайтах еще до выпуска Discourse и продолжаем их блокировать.
Примечание (отредактировано):
Я забыл упомянуть, что многие из этих «пожирателей ресурсов» не уважают файл robots.txt, и их необходимо блокировать на уровне HTTP User Agent. Обычно мы блокируем этих «неуважительных пожирателей ресурсов» с помощью mod_rewrite на уровне обратного прокси-сервера (кстати, это одна из многих причин запускать сайт за обратным прокси-сервером).
Я обнаружил ещё одну проблему и, возможно, вы тоже сможете поделиться своим мнением по этому поводу.
Я знаю, что по умолчанию Discourse блокирует страницы пользователей, но в отчёте о покрытии в Google Search Console всё ещё индексируются некоторые страницы пользователей. Для Google это проблема, так как все эти страницы не должны индексироваться:
@osioke Спасибо за ответ! Я полагаю, что в нашей установленной версии эта функция уже есть? Потому что я заметил, что исправление было внесено в коммит в январе.
По-моему, обновление не помешает, но да, это исправление должно быть в вашей установленной версии. Я бы попробовал обновиться и заново подтвердить, если у вас нет других причин не обновляться.
Потому что они неэффективны? Они создают значительную нагрузку на сервер без какой-либо ощутимой пользы, а у наших клиентов есть лимиты на количество просмотров страниц в рамках их тарифных планов.
Для уточнения: нельзя ли разблокировать semrushbot и SEO Spider? Они необходимы для SEO-аудита. Мы пробовали убрать их из /admin/customize/robots (также пробовали Allow:), но в Screaming Frog получаем ошибку 429. Или эта ошибка 429 — отдельная проблема? Будем очень благодарны за ваши разъяснения.
Ошибки 429 означают, что эти краулеры получают ограничение скорости. В Discourse по умолчанию включено регулирование скорости для предотвращения злоупотреблений. Подробнее об этом можно прочитать здесь.
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 предоставляет возможность «разблокировать» их через настройки сайта в интерфейсе.