Skip to main content

Zgłaszanie mapy strony sitemap.xml

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

markac

Full-stack Web Developer

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.