s21gブログに「cheap SEO」をやってみた
rails tipsコンテストの流れで出会った記事。
http://scoop.cheerfactory.co.uk/2008/04/25/5-rails-tips/
上記で紹介されていた「Use of to_param for cheap seo」というのを実践してみました。これはAmazonで以前から実施されているSEOなのですが、ARのクラスでto_paramメソッドを用意すればいいだけだったのでやってみました。(コントローラではparam[:id]でIDを取得できるようです)
###上記サイトで上がっていた例
rails>>
class Article : ActiveRecord::Base
def to_param
"#{id}-#{headline.gsub(/[^a-z0-9]+/i, '-')}".downcase
end
end
<<--
コードの詳細は下記をどうぞ。
一方、dummyパラメータを送ってもid=5の記事が見れてしまうという問題もあります:下記のどのURLを要求しても同じarticleが表示される。
http://myaceapp.com/articles/5
http://myaceapp.com/articles/5-railscasts-rocks
http://myaceapp.com/articles/5-ANYTHINGHEREATALL
###s21gブログでのコード
rails>>
class Article : ActiveRecord::Base
def to_param
"#{id}-#{CGI.escape(title)}".downcase
end
end
<<--
(注) titleが長い場合もあるので短く切ってからのほうが良いかも
(注) タイトルに数字が入っている場合うまくparams[:id]が取れないこともあるみたいです
###気づいたSEOやってるサービス
- FriendFeedも
少し前まではやってなかった。
- workingwithrails
既に対応済みだった
ex:http://www.workingwithrails.com/person/4366-gaspard-bucher
###結論:cheapなのでやめました
一昨日昼くらいから、昨日の昼くらいまで使っていたのですが、結局cheap SEOはとりやめました。理由としては、
- RSS中のURLがすべて新しくなるため、読者の人に良くない(瀧内さん指摘)
- 運営し始めてある程度時間経過しているので、URLが変わるページが多く、逆にSEO的にやさしくない
→ 異なるURLに対して同じ内容のページが二つ存在するとスパムとみなされることがある - URLが長くなるのはSEOにはやさしいが、人間にはやさしくない
というわけで、サービス運営初期時でもcheap SEOは効果的ですが、すでに運営を開始して時間が経っているサービスには良くないですという結論です。
RSSを購読下さっている読者の皆様、ご迷惑をおかけしました...