meta-tags is a Ruby on Rails gem that makes managing SEO meta tags, Open Graph properties, and Twitter Cards clean and maintainable.
Installation
Add to your Gemfile:
gem 'meta-tags'
Generate the configuration initializer:
rails generate meta_tags:install
Setting Page Titles
Use set_meta_tags in controllers or views:
# Basic title
set_meta_tags title: 'Member Login'
# => <title>Member Login</title>
# Title with site prefix
set_meta_tags site: 'My SaaS', title: 'Dashboard'
# => <title>My SaaS | Dashboard</title>
# Reversed title with custom separator
set_meta_tags(
site: 'My SaaS',
title: 'Dashboard',
reverse: true,
separator: '·'.html_safe
)
# => <title>Dashboard · My SaaS</title>
Setting SEO & Social Meta Tags
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
Rendering in Layout
In app/views/layouts/application.html.erb:
<head>
<%= display_meta_tags site: 'Default Site Title' %>
</head>
Setting Directly in Template Views
<% title 'Account Settings' %>
<% description 'Manage your billing and notification preferences.' %>
<h1><%= current_title %></h1>