MyFirstRails

meta-tagsでのSEO対策サンプル!

概要

Railsにこれから初めて触れる方を対象としてチュートリアルです

今回は、meta-tagsを使用したSEO対策チュートリアルになります

チュートリアル

Railsのひな型を作成する

まず、rails newを実行し、Railsアプリのひな型を作成します

rails new meta-tags

次に、作成したmeta-tagsディレクトリへと移動します

cd meta-tags

SQLite3のバージョンを修正

先ほどのrails newsqlite3のインストールがエラーになっている場合は、以下のようにバージョンを修正します

gem 'sqlite3', '1.3.13'

その後、bundle installを実行します

bundle install

meta-tagsの導入

それではmeta-tagsの導入を行いたいと思います

まずは、Gemfilemeta-tagsを追加します

# Using Meta-tags
gem 'meta-tags'

その後、bundle installを行います

bundle install

bundle install後、rails generate meta_tags:installを実行します

rails generate meta_tags:install

最後にapp/views/layouts/application.html.erb<%= display_meta_tags site: 'My First Rails' %>を追加します

<!DOCTYPE html>
<html>
  <head>
    <title>MetaTags</title>
    <%= csrf_meta_tags %>
    <%= csp_meta_tag %>
    <%= display_meta_tags site: 'My First Rails' %>
    <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload' %>
    <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
  </head>

  <body>
    <%= yield %>
  </body>
</html>

これでmeta-tagsを使ってのSEO対策が実装できました!

おまけ

各ページごとにdescriptionを追加したい

場合によっては、各ページごとにdescriptionを追加したい場合があると思います

その場合は、まず以下のようにapp/controllers/application_controller.rbを編集します

class ApplicationController < ActionController::Base
    before_action :set_meta_tags

    private

        def set_meta_tags
            @page_title       = 'My First Rails'
            @page_description = 'Rails tutorial for programming beginner'
            @page_keywords    = 'Rails progiramming beginner'
        end
end

次に、動きを確認するためのページを作成します

rails g controller web inde about contact

その後、app/controllers/web_controller.rbを編集します

class WebController < ApplicationController
  def index
    @page_title       = 'Index'
    @page_description = 'Rails tutorial for programming beginner Index'
    @page_keywords    = 'Rails progiramming beginner'
  end

  def about
    @page_title       = 'About'
    @page_description = 'Rails tutorial for programming beginner About'
    @page_keywords    = 'Rails progiramming beginner'
  end

  def contact
    @page_title       = 'Contact'
    @page_description = 'Rails tutorial for programming beginner Contact'
    @page_keywords    = 'Rails progiramming beginner'
  end
end

これでlocalhost:3000/web/indexlocalhost:3000/web/aboutlocalhost:3000/web/contactにアクセスすると各ページの<meta>タグ内に追記されたdescriptionなどが表示されています!