From 13f229808a22db9e1032832a313ab701b66614c8 Mon Sep 17 00:00:00 2001 From: Vinoth Kannan Date: Wed, 8 Jan 2020 11:26:20 +0530 Subject: [PATCH] FIX: add noindex header to user profile pages. --- app/controllers/users_controller.rb | 2 ++ spec/requests/users_controller_spec.rb | 2 ++ 2 files changed, 4 insertions(+) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 8d64202630..07afe1a40d 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -73,6 +73,8 @@ class UsersController < ApplicationController track_visit_to_user_profile end + response.headers['X-Robots-Tag'] = 'noindex' + # This is a hack to get around a Rails issue where values with periods aren't handled correctly # when used as part of a route. if params[:external_id] && params[:external_id].ends_with?('.json') diff --git a/spec/requests/users_controller_spec.rb b/spec/requests/users_controller_spec.rb index 8bf6256ade..f318ca22e6 100644 --- a/spec/requests/users_controller_spec.rb +++ b/spec/requests/users_controller_spec.rb @@ -2904,6 +2904,8 @@ describe UsersController do it 'returns success' do get "/u/#{user.username}.json" expect(response.status).to eq(200) + expect(response.headers['X-Robots-Tag']).to eq('noindex') + json = JSON.parse(response.body) expect(json["user"]["has_title_badges"]).to eq(false)