Kategória: Návody Joomla

Zmenené: 14. marec 2012

Interakcia s vyhľadávačmi

Trendom poslednej doby nie je udržiavať si vlastný zoznam obľúbených odkazov, ale prosto použiť vyhľadávač. Ľudia do vyhľadávacieho poľa zadávajú priamo názov domény (akoby ho nemohli napísať do adresného riadka), alebo hľadajú nejaké odkazy, ktoré majú vzťah k nimi hľadaným výrazom. Aby sa však stránky vašej domény ocitli vo výsledkoch hľadania, musí o nich vyhľadávač vedieť.

Tip

V článku používam pojem doména vo význame webové sídlo (web site) a webová stránka vo význame jednotlivých stránok (web page), pretože zaužívaný preklad (webová stránka) tieto termíny nerozlišuje.

Existuje viac spôsobov, ktorými môže vyhľadávač stránky vašej domény objaviť a správne zaradiť a vaše stránky sa do výsledkov vyhľadávania môžu dostať aj celkom bez vášho pričinenia, ale pekne po poriadku, najprv tie spôsoby:

  • vyhľadávač pri prechádzaní obsahu internetu narazí na odkaz na vašu stránku
  • vyhľadávač dostáva informácie o vašej stránke od vás

Prvý spomenutý spôsob možno rozdeliť na dve fázy. Pri vzniku domény je určite užitočné zaistiť si nejaké odkazy na iných doménach. Vhodným miestom môžu byť rôzne katalógy vyhľadávačov. Katalógy boli v ranných dobách internetu vlastne jediným spôsobom ako nájsť relevantné informácie, ale ich význam kvôli používaniu dynamického obsahu klesá. Keď už vyhľadávač existenciu vašej domény zaregistruje, nastupuje druhá fáza, kde odkazy na jednotlivé stránky domény zisťuje už priamo z domény. Samozrejme, aj v tejto fáze sú odkazy z iných domén dôležité, pretože zvyšujú význam stránky, ale tomuto sa venovať nechcem. Spomeniem len, že ani vyhľadávače nie sú hlúpe, a ak použijete nejaký spôsob spamovania fór odkazom na vašu doménu, skôr si uškodíte.

Druhý spôsob je, ako som spomenul, poskytnúť informácie o stránke priamo vyhľadávaču. Časť informácií o svojich stránkach poskytujete tzv. vnútornými odkazmi, kde by som zaradil najmä systém navigácie, teda menu, či stránky kde poskytujete súhrn odkazov na obsah, napríklad zoznam kategórie článkov. Tento spôsob je síce účinný, ale nie efektívny, pretože frekvencia indexácie vašich stránok závisí od významnosti stránky a niekedy môže trvať dosť dlho (aj niekoľko týždňov), kým sa nový článok vo výsledkoch vyhľadávania ocitne. Oveľa efektívnejší spôsob je poskytovanie akéhosi obsahu svojej domény, a to pomocou takzvanej mapy stránky (sitemap).

Mapa stránky

Spôsobom generovania mapy stránky sa tu zaoberať nebudem, pretože je to dosť komplexná vec, a vrelo odporučím poobzerať sa po hotovom riešení. Dnešné redakčné systémy poskytujú spôsob ako takúto mapu stránky generovať, či už priamo alebo pomocou rozširujúcich modulov. Ak váš systém také rozšírenie neobsahuje ani neposkytuje, skúste samostatný nástroj na generovanie mapy stránky phpSitemapNG.

Samotná mapa stránky je vlastne zoznam odkazov na stránky vašej domény, a vo formáte HTML sa jedná o výborný navigačný prvok, ktorý by ste určite mali návštevníkom poskytnúť (a takto sa k nemu dostane i vyhľadávač). Avšak, pre vyhľadávače je mapa stránky v HTML vlastne len ďalšou stránkou vašej domény, a skutočnú silu mapy vyhľadávačom poskytnete až vo formáte XML, kde záznam v mape stránky v XML môže obsahovať aj ďalšie informácie:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   <url>
      <loc>http://www.example.com/</loc>
      <lastmod>2005-01-01</lastmod>
      <changefreq>monthly</changefreq>
      <priority>0.8</priority>
   </url>
</urlset>

Pre každý článok (URL) obsahuje samotný odkaz (loc), dátum (a čas) poslednej zmeny (lastmod), frekvenciu zmeny (changefreq) a nakoniec prioritu (priority). Vzhľadom na to, že odkaz a čas poslednej zmeny považujem za jasné, popíšem posledné dve. Povinným parametrom mapy stránky je však len adresa URL.

Frekvencia

Frekvencia je voliteľný údaj a udáva, ako často sa obsah daného odkazu mení, teda ako často sa má robot vyhľadávača na stránku pozrieť, či nejaké zmeny nastali. Frekvencia zmeny môže nadobúdať jednu z nasledujúcich hodnôt:

  • always – vždy
  • hourly – každú hodinu
  • daily – každý deň
  • weekly – každý týždeň
  • monthly – každý mesiac
  • yearly – každý rok
  • never – nikdy

Samotná hodnota nie je pre vyhľadávacieho robota príkazom, ale len usmernením a robot ju môže, ale nemusí, rešpektovať a podľa informácií na českej wikipédii vraj nie je preukázané, že ju roboty rešpektujú. Každopádne, ak je táto hodnota nastavená napríklad na weekly, neznamená to že robot stránku nenavštívi častejšie ako raz za týždeň, ale že ju bude indexovať častejšie ako stránky s frekvenciou monthly (ak vôbec robot túto hodnotu berie do úvahy).

Myslím si, že bez ohľadu na to, či konkrétne roboty túto hodnotu rešpektujú alebo nie, je dobré ju správne nastaviť. Ako príklad znova uvediem stránky so zoznamom článkov v kategórii, ktoré by mali iste mať nastavenú vyššiu frekvenciu ako články samotné. No a samotné články ba zase mali mať vyššiu frekvenciu ako stránky nemenné, ako kontaktné informácie, či formulár.

Priorita

Ďalším voliteľným údajom je priorita. Priorita udáva relatívnu dôležitosť článkov vrámci vašej domény a môže mať hodnotu od 0.0 do 1.0. V žiadnom prípade si nemyslite, že touto informáciou ovplyvníte pozíciu svojich odkazoch vo výsledkov vyhľadávania, pretože slúži len na informovanie robotov o tom, ktoré stránky vašej domény považujete za dôležitejšie ako iné. Hodnota priority však môže byť použitá aj vyhľadávačom, pri rozhodovaní o poradí zobrazenia odkazov na vaše stránky (ale zase len v rámci rovnakej domény).

Pri nastavovaní priority treba vychádzať z podobnej filozofie ako pri frekvencii. Ktoré stránky sú pre vás najdôležitejšie si však musíte určiť sami. Pre firmu to možno budú kontaktné informácie, pre iné stránky zase skôr obsah. Znova treba zvážiť, či priradíte vyššiu prioritu zoznamu článkov v kategórii, ale článkom samotným. Osobne nastavujem vyššiu prioritu zoznamom článkov, a to najmä kvôli tomu, že tieto zoznamy článkov zase poskytujú odkazy na články.

Tip

Predvolená hodnota priority je 0.5 a v žiadnom prípade by ste nemali prepadnúť mánii nastaviť ju všade na 1, pretože ak majú všetky vaše stránku rovnakú prioritu, potom vlastne na jej hodnote nezáleží.

Viac máp stránok

Ak máte v doméne viac súborov s mapami stránok, môžete ich spojiť do jedného indexového súboru (sitemapindex), napr:

<?xml version="1.0" encoding="UTF-8"?>
<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>

Limity

Pravdepodobne to nebude váš prípad, ale pamätajte že mapy stránok majú svoje limity: maximálne 50 000 odkazov a maximálne 10 MB v jednej mape stránok. Ak by teda vaša mapa stránok tieto limity prekračovala, skúste ju buď rozdeliť do viacerých súborov, alebo (v prípade limitu veľkosti súboru) komprimovať pomocou gzip. Komprimáciou mapy stránok tak či tak ušetríte počet prenesených dát. Svoje limity majú aj zoznamy máp stránok, ktoré sú v podstate rovnaké ako pre jednotlivé mapy stránok: 50 000 jednotlivých máp stránok a 10 MB, a aj tieto môžu byť komprimované, prípadne rozdelené do viac súborov.

Súbory s mapami stránok (XML) musia byť kódované v UTF-8 a v obsahu musia byť znaky ampersand (&), apostrof (‚), dvojitá úvodzovka („), menej ako (<) a viac ako (>) nahradené entitami HTML.

Usmernenie robotov

Pomaly a nenápadne som sa dostal od mapy stránky k robotom, ktoré (je robot životné podstatné meno? – ja myslím, že nie) prehľadávajú web, a teda skôr alebo neskôr začnú prehľadávať aj vašu stránku. Vo všeobecnosti možno roboty rozdeliť na „slušné” a „neslušné”. Rozdiel medzi nimi je, že tie slušné rešpektujú vašu vôľu a nelezú tam, kam im poviete aby neliezli. Tie neslušné na to kašlú.

Čo môžete robiť s neslušnými robotmi? V podstate nič, leda tak ignorovať ich. Môžete ich síce blokovať pomocou identifikátora (user-agent), ale tie naozaj neslušné sa i tak predstavia ako bežný prehliadač (napr. Internet Explorer). Môžete ich blokovať podľa IP adresy, ale tá sa môže meniť (v závislosti na na napadnutom serveri, dynamickom priradení IP, a pod.), prípadne tým môžete zablokovať návštevníkov, pretože sa jedná o NAT-ovanú IP adresu, za ktorou môže byť napr. celá škola.

So slušnými robotmi to je iné, tie si na stránke nájdu súbor robots.txt a riadia sa jeho obsahom, ktorý je viac-menej dohodnutý. Samotný súbor robots.txt treba umiestniť do koreňa svojej domény. V poslednej dobe si všímam, že slušné vyhľadávače priamo zverejňujú, že ich robot rešpektuje tento súbor. Obsah tohoto súboru je prostý, napr:

User-agent: *
Disallow: /

Prvý riadok udáva, že nasledujú pravidlá pre všetky (*) roboty a za týmto nasledujú jednotlivé direktívy Disallow, nasledované cestou k zakázanej oblasti. Direktíva (príkaz) User-agent sa môže v súbore vyskytovať aj viac krát a potom (s konkrétnym identifikátorom robota) udáva, že nasledujúce príkazy Disallow platia len pre tohoto robota.

Niekoľko príkladov

User-agent: *
Disallow:
  • povoľuje všetkým robotom prístup všade
User-agent: *
Disallow: /
  • zakazuje všetkým robotom prístup do celej domény
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /obrázky/
Disallow: /súkromné/
  • zakazuje všetkým robotom prístup do vymenovaných adresárov/ciest
User-agent: ZlýBot
Disallow: /súkromné/
  • zakazuje prístup konkrétnemu robotu (tu ZlýBot) do zadaného adresára/cesty
  • toto je prakticky zbytočné, pretože zlé roboty to i tak ignorujú, alebo skôr ich ešte usmerníte, kam majú ísť
User-agent: *
Disallow: /directory/file.html
  • zakazuje všetkým robotom prístup k zadanej stránke/súboru

Direktívy User-agent a Dissalow (a nižšie popísaná Sitemap) sú štandardnými direktívami, ktoré spracováva každý slušný robot. Okrem týchto existujú ešte aj ne/nadštandardné direktívy, ktoré však už každý robot poznať nemusí:

Crawl-delay: 10
  • udáva minimálny interval [s] medzi jednotlivými návštevami robota
  • jedná sa o interval prístupov na doménu, nie na tú istú stránku
Allow:    /cesta1/súbor.html
Disallow: /cesta1/
  • direktíva Allow umožňuje precíznejšie nastavenie prístupu, presnejšie umožňuje robotu pristupovať k adrese, kde má prístup zakázaný inou direktívou
  • v tomto príklade má robot povolený prístup ku konkrétnemu súboru inak zakázaného adresára cesta1

Varovanie

Problémom direktívy Allow je, že aj tie roboty, ktoré ju poznajú, ju interpretujú rôzne.

Follow, nofollow, …

Stránky vašej domény určite budú obsahovať odkazy na iné články, či už vlastnej alebo cudzej domény. Mnohé vyhľadávače používajú tieto odkazy jednak na objavenie iných stránok a jednak na hodnotenie kvality vašej domény ako takej. Ak teda podľahnete nápadu presýtiť svoje články odkazmi na iné články, ktoré však nie sú relevantné, vyhľadávač vás odmení penalizáciou v podobe nižšej pozície, a to najmä ak vaše odkazy smerujú na nejakú doménu so zlým hodnotením (porno, warez, cracky a podobne), čomu sa každá slušná doména vyhýba. Rovnako tak nie je dobré, ak odkaz smeruje na neexistujúcu stránku.

Ako som spomenul, odkazom na nevhodný obsah sa iste budete vyhýbať, čo však nedokážete ovplyvniť je, že sa zrazu slušný odkaz premení na neexistujúci, alebo, čo je ešte horšie, na nie až taký slušný… Existuje spôsob ako vyhľadávaču oznámiť, aby taký odkaz ignoroval. Stačí do príslušnej značky odkazu pridať atribút rel, napríklad takto:

<a href="http://www.doména.sk/" rel="nofollow">Text odkazu</a>

Takto môžete ovládať (na)sledovanie jednotlivých odkazov, môžete však pridať značku do hlavičky stránky, ktorá zaistí, že vyhľadávač bude ignorovať všetky odkazy na danej stránke:

<meta name="robots" content="nofollow">

Atribút content môže nadobúdať tieto hodnoty:

  • follow – nasledovať odkazy
  • nofollow – ignorovať odkazy
  • index – zahrnúť stránku do indexu
  • noindex – nezahrnúť stránku do indexu
  • all – rovnaké ako follow + index

Jednotlivé hodnoty možno do atribútu content spojiť a oddeliť ich čiarkou, príklady:

<meta name="robots" content="noindex,nofollow">
<meta name="robots" content="index,nofollow">
<meta name="robots" content="noindex,follow">

Rada

Kombináciu „folow, index” zadávať nie je treba, pretože ide o predvolené správanie väčšiny robotov, ale jej pridanie v žiadnom prípade neuškodí.

Samozrejme, niektoré kombinácie nedávajú zmysel, tak si dajte pozor aby ste nedali napríklad „ folow, nofollow”. Ak používate redakčný systém, možno vám toto nastavenie priamo umožňuje, pohľadajte vo vlastnostiach jednotlivých prvkov.

Niektoré vyhľadávače rozumejú aj hodnote „noarchive”, ktorá sa postará o to, aby daná stránka nebola umiestnená do archívu.

Uverejnenie mapy stránky

Na uverejnenie svojej mapy stránky môžete využiť tri spôsoby. Prvým je priame zadanie odkazu na mapu stránky vo webovom rozhraní vyhľadávača. K tomu sa budete musieť vytvoriť účet v každom vyhľadávači, ktorý to umožňuje a ani zďaleka nie všetky túto možnosť poskytujú. Samotný postup pridania odkazu na mapu stránky sa potom môže líšiť v každom takom vyhľadávači. Výhodou takéhoto riešenia je to, že vyhľadávač si potom v pravidelných intervaloch sám kontroluje zmeny v mape stránky (a tým aj v obsahu domény), nevýhodou však môže byť, že nie do všetkých vyhľadávačov sa možno zaregistrovať.

Druhý spôsob je priame poslanie odkazu vyhľadávaču, tzv. ping (nemýliť si s nástrojom ping na posielanie ICMP paketov). Formát adresy URL na odoslanie mapy stránok sa zase môže líšiť v každom vyhľadávači:

http://www.bing.com/webmaster/ping.aspx?sitemap=www.mojadoména.sk/sitemap.xml
http://www.google.com/webmasters/tools/ping?sitemap=www.mojadoména.sk/sitemap.xml
http://submissions.ask.com/ping?sitemap=www.mojadoména.sk/sitemap.xml

Samozrejme, parameter sitemap= musí obsahovať reálnu adresu URL k vašej mape stránok. Výhodou tohoto riešenia je, že sa nemusíte nikde registrovať, zato však musíte po každej zmene v doméne znova mapu stránok odoslať.

Tretí, mne známy, spôsob je použite vyššie spomínaného súboru robots.txt, kde môžete pridať direktívu Sitemap, napríklad takto:

User-agent: *
Sitemap: www.mojadoména.sk/sitemap.xml

Toto riešenie považujem za najlepšie, pretože všetky roboty si môžu mapu stránok nájsť samé a nikde sa netreba registrovať. Ale pre úplnosť treba dodať, že webové rozhrania vyhľadávačov často poskytujú aj ďalšie, často dosť užitočné, funkcie (napríklad odstránenie omylom uverejneného dokumentu aj s rodnými číslami, z vyrovnávacej pamäte vyhľadávača).

Niektoré roboty môžu spracovať aj viac direktív Sitemap v jednom robots.txt, avšak, ale veľmi by som sa na to nespoliehal:

Sitemap: www.mojadoména.sk/sitemap-images.xml
Sitemap: www.mojadoména.sk/sitemap-web.xml

Zopár SEO zásad

Na záver len veľmi krátko uvediem niekoľko základných zásad optimalizácie pre vyhľadávače – SEO (Search Engine Optimisation), ktoré by ste mali na svojich stránkach rešpektovať. Jednak tým dosiahnete presnejšie výsledky vyhľadávania (ľudia nebudú zbytočne zaťažovať váš server zobrazením stránky, ktorú vlastne nechcú), no a jednak tým opäť môžete vylepšiť svoju pozíciu vo vyhľadávači. Takže niekoľko základných zásad, bez poradia dôležitosti:

  • vyvarujte sa chýb HTML a CSS – použite validátor W3C
  • vyplňte správne značky META – keywords a description
  • používajte správnu hierarchiu nadpisov, hlavne nech má stránka práve a len jednu značku H1 s názvom článku
  • poskytnite používateľom prehľadnú navigáciu
  • obrázkom priraďujte alternatívne texty (atribút alt)
  • chráňte sa pred spamom vo fórach a komentároch

Varovanie

No a keď už píšem o SEO, nebláznite a neriešte každú sprostosť, ktorú vám vytkne nejaký online nástroj na kontrolu SEO.