SEF Adresy v phpRS
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

SEF Adresy v phpRSSEF Adresy v phpRS

 

SEF Adresy v phpRS

Google       Google       29. 9. 2006       13 275×

Zajímá vás, jak přimět phpRS, aby vytvářel hezké SEF adresy? Aby umožňoval jejich kompletní správu? Čtěte dále.

Redakční systém phpRS je kvalitní redakční systém, pocházející z české produkce. Má mnohé výhody, ale i nevýhody. Mezi ony záporné vlastnosti patří slabá podpora SEF URL adres. Pokud se vám tento stav nelíbí, jsou pro vás tyto články, ve kterých si popíšeme jak „donutit“ phpRS, aby tyto hezké adresy podporoval. Prvně si pojďme vysvětlit, jak takové adresy vypadají.

Podoba SEF adres

To je pochopitelně to nejdůležitější, na čem se musíme dohodnout. Standardně phpRS generuje asi takovéto adresy (v celém textu budu předpokládat, že máme phpRS nainstalované na adrese http://localhost/phprs/):

http://localhost/phprs/clanek/2005122808
http://localhost/phprs/comment.php?akce=re&cisloclanku=2006090003&ck=1614

Nejspíše se mnou budete souhlasit, že takovéto adresy, to není ono. Přidat název článku za jeho číslo (jako zde na Programujte), např. http://localhost/phprs/clanek/2005122808-SEF-URL-Adresy-v-phpRS, taky není to pravé. Pro příklad hezkých adres nemusíme chodit daleko, stačí se kouknout do krámu konkurence:

http://localhost/phprs/clanky/SEF-URL-Adresy-v-phpRS/
http://localhost/phprs/clanky/SEF-URL-Adresy-v-phpRS/nazory/pridat/

Toto už vypadá jinak, že? Na takové adresy se i lépe odkazuje, lépe se pamatují, vůbec jsou lepší. A dá se o nich prohlásit, že jsou SEF, a tím mohou pomoci SEO (ač lze tvrdit, že URL nemá na SEO vliv, já osobně zastávám opačný názor).

Celkově lze z názvu článku SEF URL Adresy v phpRS vytvořit 2 typické URL adresy:

  • SEF-URL-Adresy-v-phpRS
  • sef-url-adresy-v-phprs

Nejedná se o velký, avšak podstatný rozdíl. Oboje lze snadno vytvořit a oboje je jednoduše funkční, stačí si vybrat. Můj názor je vybrat si druhou možnost (malá písmena), protože je to na současném Internetu zvykem (aneb, kolik lidí zadává doménové jméno velkými písmeny?). Problém může být, když se rozhodneme pro jednu možnost, co s tou druhou. Existuje více možností:

Vyhodit chybu – Článek nenalezen
Toto je nejjednodušší řešení. Testujeme zadaný řetezec a pokud se rovná našemu řetězci (který byl vytvořen podle jedné z výše uvedených metod), zobrazíme daný článek, jinak nic. Toto není dobré řešení (každý se splete, zvlášť pokud máte v názvu velká písmena) a je lepší vybrat si jednu z ostatních možností.
Brát za svou jakoukoliv variantu
Taktéž řešení jednoduše proveditelné. Těsně před testem provedeme převod na malá písmena a poté testujeme. Při tomto postupu dochází k funkčnosti všech písmenkových variant. Problém je ve vyhledávačích, tento postup není SEO korektní, protože pokud fungují 2 a více URL adres k jednomu článku, dochází k duplikování obsahu. Je však lepší než metoda předchozí.
Brát jen jednu variantu a druhou přesměrovat
Dle mého názoru je toto řešení nejlepší. Budou zde nutné 2 testy. První otestuje zadanou URL s uloženou hodnotou a pokud sedí, zobrazí článek. Pokud ne, zkusí test pouze s malými písmeny. Pokud tento sedí, přesměruje s chybovým kódem 301 na správnou podobu URL. Při tomto kódu jsou platné všechny varianty, přičemž nedochází k duplikování obsahu.

Pokud jsme si vybrali jednu z variant, musíme dále prodiskutovat další podobu výsledné adresy. Jedním z kritérií je, zda používat či nepoužívat diakritiku. Jedním z příkladů stránky, používající diakritiku v URL, je Wikipedia.org. Já sám preferuji odstranění diakritiky kvůli dvěma prostým důvodům, a to jejímu pozdějšímu zobrazení v prohlížeči. MSIE i Firefox 1.5 zobrazí adresu v  hexadecimálním tvaru, čili nehezky. A to bych si nenechal líbit. Durhým důvodemje opět zvyk uživatelů (v doméně taky nejsou háčky).

Dalším problémem může být oddělovač mezer. Běžně se používají 2 zápisy: - (pomlčka) a _ (podtržítko). Zde jednoznačně doporučuji pomlčku, protože podtržítko v Googlu značí rozdělené 1 slovo, zatímco pomlčka správně slova 2.

Jako poslední je nutno promyslet samotný tvar adres. Čili zda chceme používat http://localhost/phprs/clanky/nazev, http://localhost/phprs/zpravicky/, apod.

Návrh implementace

Samotné SEF adresy není třeba dávat do administrace, je však nutné, aby nahradily všechny URL ve veřejné části. Celý systém, který v těchto článcích vytvoříme, bude obsloužen jednou třídu (např. CSef), která musí umět:

Převést jakýkoliv text do SEF podoby
Toto by se mělo dít na základě nastavení z administrace (např. používat/nepoužívat diakritiku, apod.).
Z předaných parametrů vytvořit proměnné používané phpRS
Například z adresy http://localhost/phprs/clanky/nazev/ vytvořit proměnnou $cisloclanku, apod. I toto by mělo být řízeno z administrace (co udělat, když článek neexistuje, apod.).
Mít metodu k vytvoření SEF adresy
Kvůli možné změně částí adresy je tato metoda nutná. Její funkčnost by měla být asi následující. Z volání $sef->CreateSEFAdress(\"clanek\",$link) by měla vrátit (dle nastavení z administrace) http://localhost/phprs/clanky/nazev/.
Umožňovat pohodlnou tvorbu vlastních adres
Uvedu příklad. Běžně adresa článku vypadá asi takto: http://localhost/phprs/clanky/kontaktujte-nas a vy byste chtěli adresu změnit (např. vynechat část clanky)? Daná třída musí na toto obsahovat v zásadě 2 možnosti:

  • Vyměnit adresu (čili systém nebude nikdy generovat výše uvedenou adresu, ale vámi chtěnou změnu)
  • Vytvořit alias (systém bude odkazovat na vámi nechtěnou adresu, ale bude fungovat i vámi chtěná varianta).

Systémové požadavky

Samotný kód oné funkce a souvisejícího plug-inu budu psát pro PHP 5, konkrétně pro PHP 5.1.6. Na konci každého článku bude ke stažení výsledný kód jak pro PHP 5, tak PHP 4. K funkčnosti systému bude potřeba server Apache, povolený soubor .htaccess a povolený mod_rewrite. Námi psaný kód bude psaný pro phpRS verze 2.8.0, ke stažení bude verze pro phpRS 2.8.0 a phpRS 2.6.5.

Tak, tolik úvod plný teorie, příště se pustíme do vývoje oné třídy.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
Autor se věnuje programování všeho druhu, hlavně v Javě a .NET Frameworku.

Nové články

Obrázek ke článku Hybridní inteligentní systémy 2

Hybridní inteligentní systémy 2

V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý