PHP Sitemap Generator

Klasa PHP generująca mapy stron zgodne z protokołem Sitemap 0.90. Założeniem była 100% zgodność ze specyfikacją oraz maksymalna możliwa prostota. Przykłady użycia znaleźć można na stronie phpclasses.org, za jakiś czas pojawi się także artykuł na blogu.

Cechy klasy:

  • Pełna zgodność z UTF-8
  • Wsparcie dla Sitemap index
  • Obsługa do 50,000,000 linków
  • Wsparcie dla plików robots.txt
  • Automatyczne powiadamianie wyszukiwarek: Google, Yahoo!, Ask i Bling
  • Wsparcie dla Yahoo App ID
  • Wsparcie dla GZip

Link do klasy na PHPClasses: Sitemap Generator

  1. Paweł
    11 grudnia 2009, 11:18 | #1

    Szkoda że klasa nie pobiera sama pełnej listy linków i na jej podstawie nie tworzy końcowej sitemapy :)

    Mimo wszystko dobra robota!

    Pozdrawiam

  2. 11 grudnia 2009, 11:24 | #2

    To nie byłoby dobre rozwiązanie. Zauważ, że taka mapa nie obejmowałaby np. podstron wyświetlanych AJAXem.

  3. 24 lutego 2011, 16:18 | #3

    Bardzo ładny i dobrze napisany kawałek kodu :) Wykorzystując tę klasę można bardzo szybko generować mapy. Wystarczy pojechać pętlą po folderze w którym trzymamy pliki do includowania lub po bazie danych i mamy mapę gotową w 10 liniach kodu. Szkoda, że w samplach nie ma takiego przykładu, bo teraz będę się bawił iteratorami plików :P Jak skończę to wrzucę kod do komentarza :)

  4. 24 lutego 2011, 16:41 | #4

    Jeśli mamy przyjazne URLe i chcemy wrzucić wszystko z katalogu inc do mapy to wówczas warto zastosować DirectoryIterator, a w środku usunąć dopełnienia nazw plików (tutaj już zależy jakich potrzebujemy adresów).
    W tym wypadku będzie to np. http://domena.pl/kontakt

    $di=new DirectoryIterator(„../inc”); foreach($di as $file) {
    $filename = $file->getFilename();
    $filename = preg_replace(‘/\.([a-zA-Z0-9\_\-\.])*$/’, ”, $filename);
    $sitemap->addUrl(‘http://domena.pl'.$filename, date(‘c’), ‘weekly’, ’0.80′);
    }

    Dziękuję Pawle za wspaniałą klasę :)

  1. 11 grudnia 2009 10:21 | #1