Блог на Васил Тошков

Canonical URL Tag - Какъв е смисълът от това?

Наскоро три големи търсачки: Yahoo, Live и Google приеха чудото, наречено Canonical URL Tag. На доста места се писа по темата, но така и не можах да разбера за какво служи това. Гледам много CMS-и взеха да го включват, новата версия на Mozilla също го разпознава. Реших да проуча въпроса и до го включа в новата версия на Cloxy CMS.

Отначало си помислих, че е поредната простотия на Гугъл, като xml sitemaps и rel nofollow. Оказа се, че този път не е така. Може би защото не са го измислили Гугъл. Идеята е проста - в даден таг да се съдържа оригиналния адрес на страница в Интернет. Целта е избягване на дублирано съдържание или по-точно посочване на оригинала при дублирано съдържание.

Canonical URL Tag се явява нещо като допълнение на 301 редиректа, успешно допълнение. Примери, където успешно се използва:

Стига с толкова теория, ето малко примери от моя SEO сайт Cloxy. В кода може да видите формата на тага: <link href="http://www.example.com/" rel="canonical" />. Като адресът вътре показва адреса на оригиналното съдържание. Важното е CMS-а да го генерира на база вътрешни данни, а не на база сървърни променливи.

Примерите се виждат с най-новата версия на Mozilla Firefox с разширението SearchStatus. Горе в дясно на адрес бара се появява иконка със символа "C". Ако иконата е сива, значи се намирате на каноничния адрес. Ако е синя, това означава, че се намирате на грешен адрес и CMS-ът, и браузърът Ви предлагат да отидете на каноничния адрес на тази страница. Както виждате, не е лесно за системата да определи каноничния адрес.

Пример 1: Ако получа афилиейт линк от вида cloxy.com/?affid=23, тогава системата, естествено, казва, че каноничния адрес е cloxy.com/.

Пример 2: Canonical Tag работи и на ниво котви. Примерно адресът cloxy.com/services/#seo, който е нормален за сайта ми, се пренасочва към cloxy.com/services/. Това чудо не се сещам как може да се направи чрез mod_rewrite. Но търсачките знаят за котвите и ги обработват лесно.

Пример 3: Ако сайтът Ви има и SSL защитена версия с адреси от типа https://www.example.com/, тогава лесно можете да определите каноничния адрес да е http://www.example.com/ за всички страници и подстраници. Този проблем също не се сещам да има друго решение, освен чрез Canonical URL Tag.

Както се вижда от публикацията, Canonical URL Tag се явява допълнение на 301 redirects, Sitemap XML и robots.txt. По дефиниция не работи между различни домейни, а само на ниво един и същ домейн. Аз обаче все си мисля, че търсачките могат да се борят и срещу напълно копирани страници чрез него. Работи и между поддомейни.

Canonical Tag е един перфектен SEO инструмент, който вече използвам на почти всичките си сайтове и блогове. Внедряването е трудно, ако трябва сами да го програмирате, но после работи вечно и решава бъдещи проблеми. Под WordPress вече има много разширения, които интегрират Canonical URL Tag в системата.