Automatický generátor sitemapy
Pokud vaše weby pro zobrazování obsahu nevyužívají databázi, ale samostatné soubory, může být celkem otravné při každé změně manuálně editovat soubor se sitemapou (zvlášť, pokud neustále přibývají nové stránky). Proto jsem stvořil jednoduchý PHP skript, který veškerou práci bude dělat za vás.
Můj generátor pracuje tak, že z aktuálního adresáře vytáhne jména všech položek, které se v něm nacházejí a pak je vypíše cyklem. Samozřejmě je možno určité položky vynechat (adresáře nebo systémové soubory – robots.txt, .htaccess a podobně), nebo naopak přidat – s rozdílnými parametry, jako je například priorita stránky.
Jak na to? Vytvořte si soubor sitemap.php. Do něj vložte následující kód, který si přizpůsobte k obrazu svému.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <?php echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd\"> <url> <loc>http://vydrus.name/</loc> <priority>1.0</priority> </url> <url> <loc>http://vydrus.name/category/webtvorba</loc> <priority>0.9</priority> </url>"; $adresar = opendir("."); while($soubor = readdir($adresar)) { if ($soubor != "." && $soubor != ".." && $soubor != "soubor.html" && $soubor != "adresář") { //vynechá soubor.html a adresář echo "<url> <loc>" . "http://vydrus.name/$soubor</loc> <priority>0.8</priority> </url>\n"; } } closedir($adresar); echo "</urlset>"; ?> |
Aby sitemapu v Nástrojích pro webmastery schroustal i Google, musí mít koncovku .xml. To se dá zařídit tímto zápisem do souboru .htaccess:
1 2 | RewriteEngine on RewriteRule ^sitemap\.xml$ sitemap.php [QSA,L] |
A to je celé. Doufám, že vám můj generátor ušetří spoustu práce i času.
Reklama: Netradiční čtení na téma půjčky naleznete na webu Bez půjčky
Predstav si že máš tých adresárov 50 tak namiesto:
if ($soubor != „.“ && $soubor != „..“ && $soubor != „soubor.html“ && $soubor != „adresář“) { //vynechá soubor.html a adresář
použiješ funkciu ereg? Teda if(ereg(“^/(.*)\\.(php|html)/$“,$soubor)){ //…
kletely
20. 06. 2009
Je to dobré hlavne pre tých ktorý to majú najradšej priamo v roote. Ja som sitemapu generoval len pár krát ale osvedčil sa mi google, ktorý našiel pár stránok ktoré rovnovygenerovali xml súbor …
onkel1
20. 06. 2009