/**Örnek Kullanımı;
* @copyright Copyright © 2005, J de Silva
**/
function pingGoogleSitemaps( $url_xml ) {
$status = 0;
$google = 'www.google.com';
if( $fp=@fsockopen($google, 80) ) {
$req = 'GET /webmasters/sitemaps/ping?sitemap=' . urlencode( $url_xml ) . " HTTP/1.1\r\n" .
"Host: $google\r\n" .
"User-Agent: Mozilla/5.0 (compatible; " . PHP_OS . ") PHP/" . PHP_VERSION . "\r\n" .
"Connection: Close\r\n\r\n";
fwrite($fp, $req);
while(!feof($fp)) {
if( @preg_match('~^HTTP/\d\.\d (\d+)~i', fgets($fp, 128), $m) ) {
$status = intval($m[1]);
break;
}
}
fclose($fp);
}
return($status);
}
pingGoogleSitemaps('http://www.turkwm.com/sitemap.xml');Daha uygulamaya yönelik bir kullanımla açıklamak gerekirse;
// Adres yerine kendi sitemap adresinizi yazmayı ihmal etmeyin.
pingGoogleSitemaps fonksiyonuna ait kodları ping.php olarak kaydedip sitenize yükleyin. Yeni yazıları yada içeriği girdiğiniz form sayfasına tıkladığınızda kayıt işlemini yapan sayfaya yönlenirsiniz. Yani yazmış olduğunuz makalenin veritabanına yüklendiği dosyadan bahsediyoruz. Bu dosyanın isminide veritabani-kayit.php dersek, örnek uygulamamız şöyle olur.
// Dosya ismi: veritabani-kayit.phpGoogle Sitemaps'i pinglediğimizde siteniz Google Bot'un ziyaret edeceği adreslere ekleniyor. Normalden daha kısa sürede indexlenmiş olacaksınız.
// ====================================
// Formdan gelen yazıyı alıp veritabanına kayıt eden kodlar
// ...
/*
Yazı siteye eklendiğinde sitemapiniz yenilenmiş olacak. İşte burda fonksiyonu devreye sokacağız.
Önce fonksiyonumuzun olduğu ping.php include ile çağırıyoruz. Sonrada Google Sitemapsi pingliyoruz.
*/
include 'ping.php';
if( 200 === ($status=pingGoogleSitemaps('http://www.turkwm.com/sitemap.xml')) )
report( "Google Sitemaps Pinglendi.\r\n\r\nDurum Kodu: $status.", REPORT_MODE );
else
report( "Google Sitemaps Pinglenemedi.\r\n\r\nDurum Kodu: $status.", REPORT_MODE );
// Script Sonu.
0 yorum:
Yorum Gönderme