SEO URL znovu a lépe
Trochu jsem zkoumal SEO URL, tedy URL pěkná pro člověka i pro vyhledávače.
V současnosti je moderní používat URL typu http://domena.com/clanek/nazev-clanku
.
Tato SEO URL mají smysl jak pro vyhledávače, tak pro člověka, a mnohem lépe
se pamatují než index.php?id=a12d45eef789b
.
Jsou zde ale jisté nevýhody:
- Některé browsery, jmenovitě MSIE, načítají při shlédnutí článku CSS znovu,
nedrží je v cache, přestože již mají v cache CSS z domény, pokud je URL
/clanek/nazev-clanku
zpracováváno pomocí FilesMatch, tedy:
<FilesMatch "^clanek$">
ForceType application/x-httpd-php
</FilesMatch> - FilesMatch se nedá použít na Microsoftím IIS, umí jej jenom Apache, čímž se omezuje portabilita zdrojového kódu projektu, u open-source projektů je to poměrně závažná věc,
- Protože
http://domena.com/clanek/nazev-clanku
ahttp://domena.com/
jsou pro search-engines různé, nesčítá se jejich page-rank, pokud někdo odkazuje na článek, neposiluje tím přímo page-rank domény, a naopak.
Řešením je začít používat SEO URL typu:
http://domena.com/?clanek=nazev-clanku
Výhody?
- Není nutná podpora pro
.htaccess
amod_rewrite
. - Není nutná podpora FilesMatch, SEO URL budou tedy fungovat i na IIS.
- CSS nebude žádným browserem znovu načítáno.
- Pro vyhledávače by toto řešení mělo být ekvivalentní s FilesMatch řešením.
Implementuji tyto URL jako alternativní do BLOG:CMS…
"mod_rewrite" >> vzdyt ty na SEO URI ani mod_rewrite nepouzivas, takze je jedno, ze tato "SEO" uri nepotrebuje jeho podporu.
Rád bych viděl pro tvé tvrzení důkazy.
1. FilesMatch neznám, ale zjevně jde o serverovou technologii, tedy nemá nic společného s tím, jak prohlížeče drží CSS v cache. Pokud vím, tak MSIE je (stejně jako jiným prohlížečům) jedno, jakou adresu má stránka, která daný CSS soubor obsahuje. Hlídá si pouze URL tohoto CSS, a pokud soubor s tímto URL již byl načten, pak jej nezkouší načítat znovu (pokud tedy uživatel nezkusí refresh). Možná by se hodilo problém spíše více objasnit, než jen rýpat do IE.
2. "Portabilita" projektů má řádově mnohem větší problémy, než je tento. Navíc v ASP.NET adekvátní technologie existuje. A také existují ISAPI filtry.
3. Nejsem SEO specialista, ale to s tím PageRankem je blbost. Stránky v určité doméně mají podstatnou část pageranku společnou. To je neoddiskutovatelné, přestože ty tvrdíš něco jiného.
[2] zapni si Proxomitron, který ti ukáže veškeré GET HTTP požadavky, a uvidíš..
[2] ale já vždy vím, o čem mluvím ;-) Na rozdíl od jiných lidí...
Page rank 6/10:
http://myego.cz/
Page rank 0/10 tento článek:
http://myego.cz/item/seo-url-znovu-a-lepe...
Page rank 5/10 pro tento článek:
http://myego.cz/?itemid=622...
Ok?
muze mi nekdo vysvetlit, jak si po par dnech (hodinach/minutach/dosadte si sami..) zapamatovava http://www.server.cz/clanek/Jak-jsme-se-hezky-poveselili-v-Radhosti... ? ja na to porad nemohu prijit = nejsem schopen (a hlavne ochoten) si to pamatovat - od toho jsou bookmarky atd. a tem je uplne jedno, jestli bude url clanek?id=4324320. prosim o vysvetleni, protoze mi to cele pripomina onanii na nicim. diky :)
p.s. neberu argumenty, ze v novinach to vypada lip - nikdo si z novin (papirovych) neklikne, a kdyz uz si da tu namahu, poctive cely odkaz vytukat (asi tak 2 lidi za rok..) , uvita naopak spis variantu clanek?id=234 nez clanek/a-zase-dalsi-nesmyslny-nazev-clanku.
[4] Na to je jednoduchá odpověď. Ten rozdíl mezi Toolbar Pagerankem 0 a 5 je způsobený tím, že Toolbar hodnotí stránky bez parametrů za otazníkem - proto TPR 5 u článku, který je ze dneška. Správné TPR je samozřejmě 0.
Nesmíme ale zapomenout že TPR a PR rozhodně není to samé.
[5] Je to celkem prosté. Třeba že napíšeš do adresy v prohlížeči "hu" a history vysype všechno od "hu". Například myego.cz/item/dokonala-konfigurace-firefoxu takže potom víš že to zřejmě bude o dokonalé konfiguraci firefoxu a ne o nicneříkajícím id=4324320 :-)
[4] právě proto se mi Radku na BLOG:CMS nelíbí standardní FancyURL. Pro jeden článek může systém vygenerovat hned několik odlišných URL, např:
myego.cz/item/jak-na-spam-pod-linuxem
myego.cz/item/jak-na-spam-pod-linuxem/category/suse-linux
myego.cz/item/jak-na-spam-pod-linuxem/catid/5
myego.cz/item/jak-na-spam-pod-linuxem/category/suse-linux/blogid/1
chtělo by to lépe odladit. Omlouvám se, jestli už je to vyřešené.
[4] http://www.top25web.com/pagerank.php... mi vyhodil
http://myego.cz/ 6/10
http://myego.cz/item/seo-url-znovu-a-lepe... 0/10
http://myego.cz/?itemid=622... 0/10
[8] právě to řeším, přes proměnné za otazníkem, nikoliv přes FilesMatch.. ;-)
[6] ale o tom přece Petře píšu.. lépe čti. To je přesně důvod, proč od FilesMatch ustupuji, a směřuji k proměnným typu
?article=xyz
[11] Teď myslím, že jsi špatně pochopil ty mě. Jsem přesvědčený, že mezi přidělováním PR URL:
http://domena.com/?clanek=nazev-clanku...
http://domena.com/clanek/nazev-clanku...
není rozdíl, jediné v čem je, že Toolbar špatně přiděluje TPR té první variantě.
Podle mě tou změnou nic nezískáš. Žádné zlepšení PR homepage. Je to ale pouze můj názor.
Výhoda
?clanek=nazev-clanku
je podle mě pouze v tom, že můžeš do URL nacpat háčky a čárky, takže bude google opravdu reagovat na hledaná slova (bezohledu na to, že bude adresa mnohem nepřehlednější)Například CMS drupal lze přepínat mezi SEO url a url kde "SEO cesta" je jako parametr v URL, tedy:
example.com/item/nazev-clanku
nebo
example.com/?q=item/nazev-clanku
Myslím, že takto by se to nechalo vyřešit poměrně jednoduše. Jenoduché přeparsování v index.php přesměruje podle parametru request do stávajících souborů (item,category,...)
FilesMatch: Pokud je možné alespoň specifikovat chybovou stránku 404 - je možné pověsit na tuto stránku ovladač který vrátí případnou stránku podle dotazovaného url. Chybové stránky jdou navolit na různých serverech napříč platformami! Sám to používám.
Imho vyrabet url jako funkce($nadpis_clanku) je trosku zvrhle. Tomuto clanku by daleko vic nez 'seo-url-znovu-a-lepe' sedelo napriklad 'seo-url-2' popr. 'seo/url-2'. I kdyz porad je to lepsi nez zvrhle doctype-nerika-nic-podstatny-je-mime-type, instalace-php-5-mysql-4-0-a-apache-2-na-windows atd. Takove nazvy jsou mozna dobre pro vyhledavac ale pro cloveka naprosto nepouzitelne - parametr o delce 47 znaku, pridam-li k tomu nazev server + cestu, dostanu se na 75 znaku coz uz je povazlive mnoho. Zatimco cesta 'http://example.org/lcd/15/adi/'... ma svoji logiku a metoda jak se podivat na sony ci thompson je naprosto jednoznacna, nazvy na blogu jsou az prilis pro stroje a az prilis malo pro lidi.
URL o delce 75 znaku nekomu poslu pres sms s dodatkem jen tezko... nedejboze ho zkusit nadiktovat telefonem nebo nekomu psat na papir. Coz jsou mimochodem veci ktere obcas pouzivat musim.
seo-odkazy-nejen-pozitivni.php
Mám jednu poznámku. Když na stránce http://domena.cz vytvořím odkaz /clanek/nazev-clanku, tak v RewriteRule v Apache nechám přepsat skrytě URL na mou klasickou formu index.php?promena=hodnota&promena=hodnota. Takto se přesměrování provede, ale nezobrazí se mi obrázky, které jsou na stránce, jelikož jsou relativně. Z URL se totíž pro obrázky bere nová cesta /clanek/ a tam vzniká problém. Co s tím? Pomůže mi někdo? Díky moc.
[17] Musis si pri presmerovani na puvodni formnu
zjistit o kolik relative slozek jsi vis, nez puvodne
a indexu predat informaci typu ../ ,../../ a tu potom pridat pred vsechny relativni adresy.
P.S. omlouvam se za tu cestinu
na osobnych a podobnych relativne "statickych strankach" to pouzivam tiez tak.. ale IMHO je to na weblogu nepouzitelne - (ked hovorime o SEO) to mam do mety pisat nieco v zmysle (ospravedlnujem sa za chyby) - if (!isset(GET_['clanek'])) echo "<meta name="robots" contents="noindex, follow">"; else echo "<meta name="robots" contents="index, follow">" - nebudem preca na hlavnej stranke indexovat nie ?? a to je len jedna z mala veci, ktora ma napadla... samozrejme, keby si s tym dal niekto trochu namahy, dal by sa cely output CMS urobit do jedineho index.php ale :-) ..
[18] Pokud máš web na doméně 2. nebo 3. řádu, tak piš <img src="/obrazky/obrazek.png"> (důležitý je to lomítko na začátku). Adresář s obrázkama umísti do "kořenového adresáře webu". (v tomto případě bude mít url "http://uvwxyz.example.com/obrazky/..." nebo "http://www.example.com/obrazky/...")
[17] Tohle se da elegantne vyresit pouzitim tagu
<base href="cesta" />
v sekci head