Ruby on RailsでSEO対策【meta tag】

facebookでogpなる設定が必要(今更。。)なので、content_forを利用して設定してみる。

たとえば、album#showページで個別に設定したい内容があったとして、以下のように記述できる。

# vi app/views/album/show.html.erb

<% content_for :ogp do %>
  <meta property="og:title" content="<%= @album.title %>" />
  <meta property="og:type" content="article" />
  <meta property="og:url" content="<%= @album.url %>" />
  <meta property="og:image" content="<%= @album.image %>" />
<% end %>

あとは共通レイアウトに以下を記述するだけ。

# vi app/views/layouts/application.html.erb

<head>
  (略)
  <!-- meta tag for each page -->
  <%= yield :ogp %>
  <%= csrf_meta_tags %>

  <%= stylesheet_link_tag "application", :media => "all" %>
  (略)
</head>

以上