Witaj Gościu Zaloguj się lub zarejestruj się.
Zaloguj

Mapy serwisu za pomocą PHP, czyli sitemap.xml

Mapy serwisu za pomocą PHP, czyli sitemap.xml

Jedną w najważniejszych rzeczy, jakie musimy zrobić aby trafić do indeksu google, to zgłoszenie mapy witryny. Mapę taką możemy wygenerować za pomocą jakiegoś programu lub generatora. Co jednak w sytuacji, gdy mamy dynamiczny serwis?

W tym wpisie przedstawię w jaki sposób prostym sposobem zautomatyzować proces tworzenia mapy witryny (sitemap) z pomocą języka PHP.

Kilka słów wyjaśnień

Każdy serwis jest inny. Jedna osoba ma przyjazne pozycjonowaniu hiperłącza, druga już niekoniecznie. Jedne serwisy są oparte o systemy CMS jak Wordpress, Joomla itp, inne zwyczajnymi stronami bez jakiegokolwiek CMS a jeszcze inne oparte na własnych konstrukcjach. Z tego właśnie powodu w tym wpisie omówię sposób tworzenia pliku sitemap.xml na serwerze automatycznie za pomocą PHP.


Budowa pliku sitemap.xml

Jak widzisz, ma on rozszerzenie xml, więc można sie domyśleć, że będzie bazowała na strukturze xml. oto podstawowa budowa takiego pliku:

Jak widzisz, jest naprawdę prosta. Mamy jego rozpoczęcie z deklaracją oraz hiperłączem do używanego standardu. Google opiera mapy witryn na podstawie standardu w wersji 0.9. Dalej mamy drzewo urlset, które zawiera wszystkie podstrony naszej witryny. W środku niego mamy część właściwą, czyli pojedyncze łącza. Posiadają one następujące właściwości:

Oczywiście kropki oznaczają powtarzalność tego, co się wewnątrz nich znajduje. Co również ważne to fakt, że zarówno lastmod, changefreq jak i priority są opcjonalnymi parametrami, które nie musimy określać.


 

Tworzenie dokumentu

Na naszym serwerze tworzymy dokument najlepiej o nazwie sitemap.php. Aby był on wykonywany za pomocą interpretera musi on mieć rozszerzenie .php. Jak załatwić różnice pomiędzy rozszerzeniami powiemy sobie w ostatnim kroku.


 

Wyświetlenie deklaracji dokumentu

Na samym początku musimy przekazać robotom google, że faktycznie jest to dokument w formacie xml. W tym celu wyświetlamy tę część, która nie jest generowana dynamicznie. Tak więc w naszym dokumencie wpisujemy:


 

Stworzenie pętli, która będzie nam wyświetlała nasze podstorny

W tym kroku tworzymy pętle while (może to być jakakolwiek inna) aby nam kolejno wyświetlała dane. Używamy następującego kodu:

Jak widzisz, w tym wariancie zakładam pobieranie z bazy danych adresów i wyświetlanie ich za pomocą pętli. Ty możesz zrobić to dokładnie tak samo lub za pomocą innej techniki. Niezależnie skąd będziesz pobierał dane, efekt powinien być taki sam.

W tym tutorialu nie omawiam technik pobierania adresów do pętli. Z góry zakładam, że masz je wszystkie gdzieś umieszczone (w pliku, bazie danych itp.), dlatego początkową część pętli musisz wykonać samodzielnie.


 

Zmiana rozszerzenia

Google przyjmuje tylko sitemapy w formacie XML, a więc z rozszerzeniem .xml. W naszym przypadku mamy .php, więc musimy to zmienić. Zrobimy to bardzo prostym sposobem za pomocą .htaccess podmieniając adres docelowy:


W ten oto magiczny sposób po wywołaniu adresu http://www.loremipsumdolor.pl/sitemap.xml wyświetli się nasza mapa witryny. Wymieniony właśnie adres możemy zgłosić do Google Webmasters w celu zindeksowania wszystkich podstron naszej witryny.


Podumowując

Tworzenie map witryn w PHP nie jest wcale takie trudne. Gorszym problemem jej obmyślenie dobrego sposobu na przetrzymywanie w odpowiednim miejscu. Na platformie Fuertigo.pl używamy do tego bazy danych, jednak istnieją bardziej zaawansowane techniki jak curl, które zamiast budować mapę witryny na podstawie danych z bazy danych, robią to w locie przeszukując stronę. O tej technice również napiszemy wkrótce w ramach bloga. Tymczasem zapraszam do dzielenia się swoimi uwagami dot. wpisu.

Inne wpisy, które mogą Cię zainteresować

Poniżej przedstawiamy Ci propozycje innych wpisów, które mogą Cię zainteresować. Sprawdź, czytaj i poszerzaj swoją wiedzę.


Czytaj
Szał wersji Firefox oraz Chrome. Geneza i prognoza na przyszłość

Szał wersji Firefox oraz Chrome. Geneza i prognoza na przyszłość

Czytaj
Ciasteczka na stronach internetowych - nowe przepisy i wymagania

Ciasteczka na stronach internetowych - nowe przepisy i wymagania

Czytaj
Pierwsza ocena/krytyka witryny już jest!

Pierwsza ocena/krytyka witryny już jest!

Czytaj
HTML entities, czyli jak zapisujemy znaki specjalne w HTML

HTML entities, czyli jak zapisujemy znaki specjalne w HTML

Komentarze do tego wpisu


comments powered by Disqus