Вчера я разместил объявление на сайте ebay (marktplaats.nl), и оно сразу же появилось в Google при поиске этого объявления в Google.
Как они это делают?
Поскольку это очень большой сайт, я не думаю, что они публикуют карту сайта. Я сделал такую функцию для обновления карты сайта, но не знаю, что это хороший метод. Вот что у меня есть (часть моей библиотеки):
// returns false when input invalid, returns a number (array index) when url is invalid or // request fails, returns true when complete:
function suSubmitSitemap( $sXmlUrl, $asSearchEnginePingUrl = 'http://www.google.com/ping?sitemap=%s', $bContinueOnError = false )
{
if( !suIsValidString( $sXmlUrl ) || ( !suIsValidString( $asSearchEnginePingUrl ) && !suIsValidArray( $asSearchEnginePingUrl )))
{ return false; }
$a = (is_array($asSearchEnginePingUrl))?$asSearchEnginePingUrl:explode(',', $asSearchEnginePingUrl );
$sXmlUrl = urlencode( $sXmlUrl );
$ret = false;
foreach( $a as $i=>$sUrl )
{
$sUri = str_replace( '%s', $sXmlUrl, $sUrl );
$bValid = (!is_bool( strpos( $sUrl, '%s' )) && suGetUrlContent( $sUri ));
if( !$bValid )
{
if( !$bContinueOnError )
{ return $i; }
if( !is_array( $ret ))
{ $ret = array(); }
$ret[$i] = $sUri;
}
}
return ret;
}
Является ли это безопасным способом сделать это (Google не будет забанить вас при частом вызове), если это не способ сделать это, кто-нибудь знает, как реализовать такую функцию обновления индекса в PHP?