Информация для владельцев HostCMS
Что такое каноническая страница? Зачем нужно указывать каноническую страницу?
Что бы не копировать текст, прочитать можно на следующих страницах:
http://www.google.com/support/webmasters/bin/answer.py?hl=ru&answer=139394 - Об атрибуте rel="canonical"
http://help.yandex.ru/webmaster/?id=1111858" - Атрибут rel="canonical" тега <link>
У 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?>"/>
На картинке примерный фрагмент страницы, в части head, Host-CMS с авто определением канонической страницы:
Если почему-то среди переменных окружения нет REDIRECT_URL, например сервер так настроен, как у нас попалось, в таком случае:
$current_url =
$url = "/" . implode("/", $GLOBALS['URL_ARRAY']) . "/";$current_url = 'http://'.$_SERVER['HTTP_HOST'].$url;
<link rel="canonical" href="<?php echo $current_url ?>"/>
Добавлено: 09 апреля 2012 года. Что то предыдущий код, иногда работал не понятно, то три флеши (///) в конце url, первый метод писал ошибки в админке. Суппорт Host CMS выдал следующий рецепт:
<?php
$current_url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
?>
Часть кода, как пример:
<html>
<head>
<!-- теги страницы -->
<?php
$current_url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
?>
<link rel="canonical" href="<?php echo $current_url ?>"/>
<!-- теги страницы -->
</head>
<body>
содержимое страницы, сам контент
</body>
</html>
Данное дополнение прописывается в основной макет сайта Ност CMS, позволяет исключить множество одинаковых страниц, с выбором по сортировке и т.п.