  サインイン | 登録

  1. ホーム
  2. 
  3. プログラミング
  4. 
  5. Ruby on Rails
  6. 

Railsサイトで、friendly_id gemを使って日本語のフレンドリーURLを表示させる方法

2019/01/03 更新 2020/07/23
Makio
URLに関連するキーワードを入れることは、有効なSEO手段として使われているます。




ここではRuby on Rails にて、friendly_id gemを使った、日本語でのURLを表示する方法を紹介します。

Railsのデフォルトでは、IDによってモデルが表示されています。たとえば、Entryというモデルがあるとすると、


/entries/12345


のようなURLでEntryが表示されます。

このEntryにtitleという属性があれば、Friendly_id を導入によって、このtitleを使ってEntryを表示させることが出来ます。例えば、


/entries/日本語でもOK



この123ishのサイトでもFriendly_id を導入しています。例えば、


  • https://www.123ish.com/jp/entries/1461-ヴァイオリンやヴィオラの試奏(試し弾き)で気をつけておきたい3つのポイント

  • https://www.123ish.com/jp/entries/1316-イヤフォン越しではなく、日常に溢れる音を楽しもう!


などです。

friendly_idをそのまま導入しても、日本語でのURLは表示されません。


def normalize_friendly_id(value)

def should_generate_new_friendly_id?

def create_slug





のファンクションをオーバーライドします。ここでフレンドリーURLとして id-name の形式を使います。

また、特殊文字は ”-” へ変換します。


日本語でのフレンドリーURL導入方法


ステップ1


# /Gemfile:

gem 'friendly_id'





migrationファイルの作成



migrationの実行


> rails db:migrate




ステップ2 モデル、コントローラーファイルのコード






set_slug_with_idを定義して、after_commit で呼び出し、IDを使ったFriendly URLがEntryと同時に作成されます。


これ以降は普通に


entry_url(@entry)




によってフレンドリー URLを使ったURLを得られます。


また

def should_generate_new_friendly_id?





によって名前が新しくなるたびに、新たなFriendly URLをが作られます。


古いフレンドリーURLはfriendly_id_slugsテーブルに記録され、IDベースでのURLや古いフレンドリーURLへのアクセスは、新しいFriendly URLに301リダイレクトします。


導入後、実際に検索からのユーザーが増えました。

是非試してみて下さい。







#SEO, #friendly_id, #ruby-on-rails, #日本語URL
スコアー: 1.21
 コメント
 1 いいね
0
  信用しますか?  
0

    


NFT 123ish 3次元ゴールドコインアートコレクション




人気のコメント
最初にコメントする

ボード


サインインしてコメントを投稿する


Ruby on RailsでAMPページを作る方法

Railsアプリケーションでのjquery-ujsからrails-ujsへの移行の仕方

初心者から経験者まで向け・SEOを考えた記事の書き方・1 タイトルを練り上げる

Ruby on Rails でDevise、ActiveModel::Otp、rqrcodeとグーグル認証システムによる二段階認証の実装の仕方

Ruby on Railsのコードに潜むN+1クエリ問題をBullet gem で発見して、Railサイトのレスポンスを最適化

RailsアプリケーションでSporocketsからWebpackerへ移行する方法

アスリートの現役中からできる副業は「ライター」

大籠のキリシタン〜東北のキリシタン殉教の地「大籠」、千松兄弟とは

大籠のキリシタン殉教と千松兄弟に託されたメッセージ

ぎっくり腰には、早めの非ステロイド性抗炎症薬の服用が回復に良いのでしょうか?

東北の隠れキリシタンの里大籠を、地元自治会作製の「キリシタン殉教とたたら製鉄の里大籠散策マップ」により紹介

グランド・ナレーティブ 大いなる物語 アメリカは何処に行くのだろうか?

政治的独立と信教の自由

地元観光地図よる生月のキリシタン巡礼地

【Webライティング・コンテンツ作製のコンペティション】第一回123ish杯 123ishでの投稿記事のコンペティション 🥇1位4万円 🥈2位2万円 🥉3位1万円

Upworkでの支払い、返金に関するトラブルはどう対応できるか?

プログラマーは簡単な英語の読み書きで、Upworkのフリーランスとしてより稼げるようになる

生月に永遠に刻まれたキリシタン信仰の壮絶なドラマ

信徒発見と信教の自由

【Webライティング・コンテンツ作製のコンペティション】第2回123ish杯 投稿記事コンペティション

第一回123ish杯コンペティションの結果発表

有名ブログのUbersuggestによる月間オーガニックトラフィックでのランキングと分析

未経験からデータサイエンティストとして転職を成功させる方法。データサイエンスでの華やかな道と手堅く成功させる道を教えます

データサイエンティスト・データサイエンス職よりデータエンジニアでの転職の方が手堅い?未経験者がデータエンジニアになる方法を教えます。

プライバシー設定を変更しました

記事は保存されました(投稿はされていません)

サインインして続行する

国: 日本 (jp)
  • United States (us)
  • 日本 (jp)
  • Indonesia (id)
  • India (in)
利用規約 | プライバシーポリシー | 私達に関して
よくある質問 | お問い合わせ
 
© 2025 123ish