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: "タイトル"