Форум русской поддержки Joomla!® CMS
05.12.2016, 04:30:53 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1] 2  Все   Вниз
  Добавить закладку  |  Печать  
Автор

Не дело это - закрывать от индексации страницы с пагинацией

 (Прочитано 5660 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ChaosHead
Профи
********

Репутация: +381/-10
Offline Offline

Пол: Мужской
Сообщений: 4388



« : 03.10.2013, 13:52:37 »

В Joomla совершенно дурацкая разбивка на страницы в блогах. Мало того, что ссылка получается вида site.ru/blog/?start=10
Так ещё и с точно таки-же Description и Title. На что тут-же начинает ругаться панель вебмастера Google и народ не находит ничего лучше, чем закрыть их в robots.txt или ещё хуже делает её неканонической.

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

В идеале вторая страница должна бы иметь заголовок "Блог страница 2" и иметь адрес site.ru/blog/page2
Да, она скорее всего в Google попадёт в "сопли", но главное робот продолжит прекрасным образом обходить весь сайт без всяких нарушений с передачей веса на вторые страницы и последующие статьи.

Итого, моё мнение: страницы пагинации не нужно закрывать от индексации, а нужно сделать их человеческими. Только не хочется ради этого ставить сторонний SEF-компонент.

Что скажете?
Записан
voland
Профи
********

Репутация: +487/-86
Offline Offline

Пол: Мужской
Сообщений: 8704


любит наш народ всякое гавно...


« Ответ #1 : 03.10.2013, 23:02:53 »

Написать плагин.
Записан
artel-st
Давно я тут
****

Репутация: +36/-1
Offline Offline

Сообщений: 352


« Ответ #2 : 03.10.2013, 23:14:02 »

У себя с Title и Description решил таким образом:
Код:
<?php

defined('_JEXEC') or die;

$mpPageID          = JRequest::getInt( 'start' );
$title                  = $this->getTitle();
$pageDescription  = $this->getMetaData('description');

if ($mpPageID > 1) { // define Title & metaDescription
    $mpPageID = $mpPageID / $mpPageID + 1;
    $this->setTitle( 'Страница №'.$mpPageID.' - '.$title);
    $this->setMetaData( 'og:title', 'Страница №'.$mpPageID.' - '.$title );
    if ($pageDescription) {
         $this->setMetaData( 'description',  'Страница №'.$mpPageID.' - '.$pageDescription, true );
$this->setMetaData( 'og:description',  'Страница №'.$mpPageID.' - '.$pageDescription, true );
    }
} ?>
/* далее разметка index.php шаблона*/
« Последнее редактирование: 03.10.2013, 23:25:11 от artel-st » Записан
ChaosHead
Профи
********

Репутация: +381/-10
Offline Offline

Пол: Мужской
Сообщений: 4388



« Ответ #3 : 03.10.2013, 23:51:19 »

Voland, я нашел планин за 9 баксов Seo Pagination. Но там автор что то сильно замудрил.
А я ж ленивый и думаю вдруг кто уже решал подобное.
Artel-st спасибо попробую, выглядит как простое решение.
Записан
ELLE
Support Team
*****

Репутация: +862/-0
Offline Offline

Пол: Женский
Сообщений: 4723



« Ответ #4 : 04.10.2013, 01:51:59 »

если с мета-описанием еще как-то можно справиться, то для красивых урлов уже придется пилить роутер, если хотим обойтись без монстров типа sh404
Записан
ChaosHead
Профи
********

Репутация: +381/-10
Offline Offline

Пол: Мужской
Сообщений: 4388



« Ответ #5 : 04.10.2013, 08:38:36 »

Да наверно мета-описаний и хватит, главное количество материалов на странице не менять. А то могут быть ?start=10 и например ?start=7 дублями.
Записан
ecolora
Живу я здесь
******

Репутация: +170/-2
Offline Offline

Пол: Мужской
Сообщений: 1430


творец


« Ответ #6 : 04.10.2013, 09:22:44 »

Никогда не парился и не закрывал такие "старты" от поисковиков. Кстати на 3 из 7 сайтов, один из таких вот "стартов" имеет такой же PR, что и главная страница... Не знаю как Google именно его выбирал. Azn)
Записан
skai
Moderator
*****

Репутация: +153/-1
Offline Offline

Пол: Мужской
Сообщений: 1230


skaiseo


« Ответ #7 : 06.10.2013, 13:13:14 »

Никогда не парился и не закрывал такие "старты" от поисковиков. Кстати на 3 из 7 сайтов, один из таких вот "стартов" имеет такой же PR, что и главная страница... Не знаю как Google именно его выбирал. Azn)
просчитайте веса страниц, проверьте ссылочное и поймёте.
Записан
artel-st
Давно я тут
****

Репутация: +36/-1
Offline Offline

Сообщений: 352


« Ответ #8 : 06.10.2013, 13:43:16 »

Для стартов, если смущают дубли (хотя вроде и не совсем, как дубли - контент-то отличается), можно задать каноникал.
Записан
ecolora
Живу я здесь
******

Репутация: +170/-2
Offline Offline

Пол: Мужской
Сообщений: 1430


творец


« Ответ #9 : 06.10.2013, 13:48:10 »

Коллега, Вы сами себе противоречите. Azn Вот именно, что не дубли, зачем каноникал задавать?
Записан
reasons
Давно я тут
****

Репутация: +6/-0
Offline Offline

Сообщений: 390

http://dehost.biz


« Ответ #10 : 06.10.2013, 14:16:19 »

да, красивые урлы бы не помешали
Записан
artel-st
Давно я тут
****

Репутация: +36/-1
Offline Offline

Сообщений: 352


« Ответ #11 : 06.10.2013, 15:43:38 »

Коллега, Вы сами себе противоречите. Azn Вот именно, что не дубли, зачем каноникал задавать?
Насколько я понял, обсуждение идет поста 5  из этой темы, так что здесь не противоречия, а скорее сомнения.
У себя старты не закрываю, как раз по той причине, которую Вы указали.

По красивым урлам, я бы пилил роутер, так как ставить компонент - доп. нагрузка, а если еще и использовать, например К2, то она возрастет в разы.
Записан
Djoniwer
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8


« Ответ #12 : 07.10.2013, 14:13:48 »

Парни, а у меня что-то наоборот все, как только закрыл пагинацию от индексации, то у меня пошла расти посещаемость, с 2000 дошло сейчас до 5400 и это за один месяц. Хотя 2000 стояли аж 5 месяцев подряд.
Записан
ChaosHead
Профи
********

Репутация: +381/-10
Offline Offline

Пол: Мужской
Сообщений: 4388



« Ответ #13 : 08.10.2013, 05:52:45 »

У себя с Title и Description решил таким образом:
Код:
<?php

defined('_JEXEC') or die;

$mpPageID          = JRequest::getInt( 'start' );
$title                  = $this->getTitle();
$pageDescription  = $this->getMetaData('description');

if ($mpPageID > 1) { // define Title & metaDescription
    $mpPageID = $mpPageID / $mpPageID + 1;
    $this->setTitle( 'Страница №'.$mpPageID.' - '.$title);
    $this->setMetaData( 'og:title', 'Страница №'.$mpPageID.' - '.$title );
    if ($pageDescription) {
         $this->setMetaData( 'description',  'Страница №'.$mpPageID.' - '.$pageDescription, true );
$this->setMetaData( 'og:description',  'Страница №'.$mpPageID.' - '.$pageDescription, true );
    }
} ?>
/* далее разметка index.php шаблона*/

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

Код:
$app = JFactory::getApplication('site');
$componentParams = $app->getParams('com_content');
$row_count = $componentParams->get('num_leading_articles');
$mpPageID = JRequest::getInt( 'start' );
$title = $componentParams->get('page_title');
$pageDescription = $this->getMetaData('description');

if ($mpPageID > 1) { // define Title & metaDescription
    $mpPageID = $mpPageID / $row_count + 1;

$title = $title.'. Страница '.$mpPageID;

if ($app->getCfg('sitename_pagetitles', 0) == 1) {
$title = JText::sprintf('JPAGETITLE', $app->getCfg('sitename'), $title);
}
elseif ($app->getCfg('sitename_pagetitles', 0) == 2) {
$title = JText::sprintf('JPAGETITLE', $title, $app->getCfg('sitename'));
}

    $this->setTitle($title);

    $this->setMetaData( 'og:title', $title.'. Страница '.$mpPageID );
    if ($pageDescription) {
         $this->setMetaData( 'description',  $pageDescription.'. Страница '.$mpPageID, true );
$this->setMetaData( 'og:description',  $pageDescription.'. Страница '.$mpPageID, true );
    }
}
« Последнее редактирование: 08.10.2013, 06:16:52 от ChaosHead » Записан
artel-st
Давно я тут
****

Репутация: +36/-1
Offline Offline

Сообщений: 352


« Ответ #14 : 08.10.2013, 08:30:31 »

Увидел. Реально ошибка с определением текущей страницы. Спасибо.

UPD. Вариант через получение лимитов.
Проверено на J! 3.0 + com_k2 - работает

Код:
<?php

defined('_JEXEC') or die;
$app = JFactory::getApplication();

$mpPageID          = JRequest::getInt( 'start' );

// Получаем ЛИМИТЫ, не зависимо от типа используемого компонента, т.к. у меня например, используется com_k2
// а не com_content
$limit = $app->getUserStateFromRequest('global.list.limit', 'limit', $app->getCfg('list_limit'), 'int');

$title                  = $this->getTitle();
$pageDescription  = $this->getMetaData('description');

if ($mpPageID > 1) {
    $mpPageID = $mpPageID / $limit + 1;
    $this->setTitle( 'Страница №'.$mpPageID.' - '.$title);
    $this->setMetaData( 'og:title', 'Страница №'.$mpPageID.' - '.$title );
    if ($pageDescription) {
         $this->setMetaData( 'description',  'Страница №'.$mpPageID.' - '.$pageDescription, true );
$this->setMetaData( 'og:description',  'Страница №'.$mpPageID.' - '.$pageDescription, true );
    }
} ?>
/* далее разметка index.php шаблона*/
« Последнее редактирование: 08.10.2013, 09:00:48 от artel-st » Записан
ChaosHead
Профи
********

Репутация: +381/-10
Offline Offline

Пол: Мужской
Сообщений: 4388



« Ответ #15 : 08.10.2013, 09:14:59 »

Отлично, ещё лучше, спасибо.
Записан
andrejdi
Давно я тут
****

Репутация: +31/-0
Offline Offline

Пол: Мужской
Сообщений: 329



« Ответ #16 : 08.10.2013, 09:34:52 »

Спасибо! Опробовал на J!2.5.14 +K2 v2.5.7
Записан
Pavel M
Осваиваюсь на форуме
***

Репутация: +8/-0
Offline Offline

Пол: Мужской
Сообщений: 103


Учиться никогда не поздно


« Ответ #17 : 08.10.2013, 12:53:30 »

Ребята, спасибо Вам всем за данное решение! А я только начал голову ломать над этим, а тут уже и решение придумали.

На Joomla 3.1.5 все работает отлично.
Записан
rixter
Осваиваюсь на форуме
***

Репутация: +8/-0
Offline Offline

Пол: Мужской
Сообщений: 90


Кто юзал мой писи?


« Ответ #18 : 08.10.2013, 13:33:34 »

Разбирали уже http://joomlaforum.ru/index.php/topic,191429.0.html
Записан
artel-st
Давно я тут
****

Репутация: +36/-1
Offline Offline

Сообщений: 352


« Ответ #19 : 08.10.2013, 13:56:15 »

Разбирали уже http://joomlaforum.ru/index.php/topic,191429.0.html
Прикольно, а мы тут велосипед изобретаем)))
Записан
Rival
Осваиваюсь на форуме
***

Репутация: +16/-0
Offline Offline

Пол: Мужской
Сообщений: 189



« Ответ #20 : 14.10.2013, 22:38:22 »



UPD. Вариант через получение лимитов.
Проверено на J! 3.0 + com_k2 - работает


Почему страницы на главной и в блоге нуменуются вида 1.6 и тд?
J 2.5
Записан
ChaosHead
Профи
********

Репутация: +381/-10
Offline Offline

Пол: Мужской
Сообщений: 4388



« Ответ #21 : 14.10.2013, 23:35:40 »

Прикольно, а мы тут велосипед изобретаем)))
Да я бы не сказал, что у них там готовое решение. Только какие-то наработки.
Записан
Pavel M
Осваиваюсь на форуме
***

Репутация: +8/-0
Offline Offline

Пол: Мужской
Сообщений: 103


Учиться никогда не поздно


« Ответ #22 : 07.11.2013, 03:33:31 »

Парни, а никто не пробовал сделать такое же решение для Zoo?
Записан
MetaSpirit
Живу я здесь
******

Репутация: +106/-0
Offline Offline

Пол: Мужской
Сообщений: 1383


R.A.S.Lab[.org]


« Ответ #23 : 07.11.2013, 09:10:02 »

Парни, а никто не пробовал сделать такое же решение для Zoo?
ZOOptimizer это умеет.
Записан
Adrian1111
Давно я тут
****

Репутация: +1/-0
Offline Offline

Сообщений: 250


« Ответ #24 : 07.11.2013, 15:09:48 »

Здравствуйте!

У меня аналогичная проблема, которую описывает ТС - страницы пагинации заимствуют тайтл и описание с главной страницы. Допустим, я уникализирую их с помощью плагина Tag Meta.

Подскажите, как лучше обойтись с ссылкой с раздела пагинации на главную страницу. Она такая - http:// site.ru/?limitstart=0.
На нее нужно ставить "canonical", делать редирект 301 на главную страницу site.ru, закрывать от индексации, или как-то удалить?
Записан
ChaosHead
Профи
********

Репутация: +381/-10
Offline Offline

Пол: Мужской
Сообщений: 4388



« Ответ #25 : 07.11.2013, 15:12:54 »

Сделай редирект на главную
Записан
Adrian1111
Давно я тут
****

Репутация: +1/-0
Offline Offline

Сообщений: 250


« Ответ #26 : 07.11.2013, 15:48:49 »

Еще такой вопрос. Посмотрел в коде - все страницы пагинации, типа site.ru/?start=6, site.ru/?start=12, и т.д. имеют в коде URL главной страницы: <base href="http://site.ru/" /> , то есть пагинация отображается только в строке браузера. Имеет ли это это какое-то значение при уникализации страниц пагинации путем прописывания уникального тайтла и дискрипшина каждой их этих страниц? Главная страница не пострадает?
Записан
devul
Давно я тут
****

Репутация: +21/-1
Offline Offline

Сообщений: 288


если помог можете поставить +


« Ответ #27 : 17.12.2013, 14:10:02 »

Огромное спасибо за решение) долгое время очень любил Joomla, прошел путь с 1.0 до 3.0 и разонравилась она мне когда появились многотрафиковые проекты... если честно в плане seo это даже не ад..... это значительно хуже. Костыль на костыле... да и в остальном значительно проигрывает Wordpressу.
Записан
ChaosHead
Профи
********

Репутация: +381/-10
Offline Offline

Пол: Мужской
Сообщений: 4388



« Ответ #28 : 17.12.2013, 14:16:35 »

Меня тоже поражает, что в новых версиях могут запиливать всякие бутстрапы и перепиливать шаблоны, а такую мелочь как странички они не трогают
Записан
romik1983
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 6


« Ответ #29 : 17.03.2014, 16:02:56 »

Увидел. Реально ошибка с определением текущей страницы. Спасибо.

UPD. Вариант через получение лимитов.
Проверено на J! 3.0 + com_k2 - работает

Код:
<?php

defined('_JEXEC') or die;
$app = JFactory::getApplication();

$mpPageID          = JRequest::getInt( 'start' );

// Получаем ЛИМИТЫ, не зависимо от типа используемого компонента, т.к. у меня например, используется com_k2
// а не com_content
$limit = $app->getUserStateFromRequest('global.list.limit', 'limit', $app->getCfg('list_limit'), 'int');

$title                  = $this->getTitle();
$pageDescription  = $this->getMetaData('description');

if ($mpPageID > 1) {
    $mpPageID = $mpPageID / $limit + 1;
    $this->setTitle( 'Страница №'.$mpPageID.' - '.$title);
    $this->setMetaData( 'og:title', 'Страница №'.$mpPageID.' - '.$title );
    if ($pageDescription) {
         $this->setMetaData( 'description',  'Страница №'.$mpPageID.' - '.$pageDescription, true );
$this->setMetaData( 'og:description',  'Страница №'.$mpPageID.' - '.$pageDescription, true );
    }
} ?>
/* далее разметка index.php шаблона*/

Использую этот варинт, но тайтл второй страницы "Страница 1.5 - .....", тайтл третьей "Страница 2 - ...."

Как сделать, чтобы отображалось правильно?
Записан
Страниц: [1] 2  Все   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet