Вход • Регистрация

Каноническая страница - как реализовать?

  • 30 октября 2013 г.
  • Из справки гугла:
    Цитата
    Каноническая страница – это рекомендуемый экземпляр из набора страниц с очень похожим содержанием.

    Подробнее здесь.

    Вопрос. Как это реализовать?

    Допустим, есть список товара в категории, вот ее первая страница:
    Код
    http://domen.com/shop/malyshi/


    Есть остальные страницы:
    Код
    http://domen.com/shop/malyshi/page2/
    http://domen.com/shop/malyshi/page3/

    и т.д.

    Как сделать так, чтобы все иные страницы, кроме первой (канонической) в области/разделе head страницы имели код:
    <link rel="canonical" href="http://domen.com/shop/malyshi/"/>

    и ссылка http://domen.com/shop/malyshi/ чтобы подставлялась сама?

    Вопрос понятно изложил?
    • 30 октября 2013 г.
    • Да, каноникал штука нужная. Надо хитрый шаблонный тег изобретать :)
      Там в result вроде говорили что приходит адрес или ID родительской страницы. Вот с ним надо работать.
    • 30 октября 2013 г.
    • Тут проще через наличие
      $this->diafan->page, если она есть, то выводить тег, ссылающийся на $this->diafan->rewrite минус pageX
      Типа
      Код
      if ($this->diafan->page > 1)
      echo '<link rel="canonical" href="http://domen.com/'.str_replace("/page".$this->diafan->page, "", $this->diafan->rewrite).'"/>';
      • 04 мая 2014 г.
      • Здравствуйте!
        Я так понимаю нужно этот код внести в шапку шаблона, не отрабатывает данный скрипт, помогите, версия движка 5.2
    • 30 октября 2013 г.
    • Но кстати, с чего это содержимое страниц http://domen.com/shop/malyshi/page2/ и http://domen.com/shop/malyshi/page3/ будет очень похожим на http://domen.com/shop/malyshi/??? Там везде разные товары, разные описания, разные цены
      • 30 октября 2013 г. , редакция: 22 ноября 2013 г.
      • Спасибо! Нет, не в этом дело. Товар и так доступен по прямым ссылкам, а тут еще и через page2, page3 и т.п. Получается дубль.

        Можно просто закрыть в роботсе, но как говорят представители гугля, это не выход. Лучше отдавать вес дубль-страниц важной странице.
  • 04 мая 2014 г.
  • Позвольте еще добавить вопрос.
    С пересчетом страниц и подрезкой понятно, есть еще такая функция как "sort#", как ее воплотить в жизнь при следующих условиях -

    URL такого вида как:
    "домен.ру/категория/page#/" - скрипт отрабатывает
    "домен.ру/категория/page#/sort#/" - скрипт отрабатывает
    "домен.ру/категория/sort#/" - скрипт, естественно не отрабатывает

    То есть нужно чтобы URL вида "домен.ру/категория/sort#/" тоже формировали ссылку "canonical".
    • 04 мая 2014 г.
    • Вот, дописал, то что надо:
      Код
      if ($this->diafan->page > 1)
      {
      echo '<link rel="canonical" href="'.BASE_PATH.''.str_replace("/page".$this->diafan->page, "", $this->diafan->rewrite).'/"/>';
      }
      else
      {
      echo '<link rel="canonical" href="'.BASE_PATH.''.str_replace("/sort".$this->diafan->sort, "", $this->diafan->rewrite).'/"/>';
      }
      • 16 мая 2014 г.
      • Подскажите, в какой файл установить код?
        • 16 мая 2014 г.
        • 1. В файле ../includes/function.php
          найти следующее -
          Код
          public function show_title()

          после завершения функции добавь -
          Код
          public function show_canonical()
          {
          if ($this->diafan->page > 1)
          {
          echo '<link rel="canonical" href="'.BASE_PATH.''.str_replace("/page".$this->diafan->page, "", $this->diafan->rewrite).'/"/>';
          }
          else
          {
          echo '<link rel="canonical" href="'.BASE_PATH.''.str_replace("/sort".$this->diafan->sort, "", $this->diafan->rewrite).'/"/>';
          }
          }


          2. В необходимом файле шаблона ../themes/***.php
          в любом месте формирования шапки добавь следующее -
          Код
          <insert name="show_canonical">

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум