Railsにこれから初めて触れる方を対象としてチュートリアルです
今回は、meta-tags
を使用したSEO対策チュートリアルになります
まず、rails new
を実行し、Railsアプリのひな型を作成します
rails new meta-tags
次に、作成したmeta-tags
ディレクトリへと移動します
cd meta-tags
先ほどのrails new
でsqlite3
のインストールがエラーになっている場合は、以下のようにバージョンを修正します
gem 'sqlite3', '1.3.13'
その後、bundle install
を実行します
bundle install
それではmeta-tags
の導入を行いたいと思います
まずは、Gemfile
にmeta-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
を追加したい場合があると思います
その場合は、まず以下のように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/index
、localhost:3000/web/about
、localhost:3000/web/contact
にアクセスすると各ページの<meta>
タグ内に追記されたdescription
などが表示されています!