2013-02-11 11:02:57 +11:00
|
|
|
class RobotsTxtController < ApplicationController
|
|
|
|
layout false
|
2017-08-31 12:06:56 +08:00
|
|
|
skip_before_action :preload_json, :check_xhr, :redirect_to_login_if_required
|
2013-02-11 11:02:57 +11:00
|
|
|
|
|
|
|
def index
|
2018-03-15 17:10:45 -04:00
|
|
|
if SiteSetting.allow_index_in_robots_txt
|
|
|
|
path = :index
|
2018-04-06 10:15:23 +10:00
|
|
|
@crawler_delayed_agents = []
|
|
|
|
|
|
|
|
SiteSetting.slow_down_crawler_user_agents.split('|').each do |agent|
|
|
|
|
@crawler_delayed_agents << [agent, SiteSetting.slow_down_crawler_rate]
|
|
|
|
end
|
|
|
|
|
2018-03-15 17:10:45 -04:00
|
|
|
if SiteSetting.whitelisted_crawler_user_agents.present?
|
|
|
|
@allowed_user_agents = SiteSetting.whitelisted_crawler_user_agents.split('|')
|
|
|
|
@disallowed_user_agents = ['*']
|
|
|
|
elsif SiteSetting.blacklisted_crawler_user_agents.present?
|
|
|
|
@allowed_user_agents = ['*']
|
|
|
|
@disallowed_user_agents = SiteSetting.blacklisted_crawler_user_agents.split('|')
|
|
|
|
else
|
|
|
|
@allowed_user_agents = ['*']
|
|
|
|
end
|
|
|
|
else
|
|
|
|
path = :no_index
|
|
|
|
end
|
|
|
|
|
2013-02-11 11:02:57 +11:00
|
|
|
render path, content_type: 'text/plain'
|
|
|
|
end
|
|
|
|
end
|