Jedním z velkých problémů dnešních vyhledávačů je duplicitní obsah. Musejí se poprat s velkým množstvím stránek, které vypadají na první pohled shodně a liší se pouze v URL adrese. Jak mají rozhodnout, kterou z těchto adres vrátit uživateli jako jedinou správnou?
Problém duplicitního obsahu
Duplicitní obsah může vzniknout velice jednoduše, nemusí ani dojít ke
zkopírování stránky někým jiným. Prostě stačí mít blbě nastavený
server a vracet stejný obsah pro URL s i bez www. na začátku.
Další možností je, že se vaše adresy dynamických stránek v čase
vyvíjí. Začínal jsem s nepěknými adresami ve tvaru
clanek.aspx?id=4, pak jsem časem přešel na SEO URL ve tvaru
clanek.aspx/4-nejaky-nadpis, později jsem přidal URL rewriter a
mé URL vypadaly takto clanek/4-nejaky-nadpis.aspx. Všechny tyto
adresy vedou na stejný obsah, ale protože mají jinou URL, jsou to pro
vyhledávacího robota různé stránky.
Jako správný poskytovatel obsahu bych měl zajistit, že všechny verze URL jsou stále funkční, ale měly by směřovat na jedinou platnou. Ale jak?
Řešení
Cest k cíli vede samozřejmě spousta. Pokud máte tu možnost, využijte
nějaký URL rewriter. Zvolte si kanonickou formu vašich adres a tu všude
používejte. Pokud nechcete používat v adresách prefix www.,
stačí málo.
Na IIS7 s URL Rewriterem přidejte do vašeho web.config
souboru do sekce system.webServer/rewrite/rules
následující kód:
<rule name="Remove WWW prefix" >
<match url="(.*)" ignoreCase="true" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www\.domain\.com" />
</conditions>
<action type="Redirect" url="http://domain.com/{R:1}" redirectType="Permanent" />
</rule>
Na Apachi stačí do souboru .htaccess přidat
následující řádky:
# Remove WWW prefix
RewriteCond %HTTP_HOST ^www\.domain\.com [I]
RewriteRule ^/(.*) http://domain.com/$1 [RP]
Co ale dělat, pokud nemáte na serveru možnost URL rewriting provádět?
Naštěstí existuje alternativa. Vývojáři Google, Yahoo a Live Search se
domluvili na zavedení link tagu, který určuje kanonickou URL
přímo v dokumentu. Do sekce html/head vašich stránek přidejte
následující tag:
<link rel="canonical" href="http://domain.com/kanonicka/adresa-stranky" />
Tím dosáhnete toho, že pokud crawler navštíví vaši stránku přes
různé adresy, vždy ji bude považovat za jednu a tu samou s adresou, která
je hodnotou atributu href.











