この内容は「Google ウェブマスター向け公式ブログ」のXML サイトマップと RSS/Atom フィードのベストプラクティスを参考に書いています。 GoogleにURLを通知する方法は大きく分けて3つあると思われます。
順に説明します。 ウェブマスターツールからサイトマップを送信する †SEOを意識している人ならすでに実行されておられることでしょう。 サイト内でインデックスして欲しいリストを全て記述します。 サイトマップは適当な間隔でGoogleさんが再取得してくれますが、こちらから更新したことを通知するにはウェブマスターツールにログインして再送信することで可能になります。 ping送信先とphpによる送信方法 †Google向けping送信先 http://www.google.com/webmasters/sitemaps/ping?sitemap=[urlエンコードしたURL] Bing向けping送信先 http://www.bing.com/webmaster/ping.aspx?siteMap=[urlエンコードしたURL] 上記にアクセスすればいいだけですが、もうちょっとカッコよくやります。 <?php $conn = curl_init(); curl_setopt($conn, CURLOPT_CONNECTTIMEOUT, 2); // 試行待ち時間 curl_setopt($conn, CURLOPT_FOLLOWLOCATION, 1); // Locationヘッダをたどる curl_setopt($conn, CURLOPT_RETURNTRANSFER, 1); // curl_exec() の返り値を文字列で返す curl_setopt($conn, CURLOPT_HEADER, TRUE); // ヘッダの内容も出力 #curl_setopt($conn, CURLOPT_USERAGENT, $user_agent); // USER_AGENTを設定 curl_setopt($conn, CURLOPT_URL, $url); // ping送信先URL $res = curl_exec($conn); curl_close($conn); $resの内容をゴニョゴニョしてやれば成功したかどうかは判別できます。 ウェブマスターツールからRSSフィードを送信する †xml形式のサイトマップを送信してはいても意外にRSS形式を登録していない人は多いかもしれません。 サイトマップにはサイト内でインデックスして欲しいリストを全て記述します。 こちらの更新通知もping送信すればなお良しですね。 PubSubHubbubを利用する †RSSフィードを登録しておいても結局は受け身になります。 WordPressを利用している場合 †WordPressを利用しているのであればプラグインで利用が可能になるようです。 /wp-content/plugin/ 以下に pubsubhubbub.1.6.5.zip をダウンロード $ unzip pubsubhubbub.1.6.5.zip $ rm -f pubsubhubbub.1.6.5.zip プラグインを有効化すると、WordPressの管理画面の設定メニューにPubSubHubbubが表示されます。 http://pubsubhubbub.appspot.com http://pubsubhubbub.superfeedr.com WordPressを利用していない場合 †WordPressを利用していない場合はPHPにて実現できます。 pubsubhubbub-php-master.zip を解凍するとlibrary内に publisher.php が入っているのでこれを利用します。 <?php require_once('publisher.php'); // 通知先 Googleの場合のURL $hub_url = 'http://pubsubhubbub.appspot.com/'; // インデックスさせたいURL $topic_url = 'http://example.com/'; $p = new Publisher($hub_url); if($p->publish_update($topic_url)){ echo '通知が成功しました'; } else { echo '通知が失敗しました'; } これだけです。 まとめ †
|