Ahojte. Tak teda sa snažím prekopať Shakal CMS (niekedy snáď napíšem o čo konkrétne ide) no a riešim rôzne "problémy" (nie programátorské, to zvládnem bez problémov, skôr ma zaujíma názor ľudí na rôzne riešenia a vybrať z toho najlepšie).
Takže k problému. Novú verziu sa snažím naprogramovať čo najflexibilnejšie, zo základných vecí spomeniem rôzne rozhrania (čisté html, xml + xslt, plnohodnotné dynamické ajax rozhranie). Každá časť weby by mala byť dostupná ako celok (celá stránka) a zároveň by mali byť dostupné aj jednotlivé časti (pre ajax). To kladie špeciálne nároky na URL - premenné v nich nesmú kolidovať medzi sebou. Som dosť puntičkár, predstava možnej kolízie mi moc príjemná nie je. Takže povedzme, že chcem URL podobné tomuto:?show=clanky&clanky.page=5
prepísať na SEO friedly URL.
Prvým problémom pri URL je obmedzený počet použiteľných znakov. Napr. bodka, ktorú som tu použil je dosť neodporúčaný znak. Chcel by som Vás poprosiť o návrhy na tvorbu URL. Čo by nové URL mali podporovať:
- Jednoznačné oddelenie cesty (/clanky/) od premenných.
- Väčšina adries bude bez premenných (/blog/mirec/2009/09/moj-super-blog/), takže tie musia vyzerať pekne.
- Identifikátor menného priestoru (z clanok.page časť clanok - táto premenná bude dostupná v jedinom module) je fakt nutný.
Napadlo ma riešenie /clanky/clanky_page_5/ pričom _ by bolo použité len pri premenných (tak by sa teda dali premenné jednoznačne identifikovať od zvyšku adresy.
Toto by bolo asi najlepšie. Taká, presná cesta.
Neviem v com by malo byt taketo riesenie viac "SEO friendly" ako obycajne ?clanky.page=5, resp. ?clanky[page]=5 pri webovych aplikaciach sa vacsinou pouziva taketo jednoduche a ucinne riesenie. Vsimni si uz len youtube, google. Naviac vzdy pri volani takejto adresy cez javascript budes musiet prehnat premenne cez konvertor, aby si dostal adresu aku chces ty.
Obycajne pouzivam takyto tvar url
/sekcia/akcia/identifikator - da sa pouzit takmer na vsetok "staticky" obsah, teda aj formulare a pod., pripadne rozsirenie /sekcia/akcia/modifikator_1/modifikator_2/../identifikator - modifikatory mozes mat nepovinne, bud zlava, alebo zprava.
Vsetky ostatne premenne, napr. sposob radenia a pod. zadavat za ?
Data, ktore server prijima a vykonava nejaku zmenu zasielat len cez POST
priklad pre clanky.page:
/clanky/[akcia/]clanok-uri/[strana/]
eshop:
/eshop/[akcia/][kategoria/[typ/[polozka/]]]
takze hlavna zasada: pre ajaxove zalezitosti seo friendly url je nadbytocne, prinasa maximalne bolest hlavy ;-)