PingSitemap: Yeni sayfalarınız için arama motorlarını haberdar edin

Dikkat: Bu yazının yazılma tarihinin üzerinden en az 60 gün geçmiş. İçerisindeki bilgiler güncelliğini yitirmiş olabilir. Yorumları ve güncellemeleri göz önünde bulundurarak yazıyı takip ediniz.
Sitemap'ın öneminden ve nasıl üreteceğinizden daha önce bahsetmiştim (Dinamik sitemap.xml oluşturmak).

Sitemap.xml dosyanızı oluşturdunuz peki sonra?

Tabiki arama motorları servislerinin botları sitenize geldiğinde ilk olarak sitemap.xml'inizi bulmaya çalışacak, bulduğu zaman da site indeksini hızlıca çıkaracaktır. Fakat botlar sık sık sayfalarınızı gezse de sitemap.xml'inizi her zaman anlık olarak kontrol etmezler.

Arama motorlarının ping servisleri vardır ve bu servisleri kullanarak sitemap.xml'inizin güncellendiğini, hemen kuyruğa alınmasını istediğinizi belirtebilirsiniz. Bu uygulamayı birçok büyük web servisi, wordpress, blogger gibi blog hizmeti veren servisler, hatta kendi sunucunuza kuracağınız wordpress de bunu yapmaktadır.

Yeni bir içerik girildiği zaman sitenize yeni sayfalar eklenmiş, bazı varolan sayfaların da güncellenmiş olması anlamına gelmektedir. Arama motorlarının bu değişiklikleri hemen tarafamasını isterseniz az sonra anlatacağım ufak teknikle bunu yapabilirsiniz.

Ping servisleri

Arama motorlarının birçoğu ping servisini bir URL üstünden sitemap.xml dosyanızın adresini alarak yapar. Aslında bir çeşit kayıt olma işlemidir ama çok daha basit hali. Örneğin google'ın ping servisi
http://www.google.com/webmasters/sitemaps/ping?sitemap=
şeklindedir. Tabiki bu url'in sonuna sitenizin sitemap.xml dosyasının url'ini vererek bu adresi çağırmanız gerekir.

Şimdi kod üzerinde bir dizide popüler arama motorlarının ping servisleri ve yapılarını göreceksiniz. Zaten kodun yaptığı işi hemen anlayabilirsiniz. Basitçe sitemap.xml dosyanızı belirten urlleri "file" fonksiyonu ile almaya çalışıyoruz. Zaten bu url'ler ziyaret edildiği ve cevapları geldiği için bu servisler pinglenmiş olacak.
$services = array(
	'http://www.google.com/webmasters/sitemaps/ping?sitemap=

',

'http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap=

',

'http://webmaster.live.com/ping.aspx?siteMap=

',

'http://www.bing.com/webmaster/ping.aspx?siteMap=

',

'http://submissions.ask.com/ping?sitemap=

'

); $mysitemapfile = 'http://mysite.com/sitemap.xml'; foreach($services as $service){ $url = str_replace('

', $mysitemapfile, $service);

@file($url); }
Hazırlayan : Mehmet Fatih YILDIZ

Yorumlar

Üye Resmi Erhan ASLAN
25 Mart Perşembe ´10 05:19
Güzel bir ipucu olmuş teşekkürler...
Üye Resmi Coşku DEMİRHAN
25 Ağustos Çarşamba ´10 01:12
Peki bunu cron jobs'ta çalıştırabilirmiyiz? Ve mantıken  hergün güncellenen bir sitede nasıl bir sıklıkla pinglememiz doğru olur? Sonuçta çok fazla ping'in [-] (negatif) yönleri de vardır sanırım.
25 Ağustos Çarşamba ´10 16:11
Hayır, google'ı düzenli pinglemeyin. Sadece content değiştiği zaman pingleyin. Mesela yeni blog yazısı eklediğinizde, bir yazıya comment yazıldığında fln mesela.

Ama istersen cron'da php'ye doğrudan bu scritpi yorumlatarak çalıştırabilirsin düzenli olarak, önermem.
26 Ağustos Perşembe ´10 21:53
Henüz localhostumda olan blog sitem için umarım yararlı olur.Böyle güzel paylaşımlar için teşekkürler...
Yeni Yorum *
İletişim Bilgileri
*
*
E-Posta adresiniz gösterilmeyecektir.
(unut)
Güvenlik Kodu *

Gönderiliyor