Принципы построения канонических ссылок. Битрикс канонические ссылки


Настройка канонических ссылок для новостей, статей и акций

Если вы размещаете одну и ту же информацию на нескольких страницах, поисковики реагируют на это негативно и понижают позиции сайта в выдаче. Исправить ситуацию помогут канонические ссылки. Поисковики будут ранжировать ту страницу, которая отмечена как основная, а дубликаты отметят как малозначительные.

Перед тем, как активировать использование канонических ссылок в одном из разделов сайта, настройте соответствующий задаче инфоблок.

Рассмотрим порядок действий на примере раздела «Акции». В административной части сайта перейдите в Контент → Инфоблоки → Типы инфоблоков → Контент → Акции. Далее, откройте вкладку инфоблока «Поля» и установите галку «Разрешить выбор основного раздела для привязки».

Переключитесь на вкладку «Инфоблок» и заполните «Канонический URL элемента». Вы можете скопировать значения поля «URL страницы детального просмотра», но вместо начала строки (в примере содержимое до слова /sale/) вставьте адрес вашего сайта. На скриншоте скопированная часть выделена красной линией.

После сохранения изменений перейдите в Контент → Контент → Акции и откройте карточку любой акции при помощи пункта «Изменить» меню кнопки Гамбургер.

Теперь нужно включить поле «Основной раздел». Если вы не настраивали под себя вкладки в настройках форм, то просто сбросьте настройки. Действие приведет к возврату настроек по умолчанию. В правом верхнем углу кликните на изображение шестеренки и в выпадающем меню выберите пункт «Отменить настройки формы».

Если вам нужно сохранить вкладки, то в правом верхнем углу кликните на изображение шестеренки и в выпадающем меню выберите пункт «Настройки». 

Выделите «Акция» (1) в доступных вкладках, нажмите в доступных полях на «Основной раздел» (2) и перекиньте его в выбранные поля с помощью стрелочки (3). Сохраните (4). 

После этого у вас появится новое поле «Основной раздел».

Инфоблок настроен, осталось включить использование канонических ссылок в настройках параметра компонента. Для этого перейдите в публичной части сайта в настраиваемый раздел, включите режим правки и наведите указатель на область списка элементов. В появившемся меню нажмите на изображение шестеренки.

В окне редактора параметров компонента перейдите к группе «Настройки детального просмотра» и поставьте галочку «Устанавливать канонический URL».

Система автоматически проставит в коде страниц раздела элемент link с атрибутом rel canonical, по которому поисковые системы могут заставить робота игнорировать все другие урлы, дублирующие содержание основной страницы. 

aspro.ru

Настройка товаров с каноническими ссылками

Если вы размещаете одну и ту же информацию о товаре на нескольких страницах, поисковики реагируют на это негативно и понижают позиции сайта в выдаче. Исправить ситуацию помогут канонические ссылки. Поисковики будут ранжировать ту страницу, которая отмечена как основная, а дубликаты отметят как малозначительные.

Каноническая ссылка – это ссылка, записанная со специальным атрибутом rel = “canonical” в исходном коде страницы. Именно она укажет роботу, что просматриваемая страница является основной.

В данной статье мы разберем, как установить канонические ссылки для страниц с описанием того, что вы продаете (для элементов каталога товаров, курсов, программных продуктов и т.д.).

Перейдите в административной части сайта в Контент → Инфоблоки → Типы инфоблоков → Каталог. Выберите инфоблок, в котором хранится информация о распространяемой вами продукции или предлагаемых тарифах. Например, чтобы настроить канонические ссылки для детального описания предлагаемого на сайте ПО, следует выбрать инфоблок «Продукты».

Далее откройте вкладку «Поля» (1) и установите галку возле пункта «Разрешить выбор основного раздела для привязки» (2).

Нажмите кнопку «Применить» (3) и вернитесь на вкладку «Инфоблок». Здесь нужно указать канонический URL элемента (протокол, адрес сервера и путь на сайте).

В решении Аспро: Next строка должна иметь вид:

http://#SERVER_NAME##SITE_DIR#catalog/#SECTION_CODE_PATH#/#ELEMENT_ID#/.

Если вы используете протокол https, обязательно укажите это – замените на него «http» в начале строки.

В остальных решениях (для интернет-магазинов и корпоративных сайтов) URL нужно указать явно. Например, для сайта на основе решения Аспро: Digital поле следует заполнять так:

https://yoursite.ru/catalog/#SECTION_CODE_PATH#/#ELEMENT_CODE#/,

где yoursite.ru – адрес вашего сайта.

После сохранения всех изменений необходимо указать основной раздел для элементов каталога. Для этого нужно отредактировать одну карточку товара (для остальных элементов основной раздел проставится автоматически).

Перейдите в каталог предлагаемой вами продукции (Рабочий стол → Контент → Каталог → Каталог товаров) и откройте любую карточку. В редакторе появится новое поле «Основной раздел». Заполните его и сохраните изменения.

Если поле «Основной раздел» не появилось автоматически, измените настройки формы редактирования. Нажмите на изображение шестеренки в правом верхнем углу. В выпадающем меню выберите пункт «Настройки».

В верхних списках выделите «Товар» или «Элемент» (в зависимости от используемого решения) (1, 2), в нижнем левом списке – «Основной раздел» (3). Переместите выделенное поле в соседний список при помощи кнопки со стрелкой (4) и нажмите «Сохранить» (5).

Если редактор не позволяет сохранить настройки формы или в перечне «Доступные поля» отсутствует «Основной раздел», закройте настройки формы редактирования. В карточке товара снова вызовите подменю кнопки с изображение шестеренки и в этот раз выберите «Отменить настройки формы».

Последний шаг – настройка параметров компонента. Откройте в публичной части сайта любую карточку товара. Активируйте режим правки. Наведите указатель на описание предложения и нажмите на шестеренку в появившемся меню.

В новом окне перейдите к группе параметров «Настройки детального просмотра», поставьте галку возле «Устанавливать канонический URL» и сохраните настройки.

После этого на каждой странице описания товара в исходном коде появится нужная запись.

aspro.ru

BITRIX — прячем дубли страниц с помощью rel=»canonical» » Блог Загвосткина Владислава

Bitrix rel="canonical"

Не нравится мне Битрикс, особенно в плане seo-оптимизации. Но есть немало интернет-магазинов на этой CMS и благодаря теории вероятности мне «посчастливилось» с ним столкнуться. Любит он плодить дубли страниц, особенно на товары, которые присутствуют в разных категориях, и штатными средствами решения этой проблемы пока нет.

Допустим, у нас есть товар — планшетофон, назовем его «TabSmart x28″ который относится и к планшетам и к смартфонам. И показывается он у нас в категориях /catalog/smartphones/ и /catalog/tablets/. Соответственно если ЧПУ настроены на вывод категорий, то мы получим две одинаковые страницы по адресу/catalog/smartphones/tabsmart-x28/ и /catalog/tablets/tabsmart-x28/

Причем часть посетителей будут попадать на первую, а часть на вторую.Теоретически ничего страшного в этом нет, но если посмотреть внимательно, то мы увидим следующее:1) Дубли мета-тегов (TITLE, DESCRIPTION)2) Дубль контентачто для SEO не очень то и хорошо. Поисковики будут ругаться на дубли, показывать в выдаче только одну страницу из двух, а может и вовсе засунут куда подальше, а нам с вами этого очень бы не хотелось.

В этой статье мы рассмотрим вариант борьбы с дублями на основе тега rel=»canonical», который рекомендует использовать Google support.google.com/webmasters/answer/139066?hl=ru

Столкнувшись с этой проблемой я надеялся найти готовое решение, но к удивлению ничего толкового не нашел.

Программистов под рукой тоже не было, поэтому пришлось писать самому, на коленке. Возможно он не блещет красотой и минимализмом, но со своей задачей справляется на ура.

Итак, приступим:

Создаем польз. свойство у инфоблока категорий «Канонический URL» с id CANONICAL(Контент -> инфоблоки -> типы инфоблоков -> Каталог -> Каталог товаров)

В шаблоне карточки товара (в дефолтном шаблоне лежит примерно тут: /bitrix/components/bitrix/catalog.element/templates/.default/template.php)

в самом верху добавляем

    <? $APPLICATION->SetPageProperty('canonical', $arResult["PROPERTIES"]["CANONICAL"]["VALUE"] ); ?>

в шаблоне header.php между тегами <head></head> вставляем код

    <?php function ShowCanonical(){ global $APPLICATION; if ($APPLICATION->GetProperty("canonical")!="" && $APPLICATION->GetProperty("canonical")!=$APPLICATION->sDirPath){

    return '<link rel="canonical" href="'.$APPLICATION->GetProperty("canonical").'" />'; } else {return false;} } $APPLICATION->AddBufferContent('ShowCanonical');

    ?>

Все. Теперь идем в карточку товара, у которой есть дубли, находим поле «Канонический URL» и вставляем в него путь до карточки товара, которую хотим обозначить как каноническую, но без указания домена, например /catalog/tablets/tabsmart-x28/

Теперь все страницы, которые будут отображать этот товар по другим URL’ам будут иметь тег <link rel=»canonical» href=»канонический URL» />

vladislav.kz

Канонические ссылки страницы Битрикс

Канонические ссылки страниц на CMS Битрикс

Что же такое каноническая ссылка? Когда на вашем сайте один и тот же раздел или страница встречается больше одного раза, то вам просто необходимо использовать канонические ссылки.

При разработке и поддержке сайтов, мне удалось обнаружить, что дубли страниц на Битрикс могут встречаться по разным причинам:

Сначала нужно определиться с выбором основной страницы и ее дублей. Когда мы разобрались в этой ссылочной каше, то начинаем прописывать во всех дублях страниц канонические ссылки на ту страничку или раздел, дубликатом которой они являются. А на самой же основной странице можно указать ссылку на себя саму. Это не будет проблемой. Конечно проделывать такое в ручном режиме года перед вами всемогущий Битрикс - глупо. Поэтому автоматизируем этот процесс в его компонентах.

Все это хорошо. Но что делать когда у нас сайт на разных доменах. Например мобильная версия сайта https://m.riggs.ua и полная версия https://riggs.ua, и есть страницы где многостраничные компоненты не расположены. Тогда в самом шаблоне лучше всего установить это свойство. Сейчас я вам расскажу как это сделать.

Так как у нас мобильная и полная версия сайта являются зеркалами то в шаблоне мобильной версии прописываем код с использованием функции SetPageProperty и ее первым параметром передающим идентификатор свойства страницы canonical.

Так как по правилам хорошего тона ссылка должна указывать не относительный путь а полный, то нам не составит труда ее сконструировать. Поэтому каноническую ссылку собираем из констант. SITE_HTTP_PROTOCOL - это наша константа, по которой мы указываем работает ли сайт обычно по http или по защищенному соединению https.Определить ее мы легко можем в init.php.

Следующая константа SITE_SERVER_NAME - специальная битриксовская, которая берется из настроек сайта из поля "URL сервера". В этом поле вы указали главный адрес сервера сайта. Ну и самом конце нам нужно получить относительный адрес текущей страницы, который мы можем получить при помощи функции GetCurPage().

Все! Наша первая каноническая ссылка сформирована. Она будет отрабатываться на всех страницах мобильной версии шаблона сайта и указывать на оригинал, который находится на главном зеркале нашего сайта.

Проблему со статическими страницами мы решили. Беремся за динамические разделы многостраничных компонентов битрикс. Почему только за разделы? Потому что в последних версиях компонентов битрикс уже реализовано определение канонических страниц для элементов инфоблоков. Достаточно этот функционал только включить в настройках компонента.

Какие же компоненты потребовалось править лично мне. Конечно же комплексный многостраничный компонент bitrix:news. Я думаю нет такого сайта который бы не использовал этот компонент. Даже эта статья, которую вы сейчас читаете, выведена на экран с его помощью. Повторюсь, что на элементы инфоблока такие как эта статья канонические ссылки уже работали стандартными методами битрикс. Почему не реализован функционал установки канонических ссылок разделов инфоблоков битрикс мне пока что не понятно. Возможно это связано с тем что на разных сайтах логика построения адресов разделов будет посложнее чем адреса элементов. Возможно есть какие то подводные камни. Но тем не менее, пришлось что то с этим делать.

Канонические ссылки разделов в компоненте списка новостей bitrix:news.list

Самостоятельно реализовать этот функционал тоже достаточно просто. Перед правкой шаблона компонента лучше его скопировать в шаблон сайта. В таком случае наши доработки не слетят при следующем обновлении системы.

За вывод разделов в шаблоне компонента news отвечает файл section.php, в котором подключается компонент bitrix:news.list. Вот шаблон этого компонента нам и придется подправить. Для решения лучше всего создать отдельный подключаемый файл в шаблоне компонента result_modifier.php. В его содержимое нужно записать следующий код, который изображен на картинке.

Код ставим в условие параметра компонента. Если стоит настройка устанавливать каноническую ссылку для детальной страницы, то под нее мы будем ставить и для страниц раздела. Этот код поможет нам установить ссылки со страниц с включенной постраничной навигацией или на общий список раздела. В данном примере каноничность нас спасает только если ее надо проставлять в рамках одного компонента. Так как ссылки получаем из настроек самого компонента. Но если существует еще один компонент новостей и выводится он по какому то другому физическому пути, то к сожалению проблему дублей решить не удастся. Так как получать ссылки нужно по настройках инфоблока, а этот код этого не делает. Зато обрабатывается он быстрее, без лишних запросов к базе данных. Но если все же нужно получать глобальные ссылки из настроек инфоблока, то пример реализации такого кода я покажу на примере компонента каталога далее в статье.

Канонические ссылки разделов в компоненте каталога bitrix:catalog.section.list

Здесь я покажу немного иной способ решения проблемы. Данный пример будет немного правильнее предыдущего, но сложнее, так как нам не обойтись стандартными данными результата выполнения компонента из $arResult. Тут придется дополнительно получать данные чтобы получить глобальные ссылки инфоблока которые используются по всему сайту, а не в рамках одного компонента

В этом же компоненте в выводе разделов участвуют два файла section.php и sections.php. В них же в свою очередь подключается bitrix:catalog.section.list. В нем же и нужно нам будет устанавливать какнонические URL. В шаблоне этого компонента тоже создаем стандартный битриксовский файл result_modifier.php. В нем прописываем код который показан выше на рисунке. Как видим, ссылки мы получаем через CIBlockSection::GetList(). В этом случае наши ссылки будут глобальные. И помогут решить проблему дублей в рамках всего сайта и его зеркал.

Надеюсь мне удалось преподнести информацию доступно и полностью раскрыть тему. Если будут какие то вопросы, то конечно же - обращайтесь!

proger.com.ua

Как правильно прописать canonical на сайте?

Что такое каноническая ссылка?

<link rel="canonical" href="https://site.ru/seo-canonical/" />

Так выглядит абсолютная каноническая ссылка. Этот тег должен находится в разделе head.

Канонические ссылки позволяют указать первоисточник и главную страницу для дублирующих оригиналов.

Это один из мощных тегов и элементов при оптимизации сайта. Игнорирование проблемы дубликатов страниц имеет печальные последствия. И там где невозможно использовать 301 редирект, необходимо воспользоваться грамотными схемами внедрения canonical. 

В заголовке HTTP

Link: <http://site.ru/original-file.pdf>; rel="canonical" />

Рекомендуется для указания оригиналов файлов. Не рекомендуется применять такие програмные серверные настройки для html формата.

Использование canonical

На опыте были истории, когда жестко прописанный домен в канонических ссылках при парсинге копии и размещении на стороннем сайте клона, ссылался на оригинальный домен.

Это и своеобразная защита от добавления спамерских параметров.

Чаще всего применяется в улучшении для страниц пагинации. Об этом поговорим чуть ниже.

(canonical)=> - в статье это обозначает что каноническая ссылка со страницы ссылается на страницу справа.

Сanonical для страниц пагинации

Все страницы пагинации ссылаются на корневой раздел:

site.ru/d/page2 (canonical)=> site.ru/d/***site.ru/d/page** (canonical)=> site.ru/d/site.ru/d/ (canonical)=> site.ru/d/

Google: рекомендует ссылаться с каждой страницы пагинации на самих себя, а страницы склеивать в единую последовательность с помощью rel=next и rel=prev.Яндекс: рекомендует ссылаться на корень раздела со страниц пагинации. Атрибуты rel=next и rel=prev Яндекс не поддерживает.При этом:

Если применять схему по Гуглу, то в Яндексе может произойти проседание и замечал, что он может посчитать их либо некачественными, либо дубликатами.

В идеале лучше применять схему выше применимую к Яндексу и добавлять дополнительно атрибуты rel=next и rel=prev для Гугла.

Параметры в url

Все параметры должны ссылаться на страницу без параметров, если содержимое не изменяется.

site.ru/d/?page=2 (canonical) => site.ru/d/site.ru/d/ (canonical) => site.ru/d/

Если с помощью параметров страница изменяется - необходимо ссылаться на самих себя, исключением является сортировка, фильтрация, другие технические параметры - все они должны ссылаться на страницу без параметров.

Разные версии сайта

Канонические ссылки с других версий сайта должны ссылаться на страницы с доменом и протоколом, указанным в директиве host файла robots.txt

Хотя бытует мнение, что нужно делать относительные ссылки без указания протокола и домена.

Но я рекомендую задать такую жесткую абсолютную каноническую ссылку - как вариант указания на главное зеркало. Но лучше сделать 301 редирект по схеме ниже..

К примеру, задана директива host в файле robots.txt:

Host: https://site.ru , то:

http://site.ru/* (canonical или 301 редирект) => https://site.ru/*http://www.site.ru/* (canonical или 301 редирект) => https://site.ru/*https://www.site.ru/* (canonical или 301 редирект) => https://site.ru/*https://site.ru/* (canonical или 301 редирект) => https://site.ru/*

Со слеша и без слеша

Желательно делать редиректы на url со слешем на конце - тогда проблема будет исчерпана.

Если же такое невозможно и присутствуют страницы со слешем и без слеша, то ссылаемся канонически на страницы со слешем:

site.ru/d/ (canonical) => site.ru/d/site.ru/d (canonical) => site.ru/d/

Один товар в разных категориях

В первую очередь каноническим должен быть тот товар, на который ссылается больше всего внутренних ссылок. Либо который находится в корне, а в остальные разделы продублирован.

site.ru/category1/ - как корень товара, остальные разделы дополнительные.site.ru/category1/tovar1/ (canonical) => site.ru/category1/tovar1/ site.ru/category1/category2/tovar1/ (canonical) => site.ru/category1/tovar1/site.ru/category2/tovar1/ (canonical) => site.ru/category1/tovar1/site.ru/category3/tovar1/ (canonical) => site.ru/category1/tovar1/

404 ошибка

Рекомендую прописать в 404 ошибке либо ссылку на оригинал доступный ранее по старому url, либо если технически невозможно ссылаться на оригинал - на каталог выше или на главную страницу. Таким образом мы передаем статический вес на указанные страницы.

Делается это для того чтобы если на страницу проставлены внешние ссылки, то при удалении страницы в теории мы можем передать ссылочный вес главной странице, либо заданной странице.

Meta refresh

Если есть отложенный, временный (302-редирект) или html редирект, то лучше проставить каноническую ссылку на конечную страницу.

Canonical на саму себя

Не забываем ссылаться на самих себя если урл канонический.

Относительный canonical

Каконические ссылки можно задать и относительными, главное чтобы была задана базовая ссылка - тег base.

CMS

Для битрикса (Bitrix) на практике прописываются канонические ссылки с учетом текущей структуры.

К примеру, страницы вида /filter/ должны вести на раздел без такого урла.

На webasyst особенность заключается как с пагинацией, так и с каноническими со страниц отзывов о товаре на сам товар...

На WordPress можно использовать плагин All in One SEO или Yoast SEO.

Если придерживаться вышеописанных правил, то лучше всего писать свой модуль для определенной CMS с учетом особенностей сайта.

Проверить canonical

Вы можете проверить канонические ссылки с помощью следующих сервисов:

Автор статьи: Алексей Солтык

Контакты: ВКонтакте, Моя страничка в Инстаграм, [email protected]

Просмотров: 555 (Ранг: 1.856 ?)

Спасибо за прочтение! Если понравилась статья, поделитесь:

soltyk.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта