Jak na úspěšný web

Sitemap.xml – co to je, jak vytvořit a proč jí na 100 % mít

Co je Sitemap

Sitemap je soubor, ve kterém uvádíme informace o stránkách, jazykových mutacích, obrázcích, videích nebo dalších souborech, a jejich vzájemných propojení. Pro čtenáře webu tento soubor moc k užitku není, ale vyhledávače ho používají k tomu, aby se lépe zorientovaly na webech a efektivněji nacházely nové stránky nebo aktualizovaly informace o stránkách již existujících.

V ideálním světě by vyhledávače soubor sitemap nepotřebovaly, protože by si díky našemu perfektnímu linkbuildingu a vyladěné technické stránce webu našly veškerý obsah i vzájemná propojení mezi stránkami a soubory samy. Nežijeme ale v ideálním světě, weby nejsou dokonalé a roboti vyhledávačů jakbysmet. Proto bych řekl, že mít na webu sitemap je ze SEO hlediska v zásadě naprostá nutnost.

Podíváme se, jak sitemap vypadá, jak jí vygenerovat a jak o ní dát vědět vyhledávačům.

Je opravdu sitemap potřeba?

Pokud zrovna nemáte vyloženě malinkatý webík o pár jednotek stránkách, které jsou dobře prolinkovány, a neplánujete vydávat jakýkoliv obsah, tak ano, potřebujete. Sitemap je nejjednodušší a nejčistší řešení toho, jak dávat vyhledávačům vědět o nově vzniklém obsahu nebo aktualizacích obsahu staršího. Jestli na webu plánujete vydávat články, třebaže velmi sporadicky, prostě sitemap potřebujete.

Další výjimka může platit pro weby, které prostě nechcete nebo nepotřebujete zobrazovat ve výsledcích vyhledávání. Soubor slouží pro lepší orientaci vyhledávačů, ale pokud vám nejde o výsledky vyhledávání, sitemap vlastně není k ničemu dobrá.

Tohle jsou opravdu ty jediné důvody, které mě napadly, proč sitemap nemít nebo neřešit. Pořád platí, že když i při splnění těchto výjimek na těchto webech soubor bude, tak se tím rozhodně vůbec nic nezkazí.

Formáty sitemap

Sitemap může vypadat různě, tak se podíváme na Googlem podporované možnosti, ale v zásadě jediná rozumná je hned ta první, všechny ostatní jsou opravdu jen pro zajímavost.

Sitemap.xml – nejlepší a jediný doporučovaný formát

Nejlepším řešením, které podporují všechny vyhledávače, tedy Google, Seznam, Bing i další, je formát XML. Soubor můžete vytvořit klidně v klasickém poznámkovém bloku, jen ho poté uložíte pod jménem sitemap.xml (soubor můžete pojmenovat třeba mojesitemap.xml, ale sitemap.xml je standardní název). Proto budu i dále ve článku v zásadě psát hlavně o sitemap.xml, protože prostě jde o jediný formát, který dává smysl.

Takto může vypadat velmi základní sitemap.xml se dvěma URL:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="https://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.example.com/1.html</loc>
    <lastmod>2018-06-04</lastmod>
  </url>
  <url>
    <loc>https://www.example.com/2.html</loc>
    <lastmod>2018-07-04</lastmod>
  </url>
</urlset>

Do sitemapy ve formátu XML můžeme přidávat i rozšíření v podobě informací o použitých obrázcích nebo videích i s daty. Ideální je využít přímo dokumentaci od Googlu, kde uvidíte rozšíření sitemapy v akci.

Ve výše uvedeném příkladu vidíme povinný údaj o URL mezi značkami <loc>, a také nepovinnou značku <lastmod>, tedy informaci o poslední úpravě dané stránky. Jde o velmi užitečný údaj, protože vyhledávačům říká, že se na článku něco změnilo a kdy, takže by mohly URL znovu navštívit a aktualizovat svůj index.

 Dříve se v sitemapě používaly i značky jako:

<changefreq>monthly</changefreq>
<priority>0.8</priority>

Ty udávaly informaci o tom, jak pro nás je článek důležitý (priorita od 0.0 až 1, kdy 1 je nejvýše) nebo jak často se průměrně články aktualizují. Tyto údaje jsou ale v zásadě k ničemu, značka <priority> je v zásadě nicneříkající informace, zvlášť když bylo číslo prakticky vždy stejně nastaveno prostě na 1 u všech URL, a průměrný čas změny stránky v <changefreq>  je přesněji udáván právě datem poslední aktualizace, tedy <lastmod>. I vyhledávače dnes v sitemapě tyto informace prostě ignorují, takže nemá smysl je přidávat.

XML sitemap má podle specifikací Googlu nebo Seznamu (respektive přímo podle specifikací sitemap.org) mít soubor sitemap.xml maximálně 50 000 URL nebo velikost 50 MB v nekomprimovaném stavu. Typicky je lepší se tomuto číslu ani nepřiblížit a v jednom souboru mít spíše maximálně jednotky tisíc URL, ale řešení je takové, že prostě vytvoříte více souborů sitemap.xml (třeba sitemap2.xml, sitemap3.xml atd.), a vytvoříte jednu sitemapu, která odkazuje na všechny ostatní sitemapy. Formát zůstane stejný, jako v předešlém příkladu, jen do značky <loc> doplníte URL na další soubory sitemap. Stejně tak byste postupovali, když byste měli více souborů sitemap například podle kategorií vašeho webu.

RSS nebo Atom feed

I RSS nebo Atom feed je možné použít jako sitemapu. Google je akceptuje, jiné vyhledávače těžko říci, ale minimálně Seznam v nápovědě uvádí pouze sitemap ve formátu XML.

Textový soubor

URL můžete umístit i do prostého textového souboru, tedy třeba sitemap.txt, ale na jméně nezáleží, dokud má příponu .txt. Do souboru nepíšeme vůbec nic, kromě URL webu, vždy jednu na řádek, třeba:

https://www.example.com/abc.html
https://www.example.com/xyz.html

Google i tuto sitemapu akceptuje, ale třeba na Seznamu o tomto formátu není ani zmínka, takže bych se mu vyhnul, přestože možná vypadá velmi jednoduše na vytvoření.

Jak vytvořit soubor sitemap.xml

Manuální vytvoření sitemapy

Pokud máte web o několika málo stránkách a neplánujete vytvářet nový obsah (respektive nebudou vznikat nové URL), není takový problém vytvořit soubor sitemap.xml ručně.

Teoreticky můžete ručně vytvořit klidně i větší sitemapy, ale jde o nesmyslnou práci, kdy byste museli soubor aktualizovat u každého nově vytvořeného článku nebo i každé změny článku v tagu <lastmod>.

Cokoliv podobného je náchylné na chyby, překlepy a nepřesnosti nebo zapomenutí aktualizace. Zpětná kontrola, jestli jsou všechny URL opravdu v sitemapě, je prakticky nemožná, zvlášť kdybyste měli kontrolovat stovky nebo i tisíce URL. Zjednodušeně řečeno sitemap.xml ručně nevytvářejte, nestojí to za to.

Automatické vytvoření sitemap.xml

O něco lepší řešení je automatické vytvoření sitemapy všech nalezených URL na vašem webu. Existují různé generátory sitemap.xml souborů, třeba https://www.xml-sitemaps.com/. Problém v nich je ten, že prostě nemusí najít všechny URL, které chcete ve vyhledávání zobrazovat, často mohou mít i omezení na počet URL, které vygenerují.

Ten největší problém je ale v tom, že byste stejně museli po každém nově vytvořeném článku řešit aktualizaci stávající sitemapy, což je zase prostě otrava. Proto je tu nejelpší řešení v podobě dynamického vytváření sitemapy.

Dynamické vytvoření sitemap.xml

Naprosto ideální je, abyste se o sitemap.xml nemuseli starat, a vytvářela a upravovala se naprosto automaticky přímo vaším systémem. Tedy pokud vytvoříte stránku, rovnou bude v sitemap.xml. Stejně jako při aktualizaci článku staršího.

Pokud používáte redakční systémy jako WordPress, Wix, Drupal, Joomla nebo další, tak je dost pravděpodobné, že za vás tuto sitemapu již redakční systém vytváří zcela sám, případně si můžete celkem snadno nainstalovat rozšíření, které tuto práci zvládne také. Pluginů na tvorbu sitemap je spousta a v zásadě na tom není co zkazit. Vyberte nějaký často stahovaný, který má dobré hodnocení, a na 99% nešlápnete vedle. Správnost formátu sitemap.xml ověří i vyhledávače, na což se podíváme dále ve článku, případně můžete využít třeba tohoto validátoru, který se hodí, abyste věděli, že je formát v pořádku a vyhledávače budou sitemapě rozumět.

Pokud máte web na míru, tedy ho pro vás vytváří programátor, velmi pravděpodobně se o vaši sitemapu postará. Pokud ne, prostě mu dejte vědět, aby se dynamicky vytvářela a aktualizovala.

Jaké URL do sitemapy (ne)zahrnout a jak mají adresy vypadat

Ve článcích o duplicitním obsahu jsme si psali něco o kanonizaci. Pokud máme na webu více URL se stejným obsahem (například kvůli nesmyslným parametrům v URL), zvolíme jednu URL, která je kanonická, tedy ta hlavní, a z ostatních na tuto stránku směrujeme kanonickým odkazem.

Do sitemapy uvádíme pouze kanonické URL, tedy ty hlavní. Neuvádíme tedy URL s různými nesmyslnými parametry, které nemění obsah stránky a které jsou duplicitní.

V sitemapě jsou také ty URL, které reálně chceme, aby vyhledávače procházely (přeci jen tento soubor vytváříme právě pro vyhledávače, abychom jim usnadnili práci). Nezahrnujeme ty URL, které ve výsledcích vyhledávání nechceme (typicky třeba stránky o podmínkách použití našeho webu nebo zaheslované stránky, ke kterým se stejně vyhledávač nedostane). Také je vhodné sem umisťovat ty stránky, které chceme ve vyhledávání, ale na které přirozeně nevedou odkazy z webu, protože tyto stránky pak vyhledávače nemají šanci najít. SItemap v tomto pomůže

URL v sitemapě také píšeme v absolutním tvaru, tedy kompletní adresa, kterou má vyhledávač navštívit.

Píšeme tedy ve tvaru :

https://www.example.com/blog/clanek/

Nepíšeme v relativním tvaru, tedy s vynechaným protokolem a doménou třeba ve tvaru /blog/clanek/

Kam umístit soubor sitemap.xml

Soubor můžeme umístit v zásadě, kam chceme, ale naprosto nejlepší je mít tento soubor dostupný přímo v kořenovém adresáři, tedy třeba:

https://www.example.com/sitemap.xml

Sitemapa může být i v podsložce našeho webu, ale má to to úskalí, že vyhledávače pak berou v potaz pouze URL, které se týkají dané podsložky. Pokud bychom tedy například umístili sitemap na adresu:

https://www.example.com/sport/sitemap.xml

nemohli bychom do ní vkládat odkazy na část webu třeba

https://www.example.com/finance/

Nejlepší je tak kořenový adresář, protože pak můžeme vkládat jakékoliv URL z celého webu.

Soubor sitemap.xml se vždy váže pouze k danému webu. Nemůžeme tedy do sitemapy vkládat externí URL vedoucí na jiné domény, a to s jedinou výjimkou, kterou je rozšíření položek v podobě odkazu na jazykovou mutaci dané URL, tedy pokud máme vícejazyčný web nebo více webů se stejným obsahem, jen v jiném jazyce.

Pozor, pokud máme web například na subdoméně, třeba blog.example.com, tak je zde potřeba mít separátní sitemapu pro obsah na této subdoméně. Ta by byla tedy třeba na adrese blog.example.com/sitemap.xml.

Jak dát vyhledávačům vědět o naší sitemapě a novém webu

Umístění do souboru robots.txt

Soubor robots.txt, o kterém jsem psal tady, je soubor, který se nachází v kořenovém adresáři našeho webu. Hlavní funkcí je, že v něm říkáme vyhledávačům, jaké části webu by neměl navštěvovat (naopak sitepama slouží v tomu opačnému, tedy které by navštívit rozhodně měl). Do robots.txt také můžeme umístit odkaz na naši sitemapu nebo více sitemap. Do souboru robots.txt tedy jen připíšeme řádek:

Sitemap: https://www.example.com/sitemap.xml

Samozřejmě URL sitemapy vyměníme za odkaz na naši reálnou sitemapu. Můžeme sem umístit i více sitemap jen rozkopírováním tohoto příkladu a výměnou URL. Nejlepší je pak vytvořit jednu sitemapu, která vede na všechny ostatní sitemapy, a tento jeden odkaz pak umístit do robots.txt.

Sitemapu do robots.txt umístěte v každém případě, protože vyhledávače mohou mít problém s tím najít vaši sitemap, zvlášť když jí zvolíte nějaký jiný než standardní název. Seznam.cz dokonce uvádí, že sitemapa prostě v robots.txt musí být, i když na SEO konferencích říkali lidé ze Seznamu, že standardní název typicky jsou schopni najít i bez pomoci. I tak, ten jeden řádek do robots.txt dopište :)

Informování Googlu, Seznamu nebo Bingu o novém webu a sitemap

Google přímo nabízí možnost vložit adresu na sitemapu/y v nástroji Google Search Console, o které jsem psal tady. Po ověření webu jen v levém menu vyberte Soubory Sitemap a vložte URL. Google vám dá rovnou vědět, jestli je soubor čitelný a vše proběhlo v pořádku. Tímto Google rovnou ví o vašem webu, přestože je třeba úplně nový a nevedou na něj žádné odkazy, a rovnou si i najde vaši sitemapu a může začít indexovat.

Podobně můžete postupovat u Bing Webmaster Tools, který můžete sesynchronizovat s Google Search Console, tedy máte okamžitě ověřené weby i se sitemapami poslanými do GSC.

U Seznam.cz tohle bohužel nejde, ale naštěstí s novým webem také není problém. Využít můžete přímo služby k přidání nové URL. Sem vložte URL třeba na domovskou stránku nebo v zásadě kamkoliv jinam na váš web, aby Seznam věděl, že daný web existuje. Následně si robot již přečte robots.txt, kde je odkaz na sitemapu, a začne také indexovat.

Trochu alternativní způsob u Googlu je přímo do prohlížeče vepsat adresu:

https://www.google.com/ping?sitemap=URL_K_VAŠÍ_SITEMAP

třeba:

https://www.google.com/ping?sitemap=https://www.example.com/sitemap.xml

Tohle zadejte do adresního řádku internetového prohlížeče, jako byste chtěli navštívit jakýkoliv web.

V praxi tenhle způsob asi není ideální, ale může se hodit, když si web tvoříte sami, nebo máte programátora. Snadno totiž můžete vytvořit funkci, kdy pomocí této adresy automaticky pingnete Google při aktualizaci nebo vytvoření nového článku, čímž dáte vědět, že se sitemapa změnila, takže je i šance, že na aktualizovaný obsah vyhledávač přijde velmi rychle.

Co si ze článku odnést

Sitemap.xml je důležitá, i když nepovinná, část vašeho webu. V ideálním případě nainstalujete plugin nebo řeknete programátorovi, aby se soubor dynamicky vytvářel, a váš úkol je jen umístit odkaz na něj do robots.txt případně do Google Search Console. A dál se o sitemapu nestarat.

Ze SEO hlediska jde o velmi užitečný nástroj, jak vyhledávačům dát vědět o všech kanonických URL, které na webu máte a které chcete, aby se ve výsledcích vyhledávání zobrazily. I když z uživatelského hlediska není sitemapa zajímavá, rozhodně její správnost pořešte. Není velká výhoda sitemapu mít, protože jí má dnes snad každý, ale naopak tím ji nemít byste si podkopávali nohy.

Podobné články

Back to top button