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

  • 46 Ответов
  • 6611 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Оффлайн ChaosHead

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

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

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

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

Что скажете?

*

Оффлайн voland

  • ********
  • 9939
  • [+]520 / [-]101
  • Пол: Мужской
  • СКАЙП утерян! Пишите в телеграм @volandku
    • Просмотр профиля
    • webstudio.pro

*

Оффлайн artel-st

У себя с 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.' - '.$pageDescriptiontrue );
 $this->setMetaData'og:description',  'Страница №'.$mpPageID.' - '.$pageDescriptiontrue );
    }
?>

/* далее разметка index.php шаблона*/
« Последнее редактирование: 04.10.2013, 01:25:11 от artel-st »
"Жираф - это лошадь, выполненная по всем требованиям заказчика" (с) кто-то из дизайнеров

*

Оффлайн ChaosHead

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

*

Оффлайн ELLE

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

*

Оффлайн ChaosHead

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

*

Оффлайн ecolora

  • ******
  • 1446
  • [+]170 / [-]2
  • Пол: Мужской
  • творец
    • Просмотр профиля
    • Мой Блог
Никогда не парился и не закрывал такие "старты" от поисковиков. Кстати на 3 из 7 сайтов, один из таких вот "стартов" имеет такой же PR, что и главная страница... Не знаю как Google именно его выбирал. :))
Научу зарабатывать на сайте ->>

Давайте делать Интернет вместе!

*

Оффлайн skai

  • *****
  • 1230
  • [+]153 / [-]1
  • Пол: Мужской
  • skaiseo
    • Просмотр профиля
Никогда не парился и не закрывал такие "старты" от поисковиков. Кстати на 3 из 7 сайтов, один из таких вот "стартов" имеет такой же PR, что и главная страница... Не знаю как Google именно его выбирал. :))
просчитайте веса страниц, проверьте ссылочное и поймёте.
Наполнение вашего сайта - 1т.р. стр. (текст, изображения, мета, перелинковка). Гарантия высокого ранжирования. SEO консультация в подарок.
----------------------------------------------------------------------------------------------

*

Оффлайн artel-st

Для стартов, если смущают дубли (хотя вроде и не совсем, как дубли - контент-то отличается), можно задать каноникал.
"Жираф - это лошадь, выполненная по всем требованиям заказчика" (с) кто-то из дизайнеров

*

Оффлайн ecolora

  • ******
  • 1446
  • [+]170 / [-]2
  • Пол: Мужской
  • творец
    • Просмотр профиля
    • Мой Блог
Коллега, Вы сами себе противоречите. :) Вот именно, что не дубли, зачем каноникал задавать?
Научу зарабатывать на сайте ->>

Давайте делать Интернет вместе!

*

Оффлайн reasons

  • ****
  • 390
  • [+]6 / [-]0
  • http://dehost.biz
    • Просмотр профиля
да, красивые урлы бы не помешали

*

Оффлайн artel-st

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

По красивым урлам, я бы пилил роутер, так как ставить компонент - доп. нагрузка, а если еще и использовать, например К2, то она возрастет в разы.
"Жираф - это лошадь, выполненная по всем требованиям заказчика" (с) кто-то из дизайнеров

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

*

Оффлайн ChaosHead

У себя с 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.' - '.$pageDescriptiontrue );
 $this->setMetaData'og:description',  'Страница №'.$mpPageID.' - '.$pageDescriptiontrue );
    }
?>

/* далее разметка 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, 08:16:52 от ChaosHead »

*

Оффлайн artel-st

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

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.' - '.$pageDescriptiontrue );
 $this->setMetaData'og:description',  'Страница №'.$mpPageID.' - '.$pageDescriptiontrue );
    }
?>

/* далее разметка index.php шаблона*/
« Последнее редактирование: 08.10.2013, 11:00:48 от artel-st »
"Жираф - это лошадь, выполненная по всем требованиям заказчика" (с) кто-то из дизайнеров

*

Оффлайн ChaosHead

Отлично, ещё лучше, спасибо.

*

Оффлайн andrejdi

Спасибо! Опробовал на J!2.5.14 +K2 v2.5.7

*

Оффлайн Pavel M

  • ***
  • 103
  • [+]8 / [-]0
  • Пол: Мужской
  • Учиться никогда не поздно
    • Просмотр профиля
    • Мой инвестиционный портфель
Ребята, спасибо Вам всем за данное решение! А я только начал голову ломать над этим, а тут уже и решение придумали.

На Joomla 3.1.5 все работает отлично.

*

Оффлайн rixter

  • ***
  • 93
  • [+]9 / [-]0
  • Пол: Мужской
  • Кто юзал мой писи?
    • Просмотр профиля

*

Оффлайн artel-st

Разбирали уже http://joomlaforum.ru/index.php/topic,191429.0.html
Прикольно, а мы тут велосипед изобретаем)))
"Жираф - это лошадь, выполненная по всем требованиям заказчика" (с) кто-то из дизайнеров

*

Оффлайн Rival



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


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

*

Оффлайн ChaosHead

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

*

Оффлайн Pavel M

  • ***
  • 103
  • [+]8 / [-]0
  • Пол: Мужской
  • Учиться никогда не поздно
    • Просмотр профиля
    • Мой инвестиционный портфель
Парни, а никто не пробовал сделать такое же решение для Zoo?

*

Оффлайн MetaSpirit

  • ******
  • 1383
  • [+]106 / [-]0
  • Пол: Мужской
  • R.A.S.Lab[.org]
    • Просмотр профиля
    • R.A.S.Lab[.org]
Парни, а никто не пробовал сделать такое же решение для Zoo?
ZOOptimizer это умеет.
R.A.S.Lab[.org]: ZOOvirtue - корзина для ZOO, Яндекс.Карты для ZOO, ItemPanes - табы для ZOO, ZOOlendar - календарь для ZOO  и др.
Создание расширений для YOOtheme ZOO на заказ. Становитесь в очередь.

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

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

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

*

Оффлайн ChaosHead

Сделай редирект на главную

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

*

Оффлайн devul

  • ****
  • 288
  • [+]21 / [-]1
  • если помог можете поставить +
    • Просмотр профиля
    • Бложик
Огромное спасибо за решение) долгое время очень любил Joomla, прошел путь с 1.0 до 3.0 и разонравилась она мне когда появились многотрафиковые проекты... если честно в плане seo это даже не ад..... это значительно хуже. Костыль на костыле... да и в остальном значительно проигрывает Wordpressу.
Бложик про joomla, k2, joomshoppingdevul.ru

*

Оффлайн ChaosHead

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

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

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.' - '.$pageDescriptiontrue );
 $this->setMetaData'og:description',  'Страница №'.$mpPageID.' - '.$pageDescriptiontrue );
    }
?>

/* далее разметка index.php шаблона*/

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

Как сделать, чтобы отображалось правильно?