Vytváříme srozumitelné URL adresy z názvu článku
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Vytváříme srozumitelné URL adresy z názvu článkuVytváříme srozumitelné URL adresy z názvu článku

 

Vytváříme srozumitelné URL adresy z názvu článku

Google       26. 9. 2006       48 182×

U mnoha redakčních systémů (CMS) je běžnou praxí nabízet srozumitelné URL adresy, které jsou vygenerovány z názvů článků. Přináší to nejen výhodu pro uživatele, kteří při ručním zadávání adresy zadávají srozumitelný text, ale především je to jedna z dílčích částí optimalizace (SEO) pro internetové vyhledávače.

Jak vypadá adresa vygenerovaná z názvu článku

Název článku
Zase nějaké optimalizace pro vyhledávače!
URL
http://www.nejakadomena.cz/zase-nejake-optimalizace-pro-vyhledavace
Název článku
Těšíte se na novu verzi? Samozřejmě, musíte!
URL
http://www.nejakadomena.cz/tesite-se-na-novu-verzi-samozrejme-musite

Ukázka v PHP

Existuje mnoho odlišných způsobů, jak generovat adresy z názvu článku. Přestože je více cest, většinou všechny vedou k požadovanému výsledku, tedy převedení názvu článku na adresu.

Převedení názvů na adresy nám obstará funkce, ve které budeme zpracovávat jednotlivé dílčí akce.

Nahrazení znaků s diakritikou za stejné znaky bez diakritiky

Chceme mít adresy bez diakritiky, proto musíme převést všechny znaky s diakritikou na stejné znaky bez ní. Např. ř, Ů atd.

<?php
$address = StrTr ($address, "ÁÄČÇĎÉĚËÍŇÓÖŘŠŤÚŮÜÝŽáäčçďéěëíňóöřšťúůüýž ", "AACCDEEEINOORSTUUUYZaaccdeeeinoorstuuuyz-");
?>

Převod všech velkých písmen na malá

Dalším požadavkem jsou malá písmena v adrese. Je to otázka vkusu, ale taky běžnou praxí používat malá písmena, tak se tomu nebudeme bránit a převedeme všechna velká písmena na malá.

<!--?php
$address = strtolower ($address);
?-->

Nahrazení mezery a všech speciálních znaků za pomlčku

Z adresy nahradíme všechny speciální znaky (otazníky, uvozovky, středníky, čárky, vykřičníky a spoustu dalších) za spojovník. Stejně tak nahradíme všechny mezery.

<?php
$re = "/[^[:alpha:][:digit:]]/";
$replacement = "-";
$address = preg_replace ($re, $replacement, $address);
?>

Úprava začátku a konce řetězce

Protože nám na začátku a na konci řetězce mohly vzniknout (z předchozích kroků) spojovníky, což je nežádoucí, odstraníme je.

<?php
$address = trim ($address, "-");
?>

Odstranění opakujícího se spojovníku

Pokud jsou v názvu článku dva vykřičníky, byly nahrazeny dvěma spojovníky. Toto je další nežádoucí efekt. Proto odstraníme všechny spojovníky, které jsou dva a více vedle sebe.

<?php
$re = "/[-]+/";
$replacement = "-";
$address = preg_replace ($re, $replacement, $address);
?>

A celé to vypadá takto…

<?php
  /** Vygenerovani pratelske URL adresy
   * @param string $title retezec, ze ktereho vygenerujeme url adresu
   * @return string $address vraceny retezec obsahujici friendly url
   * @copyright Zdenek Vecera, zdenek.vecera@gmail.com
   */
  function seo_url ($title){
    $address = $title;
    
    // nahradi znaky s diakritikou na znaky bez diakritiky
    $address = StrTr ($address, "ÁÄČÇĎÉĚËÍŇÓÖŘŠŤÚŮÜÝŽáäčçďéěëíňóöřšťúůüýž ", "AACCDEEEINOORSTUUUYZaaccdeeeinoorstuuuyz-");

    // prevede vsechna velka pismena na mala
    $address = strtolower ($address); 

    // nahradi pomlckou vsechny znanky, ktera nejsou pismena
    $re = "/[^[:alpha:][:digit:]]/";
    $replacement = "-";
    $address = preg_replace ($re, $replacement, $address);

    // odstrani ze zacatku a z konce retezce pomlcky
    $address = trim ($address, "-");

    // odstrani z adresy pomlcky, pokud jsou dve a vice vedle sebe
    $re = "/[-]+/";
    $replacement = "-";
    $address = preg_replace ($re, $replacement, $address);

    return $address;
  }
?>

Jak to vyzkoušet

Pro otestování stačí výše uvedenou funkci vložit do PHP souboru spolu například s následujícím zavoláním funkce:

<?php
echo seo_url ("Zase nějaké optimalizace pro vyhledávače!");
?>

Uvedenou funkci lze samozřejmě nadále optimalizovat a přizpůsobovat konkrétním požadavkům.

×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 publikuje na Programujte.com a Živě.cz, zabývá se vývojem a použitelností internetových aplikací a stará se o spokojenost návštěvníků Laser Game v Brně.
Web     Twitter     LinkedIn    

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ý