• 04-12-2008, 16:07:18
    #1
    Bu yazımızda Google a nasıl ping atacağımızı öğreneceğiz, bu fonksiyonu ben de sitemapı oluşturduktan sonra Google a ping atmak için kullanıyorum, bir yazı ekleyince otomatik olarak sitemap oluşturuluyor ve Google a ping atılıyor, böylelikle Google sitemapımın güncellendiğini öğreniyor ve tekrar sitemapı indirip içeriğini indexliyor, aslında bu kod php de socket kullanımına da güzel bir örnek. Fonksiyonun yazarı; J de Silva, kendisine bu kullanışlı fonksiyon için teşekkür ediyoruz.

    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 );
    }
    Fonksiyonun çıktı olarak 200, 404 gibi HTTP Status kodları veriyor, eğer sonuç 200 ise ping atma işlemimiz başarılı olmuş demektir, kullanımına bir örnek;

    if (200 === ($durum=pingGoogleSitemaps('http://whosayin.com/sitemap.xml')))
        echo "Ping Başarılı.<br />Durum Kodu: $durum.";
    else
        echo "Ping Başarısız.<br />Durum Kodu: $durum.";
    Bloguma yazdığım yazı, sizinde kendi scriptlerinizde işe yarayabilir diye düşündüm,..
    (http://www.whosayin.com/php-ile-goog...lemi-i-25.html)
  • 04-12-2008, 16:59:19
    #2
    Üyeliği durduruldu
    if (200 === ($durum=pingGoogleSitemaps('http://whosayin.com/sitemap.xml')))
        echo "Ping Başarılı.<br />Durum Kodu: $durum.";
    else
        echo "Ping Başarısız.<br />Durum Kodu: $durum.";
    burada belirtilen 200 = ifadesini anlamadım.

    yapmam gereken;

    $ekle = mysql_query(INSERT INTO tablo (alan1) values ($deger)");
    
    if ($ekle) {
    
    .............
    
    }

    buradaki noktalı yere mi yazacağız bu kodu?
  • 04-12-2008, 17:09:33
    #3
    SMF'de sitemap oluşturabilir mi,bu kodları nereye yazacağız ?
  • 04-12-2008, 20:27:36
    #4
    idealist adlı üyeden alıntı: mesajı görüntüle
    if (200 === ($durum=pingGoogleSitemaps('http://whosayin.com/sitemap.xml')))
        echo "Ping Başarılı.<br />Durum Kodu: $durum.";
    else
        echo "Ping Başarısız.<br />Durum Kodu: $durum.";
    burada belirtilen 200 = ifadesini anlamadım.
    yapmam gereken;
    $ekle = mysql_query(INSERT INTO tablo (alan1) values ($deger)");
    if ($ekle) {
    .............
    }
    buradaki noktalı yere mi yazacağız bu kodu?
    eğer ping başarılı bi şekilde atıldıysa fonksiyon 200 değerini döndürüyor, bizde if ile 200 dönüp dönmediğini kontrol ediyoruz, bu yazdığın kodda noktalı yere koyarsak kodu eğer veritabanına başarıyla veri eklenirse ping atarsın.

    Alıntı
    SMF'de sitemap oluşturabilir mi,bu kodları nereye yazacağız ?
    sitemap oluşturmuyor bu kod, halihazırda var olan sitemap için google a ping atıyor.
  • 24-02-2009, 17:42:01
    #5
    Üyeliği durduruldu
    burada sitemap pinglenirken, son eklenen içerikler mi pinglenmiş oluyor mantık olarak ?
  • 24-02-2009, 17:47:34
    #6
    Üyeliği durduruldu
    Rengahenk adlı üyeden alıntı: mesajı görüntüle
    burada sitemap pinglenirken, son eklenen içerikler mi pinglenmiş oluyor mantık olarak ?
    google normal kendi peryodunda sitemap i indexliyordur. bir nevi güncelleme var gel al demiş oluyorsunuz. arkadaşın anlatmak istedigi bu.

    güzel bi mantık, paylaşım için teşekkürler
  • 26-02-2009, 11:04:17
    #8
    Rengahenk adlı üyeden alıntı: mesajı görüntüle
    burada sitemap pinglenirken, son eklenen içerikler mi pinglenmiş oluyor mantık olarak ?
    Bunun temel mantığu şu.:
    Siten için bir sitemap.xml dosyası oluşturuyorsun. Yeni içerik ekleyince yani bir makale yazdın diyelim. Sitenin sitemap.xml dosyasının güncellendiğini google'a bildirmek için kullanılıyor bu pingleme.

    Eğer ki içerigin güncellemeden yani sitemap.xml dosyanın içerigi degişmeden sürekli google'a ping atarsan google seni banlıyor. Bir daha sitene gelmiyor.
  • 26-02-2009, 11:08:49
    #9
    üstad paylaşım için tşkler güzel bir açıklamada olmuş