Bing - Sitemap Ping

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #31
    PHP-Code:
        function pingBingSitemaps($url_xml)
        {
            
    $status 0;        
            
    $fp = @fsockopen("www.bing.com"80);
            if(!
    $fp)
            { 
                echo 
    "$errstr ($errno)<br />\n";
            }
            else
            {
                
    $req 'GET /webmaster/ping.aspx?siteMap=' .
                      
    urlencode$url_xml ) . " HTTP/1.1\r\n" .
                      
    "Host: www.bing.com\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($fp128), $m))
                    {
                        
    $status intval($m[1]);
                        break;
                    }
                }
                while (!
    feof($fp))
                {
                    
    $res .= fgets($fp4096);
                }
                
    $res explode("\r\n\r\n",$res,2);
                
    $res end($res);
                echo 
    $res;
                
    fclose($fp);
           }
           return(
    $status);
        } 
    gl

    Kommentar


    • #32
      Man kann auch schreiben:
      PHP-Code:
      return($status.$res); 
      , dann kommt auch nur das "Thanks for submitting your sitemap" + das 200 vom Script.
      Hilft aufjedenfall in so fern weiter, dass man bestätigt bekommt, dass die Sitemap eingegangen ist. 200 sagt ja nur aus, dass das Ziel erreichbar ist, aber nicht ob die Sitemap übertragen wurde...

      Kommentar


      • #33
        Zitat von Gunah Beitrag anzeigen
        PHP-Code:
            function pingBingSitemaps($url_xml)
            {
                
        $status 0;        
                
        $fp = @fsockopen("www.bing.com"80);
                if(!
        $fp)
                { 
                    echo 
        "$errstr ($errno)<br />\n";
                }
                else
                {
                    
        $req 'GET /webmaster/ping.aspx?siteMap=' .
                          
        urlencode$url_xml ) . " HTTP/1.1\r\n" .
                          
        "Host: www.bing.com\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($fp128), $m))
                        {
                            
        $status intval($m[1]);
                            break;
                        }
                    }
                    while (!
        feof($fp))
                    {
                        
        $res .= fgets($fp4096);
                    }
                    
        $res explode("\r\n\r\n",$res,2);
                    
        $res end($res);
                    echo 
        $res;
                    
        fclose($fp);
               }
               return(
        $status);
            } 
        gl
        Habe ich mal ausprobiert, läuft und gibt aus: Thanks for submitting your sitemap

        Dann ist das ganze andere Response-Gedöns weg, keine Ahnung ob man das sonst noch gebrauchen kann.

        Kommentar


        • #34
          Zitat von Proteus1982 Beitrag anzeigen
          Man kann auch schreiben:
          PHP-Code:
          return($status.$res); 
          , dann kommt auch nur das "Thanks for submitting your sitemap" + das 200 vom Script.
          Hilft aufjedenfall in so fern weiter, dass man bestätigt bekommt, dass die Sitemap eingegangen ist. 200 sagt ja nur aus, dass das Ziel erreichbar ist, aber nicht ob die Sitemap übertragen wurde...
          Übertragen wird die Sitemap sowieso nicht - die requestet der Bot dann schon von deiner Seite, wenn er grad Zeit dafür hat. Und die Ping-APIs sind IMHO so eingerichtet, dass ein 200 nur geliefert wird, wenn die Url zur Sitemap einwandfrei übertragen wurde.

          Aktualisieren einer XML-Sitemap - Webmaster/Website-Inhaber-Hilfe

          Wird bei Bing nicht anders sein.
          Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
          Schön - etwas Geschichte kann ja nicht schaden.
          Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

          Kommentar


          • #35
            @ Quetschi Bing sendet immer 200 selbst, wenn man total den Müll reinschreibt...

            genauso wie der Text, der bleibt immer gleich...

            bei ASK ist es genauso, nur wird hier ein Fehlertext zurückgegeben:
            Code:
            http://submissions.ask.com/ping?sitemap=dwada

            Kommentar


            • #36
              Zitat von Quetschi Beitrag anzeigen
              Übertragen wird die Sitemap sowieso nicht - die requestet der Bot dann schon von deiner Seite, wenn er grad Zeit dafür hat. Und die Ping-APIs sind IMHO so eingerichtet, dass ein 200 nur geliefert wird, wenn die Url zur Sitemap einwandfrei übertragen wurde.

              Aktualisieren einer XML-Sitemap - Webmaster/Website-Inhaber-Hilfe

              Wird bei Bing nicht anders sein.
              Ja hab mich falsch ausgedrückt :Man sieht ob der sitemap-ping erfolgreich war

              Zu dem Doc. von Google: Wundert mich echt ein wenig, dass der Statuscode die erreichbarkeit der Sitemap meint. Dachte erst es sagt, dass der fsocket klar gekommen ist. Aber das macht ja die Abfrage if(!$fp) woar ?

              Kommentar


              • #37
                Ich werd nicht mehr - Google ist von den Dreien die einzige SuMa, die den Ping vernünftig gelöst hat bzw. wenigstens nen 400 sendet, wenn es sich um keine syntaktisch korrekte Url handelt.

                Bei Bing nutzt euer gefrickel aber sowieso nix, weil hier auch die Message im Content immer die gleiche ist.
                Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                Schön - etwas Geschichte kann ja nicht schaden.
                Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                Kommentar


                • #38
                  Zitat von Proteus1982 Beitrag anzeigen
                  Zu dem Doc. von Google: Wundert mich echt ein wenig, dass der Statuscode die erreichbarkeit der Sitemap meint. Dachte erst es sagt, dass der fsocket klar gekommen ist. Aber das macht ja die Abfrage if(!$fp) woar ?
                  Die Erreichbarkeit wird nicht überprüft denke ich - es wird lediglich eine syntaktisch korrekte Url akzeptiert - ansonsten spricht wohl nichts dagegen, entsprechende Statuscodes zu senden, wenn der Request nicht wie erwartet aussieht und von daher die einzig vernünftige Implementierung von so einem Service (zumindest mit den anderen beiden verglichen).
                  Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                  Schön - etwas Geschichte kann ja nicht schaden.
                  Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                  Kommentar


                  • #39
                    @ Quetschi: Is ja scheisse. Aber mir gehts auch weniger um Bing. Bing hat auch meinen Seiten vllt nen Anteil von 1%. Worauf ich eigentlich hinaus will ist der Google Blog Ping: Google Blog Search Help

                    Habe nen Selfmade Blogscript, welches aber z.B. Wordpress völlig unterlegen ist, nur weil das Teil noch nicht Pingen kann. Die Blogger klauen meine Texte und setzen nen ing ab, und zack, bin ich der doofe, weil Google dann den Blog listet, aber nicht mich - Thema Double Content durch externe Seiten.

                    Jetzt die Frage: Lässt sich das was google da in dem Dokument schreibt mit diesem Prinzip (fsocket) umsetzt ? Das Thema RPC ... sagt mir kaum was, fsocket hab ich jetzt einiger massen verstanden.

                    Kommentar


                    • #40
                      Ja - allerdings muss hier tatsächlich der Response-Content verarbeitet werden. Da das alles aber im Form von Xml daherkommt, ist so etwas relativ leicht mit PHP-Bordmitteln wie z.B. PHP: DOM - Manual zu bewerkstelligen.
                      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                      Schön - etwas Geschichte kann ja nicht schaden.
                      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                      Kommentar

                      Lädt...
                      X