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

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       44 542×

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.

Reklama
Reklama

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
(fotka) Zdeněk VečeřaAutor 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     Facebook     LinkedIn    

Nové články

Obrázek ke článku Influenceři? Značce mohou pomoci, ale také ji poškodit

Influenceři? Značce mohou pomoci, ale také ji poškodit

Influenceři hýbou současným marketingem. Firmy do nich investují nemalé peníze v očekávání návratnosti. Správně nastavená spolupráce s influencerem může značce opravdu velmi pomoci, ale také naopak. Podmínkou je k tomu přistupovat s citem. Podle odborníků je stále diskutovaným tématem také přiznání spolupráce

Reklama
Reklama
Obrázek ke článku GoPay uvede automatické čtení údajů z dokladů, použije řešení studenta, který s ním uspěl v IT SPY

GoPay uvede automatické čtení údajů z dokladů, použije řešení studenta, který s ním uspěl v IT SPY

Vymyslet aplikaci, která pohodlně vyčte data z identifikačních dokladů, aby je jejich držitel nemusel složitě přepisovat. To byl jeden z prvních úkolů Miroslava Bartyzala, když nastoupil jako juniorský Java programátor do GoPay. Bartyzal nakonec projektu, který mu zabral více než 2200 hodin, věnoval svou diplomovou práci na Přírodovědecké fakultě Jihočeské univerzity.

Obrázek ke článku Studium MBA zvýší manažerům v IT hodnotu na trhu práce

Studium MBA zvýší manažerům v IT hodnotu na trhu práce

Investice do kvalitního vzdělání se vyplatí, a to jak v osobní, tak v profesionální rovině. Prestižní titul MBA otevře absolventům vysokoškolského studia cestu k mnoha atraktivním pracovním pozicím a potažmo i vyšším příjmům. Zvlášť, pokud dovedou nastudovanou teorii převést přímo do praxe a využít ji při komunikaci i řešení problémů.

Obrázek ke článku Co nám přinese technologický rok 2019? Podle Cisco bude směr určovat těchto 6 trendů

Co nám přinese technologický rok 2019? Podle Cisco bude směr určovat těchto 6 trendů

Kam se bude ubírat technologický vývoj? Společnost Cisco představila 6 trendů, které budou v příštím roce měnit svět a podobu moderních firem. Ty se v roce 2018 podle očekávání zaměřily na lepší využití dat, kterých dnes shromažďují velké objemy. Pro mnohé byla prioritou optimalizace a správa multicloudových prostředí, stejně jako snaha integrovat zabezpečení již na základní úrovni infrastruktury. Žádný z těchto trendů v příštím roce nejspíš nepomine. Přibudou ale další.

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