Yabancıların SEO konusunda önde olduklarının göstergelerinden biri sanırım. Bu fonksiyonu yazan arkadaş 2005 yılında paylaşmış. Açıkçası Wordpress ve Blogger'i sonradan kullanmış biri olarak pingleme konusunu hiç düşünmemiştim. Kodu yazan kişide , tüm pratik kodlar gibi ihtiyaçtan mütevellit yazmış. Günlük ve haftalık aldığı yedekler alırken kullandığı scriptin sonuna eklediği kodlarla Google Sitemaps hizmetine ait serveri pingleyerek Google Bot'u davet ediyor.
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.
/**Ö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.