Rails で SEO フレンドリーな URL を (動的に) 作成する最良の方法は何だと思いますか?
7 に答える
モデル クラスのメソッドをオーバーライドしto_param
て、デフォルトの数値 ID が意味のある文字列に置き換えられるようにします。たとえば、まさにこの質問では、URLで best-permalinking-for-railsを使用しています。
Ryan Bates は、このトピックに関する Railscast を持っています。
ActiveSupportには、これを支援するためのRailsの新しいメソッドがあります-String#parameterize。関連するコミットはここにあります; コミットメッセージに示されている例は、「DonaldE.Knuth」です。parameterize=>「donald-e-knuth」
John Topleyによって言及されたto_paramオーバーライドと組み合わせることで、これにより、より使いやすいURLがはるかに簡単になります。
rsl の stringexは非常に優れています。permalink_fu が正しく行われていると考えてください。
私は主to_param
に John Topley の提案に従って使用しています。
to_param で使用しているものは何でもすぐに検索できるようにインデックスを配置することを忘れないでください。そうしないと、アクセスのたびにテーブル全体をスキャンすることになります。(パフォーマンス向上剤 ではありません!)
簡単な回避策は、ID をどこかに置くことです。この場合、ActiveRecord は残りの部分を粗雑なものとして無視し、ID を検索するだけです。これが、 http://example.com/someController/123-a-half-readable-titleのような URL を持つ多くの Rails サイトを目にする理由です。
Railsでの私の経験からのこれおよびその他のSEO観察の詳細については、私のサイトのこのページが役立つかもしれません.
私にとって、friendly_idは正常に機能し、スラッグも生成する可能性があるため、URLの重複を気にする必要はなく、スコープもサポートされています。
permalink_fuプラグイン(Mephistoから抽出)をチェックしてください...Gitリポジトリはここにあります。
to_paramメソッドをオーバーライドしやすくする小さくてシンプルなgemを作成しました。ここで見つけることができます。