Zrádné trvalé odkazy

Posted 22. 04. 2010 / By Petr Soukup / Nezařazené

Dnes už je standard, že eshopy mají "hezké adresy". Nechci jim říkat "SEO URL", protože to moc nevystihuje jejich účel - jejich vliv na vyhledávače bych nepřeceňoval, ale jsou zkrátka hezčí. Vyskytuje se několik různých implementací a já bych jich tu chtěl pár ukázat, vysvětlit proč se mi třeba nelíbí a nakonec předvést jak a proč to děláme my.

Nejjednodušší varianta je samozřejmě nemít hezké adresy. Pak vypadá produkt nějak takto:

/product.php?id=1234
Výhoda je, že taková adresa jde vcelku v pohodě nadiktovat po telefonu. Ale když ji vidíte někde napsanou, tak nevidíte, co vás čeká. Je to ale velmi jednoduché na implementaci. Není co řešit.

Další varianta bývá často vidět u různých opensource, kterým se jen doplní plugin na hezké adresy. Používá formát linku, kde na začátku je ID produktu a pak "hezká adresa". Dá se to velmi hezky implementovat jen jedním řádkem v .htaccess, ale má to svoje úskalí. Často totiž jde měnit text odkazu, bez vlivu na funkčnost. Tak to dělá třeba webtrh.

http://webtrh.cz/61115-setkani-provozovatelu-shopu - správný odkaz

http://webtrh.cz/61115-setkani-anonymnich-alkoholiku - upravený odkaz, který ale také funguje

Kdysi s tím měly problém třeba Novinky.cz, protože jim šly krásně přepisovat odkazy a vyrábět tak vcelku vtipné situace. Kromě vtipnosti je ale větší problém duplicita. Když si někdo dá záležet, tak vám vyrobí tisíce duplicit a nepříjemný problém.

U nás používáme variantu, kdy má každý produkt svůj unikátní odkaz a nepoužívá se ID produktu. Z názvu se převádí 1:1 a když jsou dva názvy stejné, tak se teprve do odkazu přidá ID. Chvíli jsem zvažoval, že vyhodíme z odkazu čísla, spojky a podobně, ale u eshopu to není moc dobré. Ve fóru to odkazy dost zkrátí o zbytečnosti, ale v názvu produktu má každá část svůj smysl.

U nás také používáme složkovou strukturu, kdy v adrese produktu jsou i jeho kategorie. Zatím s tím nebyl problém a zase to vypadá hezky. Zvažuji, že ještě dáme do eshopu volbu, aby šla struktura změnit. Adresa produktu je tedy třeba

http://www.tohlechci.cz/Totalni-vychytavky/Prakticka-pohotovostni-nabijecka
Možná jste si všimli velkých písmen v odkazu a dumáte, proč tam jsou :) Nějaký pořádný důvod to nemá. Zkrátka se to kdysi tak udělalo, ničemu to nevadí, vypadá to docela hezky. V nastavení to jde přepnout, ale snad až na jeden případ po tom nikdo netoužil. Samozřejmě odkaz funguje i s jinou velikostí písmen a přesměruje přes 301 na správnou verzi. Jednou za čas zkoumám logy a přes špatnou velikost písmen nechodí prakticky nikdo.

http://www.tohlechci.cz/Totalni-vychytavky/Prakticka-pohotovostni-NAbijecka - přesměruje

http://www.tohlechci.cz/totalni-vychytavky/prakticka-pohotovostni-nabijecka - přesměruje

Adresa obsahující kategorii přináší ještě jeden problém a to přesun zboží nebo změnu názvu kategorie. Zde není jiná možnost, než zase zboží přesměrovat na správnou verzi. Ale taková změna se nedělá tak často, aby to byl problém.

http://www.tohlechci.cz/Zabavne-darky/Prakticka-pohotovostni-nabijecka - přesměruje

http://www.tohlechci.cz/uplna-blbost/Prakticka-pohotovostni-nabijecka - přesměruje

Tím narážíme na další problém a to je přejmenování kategorie/zboží. Zde by se nabízelo nechat link původní, jenže bude často mást. Navíc může v linku navěky zůstat překlep. Taky můžeme nechat v administraci možnost upravovat link ručně. Tuhle možnost jsem ale brzy zavrhl, protože je to moc silná zbraň. A hlavně zbytečná. U nás to funguje tak, že si každý produkt, kategorie, atd pamatuje, jak byly přejmenovávány - zpětně do nekonečna. Takže přes všechny historické odkazy (které nebyly obsazeny novým produktem) se dostanete (přesměrování 301) na správnou verzi.

http://www.tohlechci.cz/Totalni-vychytavky/Pohotovostni-nabijecka - starý odkaz, který nás přesměruje
Opět platí všechna předchozí pravidla na špatné kategorie, malá písmena a podobně.

Také pozor na lomítka. Ty mají tendenci se ztrácet - například oficiální ICQ klient dřív u odkazů poslední lomítko ořezával. Takže zase musí fungovat obě varianty a přesměrovat se.

http://www.tohlechci.cz/Totalni-vychytavky - špatný odkaz, přesměruje se na

http://www.tohlechci.cz/Totalni-vychytavky/

To je asi všechno z obvyklých problémů, co mě napadají. Ještě bych se vám ale chtěl pochlubit jednou hračkou, která se mi hrozně líbí :) Co se stane, když má někdo v adrese překlep? Zkusíme mu nabídnout opravu překlepu. Tady už si netroufáme ho rovnou přesměrovat a tak ho seznámíme se skutečností a nabídneme opravu.

Například takhle zmršený odkaz sice udělá 404, ale nabídne správnou alternativu.

http://www.tohlechci.cz/Totalni-vychytavky/Prktika-pohtovstni-nabijka

Není to krásné? :) Stránka 404 by určitě snesla ještě vylepšení (to bude na samostatné téma), ale tohle hádání správného odkazu se mi hrozně líbí.

Co jsem ale chtěl říct, že každá "hezkost" něco stojí. U číselných odkazů vůbec nic neřešíte a prostě to funguje. Když se ale přidají složky podle kategorie, lomítka, velká/malá písmena, přejmenovávání, překlepy, ... tak se zdánlivě jednoduchá funkce zatraceně komplikuje :)

Tags:


O blogu
Blog o provozování eshopů a technologickém zázemí.
Aktuálně řeším hlavně cloud, bezpečnost a optimalizaci rychlosti.

Rozjíždím službu pro propojení eshopů s dodavateli.