アカハヤの技術ブログ

クズと天才は紙一重 twitter:@akahaya719

meta_tagsでrailsのSEO対策

Railsで、no_indexを使ったり、titleをページごとに変えたいというときがあると思うのですが、その時にmeta_tagsというgemが役に立ちます。

 

Gemfileに以下を記述してbundle installを実行

gem 'meta_tags'

 

helpers/application_helper.rbに以下を記述

def default_meta_tags
{
title: "サイトのタイトル",
description: "説明",
keywords: "キーワード",
icon: image_url("サイトのアイコン"),
charset: "UTF-8",
og: {
title: "タイトル",
type: "website",
url: request.original_url,
image: image_url("OGPで設定する画像"),
site_name: "サイト名",
description: "説明",
locale: "ja_JP"
}
}
end

 

OGPはサイトのURLを貼った時に表示されるやつです。

 

layouts/application.html.slimのheadに以下を追加

= display_meta_tags(default_meta_tags)

これでデフォルトで設定したmeta_tagを読み込みます。

 

特定のページをno_indexにしたいという場合は

該当ページのviewに以下を記述します

- set_meta_tags noindex: true

 

ページのタイトルを変えたい場合は

該当ページのview側に以下を記述

- set_meta_tags title: "タイトル"

 

ページタイトル | デフォルトで設定したタイトルのように

したい場合は以下のように記述

- set_meta_tags site: "タイトル"