Yahooの検索(YST)は滅多に使わないのだが,たまたま使ってみて驚いた.ページが日本語をエンコードしたURLを持つ場合に,そのURLに日本語のキーワードがヒットしていた.
パーセントエンコーディングによる日本語URLに対するYSTの扱い例えば,「movabletype 改行」の検索結果 において,今1位になっているカモランドのページの実際のURLは,
だが,これが
にデコードされて,日本語キーワード「改行」にヒットしている. この様子だと,YSTに対しては,エンコードされてでもURLにキーワードを含ませることが,SEOとして効くのかも知れない.まぁ日本語URLの一種ということか. 問題点このようなYSTの挙動は別にしても,「ページ名=URL」というのは考え方として筋が通っているので悪くないと思っているのだが,ただ現状ではそういうURLに対応していないシステムがあるのが残念.そのためカモランドでは,「短縮URL」という変な概念を持ち込んでいる状況.具体的には,こういう問題がある.
本来はページのURLは不変でなければならないはずなので,1つの方針でバシッと決めてしまうべき。 (最近は,URL正規化表記 を使ってある程度検索エンジンに融通を利かせてもらえるようだ) しかしURLのばらつきのうち,大文字小文字についてはカモランドの意志で統一できる、統一してしまえば良いと気が付いた。 WikiのパーセントエンコーディングURLの大文字統一URLのエンコード部を大文字と小文字を区別して扱うシステムへの対策として,カモランド側で大文字小文字を統一することにする. 具体的には、
...よっしゃそれで行くとして,実際,大文字小文字のどちらに統一すれば良いかだが,これはちゃんとRFCで決められていたのであった. これによると, 2.1. Percent-Encoding ... For consistency, URI producers and normalizers should use uppercase hexadecimal digits for all percent-encodings.
そこで早速PyukiWikiを改造して,カモランドのサイト内リンクURLを大文字に統一した.また,小文字でアクセスした場合には大文字のURLに なお,このエンコーディング処理は,以下のようなPerlスクリプトで実装できた. s/([^a-zA-Z0-9_\-\.~])/'%'.uc(unpack('H2', $1))/eg; unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" 今後,時間はかかるだろうが,これである程度は大文字のURLに収束していくのではなかろうか.そうすると,はてなブックマークのような大文字と小文字を同一視してくれないシステムで脱力するということが,無くなってゆくはずだ. |