Bing - Sitemap Ping
Einklappen
X
-
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.
-
@ 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.
Einen Kommentar schreiben:
-
Zitat von Proteus1982 Beitrag anzeigenZu 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 ?
Einen Kommentar schreiben:
-
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.
Einen Kommentar schreiben:
-
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.
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 ?
Einen Kommentar schreiben:
-
@ 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
Einen Kommentar schreiben:
-
Zitat von Proteus1982 Beitrag anzeigenMan kann auch schreiben:PHP-Code:return($status.$res);
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...
Aktualisieren einer XML-Sitemap - Webmaster/Website-Inhaber-Hilfe
Wird bei Bing nicht anders sein.
Einen Kommentar schreiben:
-
Zitat von Gunah Beitrag anzeigenPHP-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($fp, 128), $m))
{
$status = intval($m[1]);
break;
}
}
while (!feof($fp))
{
$res .= fgets($fp, 4096);
}
$res = explode("\r\n\r\n",$res,2);
$res = end($res);
echo $res;
fclose($fp);
}
return($status);
}
Dann ist das ganze andere Response-Gedöns weg, keine Ahnung ob man das sonst noch gebrauchen kann.
Einen Kommentar schreiben:
-
Man kann auch schreiben:PHP-Code:return($status.$res);
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...
Einen Kommentar schreiben:
-
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($fp, 128), $m))
{
$status = intval($m[1]);
break;
}
}
while (!feof($fp))
{
$res .= fgets($fp, 4096);
}
$res = explode("\r\n\r\n",$res,2);
$res = end($res);
echo $res;
fclose($fp);
}
return($status);
}
Einen Kommentar schreiben:
-
Das was du wirklich gesucht hast siehst du bei deiner Ausgabe leider immer noch nicht - bzw. doch, den scheinbar wird der in der Funktion returnierte Statuscode noch nach dem Funktionsaufruf ausgegeben. Und das ist nunmal das einzige, was wirklich interessant ist.
Im Content können sie dir alles mögliche hinschreiben und das kann sich auch ändern, wenns den Machern von Bing grad so passt, was zur Folge haben kann, dass dein Script dir sagt, dass der Ping nicht geklappt hat, obwohl es in Wahrheit funktioniert hat.
Einen Kommentar schreiben:
-
Ah jetz ja...
Problem gelöst:
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($fp, 128), $m))
{
$status = intval($m[1]);
break;
}
}
while (!feof($fp))
{
$res = fgets($fp, 4096);
echo $res;
}
fclose($fp);
}
return($status);
}
Code:Cache-Control: private Content-Length: 163 Content-Type: text/html P3P: CP="NON UNI COM NAV STA LOC CURa DEVa PSAa PSDa OUR IND", policyref="http://privacy.msn.com/w3c/p3p.xml" Date: Tue, 03 Nov 2009 11:50:08 GMT Connection: close Set-Cookie: _FS=mkt=-DE&ui=de-DE; domain=.bing.com; path=/ Set-Cookie: MUID=F7C26083DB3B4C208FFA1B629329E956; expires=Thu, 03-Nov-2011 11:50:08 GMT; domain=.bing.com; path=/ Set-Cookie: OrigMUID=F7C26083DB3B4C208FFA1B629329E956%2c1307f89b261f4fd9aa1953178e44f7f3; expires=Thu, 03-Nov-2011 11:50:08 GMT; domain=.bing.com; path=/ Set-Cookie: OVR=flt=0&DomainVertical=0&Cashback=cbtest4&MSCorp=kievfinal&GeoPerf=0; domain=.bing.com; path=/ Set-Cookie: SRCHD=D=968390&MS=968390&AF=NOFORM; expires=Thu, 03-Nov-2011 11:50:08 GMT; domain=.bing.com; path=/ Set-Cookie: SRCHUID=V=2&GUID=48A93ECC44EC42BE98AB6ACFBCA3B3DB; expires=Thu, 03-Nov-2011 11:50:08 GMT; path=/ Set-Cookie: SRCHUSR=AUTOREDIR=0&GEOVAR=&DOB=20091103; expires=Thu, 03-Nov-2011 11:50:08 GMT; domain=.bing.com; path=/ Thanks for submitting your sitemap.200
Code:Cache-Control: private Content-Length: 163 Content-Type: text/html P3P: CP="NON UNI COM NAV STA LOC CURa DEVa PSAa PSDa OUR IND", policyref="http://privacy.msn.com/w3c/p3p.xml" Date: Tue, 03 Nov 2009 11:50:08 GMT Connection: close Set-Cookie: _FS=mkt=-DE&ui=de-DE; domain=.bing.com; path=/ Set-Cookie: MUID=F7C26083DB3B4C208FFA1B629329E956; expires=Thu, 03-Nov-2011 11:50:08 GMT; domain=.bing.com; path=/ Set-Cookie: OrigMUID=F7C26083DB3B4C208FFA1B629329E956%2c1307f89b261f4fd9aa1953178e44f7f3; expires=Thu, 03-Nov-2011 11:50:08 GMT; domain=.bing.com; path=/ Set-Cookie: OVR=flt=0&DomainVertical=0&Cashback=cbtest4&MSCorp=kievfinal&GeoPerf=0; domain=.bing.com; path=/ Set-Cookie: SRCHD=D=968390&MS=968390&AF=NOFORM; expires=Thu, 03-Nov-2011 11:50:08 GMT; domain=.bing.com; path=/ Set-Cookie: SRCHUID=V=2&GUID=48A93ECC44EC42BE98AB6ACFBCA3B3DB; expires=Thu, 03-Nov-2011 11:50:08 GMT; path=/ Set-Cookie: SRCHUSR=AUTOREDIR=0&GEOVAR=&DOB=20091103; expires=Thu, 03-Nov-2011 11:50:08 GMT; domain=.bing.com; path=/ <html xmlns="http://www.w3.org/1999/xhtml" ><head><title>Submit Sitemap - Webmaster ToolsBing</title></head><body>Thanks for submitting your sitemap.</body></html>200
PS: Hab den Code mit Tabs umformatiert, wenns recht ist...
Einen Kommentar schreiben:
-
Zitat von Gunah Beitrag anzeigennaja ohne explode oder ähnliches wirst du das meines wissen nach bei fsocketopen nicht hinbekommen...
Einen Kommentar schreiben:
-
naja ohne explode oder ähnliches wirst du das meines wissen nach bei fsocketopen nicht hinbekommen, entweder man nimmt dann fopen, oder curl
Einen Kommentar schreiben:
-
Zitat von Gunah Beitrag anzeigender Header wird aber per "\r\n\r\n" getrennt meine ich irgendwie war das so... bin mir gerade nicht sicher
Einen Kommentar schreiben:
Einen Kommentar schreiben: