SakuraWi - BLog

WEBエンジニア。聴いたお話をまとめておく倉庫的な。スタックストックスタック!

【Ruby on Rails】カスタムレスポンスHTTPヘッダを付与する方法【noindexを指定する】


response.set_header('HEADER NAME', 'HEADER VALUE')

Rails5以前は以下の方法で書けるようです。

response.headers['HEADER NAME'] = 'HEADER VALUE'

実装例

class TestsController
  def index
     @books = Book.all
     response.headers['HEADER NAME'] = 'HEADER VALUE'
  end
end

上記のように書けばレスポンスヘッダに付与してくれます。

X-Robots-Tag HTTP ヘッダーにnoindexを付与する

Ruby on Railsを使っている時に、metaタグに記載するのではなく、レスポンスに直接noindexを付与したいケースもあると思います。 そんなときは以下のドキュメントにまずは目を通して、以下の実装をしましょう。

response.set_header('X-Robots-Tag', 'noindex')

robots メタタグと X-Robots-Tag HTTP ヘッダーの仕様  |  検索  |  Google Developers

参照するならやっぱりRailsガイド

細かい実装や実例はqiitaなどでよいと思いますが、概要をつかむにはやはりドキュメントかドキュメントに近しいものを読むのが一番です。

ということでRailsガイドにも記載があるのでまずはここを読んでおきましょう。

Action Controller の概要 - Rails ガイド

その他参考

ruby on rails - How do you add a custom http header? - Stack Overflow