MetaTags: a gem to make your Rails application SEO-friendly
First, add meta-tags to your Gemfile
1
gem 'meta-tags'
And run bundle install
Then, add this code to your layout (application.html.erb)
1
2
3
<head>
<%= display_meta_tags site: 'Ben Blog' %>
</head>
Now, just need to add this to each views
1
<h1><%= title 'Use gem meta-tags in Rails app to improve Search Engine Optimization (SEO)' %></h1>
When views are rendered, the page title will be included in the right spots:
1
2
3
4
5
6
<head>
<title>Ben Blog | Use gem meta-tags in Rails app to improve Search Engine Optimization (SEO)</title>
</head>
<body>
<h1>Use gem meta-tags in Rails app to improve Search Engine Optimization (SEO)</h1>
</body>
Using MetaTags in View
1
2
3
<% title 'Use gem meta-tags in Rails app to improve Search Engine Optimization (SEO)' %>
<% description 'a gem to make your Rails application SEO-friendly' %>
<% keywords 'Rails, SEO' %>
Or use set_meta_tags method instead
1
2
3
<% set_meta_tags title: 'Use gem meta-tags in Rails app to improve Search Engine Optimization (SEO)',
description: 'a gem to make your Rails application SEO-friendly',
keywords: 'Rails, SEO' %>
We can set default value in application_helper.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def default_meta_tags
{
title: 'Ben Blog',
description: 'This is my blog about programming and my hobbies.',
keywords: 'blog, development, software, engineer, ruby on rails',
separator: "—".html_safe,
og: {
site_name: 'Ben Blog',
title: 'Ben Blog',
description: 'This is my blog about programming and my hobbies.',
type: 'website',
url: request.original_url,
image: image_url('ben-blog-social.jpg')
}
}
end
And then can use it in layout:
1
<%= display_meta_tags(default_meta_tags) %>
This is my thought about using meta-tags gem.