Poznámka Roberta Němce: protože nejsem programátor a snažím se držet svého kopyta, zadal jsem napsání dnešního článku našemu mladému, ale přesto již velmi schopnému programátorovi Janovi Šedo.
Tvorba „hezkých URL“
Hezké URL je takové, které neobsahuje otazník, za kterým si script předává tzv. parametry. Příkladem „klasického“ URL je např. http://www.example.com/clanek.php?clanek=1506
. Zde parametr identifikuje, že se má zobrazit článek číslo 1506. Hezké URL potom může být třeba http://www.example.com/nadpis-clanku.html
.
Důvod pro užívání hezkých URL je jednoduchý:
- většina vyhledávačů totiž vyhledává klíčová slova také v URL a přikládá jim významnou váhu,
- vyhledávače většinou neindexují stránky s mnoha parametry (například Google nevyhledává ve stránkách s více jak třemi parametry a do začátku letošního roku dokonce nevyhledával ve stránkách s více jak dvěmi parametry a ještě k tomu se ani jeden parametr nesměl jmenovat id).
Další výhodou hezkých URL je také
- menší riziko, že se při ručním přepisování někdo překlepne,
- to, že z odkazů je ihned patrné, o čem stránka je,
ale to nesouvisí se SEO.
Apache a modul Rewrite
Pokud používáte server Apache, ten standardně obsahuje velmi užitečnou pomůcku pro tvorbu, a to modul Rewrite. Díky tomuto modulu můžete používat hezká URL, aniž byste museli měnit redakční systém. Pokud třeba nyní používáte adresy jednotlivých článků ve tvaru
http://www.example.com/clanek.php?clanek=1208
, pomocí Mod_Rewrite ji můžete změnit na http://www.example.com/clanek/1208
.
Je k tomu však nutné mít možnost měnit nastavení serverů buď za pomoci souboru .htaccess
, či přímo v httpd.conf
, a mít nainstalován Mod_Rewrite. Většina slušných webhostingů tuto možnost má. Podrobnosti o nastavování a příklady použití naleznete v článcích Mod_rewrite pro lepší odkazy a Což si tak trochu zapřepisovat?
IIS a modul ISAPI_rewrite
Jestliže používáte jako server IIS, je zde možnost přepisu URL pomocí ISAPI_rewrite, který je nutné do IIS doinstalovat. Tento modul naprogramovala firma Helicon Tech a je ke stažení na stránkách modulu ISAPI_rewrite ve verzích full a lite. ISAPI_rewrite Full je zdarma k dispozici na otestování na 30 dnů, poté se musí zaplatit 69 dolarů za jednu licenci. Verze lite je k dispozici zdarma a je identická s verzí Full s několika omezeními. Na přepisování URL na vašem serveru ale stačí.
Chybová stránka 404
V případě, že nemáte možnost možnost měnit konfigurační soubory na Apachi nebo nemáte k dispozici jednotlivé moduly, většina webhostingů umožňuje nastavení vlastní chybové stránky 404 (Stránka nenalezena). Za pomoci scriptovacích jazyků (PHP, ASP, …) můžete vytvořit vlastní jednoduché přepisování pomocí regulárních výrazů. Pokud máte možnost měnit nastavení serveru za pomoci souboru .htaccess
, script, který se má zpracovat při nenalezení stránky na serveru v něm identifikujete takto: ErrorDocument 404 /404.php.
Přesun stránek na novou adresu a změna redakčního systému
S přesunem stránek či změnou redakčního systému je většinou mnoho komplikací. Z pohledu SEO je nejzávažnější ztráta zpětných odkazů, podle kterých většina vyhledávačů spoluhodnotí úroveň stránek. Pokud tedy přesouváte stránky na novou doménu či přecházíte na jiný redakční systém, měli byste myslet také na to, aby všechna stará URL byla přesměrována na nová.
Jsou dvě možnosti – zjistit, kde všude se vyskytují stará URL, a požádat o změnu na nová, nebo se pokusit přesměrovat tyto odkazy vlastními silami. První volba je lepší, ale poněkud nepraktická, zdlouhavá a hlavně nespolehlivá, protože moc serverů nebude ochotných měnit vaše odkazy. Nevýhoda druhé je ta, že musíte uchovat poměrně dlouho stará URL, za kterými se bude vyskytovat přesměrování na nová, což je velký problém při přesunu stránek na novou adresu, přičemž starou musíte co nejdříve opustit.
Samozřejmě je ještě třetí cesta, ale ne vždycky se hodí (hodí se ale, pokud máte některé stránky na špičkových pozicích): ponecháte staré stránky beze změny, nabídnete vyhledávačům nové stránky a podpoříte je dostatečným počtem zpětných odkazů. V okamžiku, kdy se vaše nové stránky dostanou na úroveň vašich starých stránek, provedete přesměrování na starých stránkách.
Apache a modul Alias
Apache opět jako u přepisování URL obvykle obsahuje modul přímo na to zaměřený, a to modul Alias. Pro jeho použití potřebujete stejně jako u mod_Rewrite možnost měnit nastavení serveru pomocí .htaccess
nebo přímo v konfiguraci serveru httpd.conf
a samozřejmě mít mod_Alias nainstalován.
Pokud pouze měníte doménu třetího řádu – či jste dosud měli stránky v podadresáři nějaké domény a přesouváte je na doménu druhého řadu nebo jinam na doménu třetího řádu nebo do podadresáře nějaké domény – lze to provést zapsáním pouhé jedné řádky do konfiguračních souborů. Je nutné si dát pozor, aby vyhledávač poznal, že se jedná o trvalé přesměrování. To se provádí tak, že před samotným přesměrováním pošleme vyhledávači kód 301 Moved Permanently. Řádek, který se vloží do souboru .htaccess
, pak může vypadat takto: Redirect 301 / http://www.novaadresa.cz/
.
Tato řádka pošle vyhledávači hlavičku, že stávající web byl přesunut na http://www.novaadresa.cz
. Více o možnosti mod_Aliasu se dočtete v článku Což si tak trochu zapřepisovat?
IIS
V IIS je možné v nastavení složky zaškrtnout možnost přesměrování a napsat zde URL, na které se složka přesměruje. Přesný postup najdete v článku Redirect a domain such as xoc.net to www.xoc.net.
Chybová stránka 404
Podobně jako u přepisování URL je alternativním řešením chybová stránka 404, která je napsána ve scriptovacím jazyce a provede přesměrování na nové URL. Takové přesměrování může vypadat zhruba takto:
PHP
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.example.com/");
>
ASP
<%
Response.Status = "301 Moved Permanently"
Response.addheader "Location", "http://www.example.cz/"
Response.End
%>
Složitějšími přesměrování pomocí chybové stránky se zabývá článek Preparing Your New Site for Structural Changes.