Zarábaj až 6 000 € mesačne! Akreditované rekvalifikačné kurzy od 0 €. Viac informácií.

1. diel - Ako na Sitemap v PHP

Vitajte u dvojdielnej série o sitemapách. V prvom článku sa spoločne zameriame na problematiku sitemap skôr teoreticky. Na začiatku si vysvetlíme, čo to vôbec sitemapa je a prečo ju používať. Potom si ukážeme, ako taká sitemapa vyzerá, čo musí obsahovať a spĺňať. Nakoniec si ukážeme spôsoby tvorby sitemapy. Vo nasledujúcom diele si vytvoríme automatický generátor sitemap v PHP.

Čo je sitemapa?

Sitemapa je, ako názov napovedá, mapa všetkých rôznych podstránok na jednej doméne vo formáte XML. Podstatné je, že nie je určená pre ľudí, ale pre roboty. Či už od Googlu alebo od iných spoločností. Sitemapa teda pomáha robotom pri prehliadaní stránok.

Prečo používať Sitemap?

Ako som už písal vyššie, sitemapa robotom zjednodušuje prechádzanie podstránok, čo je veľmi dôležité pre SEO - s earch e ngine o ptimalization (optimalizácia pre vyhľadávače), o ktorom je celý kurz tu na itnetwork. Hlavným účelom je dať jednoducho robotom prístup k podstránkam, ktoré by pre nich boli inak ťažko dosiahnuteľné (napríklad podstránky v podstránkach a v podstránkach ...).

Použitie sa odporúča hlavne v 3 rôznych prípadoch webe:

  • začínajúci web - aby všetky stránky Google lepšie objavil a mohol ich tak dať do svojho vyhľadávača.
  • veľa rozvetvený web s množstvom podstránok a odkazov
  • veľký web

Spomenul som síce iba vyhľadávač Google, ale jedná sa o všetky vyhľadávače. Ďalšie môžu byť napríklad Zoznam, Yandex, Yahoo, DuckDuckGo a ďalšie.

Ako vyzerá sitemapa?

Maximálna veľkosť každej sitemapy Google určil na 50 tis. záznamov (50 MB). Ako som naznačil na začiatku, sitemapa je XML súbor. Sitemapa môže mať však aj príponu HTML či priamo PHP, nemusí mať príponu XML. Pre XML súbor pridáme na začiatok súboru nasledujúce tag:

<?xml version="1.0" encoding="UTF-8"?>

ktorý určuje, že sa bude jednať o XML súbor a nastavuje kódovanie na UTF-8. Ďalej sa sitemapa delia na dva základné typy:

  • jednoduchá sitemapa a
  • Indexové sitemapa.

1. Jednoduchá sitemapa

U jednoduché sitemapy sa všetko nachádza v jednom súbore. Poďme si spoločne predstaviť používané XML tagy:

tag (element) povinnosť popisok
<urlset> povinný Obaľuje celú Sitemap a uvádza odkaz na aktuálny štandard protokolu pomocou atribútu xmlns.
xmlns povinný Atribút <urlset>, ktorý odkazuje na štandard sitemap: http://www.sitemaps.org/schemas/sitemap/0.9.
<url> povinný Obaľuje tagy jednej konkrétnej podstránky (je rodičovským tagom pre všetky nasledujúce tagy).
<loc> povinný Odkaz na konkrétnu podstránku.
<lastmod> nepovinný Dátum poslednej zmeny podstránky vo formáte W3C DATETIME alebo RRRR-MM-DD.
<priority> nepovinný Dôležitosť podstránky voči ostatným podstránkam iba na našom webe (tým, že dáte všetkým stránkam priority 1.0 ničomu nepomôžete). Nadobúda hodnoty od 0.0 až do 1.0 (defaultný je 0.5).
<changefreq> nepovinný Početnosť zmeny podstránky.
Tag <changefreq> môže nadobúdať hodnoty:
  • always - zmena pri každej návšteve
  • hourly
  • daily
  • weekly
  • monthly
  • yearly
  • never - archivované url (napríklad súbory, ktoré sa nikdy nezmení)

K tabuľke ešte musím dodať, že roboti sa vami poskytnutými dátami nepovinných elementov neriadi, ale používajú ich iba ako nápovedu. To znamená, že hoci si dáte napríklad .: <changefreq>weekly</changefreq>, robot danú stránku nemusí každý týždeň navštevovať. Informácie pre neho slúži len ako jedna z mnohých, podľa ktorých sa rozhoduje.

V nasledujúcom príklade sú vidieť najrozmanitejšie kombinácie tagov v Sitemap, aby ste videli ich použitie (v praxi sa dobrovoľné tagy veľmi často vynechávajú):

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

   <url>
      <loc>http://www.example.com/</loc>
      <lastmod>2021-08-05</lastmod>
      <changefreq>always</changefreq>
      <priority>1.0</priority>
   </url>

   <url>
      <loc>http://www.example.com/elektronika/mobilni-telefony/apple-12-pro</loc>
      <changefreq>monthly</changefreq>
   </url>

   <url>
      <loc>http://www.example.com/elektronika/mobilni-telefony/nokia-3310</loc>
      <lastmod>2017-11-01</lastmod>
      <changefreq>never</changefreq>
   </url>

   <url>
      <loc>http://www.example.com/elektronika/prislusenstvi/nabijecka-samsung-a10</loc>
      <lastmod>2020-12-23T18:00:15+00:00</lastmod>
      <priority>0.3</priority>
   </url>

   <url>
      <loc>http://www.example.com/mobilni-telefony</loc>
      <lastmod>2015-11-23</lastmod>
   </url>

</urlset>

2. Indexové sitemapa

Indexové sitemapa obsahuje odkazy na viac jednoduchých sitemap. Jej tagy sú veľmi podobné ako u jednoduché sitemapy. Tu prikladám ich zoznam:

tag (element) povinnosť popisok
<sitemapindex> povinný Obaľuje celú Sitemap (ekvivalent <urlset> z jednoduchej sitemapy)
xmlns povinný Obsahuje odkaz na štandard sitemapy (pozri vyššie u jednoduché sitemapy)
<sitemap> povinný Obaľuje tagy pre jednu Sitemap (ekvivalent <url> z jednoduchej sitemapy)
<loc> povinný Odkazuje na Sitemap (rovnaké ako <loc> v jednoduchej Sitemap)
<lastmod> nepovinný Dátum poslednej modifikácie danej sitemapy (rovnaké ako <lastmod> u jednoduché sitemapy)
Príklad indexové sitemapy:
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

   <sitemap>
      <loc>http://www.example.com/sitemap1.xml.gz</loc>
      <lastmod>2004-10-01T18:23:17+00:00</lastmod>
   </sitemap>

   <sitemap>
      <loc>http://www.example.com/sitemap2.xml.gz</loc>
      <lastmod>2005-01-01</lastmod>
   </sitemap>

</sitemapindex>

Túto Sitemap využíva sieť itnetwork. Môžete ju navštíviť na tejto URL adrese.

Uvádzacích

Odkazy v Sitemap musia byť tzv. Uvádzacích (nesmie sa používať špeciálne znaky ako napr .: háčiky, čiarky, apod.).

Umiestnenia súboru

Súbor sa Sitemap sa najčastejšie umiestňuje do koreňového priečinka (tam kde je index), takže sa dá nájsť pod odkazom example.com/sitemap.xml. Toto sa používa z jednoduchého dôvodu, sitemapa nesmie odkazovať na iné podstránky, takže napríklad sitemapa umiestnená v example.com/catalog/sitemap.xml už by nemohla odkazovať na example.com/menu/homepage. Toto všetko však neplatí v prípade, že dokážeme, že máme prístup k root priečinku projektu a pridáme odkaz na sitemap do súboru robots.txt, viď ďalej. Napríklad sieť itnetwork SiteMap tiež nemá v koreňovom adresári.

Ako dať Googlu o Sitemap vedieť?

Akonáhle máte Sitemap hotovú a umiestnite ju na stránky, musíte dať Googlu nejako vedieť, že tento súbor existuje. Máme 3 možnosti:

  1. Odoslanie cez rozhranie vyhľadávača- http://www.google.com/...sters/tools/ - prejdete relatívne jednoduchú cestou, po ktorej vás Google relatívne dobre vykoná
  2. Pridanie odkazu na Sitemap do súboru robots.txt (prípad itnetwork)- Táto možnosť sa používa veľmi často, pretože je veľmi jednoduchá. Musíte vytvoriť (ak ho nemáte) súbor robots.txt v koreňovom adresári, ktorý vložíme opäť do hlavnej zložky projektu (tam, kde je index). Ďalej len pridáme riadok s kódom:
Sitemap: http://www.example.com/sitemap.xml

a máte postarané. V súbore robots.txt môžete mimochodom aj blokovať robotom prechádzanie vašich stránok a to pomocou kódu User-agent: "názov robota" (* je znak pre všetkých), Disallow: "jedna stránka, ktorú nechcem, aby robot prechádzal" (/ je pre všetky). Opäť musím povedať, že sa tým roboti riadiť nemusí. 3. Poslanie http dotazu
- Jednoducho pošleme http dotaz (to v praxi znamená zadať nasledujúci url do vyhľadávača) na:

url_vyhledavace/ping?sitemap=url_sitemapy

napr .:

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

Validácia

Pre validáciu sitemap je ideálne použiť nasledovné nasledujúce nástroj: https://www.xml-sitemaps.com/...sitemap.html. Ten vám po zadaní url povie, či vaše sitemapa obsahuje chyby.

Spôsoby tvorby sitemapy

1. Vytvoriť Sitemap ručne

Túto možnosť by som mohol odporučiť iba u menších statických webov. Výhodou je, že si môžete dopísať viac nepovinných tagov, ktoré ostatní riešenie neponúkajú. Pre všetky ostatné typy lokalít je táto možnosť úplne nevhodná.

2. Vygenerovať Sitemap cez generátor

Na internete existuje veľa možností generátorov. Najznámejší je asi https://www.xml-sitemaps.com/...nerator.html, ktorý vytvorí Sitemap po zadaní url. Je k dispozícii zdarma do 500 podstránok, unlimited verzia je za $ 20 (okolo 450 Sk). Táto možnosť sa dá veľmi dobre využiť pre stredne veľké statické weby, ktoré sa moc nemení a nepoužívajú PHP pre vlastné generovanie stránok.

3. Skript v PHP

Tejto možnosti je venovaný celý druhý diel, kde si ukážeme automatickú generáciu vlastných stránok v PHP.

Záver

Výborne, teóriu máme za sebou. Už vieme, čo to sitemapa je, ako vyzerá, čo musí obsahovať a spĺňať, ako o nej dať vedieť Googlu, ako ju zvalidovat a taky sme naťukli spôsoby tvorby.

V budúcej lekcii, Tvorba sitemapy v PHP , sa pozrieme na sitemapy z praktického pohľadu a jednu si s využitím PHP vytvoríme.


 

Všetky články v sekcii
Php e-commerce
Preskočiť článok
(neodporúčame)
Tvorba sitemapy v PHP
Článok pre vás napísal Jakub Kornel
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Aktivity