Mapa strony to plik XML zawierający adresy URL witryny.
Przykład mapy strony
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.example.com/</loc>
<lastmod>2005-01-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
Zgłaszanie mapy strony
Oprócz standardowej metody zgłaszania mapy strony, czyli poprzez narzędzia Google Webmaster Tools oraz Bing – Webmaster Tools, istnieje możliwość zautomatyzowania tego procesu.
Jeśli korzystasz z jakiegokolwiek systemu zarządzania treścią (CMS), warto dopisać odpowiedni fragment kodu, aby nie zgłaszać mapy strony ręcznie, za każdym razem, kiedy zmienimy strukturę naszej strony.
W tym celu, wystarczy wysłać zapytanie GET z mapą witryny.
function submitSiteMap($url) {
$pingUrls = array(
'http://www.google.com/webmasters/sitemaps/ping?sitemap=%s',
'http://www.bing.com/webmaster/ping.aspx?siteMap=%s'
);
$siteMap = urlencode($url);
$result = true;
foreach($pingUrls as $url) {
$result = $result &&
file_get_contents(sprintf($url, $siteMap)) !== false;
}
return $result;
}
// Zgłoszenie mapy strony
if (submitSiteMap('http://example.com/sitemap.xml'))
echo "Mapa strony została zgłoszona.";
else
echo "Wystąpił błąd podczas zgłaszania mapy strony.";
Aktualizacja
19-01-2015
Z powyższego kodu powstała klasa, którą można łatwo wykorzystać we własnym projekcie i zaimportować za pomocą Composera:
{
"require": {
"fu-hsi/sitemap-submitter": "dev-master"
}
}
Zgłoszenie mapy
FuHsi\SitemapSubmitter\SitemapSubmitter::submit('http://example.com/sitemap.xml');