ページ以外の画面が検索エンジンのロボットにクロールされて検索結果に出てしまうというのを防ぐ.

1.問題

Googleでは,PyukiWikiの長いURLのCGIページでもHTMLと同じように普通にインデックス化してくれる. これは良いのだが,いくつかうちのサイトのページを検索していると,まずい事例が見つかった.

Googleの検索結果に,以下のような「凍結編集画面(cmd=adminedit)」や「差分表示画面(cmd=diff)」のURLが表示されていた.

http://kamoland.com/wiki/wiki.cgi?cmd=adminedit&mypage=mod_cache%A4%C7Wiki(CGI)%A4%CE%B9%E2%C2%AE%B2%BD
http://www.rensa.info/wiki/wiki.cgi?cmd=diff&mypage=%A5%B2%A1%BC%A5%E0%A5%B5%A1%BC%A5%D0%A4%C7%A4%CEdefunct%

一般の人が検索結果を見てこんなページに飛んでくるのは,困るんですけど...

2.対策

GoogleのWeb管理者ガイドを調べたところ,
Block or remove pages using meta tags (Webmaster Help Center)
http://www.google.com/support/webmasters/bin/answer.py?answer=61050

によると,インデックス化して欲しくないページには,以下のMETAタグを埋めれば良いようだ.

 <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">

今回の2画面だけでなく,cmd=xxxのURLは全て検索エンジンの対象から除外して良いはずだ,という考えで,以下の対策を行った.

スキンファイル(0.1.5ならpyukiwiki.skin.ja.cgi)の中のHTMLヘッダ部分を出力している箇所に,こういう内容を追加する.

if (!$editable && !$admineditable) {
	print '  <meta name="robots" content="noindex, nofollow">'. "\n";
}

これでめでたく解決した.

あとこの内容は特にGoogleに限らないはずなので,他の検索エンジンのROBOTが編集ページや凍結ページを収集してインデックス化してしまうのも,防げるのではないかと期待はできる.

(他の検索エンジンを普段使っていないので,実際には未確認)


© 2024 KMIソフトウェア