meta-tags は、Ruby on Rails で SEO メタタグ、Open Graph、Twitter Cards を整理された形で管理できる gem です。
インストール
Gemfile に追加します:
gem 'meta-tags'
設定イニシャライザを生成します:
rails generate meta_tags:install
ページタイトルの設定
コントローラまたはビューで set_meta_tags を呼び出します:
# 基本のタイトル
set_meta_tags title: 'Member Login'
# => <title>Member Login</title>
# サイト名プレフィックス付きタイトル
set_meta_tags site: 'My SaaS', title: 'Dashboard'
# => <title>My SaaS | Dashboard</title>
# カスタム区切り文字付きの逆順タイトル
set_meta_tags(
site: 'My SaaS',
title: 'Dashboard',
reverse: true,
separator: '·'.html_safe
)
# => <title>Dashboard · My SaaS</title>
SEO・SNS メタタグの設定
set_meta_tags(
site: 'My Store',
title: 'Organic Green Tea',
description: 'Pure, ceremonial-grade organic Japanese green tea.',
keywords: %w[green tea organic matcha],
canonical: 'https://example.com/products/green-tea',
icon: '/favicon.ico',
noindex: false,
nofollow: false,
og: {
title: 'Organic Green Tea',
type: 'website',
url: 'https://example.com/products/green-tea',
image: 'https://example.com/images/tea.jpg'
},
twitter: {
card: 'summary_large_image',
site: '@mystore',
title: 'Organic Green Tea'
}
)
ビューヘルパー(View Helpers)
レイアウト内でのレンダリング
app/views/layouts/application.html.erb 内:
<head>
<%= display_meta_tags site: 'Default Site Title' %>
</head>
テンプレートビュー内で直接指定
<% title 'Account Settings' %>
<% description 'Manage your billing and notification preferences.' %>
<h1><%= current_title %></h1>