6
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【簡単】Rails で作ったアプリでSEO対策をしてみた。

Last updated at Posted at 2020-03-25

爆速で最低限のSEO対策をしたい方のために記事を書きました。

meta-tagというgemを使用する

使用するgemは meta-tagというgemを使用します。

githubはこちら。

Gemfileに

gem 'meta-tags'

と、書き込み、bundle installします。

次にconfig/initializers/meta_tags.rbを作るためにターミナルで以下コマンドを実行します。

$ rails generate meta_tags:install

デフォルトの設定

次に全てのページに対してデフォルトのmeta-tagの設定をします。

view内のapprication.html.erbに書き込みます。

こちらのファイルはviewの共通ファイルになるのでこちらに書けば全てのviewファイルに書き込まれたことになります。

ただ、私のアプリの場合記事投稿機能がついておりまして、SEO的に記事を上位表示させるという目的があります。
したがってmeta-tagのgemに書かれている公式のやり方でmeta-tagを設定してしまうと記事ごとにタイトル、メタディスクリプションが全て同じになってしまう(例え変更できたとしても自動でタイトルを変更してくれない設定になってしまう)ため、少し変更を加えます。

views/layouts/apprication.html.erb
<head>
  <%= display_meta_tags site: '自分のサイトの名前', title: @title, description: @description, keywords: @keywords %>
</head>

このように共通ファイルにてmeta-tagを変数で指定してあげることによって、ページごとに動的に更新してくれるようになります。

インデックスをしたくないページの設定

インデックスをしたくないページの設定に関しては<% set_meta_tags noindex: true %>というテンプレートを使用します。

先ほどviewの共通ファイルの中でデフォルトの設定をしてしまったと思うのですが、特定のページで<% set_meta_tags noindex: true %>を使うことによってデフォルトのmeta-tagの内容を更新してくれるという便利なテンプレートです。

前提

・noindexにして検索エンジンの引っかからないようにする(クローラが回らないようにする)
・ページのタイトルは問い合わせとする。

views/static_pages/contact.html.erb
<% set_meta_tags noindex: true title: @title %>
<p>下記項目を入力してください</p>

   ~省略~
controllers/static_pages_controller.rb
class StaticPagesController < ApplicationController
           ~省略~
  def contact
      @title = "問い合わせ"
  end
end

これでOKです。

個別記事表示ページのタイトルを設定する

個別記事表示ページ(モデルはblogモデル)のタイトルも変えてみます。
今回の場合だとblogモデルにはtitleカラムがすでに存在しているので、<% set_meta_tags%>を使ってtitleカラムを個別記事表示ページのタイトルに変更します。

views/blogsshow.html.erb
<% set_meta_tags title: @blog.title %>
  <p><%= @blog.body %></p>

これでOKです。

元々SEOマーケティング出身でエンジニアに転向したのですが、テクニカルSEO(エンジニア視点からのSEO対策)についてはガッツリ触れたことがなかったため、知る良い機会になりました。

次にサイトマップを作成してクローラーにサイト内を回遊してもらうように設定する必要があるのですが、また次の機会に紹介したいと思います。

参考になった記事
https://holy-seo.net/blog/seo/sitemap-sml-method-described-merit/
https://qiita.com/colorrabbit/items/0864a082a0cee7bfaf93
https://blog.yucchiy.com/2014/06/28/rails-seo/

6
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?