Home Use gem 'meta-tags' in Rails app to improve Search Engine Optimization (SEO)
Post
Cancel

Use gem 'meta-tags' in Rails app to improve Search Engine Optimization (SEO)

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:   "&mdash;".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.

This post is licensed under CC BY 4.0 by the author.