Canonical issue (problém s kanonickými URL) má web v prípade, keď má na viacerých URL adresách totožný obsah. Pomenovanie pochádza od slova canonicalization, ktorým sa v Google označuje problém výberu z niekoľkých URL adries s rovnakým obsahom.

Najčastejší prípad je ten, keď sú prístupné obe: non-www verzia (https://seochat.sk) a aj www verzia stránok (https://www.seochat.sk). Technicky sa totiž jedná o dve rôzne URL adresy a ako také môžu mať rôzny obsah. Lenže vo väčšine prípadov sú to dokonalé duplikáty a tak spolu so súborom /index.php (index.html, index.asp, default.php, apod.) a http môžu vytvoriť 8 kópií rovnakej stránky:

  • http://seochat.sk
  • http://www.seochat.sk
  • http://seochat.sk/index.php
  • http://www.seochat.sk/index.php
  • https://seochat.sk
  • https://www.seochat.sk
  • https://seochat.sk/index.php
  • https://www.seochat.sk/index.php

Sám o sebe by rovnaký obsah na rôznych URL adresách ešte problém nebol. Problém nastáva až vtedy, ak sa niekto na váš web rozhodne odkazovať vo forme inej ako všetci ostatní (napr. bez www, ak hlavný web je s www). Vtedy si totiž Google musí vybrať, čo bude zobrazovať ako hlavnú stránku vo výsledkoch vyhľadávania. V tomto je zväčša veľmi dobrý, pretože má dobré vodítko – množstvo a kvalitu spätných odkazov. Čo ale v prípade, keď polka odkazov vedie na www a polka na non-www verziu? Má to o niečo ťažšie…

Poviete si, že veď je to problém Googlu a vám je to jedno. No nemalo by… V prípade, že si Google vyberie za vašu hlavnú stránku verziu s www, tak odkazy, ktoré vedú na non-www verziu sa vám nezapočítavajú do rankingu v takej miere, ako keď to správne presmerujete. Touto nečinnosťou sa pripravujete o nejakú časť odkazovej šťavy.

Riešenie kanonického problému spočíva v presmerovaní pomocou 301 – permanent redirect. Pre Apache servery je riešením súbor .htaccess, ktorý umiestnite do koreňového adresára. Súbor .htaccess vytvoríte trebárs aj v Poznámkovom bloku Windows, kde dáte „Uložiť ako“ a ručne vpíšete názov súboru .htaccess (áno, s bodkou na začiatku).

Presmerovanie http

Google odporúča používať zabezpečený protokol https. Musíte ale presmerovať http verzie URL na https. Spravíte to takto:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.seochat.sk/$1 [R,L]

Úprava pre presmerovanie http pre non-www verziu stránok je už, myslím, zrejmá – v poslednom riadku zmažete www.

Presmerovanie www

Presmerovanie https://seochat.sk/akakolvek-stranka na https://www.seochat.sk/akakolvek-stranka sa nastaví v .htaccess nasledovne:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^seochat.sk
RewriteRule (.*) https://www.seochat.sk/$1 [R=301,L]

Ak chcete používať verziu bez www ako svoju hlavnú stránku, vložte tam toto:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.seochat\.sk$
RewriteRule (.*) https://seochat.sk/$1 [R=301,L]

Presmerovanie index.php

Niektorí majitelia webov vám môžu odkazovať na súbor index.php, preto je dobré aj toto presmerovať na vašu zvolenú hlavnú stránku (www alebo non-www verzia). Aby ste to dosiahli, vložte do .htaccess:

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ https://www.seochat.sk/ [R=301,L]

Tento príkaz vám presmeruje https://www.seochat.sk/index.php na https://www.seochat.sk. Úprava potrebná k presmerovaniu index.php na non-www verziu je už, verím, zrejmá.

Čo sa dá ešte urobiť?

Ak používate Google webmaster tools, tak aj tam máte možnosť si vybrať, ktorú verziu stránok preferujete (Login -> Tools -> Set preferred domain). Po úpravách, ktoré som uviedol vyššie, to však nemá význam.

Čo je však omnoho dôležitejšie, aby ste si sami neodkazovali na niekoľko verzií stránok. Mnohokrát sa stáva, že odkaz “Home” alebo “Úvodná stránka” v hlavnom menu vedie na /index.php alebo na verziu bez www (pričom preferovaná hlavná stránka je s www prefix-om). Preto neodkazujte na hlavnú stránku štýlom: <a href=”index.php”>Home</a> ale namiesto toho: <a href=”/”>Home</a>.

Edit: Prečítajte si aj druhý diel: Htaccess polopaticky 2.

Komentáre

  • gondo

    11.11.2007 23:21

    beru sa ako rozdielne stranky aj
    http://www.mojastranka.sk
    http://www.mojastranka.sk/
    ?
    na nejakom zahranicnom seo blogu (bohuzial link nemam) som nasiel ludi co s tym mali problem, rsp robili z toho problem.

    Odpovedať
  • tybi-admin

    12.11.2007 0:00

    Nie. To, čo si napísal, duplicita nie je. Problém však môže nastať pri:
    http://www.mojastranka.sk/konkretna-stranka
    http://www.mojastranka.sk/konkretna-stranka/
    V prvom prípade sa totiž jedná o súbor s názvom “konkretna-stranka” umiestnenom v koreňovom adresári a v druhom prípade ide o podadresár s názvom “konkretna-stranka”, z ktorého sa zobrazuje súbor index.php alebo niečo podobné.

    Odpovedať
  • gondo

    12.11.2007 0:16

    hej toto mi je jasne, ale ide mi skor o to, ci google rozlisuje stranky so znakom “/” na konci od rovnakych bez tohto znaku.
    priklad typu
    http://www.mojastranka.sk/konkretna-stranka
    http://www.mojastranka.sk/konkretna-stranka/
    moze hadzat rovnaku stranku (ako tomu je na par mojich projektoch) ked je cela url smerovana na index v korenovom adresari (a az ten urci aky obsah sa nasledne zobrazi) pomocov .htaccess
    preto by som rad vedel ci mam osetrovat to “/” na konci a ked ano, ci je pesie ho tam nechavat alebo nie.

    inak zisla by sa nejaka notifikacia ze niekto odpovedal na moj koment lebo som zabudol kde som toto cital a uz par minut som hladal ci mi niekto odpisal :)

    Odpovedať
  • tybi-admin

    12.11.2007 0:30

    Už som ti na to odpovedal… Jedno je adresár a druhé je súbor. Z toho plynie, že môžu mať rôzny obsah a z toho plynie, že ich Google považuje za rôzne URL adresy. Takže áno, mal by si to ošetriť.

    Ktoré je lepšie – s alebo bez lomeno “/” na konci? Z pohľadu vyhľadávačov v tom nie je žiadny rozdiel.

    Odpovedať
  • head

    20.11.2007 10:58

    tybi, ano mas pravdu, ze jedno je subor a druhe adresar, ale isto uznas, ze obidva naraz tam byt nemozu (aj subor aj adresar) a myslim si ze google bot nie je taky sprosty, ze by vtom robil rozdiel a berie do uvahy to, ze tam bude naraz aj subor, aj adresar (kedze to nieje mozne)

    Odpovedať
  • tybi-admin

    20.11.2007 11:31

    Head, neuznám… pretože môžu tam byť obidva naraz. Čo ti bráni v tom, aby si vytvoril súbor v koreňovom adresári “priklad” a zároveň mal adresár “priklad” a v ňom index.php?

    Je úplne správne, že to Google berie ako dve rôzne URL adresy. Ako je správne aj to, že http://seochat.sk je defaultne niečo iné ako http://www.seochat.sk .

    Ak by niekto rád podrobnejšie vysvetlenie, prosím založiť fórum na tému na http://forum.seochat.sk

    Odpovedať
  • head

    20.11.2007 12:10

    co mi vtom brani ?

    ~/public_html > touch priklad
    ~/public_html > mkdir priklad
    mkdir: `priklad’ exists but is not a directory

    to ze adresar je tiez len subor, cize nemozes mat dva subory s rovnakym menom ;) (dokonca ani na win)

    stojim si za tym, ze tam nemoze byt aj subor aj adresar s rovnakym nazvom, dokaz opak ;)

    Odpovedať
  • tybi-admin

    20.11.2007 13:32

    Dokaz… daj do Google toto:
    cache:http://www.squidoo.com/edi-news
    cache:http://www.squidoo.com/edi-news/

    Majú rozne cache, toť Google ich vidí, ako rozne URL adresy.

    Odpovedať
  • head

    20.11.2007 14:38

    Hmm mas pravdu, ze to google berie ako dve rozne url, ale nemal by, pretoze ako som pisal, je to jasne, ze to bude to iste (kedze nemozes mat aj subor aj adresar s rovnakym menom), cudujem, sa ze na to google bot nepride, kedze aj obsah je identicky

    Odpovedať
  • tybi-admin

    20.11.2007 15:35

    :))) Posledný-krát to hovorím, sú to rôzne URL adresy, môže byť na nich rôzny obsah, takže Google to robí správne.
    Ak to nejde priamo vytvorením súboru a adresára, tak to prepíšeš pomocou mod_rewrite-u, to je jedno… Fakt je, že na nich môže byť rôzny obsah.

    Odpovedať
  • head

    20.11.2007 19:13

    no len sa tak nerozculuj, ok beriem, mas pravdu su to rozne URL

    howk ;)

    Odpovedať
  • Termo

    06.01.2008 11:53

    Zdravim, mam problem s presmerovanim. Potrebujem totiz presmerovat subdomenu temadna.evolutionstudio.sk na http://www.temadna.evolutionstudio.sk

    Pouzil som kod z vasich stranok, no nefunguje to…

    Ked do prehliadaca napisem temadna.evolutionstudio.sk, tak ma to presmeruje na stranku http://www.temadna.evolutionstudio.sk/temadna/

    nechapem preco… prosim o radu, vdaka:)

    Odpovedať
  • tybi-admin

    06.01.2008 14:28

    Podľa mňa ti to už funguje… už si na to prišiel?

    Pre subdoménu nedávaj htaccess súbor do rootu domény, ale do rootu subdomény, teda do adresára “temadna”. Myslím, že to bol tvoj problém.

    Inak, pýtaj sa tu: http://forum.seochat.sk

    Odpovedať
  • Termo

    06.01.2008 14:56

    nechapem, nefunguje mi to stale… Tebe to ide??? Subor .htaccess mam v adresari subdomeny.

    Ked mam ten kod takto, tak to je spravne?

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^temadna.evolutionstudio.sk
    RewriteRule (.*) http://www.temadna.evolutionstudio.sk/$1 [R=301,L]

    Ked sme to tu uz zacali riesit, tak odpoviem sem, ale new otazky budem davat na forum, ok:)

    Este raz vdaka za pomoc…

    Odpovedať
  • tybi-admin

    06.01.2008 16:26

    Áno, máš to správne, checkni si to tu: http://www.webconfs.com/redirect-check.php
    Found redirect to http://www.temadna.evolutionstudio.sk/. The Redirect is Search Engine Friendly.

    Odpovedať
  • Termo

    06.01.2008 18:27

    Nerozumiem tomu, ale uz mi to ide. Pritom som ale nic nemenil.

    Nie je mozne, ze ked som sa hral a skusal veci s .htaccess, tak sa server nejak zle nastavil a potom chvilu trva, kym sa server dobre nadstavi, ked tam dam spravny subor .htaccess?? Hadam mi rozumiete:)

    Odpovedať
  • Lordalea

    25.04.2009 9:49

    Ja som mala problem s nastavenim .htaccess pre wordpress – po nastaveni presmerovania mal wordpress problem so zobrazovanim podstranok.. vyriesilo to:

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    Odpovedať

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *