为什么 semrushbot 和 ahrefsbot 默认被阻止?

你试过这个方法吗(但请将容器名称替换为你自己的容器名称)?

注意:你也可以在管理界面(Admin UI)中配置此项:

# 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 确实提供了通过 UI 中的站点设置(SiteSettings)来“解除封锁”这些爬虫的选项。