Maskování URL

URL adresa ve tvaru http://www.example.com/index.php?PAGE=main/contact, ač stoprocentně funkční, nevypadá moc pěkně ani přehledně. Věci neznalý uživatel z ní jen s obtížemi vyčte, že se za ní skrývá stránka s kontakty. Mnohem lepší by pro daný účel byla například podoba http://www.example.com/kontakty. V prvním případě budeme nadále mluvit o adrese nativní, zatímco druhou variantu označíme jako adresu permanentní neboli permalink. Ideální aplikace by měla být schopná jednoduše maskovat svá nativní URL jejich permalinkovými ekvivalenty.

Nejde zde jen o hledisko estetické. Správný návrh struktury URL na našem webu je například důležitou součástí čím dál populárnější optimalizace stránek pro vyhledávače (SEO – Search Engine Optimation) [24]. Mnoho moderních fulltextových vyhledávačů přihlíží ke slovům obsaženým v URL stránky a považuje je za jedno z kritérií pro určení míry relevance takové stránky vůči uživatelem zadanému dotazu. Výskyt klíčového slova v URL tedy posiluje význam takového klíčového slova. V důsledku se naše URL ve výpisu stránek nalezených na příslušný dotaz posouvá více nahoru na lepší pozici.

Principy návrhu URL

Při návrhu struktury permalinků bychom se měli řídit několika základními principy. Jsou to principy výstižnosti, strukturovanosti, permanence, jedinečnosti, nezávislosti a validity. [31]

Výstižnost

URL stránky (resp. jeho část před otazníkem, viz princip jedinečnosti) musí zřetělně signalizovat, jaký obsah se za ním skrývá. Adresa http://www.example.com/clanky/webdesign/jak-na-odkazy řekne o cílovém dokumentu určitě víc než http://www.example.com/clanek.php?id=123.

Strukturovanost

Stukturu URL v rámci celé aplikace je nutné rozvrhnout předem. Je vhodné rozčlenit jednotlivé stránky do logické hierarchie. Například seznam všech článků bude k dispozici na adrese http://www.example.com/clanky, články o webdesignu nalezneme na http://www.example.com/clanky/webdesign a konkrétní článek pak bude na http://www.example.com/clanky/webdesign/jak-na-odkazy.

Permanence [3], [6]

URL jedné stránky by se po celou dobu její existence nemělo měnit, mělo by zůstat stejné bez ohledu například na změny technologie serveru, souborového systému, designu webu či jeho navigační struktury. Důvodem jsou zpětné odkazy na stránku, které se změnou URL přestanou fungovat. Pokud přeci jen musí k přesunu dojít, měla by být stará adresa dál k dispozici a upozorňovat na nové umístění, nejlépe přesměrováním HTTP hlavičkou 301 Moved Permanently.

Jedinečnost

Jedna stránka by měla být právě pod jedním URL. Je-li nutné mít pro některou stránku více různých URL, mělo by být jedno zvoleno jako primární a z ostatních na ně klienta přesměrovávat HTTP hlavičkou 301 Moved Permanently.

Pravidlo jedinečnosti se týká části URL před otazníkem, která by měla vyjadřovat výhradně obsah dokumentu. Naopak způsob zobrazení (například řazení nějakého seznamu, formát požadovaných dat apod.) by měly stanovovat parametry za otazníkem. Jinými slovy část před otazníkem říká, co se zobrazí, zatímco parametry za otazníkem určují, jak se to zobrazí.

Nezávislost

URL by nemělo být závislé na žádné aktuální technologii ani právě používaném formátu. Technologie i formát stránky se mohou postupem času změnit, ale adresa by měla být stále stejná (princip permanence). Proto by URL nemělo obsahovat žádné přípony typu .php či .asp.

V rámci základního URL by však neměla být ani přípona označující formát jako .html či .pdf. Formát stránky je totiž jen jiný způsob zobrazení téhož obsahu, říká, jak se má stránka zobrazit, a tudíž by měl být případně určen parametry za otazníkem (princip jedinečnosti). V opačném případě by u více formátů téže stránky vznikal duplicitní obsah pod různými URL.

Validita

V neposlední řadě by mělo být každé URL samozřejmě v souladu se standardy Internetu, konkrétně s [2].