Vydrusův zápisník

postřehy ze světa internetu a IT

co jsem zač?

Avatar - vydraMá přezdívka je Vydrus. Zaměřuji se na webové technologie a IT. Jsem velký fanoušek GNU/Linuxu, pracuji na Ubuntu.

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

k dalšímu čtení

komentáře (2)

  1. 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

  2. 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

zanechte komentář!

Komentáře jsou moderovány. Nevhodné příspěvky mohou být dle mého uvážení smazány. Pokud zde komentujete poprvé, musí být váš komentář nejprve schválen.

Náš sponzor: Na webu obálky a potisk obálek Vám nabízíme digitální tisk a potisk obálek. Nepotištěné obálky můžete u nás nakoupit za velkoobchodní ceny.