Step by Step Ruby on Rails

Ruby on Railsで実際にWebサイトを構築する手順をまとめています。

Refineryでページのタイトル、スラグ、titleタグを設定する方法

管理画面のページ編集画面でブラウザで表示されるページのタイトル、スラグ、titleタグを設定する方法です。
 
1)デフォルト設定
 
ビューテンプレートの内容が下記のようなデフォルト設定の場合、
<%= render '/refinery/content_page' %>
管理画面のページ編集画面の"Title"部に入力した内容はWebページの次の部分に反映されます。
 
・ブラウザで表示されるページのタイトル
・<title>タグ
・デフォルトのメニューのページタイトル
・スラグ(そのページのURL)
・friendly ID(SEO対策用)
 
2)ページ編集画面の"Title"欄に入力した内容をブラウザ上でページのタイトルとして表示したくない場合
 
デフォルトのビューテンプレートを変更します。
下記のようにページタイトルを指定せず、コンテンツのみ指定するようにします。

<section id='body'>
  <%=raw @page.content_for(:body) %>
</section>
<section id='side_body'>
  <%=raw @page.content_for(:side_body) %>
</section>

 
3)メニューのタイトルをページ編集画面の"Title"で入力した値から変更したい場合
 
ページ編集画面の"Advanced options"で"Menu title"欄に入力
 
4)<title>タグのタイトルをページ編集画面の"Title"で入力した値から変更したい場合
 
ページ編集画面の"Advanced options"で"Browser title"に設定
 
5)スラグ(ページのURL)をページ編集画面の"Title"で入力した値から変更したい場合
 
①config/initializers/refinery/pages.rbの設定変更
 
# config.use_custom_slugs = false
config.use_custom_slugs = true
 
②ページ編集画面の"Advanced options"で"Custom slug"欄が表示されるようになるので、ここに設定する。