Jump to content


Photo
- - - - -

Пагинация и rel="canonical"

пагинация rel=canonical

Best Answer SmetDenis , 06 January 2014 - 11:18

На сколько я знаю, canonical для категории генерируется с помощью Joomla, автоматически.

 

 

Можно попробовать добавить ссылку самостоятельно

 

открываем файл \components\com_zoo\controllers\default.php

Находим функцию category() и вставляем этот код

// add canonical
        if ($this->app->system->document instanceof JDocumentHTML) {
            $categoryUrl = JRoute::_($this->app->route->category($this->category), true, -1);
            $this->app->system->document->addHeadLink($categoryUrl, 'canonical');
 
            $headData = $this->app->system->document->getHeadData();
            foreach ($headData['links'] as $key => $value) {
                if ($value['relation'] == 'canonical' && $key != $categoryUrl) {
                    unset($headData['links'][$key]);
                }
            }
            $this->app->system->document->setHeadData($headData);
        }

 

После "// add feed links"

o2y_200x0.png

 

Но не могу с уверенностью сказать, что это сработает для любого сайта.

Go to the full post


  • This topic is locked This topic is locked
7 replies to this topic

#1 Mr_Alex

Mr_Alex
  • JBZoo User (rus)
  • User rate: ~
  • posts: 9
  • topics: 1

Posted 04 January 2014 - 14:25

На странице категории rel="canonical" формируется правильно, но при переходе на 2 страницу и на последующие страницы, при помощи пагинации, в ссылку rel="canonical" добавляется слово category и принимает вид <link href="http://сайт/категория/category/2" rel="canonical" />, а реальный адрес страницы имеет адрес: http://сайт/категория/2 . Как это исправить?


Edited by Mr_Alex, 04 January 2014 - 14:30.

  • 0

#2 Sliapy

Sliapy
  • JBZoo User (rus)
  • User rate: 50.6
  • posts: 6393
  • topics: 15

Posted 04 January 2014 - 18:22

В принципе, ничем страшным это обернуться не может. В индекс попадет только http://сайт/категория/category/2. Но вообще да, есть такая странность в Zoo.

 

Уточню у разработчиков, может как-то можно решить.


  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#3 Mr_Alex

Mr_Alex
  • Topic Starter
  • JBZoo User (rus)
  • User rate: ~
  • posts: 9
  • topics: 1

Posted 05 January 2014 - 03:39

В том то и дело что дубли получаются.


  • 0

#4 Sliapy

Sliapy
  • JBZoo User (rus)
  • User rate: 50.6
  • posts: 6393
  • topics: 15

Posted 05 January 2014 - 07:53

Прочитайте про rel="canonical" хотя бы в справке гугла.


  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#5 Mr_Alex

Mr_Alex
  • Topic Starter
  • JBZoo User (rus)
  • User rate: ~
  • posts: 9
  • topics: 1

Posted 05 January 2014 - 11:41

Я в курсе что rel="canonical" носит рекомендательный характер.


  • 0

#6 Sliapy

Sliapy
  • JBZoo User (rus)
  • User rate: 50.6
  • posts: 6393
  • topics: 15

Posted 05 January 2014 - 12:01

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


  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#7 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 06 January 2014 - 11:18   Best Answer

На сколько я знаю, canonical для категории генерируется с помощью Joomla, автоматически.

 

 

Можно попробовать добавить ссылку самостоятельно

 

открываем файл \components\com_zoo\controllers\default.php

Находим функцию category() и вставляем этот код

// add canonical
        if ($this->app->system->document instanceof JDocumentHTML) {
            $categoryUrl = JRoute::_($this->app->route->category($this->category), true, -1);
            $this->app->system->document->addHeadLink($categoryUrl, 'canonical');
 
            $headData = $this->app->system->document->getHeadData();
            foreach ($headData['links'] as $key => $value) {
                if ($value['relation'] == 'canonical' && $key != $categoryUrl) {
                    unset($headData['links'][$key]);
                }
            }
            $this->app->system->document->setHeadData($headData);
        }

 

После "// add feed links"

o2y_200x0.png

 

Но не могу с уверенностью сказать, что это сработает для любого сайта.


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#8 Mr_Alex

Mr_Alex
  • Topic Starter
  • JBZoo User (rus)
  • User rate: ~
  • posts: 9
  • topics: 1

Posted 09 January 2014 - 12:00

Спасибо, это помогло.


  • 0




Click to return to top of page in style!