Php ile ping servislerini wordpress gibi pingleme yapabiliriz. bunun için aşağıdaki hazır kod işimize yarayacaktır. yine yöntem olarak curl kullanılmıştır.
Bu ne işe yarar: Pingleme servisleri ile gönderileriniz arama motorlarına bildirilir ve siteniz hızlı bir şekilde index alır. WordPress bu sistemi kullanmaktadır.
Pingleme işlemini yeni bir içerikten sonra yapmanız daha iyi olacaktır.
<?php
//Sonuc kodlari anlamlari : http://www.google.com/support/webmasters/bin/answer.py?hl=tr&answer=40132
if (!function_exists('xmlrpc_encode_request'))
{
function xmlrpc_encode_request($yontem, $iki)
{
$cikti .= '<?xml version="1.0"?>';
$cikti .= '<methodCall>';
$cikti .= '<methodName>'.$yontem.'</methodName>';
$cikti .= '<params>';
$cikti .= '<param><value><string>'.$iki[0].'</string></value></param>';
$cikti .= '<param><value><string>'.$iki[1].'</string></value></param>';
$cikti .= '</params></methodCall>';
return $cikti;
}
}
function pingle($pingurl,$site,$url,$yontem) {
$xmlrpc = xmlrpc_encode_request($yontem,array($site, $url));
preg_match('@^(?:http://)?([^/]+)@i', $pingurl, $cikti);
$pinghost = $cikti[1];
$headers[] = "Host: ".$pinghost;
$headers[] = "Content-type: text/xml";
$headers[] = "User-Agent: LPS";
$headers[] = "Content-length: ".strlen($xmlrpc) . "rn";
$headers[] = $xmlrpc;
$chi = curl_init();
curl_setopt($chi,CURLOPT_URL,$pingurl);
curl_setopt($chi,CURLOPT_RETURNTRANSFER,1);
curl_setopt($chi, CURLOPT_CONNECTTIMEOUT, 4);
curl_setopt($chi,CURLOPT_HTTPHEADER,$headers);
curl_setopt($chi,CURLOPT_CUSTOMREQUEST,'POST');
$html = curl_exec( $chi );
$sonuc = curl_getinfo($chi);
echo "Gonderildi : ".$pinghost.", Sonuc : ".$sonuc["http_code"]."<br />";
curl_close($chi);
unset($headers);
}
set_time_limit(0);
$pinglenecek_url = "http://www.123123123123.com/123/123/123123123.html";
$site_adi = "Site Adı";
$ping_siteleri = array("http://rpc.pingomatic.com",
"http://rpc.twingly.com",
"http://ping.blo.gs/",
"http://ping.feedburner.com",
"http://ping.syndic8.com/xmlrpc.php",
"http://ping.weblogalot.com/rpc.php",
"http://rpc.weblogs.com/RPC2",
"http://blo.gs/ping.php",
"http://www.pingmyblog.com",
"http://ipings.com");
foreach ($ping_siteleri as $ping_sitesi) {
pingle($ping_sitesi,$site_adi,$pinglenecek_url,"weblogUpdates.ping");
pingle($ping_sitesi,$site_adi,$pinglenecek_url,"weblogUpdates.extendedPing");
}
?>
barisla.com
Hiç yorum yok:
Yorum Gönder