Об атрибуте rel="canonical"

#
Об атрибуте rel="canonical"
Чтобы не пересказывать суть, вот ссылка что это такое и зачем нужно. В двух словах: тег, полезный для SEO оптимизации. Чтобы сделать наш любимый HostCMS чуточку лучше, неплохо было бы внедрить на стриничках тэгов и других дублирующих контент (фильтры в интернет-магазине).
http://www.google.com/support/webmasters/bin/answer.py?hl=ru&answer=139394
http://www.aiventa.ru
#
Re: Об атрибуте rel="canonical"
У Host-CMS не было в стандартном варианте решения, но оно было подсказано Натальей Борщовой из саппорта  HostCMS.
$current_url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REDIRECT_URL'];
$current_url_decode = urldecode($current_url);
<link rel="canonical" href="<?php echo $current_url_decode?>"/>

Если почему-то среди переменных окружения нет REDIRECT_URL, например сервер так настроен, как у нас попалось, в таком случае:
$current_url = $url = "/" . implode("/", $GLOBALS['URL_ARRAY']) . "/";
$current_url = 'http://'.$_SERVER['HTTP_HOST'].$url;
<link rel="canonical" href="<?php echo $current_url ?>"/>

Реально работает, на са сайте http://www.skrepo.ru/
Примерно так:
Никола Гусев
#
Re: Об атрибуте rel="canonical"
в конец файла main_classes.php добавляете такой код:
function getCanonicalUrl($site_id = CURRENT_SITE)
{
    $site_id = to_int($site_id);

    $canonical_url = '';

    $uri = to_str($_SERVER['REQUEST_URI']);
    $query = to_str($_SERVER['QUERY_STRING']);

    $link = str_replace('?' . $query, '', $uri);

    $site = &singleton('site');
    $alias = $site->GetCurrentAlias($site_id);

    $alias_row = $site->GetAlias($alias);

    if ($alias_row) {
        $current_alias = $site->GetCurrentAlias($alias_row['site_id']);
        $canonical_url = 'http://' . $current_alias . $link;
    }

    return $canonical_url;
}


а потом в макетах пишете
<link rel="canonical" href="<?=getCanonicalUrl() ?>" />


Способ гарантированно работает, независимо от настроек сервера

Суть работы в общем такова, что большинство страничек, дублирующих контент, создаются за счет get-параметров в url страницы.
Данная функция просто обрезает все get-параметры и указывает в качестве "канонической" страницу без параметров.
Заказов не беру. Консультирую редко.
Авторизация