スペースモラトリアムノカミサマ

日記+コメント付きブックマーク+他人にも役に立つかもしれない情報など。
(更新情報: RSS(ツッコミ付き) / RSS(ツッコミ抜き) / LIRS)

最近のツッコミ:
  1. p (07/15)
最近の TrackBack:
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|06|07|08|09|10|
2011|01|02|03|07|10|11|
2012|02|03|04|07|08|09|
2013|01|06|07|
2014|02|08|09|11|
2015|09|
2016|01|05|
2017|07|
2018|05|07|
2019|07|

2006/11/05

_ [Web制作] サイト運営者は SEO/SBO を考慮して URL を正規化し分散させないようにすべき

「ソーシャルブックマーク最適化(SBO)」を考えてみよう@小林Scrap Book とか本日の超人気エントリから読み解く人気エントリタイトル作り7の実例@YappoLogs 等という、内容の書き方を中心とした SBO について語られているエントリがあるのだが、まあまず最初にやるべきことは同一の情報を複数の URL に分散させないことだろうということでメモをまとめておく。

はてブを使い始めてそろそろ1年近く経つが、その中で時々気になるのが、Slashdot の同一エントリがバラバラに複数ブクマされてること。

原因は、

  • トップページからのリンク先 → http://slashdot.jp/articles/YY/MM/DD/XXXXXXX.shtml
  • 古いストーリーからのリンク先 → http://slashdot.jp/article.pl?sid=YY/MM/DD/XXXXXXX
  • RSS からのリンク先 → http://slashdot.jp/article.pl?sid=YY/MM/DD/XXXXXXX&from=rss

と、同一コンテンツが表示される URL が複数存在し、そこへ到達する道筋によって無益な URL 分散が発生しているため。

asahi.comCNET 等は、かつて同様に RSS からのリンク先に全て ?ref=rss が末尾についていたためにブクマ分散が起こっていたようだが、これについては URL の末尾に「?ref=rss」がある場合は自動的にカットしてくれる機能がはてブに追加されたことにより改善された模様。

Slashdot 等についてもはてブ側で自動的に正規化してくれると良いのですが、さすがに「あれもこれも対応してらんねーよ」ということで放置中

まあこういうことは、本来 SBM 運営側でなくサイト運営側が配慮すべきことだよね。「RSS から飛んできた」ことをログとして捕捉するために付けているのはわかるんだけど、200 でそのまま記事を表示するのではなく、301 で ?ref=rss を抜いた URL に転送すべきだろうと。

同様に、

  • 〜/ と 〜/index.html の分散は発生しがちだが、どちらかに集約されるように転送すべき
  • http://www.example.com/ と http://example.com/ と、どちらの URL でも同じコンテンツにアクセスできるようにすることは良いことだが、どちらでも同じコンテンツが見えるようにするのではなく、どちらかに集約されるように転送すべき

だと。

というわけで、このサイトの場合 http://www.pmakino.jp/ も http://blackcats.jp/pmakino/ も http://blackcats.jp/~pmakino/ も http://202.222.19.15/~pmakino/ も全部 http://pmakino.jp/ に転送するようにしてあるわけですが、別に SEO したいわけじゃなくて、同一ページが検索で複数並ぶと不便でしょ、というだけのこと。

URL(URI)はWebサイト構築における非常に重要な設計対象のひとつである

[URLを変えるな!(3) − 後悔しないためのWebデザイン@Web屋のネタ帳より引用]

だよね。

今時の Web エンジニアで URL 設計に気を配らない奴は素人だ。

別の視点で、INTERNET WatchBB Watch が全く同一内容の記事を別々に掲載してたり、同様に CNETZDNet が全く同一内容の記事を別々に掲載しているのもいかがなものかと…。これも SBO 損失を招いてますね。もう少し棲み分けを考えないんでしょうか。

関連リンク: はてなブックマーク - タグ「SBO」

関連リンク: 親愛なるDigg.comに素敵な提案、たった3行で100万ドルの無駄を防いであげる@Web担当者Forum

スラッシュドットの URL が正規化されている」に続く。

_ [Web制作] 〜/index.html へのアクセスを 〜/ に転送する

というわけで、〜/index.html へのアクセスを正規化して全て 〜/ に転送するメモ。

最初は単純に

RedirectMatch permanent (.*/)index\.html?$ $1

とかしてみたんですが、どうも RedirectMatchmod_dir によって URL 書き換えが行われた後の文字列に対してマッチをかけるようで、mod_alias と mod_dir との間で書き換えと転送の無限ループに陥ってしまう。

仕方ねえなあということで mod_rewrite にご登場いただいて、

RewriteEngine on
RewriteCond %{REQUEST_URI} (.*/)index\.html?$
RewriteRule .* %1 [R=301,L]

としたところうまくいきました。

(後日追記)↑は RH9 + Apache 2.0 ではうまくいったんだが、RH7.1 + Apache 1.3 ではやっぱり無限ループになってしまった。追って解決策を調査しよう。