Google yakın zamanda "Webmaster Tools" adında webmasterlar için site araçları hizmeti çıkarttı. Buradaki bölümlerin birinde sitenin hazırlamış olduğun sitemap (Sitene ait site haritası hizmetini) ekleyebiliyorsun.
Sitemap denilen şeyde aslında çok basit bir php uygulaması. Sitemap.php diye bir dosya oluşturuyorsun.
Örnek kod mesela
<? header("Content-type: text/xml\n\n");
echo "<?xml version=\"1.0\" encoding=\"ISO-8859-9\"?>
 <urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\"> ";
include "config.php";
$query = mysql_query("SELECT * FROM makaleler order by id desc"); //id ve title çektim ben sadece sen kafana göre çek
while($row = mysql_fetch_array($query)) {
$link=$row['makele_basligi'];
$id=$row[id];
$tarih=date("Y-m-d");
$link="http://www.siten.com/$link-$id.php";
echo "
    <url>
        <loc>$link</loc>
        <lastmod>$tarih</lastmod>
        <changefreq>weekly</changefreq>
        <priority>0.5</priority>
</url>";
}
echo "
</urlset>";
?>
Sonra bu kodu sitemap.php diye kayıt et.
.htaccess dosyasına şu kodu ekle:
RewriteRule ^sitemap.xml$ sitemap.php [L,NC]
Bunu yapmamızdaki amaç google sitemap olarak xml dosyasını kabul ediyor. Bisim sitemap.php dosyamızı re_writerule ile xml şeklinde algılatmak google amcaya

Pingback olayının mantığıda şu. Google amca ben siteme içerik ekledim benim sitemap.xml dosyama tekrar bak sana zahmet demek.
Bunun içinde yazdığın makale veritabanına girdikten sonraka. örnegin makale_ekle.php dosyanda veritabanına makelenin girişini yaptıktan sonra şu kodu çalıştıracaksın hepsi bu
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 );
}

// Once the sitemaps are ready, we ping Google...
if( 200 === ($status=pingGoogleSitemaps('http://www.siten.com/sitemap.xml')) )
   echo "<br> pingleme tamam";
else
   echo "error: pingleme tamam değil";