Po instalaci mají články a stránky URL v ošklivém tvaru s atributem /?p=123, což není pro vyhledávače příliš stravitelné a navíc to nevypadá pěkně. V tomto článku si ukážeme, jak ve WordPressu nastavit tvar URL, z hlediska SEO.
Kde to nastavit
Tvar URL změníme v administraci WordPressu v Nastavení/Trvalé odkazy. Tam na konci také najdete přepisovací pravidla, která je třeba dát do .htaccess
. Nabízené možnosti struktury URL jsou k vyhledávačům přívětivější, nicméně to stále nějak není ono. Zvolíme tedy poslední možnost Vlastní struktura a strukturu URL si nadefinujeme sami.
Můj oblíbený tvar URL
Já osobně mám nejraději jako strukturu jen /%postname%/
, tj. že část URL za lomítkem je tvořena jen názvem článku. Např. http://www.example.com/muj-nazev-clanku/
. Je to výstižné, jasné, v URL se nepletou žádné další zbytečné údaje. Tento formát URL všem doporučuji, nicméně jsou i jiné možnosti.
Jiné možné tvary URL
Někteří prosazují strukturu /%post_id%/%postname%/
, kdy názvu předchází ještě ID a to pro případ, že by dva články měly stejný název a tudíž stejné URL. Tento formát lze samozřejmě také použít, ale je to dle mého názoru zbytečné. Proč byste měli mít dva články se stejným názvem? Dejte každému článku originální název. A i kdyby k tomu náhodou či omylem došlo, WordPress v takové případě automaticky do /%postname%/
doplní -2
. Takže dva články se stejným názvem nebudou mít stejné URL.
Další použitelný formát je /%category%/%postname%/
, kdy názvu článku předchází název kategorie. Co když se ale rozhodnete změnit kategorii článku? Pak by se muselo měnit i jeho URL.
Občas jsou k vidění ještě formáty obsahující v URL rok, měsíc a den vydání článku. Mě osobně se to nelíbí. Nevím, jaký smysl má, aby bylo datum vydání článku obsaženo v URL. Ať už ale zvolíte jakýkoliv z těchto formátů nebo si pomocí možných kódů (%year%, %monthnum%, %day%, %hour%, %minute%, %second%, %postname%, %post_id%, %category%, %author%
) vytvoříte úplně jiný formát, stále je to, z hlediska SEO, lepší, než používat ten standardní http://www.example.com/?p=123
.
Na závěr ještě upozornění
Uvedená nastavení předpokládají, že na vašem webhostingu máte možnost nastavit přepisování URL na webserveru. V případě Apache (nejčastější) to znamená, že máte nainstalovaný mod_rewrite a máte povoleno měnit a používat soubor .htaccess
. Bežné webhostingy vám obvykle .htaccess
z bezpečnostních důvodů nedovolí, ale na požádání vám přepisovací pravidla rádi uloží přímo do konfigurace Apache. Pokud místo Apache používáte stále oblíbenější lighttpd, který .htaccess nepodporuje, časem napíšu článek, jak nakonfigurovat lighttpd pro spolupráci s WordPressem.
Ahoj, použil jsem tvou radu s /%postname%/. Moc se mi to líbilo, ale narazil jsem na problém s vnitřními odkazy, ev. vloženými obrázky (<img src=), tj. bez uvedení celé webové adresy (http://xxxx/), které přejímaly tuto část i s názvem příspěvku (http://xxxx/nazev-pispevku/) takže místo na http://xxxx/vnitrni_odkaz.htm odkazuje takto upravený WordPress na neexistující http://xxxx/nazev-pispevku/vnitrni_odkaz.htm 🙁 Nejsem programátor, takže v případě, že bych se rozhodl pro hezké adresy, musel bych nejprve projít několik stovek stávajících příspěvků a všechny neúplné adresy v nich opravit. Existuje nějaký fígl, jak toho docílit jednodušeji?
Ahoj,
to je trochu problém. Tvar URL pro články je potřeba rozmyslet na začátku tvorby webu. I kdybys to nějak hromadně upravil ve všech článcích, přijdeš o odkazy z externích webů. Myslím, že by se dal použít nějaký přesměrovávací modul, který sleduje změny v URL článků a zajistí i případné přesměrování z externích webů. To je skoro téma na samostatný článek, díky za námět 😉 Zkusim se po něčem podívat a vymyslet řešení. Pak se ozvu.
Jo a ty obrázky to je zase něco jiného. Ty by to chtělo vkládat relativně, ale vůči doméně, ne vůči adresáři. Jaký používaš na obrázky modul? Ve starším WordPressu se tuším musel nějaký používat. Od verze 2.7.1 je tam už podpora obrázků přímo a ta s tím URL problém zase nemá.
Ahoj, za ten přesměrovávací modul bych byl vděčný 🙂 Problém s obrázky, stejně jako s nekoncepčností URL je důsledek „přetavení“ starého webu, který jsem vytvářel pomocí html, do wordpressu, ve kterém už pro nové příspěvky využívám plugin myGallery, který pracuje s MySQL databází nezávisle na URL obrázů.
Mě osobně pomohlo použití %postname%. Měl jsem předtím stejný problém jako ing_kuba.