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
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
To nie byłoby dobre rozwiązanie. Zauważ, że taka mapa nie obejmowałaby np. podstron wyświetlanych AJAXem.
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 😛 Jak skończę to wrzucę kod do komentarza 🙂
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ę 🙂