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');