curlコマンドを利用しSearch Engineにpingを送信する
sitemap.xmlといえば、Search Engineにウェブサイトをどのようにクロール(巡回)してほしいか、また、効率良くかつすべてのページクロールさせる際の手助けとなるものですが、
今回は、sitemap.xmlが更新されたときに、Search Engineにphpでpingを送信し、sitemapが更新されたことを通知する方法を記事にしてみました。
基本的な構造は以下のようになります。
1 2 3 4 5 6 7 8 9 10 | $curl = curl_init(); curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_HEADER, TRUE); curl_setopt($curl, CURLOPT_URL, $url); curl_getinfo($ch, CURLINFO_HTTP_CODE); $res = curl_exec($curl); $httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); // 成功したかどうかは一応ここで判断できる curl_close($curl); |
どこの検索サイトに通知するかによって、$urlの部分を変更します。
一般的には、googleとbing(yahoo)に対して、pingを送信することが多いようです。
1 2 3 4 | // google $url = "http://www.google.com/webmasters/sitemaps/ping?sitemap=".$sitemapUrl; // yahoo $url = "http://www.bing.com/webmaster/ping.aspx?siteMap=".$sitemapUrl; |
上記の$sitemapUrlの部分に通知したいsitemap.xmlを入力し、上記curl部分を実行すれば、Search Engineに通知が行きます。
参考
Author Profile
スターフィールド編集部
SHARE