検索エンジンにRSSをクロールしてもらうための2つの方法

Yahoo!やGoogleにサイト内のページをうまくインデックスしてもらう方法として有効なものにRSSファイルをクロールさせ、ページ情報を取得してもらう方法があります。

今回は、うまくRSSを検索エンジンに取得してもらうための2つの方法をご紹介します。

方法1:定番のファイル名で<link>タグに記述する

Googleでは、RSSファイルへのパスを勝手に考えて配置してもクロールしてくれません。 以下の名前で配置すると正しくクロールされることが確認されています。

RSSの種類別設定

RSS1.0の場合

<link rel="alternate" type="application/rss+xml" title="RSS1.0" href="index.rdf" />

RSS2.0の場合

<link rel="alternate" type="application/rss+xml" title="RSS2.0" href="rss.xml" />

Atom1.0の場合

<link rel="alternate" type="application/atom+xml" title="Atom1.0" href="atom.xml" />

他のパス名やファイル名ではクロールしてくれない?

私が行った施策は、以下のようにディレクトリパス(スラッシュで終わるURL)でRSSを取得できるようにする方法でしたが、Yahoo!にはクロールされましたが、3日経ってもGoogleにクロールされることがありませんでした。

<link rel="alternate" type="application/rss+xml" href="/path/to/rss/" title="RSS2.0" />

したがって、RSSを<head>タグの中で<link>タグを使って配置する場合は最初に書いた典型的なRSSファイル名で作成し、配置することをおすすめします。

もう一つの方法は、RSSがどんなパスであってもちゃんとクロールされる方法です。
それは、ページ中にRSSファイルやパスへのリンクを<a>タグを使って埋め込むこと。

よくあるのは、ニュースサイト等でRSSアイコンにリンクを張ってRSSパスを指定する方法です。 これを<link>タグで指定してもクロールしてもらえなかった、ディレクトリパスによるRSSパスで行ってみます。

<a href="/path/to/rss/"><img src="rss.gif" alt="rss" /></a>

こうしておくと、例えばYahoo!のクローラーは以下のようにしてRSS情報を取得していきます。

Yahoo! Slurp

b3090788.crawl.yahoo.net - -
[06/Apr/2010:07:02:03 +0900] "GET /path/to/rss/ HTTP/1.0" 200 5703 "-" "
Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)"

Googleのクローラーは以下のような感じ。

Googlebot

crawl-66-249-67-184.googlebot.com - - [06/Apr/2010:02:05:32 +0900]
"GET /path/to/rss/ HTTP/1.1" 200 5739 "-" "Mozilla/5.0 (compatible;
Googlebot/2.1; +http://www.google.com/bot.html)"

RSSファイルをPHPやPerlで動的に作成するサイトなど、自作で配置する場合は知っておくと良いでしょう。

このページをシェアする

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

2010-04-06