Пагинация

В очереной раз я наткнулся на SEO-беозабразие в LS. На этот раз я обнаружил, что пагинация плодит дубли страниц.
Я заметил, что в индексе ПС оказалось сразу три главных страницы сайта :
http://site.ru/
http://site.ru/index/
http://site.ru/index/page1/

Не долго думая, я хотел было решить проблему 301 редиректом и склеить все дубли с мордой. После того, как я написал одну строчку в /.htaccess, меня озарило и я обнаружил у всех элементов, содержащих пагинацию, дубли, например:
http://site.ru/blog/trololo/page1/

полностью дублирует
http://site.ru/blog/trololo/


Хотелось бы узнать, есть ли какой-либо вариант решения этой проблемы?
идеальным решение с точки зрения SEO стало бы полное отсутсвие этих страниц, ввиду того, что это сделать невозможно, необходимо составить конструкцию для .htaccess. Для редиректа главной я составил вот такую конструкцию:
RedirectPermanent /index/page1/ http://site.ru/

Как поставить редирект с директории /index/ я не знаю, аналогично не знаю как справится с дублями в блогах.

P.S.S закрывать страницы в роботс.тхт, как это зказано в этой теме некорректно!


UPD
Для тех, кто не считает «у многих так» аргументом, фикс кривой, но какой есть:
RedirectPermanent /index/page1/ http://site.ru/ - фикс дубля морды

<li>{$aLang.paging}:</li>                               
                        
                        {if $aPaging.iCurrentPage>1}
                                <li><a href="{$aPaging.sBaseUrl}/{$aPaging.sGetParams}page1/">←</a></li>
                        {/if} - фиксим в файле пагинации ссылку на страницу /index/ 


Disallow: /index/$  - прописываем в роботс.тхт, закрывая директорию /index/

что делать с дублями в блогах — дело ваше, если как таковой «Архив новостей» не нужен, то закрывайте все /page$/.
Относительно того, что писал наш Папа: произвольные запросы с "?" закрываем в роботах таким правилом:
Disallow: /*?
Disallow: /*?*

Если конкуренты продолжают совать в аддурилку произвольные запросы, то составляем в .htacess правило, которое отдает 404 страницу на любой запрос, кроме / и .html

45 комментариев

avatar
мне кажется, robots.txt более верное решение, поскольку по умолчанию исключает «не полезные» страницы.
avatar
Правильнее вместо страниц дублей отдавать ошибку 404 или поставить редирект. Файл роботс запрещает индексацию страниц, однако роботы все равно видят эти страницы и знают об их существовании, что уже не есть хорошо. (а те которые не знали, если не было прямых ссылок на страницу-дубль, обязательно узнают о них из роботс)
avatar
Как вариант можно рассмотреть
<link rel="canonical" href=""/>
support.google.com/webmasters/bin/answer.py?hl=ru&answer=139394
avatar
имхо это самое муторное из всего, что можно сделать. у нас же хеадер парсится один для всех страниц сайты.
avatar
однако роботы все равно видят эти страницы и знают об их существовании, что уже не есть хорошо
Ну, положим роботы знают, а почему это нехорошо? Есть какой-то серъёзный источник информации об этом?
avatar
Извините — но это не верно. советую посмотреть для примера сайты на WP и Joomla и Вы удивитесь как и что можно и нужно закрывать в robots.txt и обязательно прочтите справку яндекса о robots и гугла
Правильнее вместо страниц дублей отдавать ошибку 404 или поставить редирект
Не верно. Верно — исключить на уровне CMS — это вопрос к разработчикам.
Мой роботс для примера:
Disallow: /rss
Disallow: /search/
Disallow: /tmp/
Disallow: /logs/
Disallow: /config/
Disallow: /webstat/
Disallow: /engine/
Disallow: /include/
Disallow: /templates/
Disallow: /blogs
Disallow: /tags
Disallow: /tag
Disallow: /top
Disallow: /talk
Disallow: /classes
Disallow: /logs
Disallow: /registration
Disallow: /login
Disallow: /profile
Disallow: /my
Disallow: /people
Disallow: /profile
Disallow: /settings/
Disallow: /index

Что имеем? В гугле — 100% индексация и 0 соплей.
avatar
в дополнение к перечисленному
http://site.ru/blog/trololo/page1/
полностью дублирует
http://site.ru/blog/trololo/
можно попробовать конструкцию
Disallow: /page*$

запрещаем все где есть page
avatar
У себя на сайте сделал так, что бы индексировались только внутренности топика (фотосетов, опросов и прочего нет).
При это оставил возможность роботам ходить по страницам и ссылкам. В итоге — яндекс чуток поколбасился, но потом железно оставил в индексе главную и страницы топиков.
avatar
а пример выложить религия не позволяет?
avatar

{if $oTopic || ($sAction=='index' and $aPaging.iCurrentPage=='1' and $sEvent=='')}
		<meta name="ROBOTS" content="index, follow">
		<meta name="description" content="{$sHtmlDescription}" />
		<meta name="keywords" content="{$sHtmlKeywords}" />
	{else}		
		<meta name="ROBOTS" content="noindex, follow">
	{/if}
avatar
Всем по очереди:
vdenu : можете ознакомиться с этой статьей:
http://www.profithunter.ru/seo/dublirovannyj-kontent-blokirovka-redirekt-ili-kanoniziciya/
(наобум выдернул из Я). Какой из трех способов использовать — Ваш выбор. Мой 6-летний опыт работы SEO подталкивает меня к редиректу.
CapLS : в совем роботс вы закрыли от индексации весь архив страниц в директории /index/, предлагаете закрыть все страницы с параметром page. Такая схема подойдет только для сбора НЧ из ПС по прямым переходам на страницу определенного топика. Шагнув выше, и взявшись двигать, допустим, блог с 15-20 топиками на борту (2 страницами блока) по СЧ ключу, Вы будете приятно удивлены ))
dima_1st : аналогично. собираете траффик по НЧ запросам, двигаете отдельные топики.
avatar
CZon
логика есть и в чем то Вы правы, но зачем собирать мусор в страницах page и дубли в index — должно быть есть другое решение? Предложите свой вариант, или просто открыть? Хотелось бы увидеть пример «живой», поскольку не знаком еще с длительной индексацией LS/ Такие схемы работают в WP, DLE, Joomla.
К тому же, как озвучено выше, index и psge это откровенные дубли = с тз сео не есть айс. В чем их смысл?
И поскольку недавно начал осваивать LS не совсем понятно это
avatar
Подождите, дублями являются только все страницы под номером 1, они дублируют «морду раздела», остальны страницы /page/N/ в любой директории уникальны и вреда с точки зрения SEO не наносят. (тут стоит пнуть наш движок, который к титлам всех страниц кроме 1 не плюсует префик «Архив — Страница N — Титл сайта).
О том, что WP великолепно использует редирект, пример которого написано мною в теле топика вы можете убедиться, ознакомившись с моим постом ниже)
avatar
они дублируют «морду раздела», остальны страницы /page/N/ в любой директории уникальны и вреда с точки зрения SEO не наносят
Что в них полезного и не дублирующегося с теми же блогами, разделами??? Какое сео тут? Шутите?
avatar
В том то и дело, что сама CMS подразумевает наличие множества статей.
Понятное дело, что социальный блог не попадёт в выдачу по словам «Окна ПВХ».

Лично я закрыл от индексации пагинацию по причине юзабилити: livestreet.ru/blog/9915.html
avatar
Откуда такая информация? Берем ЛС, делаем сайт с Титлом «Уютный дом», и создаем блоги по названиям ключей, например «Окна ПВХ», «Деревянные окна» и т.д., двигаем каждый блог (он у нас 2 УВ, в отличии от статей, которые 3 УВ) по ключу. В окнах ПВХ накапливается 20 статей, 10 на главной блога, 10 в архиве на 2 странице. Допустим вы их все выводили на главную, потом они шли в архив (модуль коллективные блоги выдран из кода и лента «коллективные» не генерируется, личные блоги отключены, т.е. у нас только лента главной и только блог). Архив главной у вас в ноиндекс, архив блога тоже. Где робот найдет ссылки на 10 статей со второй страницы блога? Надеятся на сайтмап не комильфо.
avatar
Извиняюсь, что подряд. Если мы заговорили о Вордпрессе, то демонстрирую:
http://ru.wordpress.org/
— заходим, там висят 3 сайта. Хватаем любой из них. Я поймал 2 сайта с пагинацией
http://site.ru/page/N/
далее вставляем в строку браузера конструкцию:
http://site.ru/page/1/
сайт не отдает нам 404, а перебрасывает на главную. ОК. Тащим эту конструкцию сюда —
http://mainspy.ru/otvet_servera
и делаем вывод, что роботами дубли не убивают (точнее убивают те, кто не умеет по-другому)
avatar
и делаем вывод, что роботами дубли не убивают (точнее убивают те, кто не умеет по-другому)
есть более корректное решение для LS?
avatar
Редирект + правка пагинации. Пагинацию я пока поставил такую:
    <li>{$aLang.paging}:</li>				
    			
    			{if $aPaging.iCurrentPage>1}
    				<li><a href="{$aPaging.sBaseUrl}/{$aPaging.sGetParams}page1/">←</a></li>
    			{/if}
    ...

    Таким образом я уже убрал ссылку на /index/ и все сраницы архива не передают вес на дубль главной. С /page1/ прописан редирект на морду, как — см. в топике. Как настроить редирект с /index/ на морду, а так же как проделать такой же фокус с
    site.ru/blog/trololo/page1/
    я не знаю ((
avatar
как с точки зрения SEO бороться с произвольными параметрами в урлах?
например:
site.ru/blog/?param=bla
site.ru/blog/?param2=foo
site.ru/blog/?param3=bar
  • ort
  • 0
avatar
Эту задачу как раз и решает canonical.
avatar
Редиректом же ))
Редирект урла с параметром на любую страница сайта. Например, со страницы http://www.site.ru/news.php?category=1 на http://www.site.ru/news.php?category=2 (здесь параметр category=):

RewriteEngine On
 RewriteCond %{QUERY_STRING} category=1
 RewriteRule ^news.php http://www.site.ru/news.php?category=2 [R=301,L]
avatar
я имел ввиду другое
news.yandex.ru/world.html?param=bar
news.yandex.ru/world.html?param=foo

это разные страницы или одинаковые с точки зрения поисковика?
avatar
Это одна страница news.yandex.ru/world.html, ?param не индексируется и не является отдельной страницей, так же как наши постфиксы #cut и #photoset
avatar
avatar
А это .xml фиды, которые индексируются и представляют собой отдельную страницу, представляемую по различным параметрам. Если заглянуть сюда — market.yandex.ru/robots.txt, мы увидим, что /catalogmodels.xml? открыт для индексации именно ввиду уникальности каждой страницы.
avatar
А это .xml фиды, которые индексируются и представляют собой отдельную страницу, представляемую по различным параметрам
удивительный ответ :) приводить пример урлов с ".php", "/" и т.п. в конце с параметрами надеюсь не нужно?

Вот здесь верный ответ — livestreet.ru/blog/10374.html#comment159873
avatar
Отнюдь, хотелось бы увидеть такой урл. Вы только не забывайте, что у Яши отсутсвует ЧПУ.
avatar
Я, если честно, запутался. Что Вы мне хотели показать этими ссылкми? В примере
news.yandex.ru/world.html?param=bar
страница наследует тег
<meta name="robots" content="noindex">
от материнской страницы
news.yandex.ru/world.html
её нет в индексе ни одной ПС и она не иемет уникального контента — обычный дубль, коих можно наплодить миллион, они все равно в ноиндекс.
В ссылках сош все в порядка, ребята просто извратились с ЧПУ. А закрыть произвольные параметры можно в роботс.тхт, заставляя движок отдавать 404 на все несанкционированные хвосты.
Так к чему Вы хотите меня привести в этой беседе? К тому, что у нас 3 дубля главной и это хорошо?
avatar
Так к чему Вы хотите меня привести в этой беседе? К тому, что у нас 3 дубля главной и это хорошо?
нет, к тому, что практически для любого сайта можно добавить произвольные GET параметры — получим одинаковый контент для огромного количества разных урлов. Таких сайтов подавляющее большинство и все они индексируются поисковиками.
Вы же своим решением (например, редирект /blog/page1/ на /blog/) избавляетесь только от одного дубля из множества (/blog/?param=foo и т.п.). Единственное и правильное решение изложил Chiliec

Я лишь хотел логически вас привести к нему, но видимо вам мешает 6-й опыт :)
avatar
Дарю
Disallow: /*?
Disallow: /*?*

avatar
Подумайте еще раз.
Я прекращаю беседу, видимо это бесполезно.
avatar
Зачем мне думать о том, что меня не заботит? У меня есть конкретная проблема: движок генериует дубли. Не конкуренты через аддурилку, а движок. Любая работа с сайтом начинается с того, чтобы свести к минимуму дубли страниц или вовсе избавится от них. В нашей ситуации нужно избавится от своих же, доброкачественных дублей, а как справится с конкурентами, которые суют в аддурилку произвольные параметры — другой вопрос.
А вы, вместо того, чтобы признать, что фейловая пагинация с любой страницы, кроме первой отдает стат. вес на /index/ и /index/page1/ рассказываете, что таких сайтов много. Я предложил самый простой вариант решенияданной и только данной проблемы с генерированием дублей самым движком. Если вы решите более глобальную проблему с использованием каноникал, то я буду только рад и искренне благодарен.
avatar
Хочу поддержать вас, Орт не признает свое детище как ужасную систему с точки зрения Сео, и проблемы существующие здесь не только не признают порой, но и не хотят решать на глобальном уровне. В других движка уже давным давно все решено, но ЛС существует не так давно, и пока здесь царит «звездная болезнь» совершенно необоснованная. Для проектов с ограниченным финансированием продвижение ЛС методом СЕО возможно только после оплаты труда хорошему программисту, который понимает и знает что нужно сделать. В джумле, к примеру, это было решено давным-давно на глобальном уровне созданием специального плагина, который сначала был бесплатным, а потом стал платным — но решили же, а это главное)
avatar
Согласен на все сто. Казалось бы элементарные вопросы и задачи, а шума в духе «не шаришь не лезь», «дай денег», «поддержи дотнейтом»…
А что по делу? В каждом посте троЛЛЛят одни и те же «авторитетные» люди… а где совет, ответ…
avatar
SEOшник с шестилетним стажем говорите? :D
Это разные страницы и все GET-параметры прекрасно индексируются… Взять те же p=174 в WordPress или viewtopic.php?f=1&t=37 в движках вроде phpBB. Ну локальные ссылки (#cut #photoset) естественно нет.
Редиректом можно решить, но правильнее всё же использовать мета-тег canonical, поддерживаемый всеми популярными поисковыми системами, включая Яндекс.
Насчет произвольных параметров в URL при появлении этого тега Devaka прокомментировал так:
Помимо избавления от естественного дублированного контента (из-за недостатка движка), мы также избавляемся от дублированного контента искусственного, когда конкуренты нам пытаются насолить, добавляя в адурилку страницы с произвольными параметрами в URL.
devaka.ru/articles/link-rel-canonical
avatar
Я не знаю о каких p=174 идет речь, хорошо предоставить пример.
Я не говорил, что canonical пользоваться нельяз, наоборот, я написал
Какой из трех способов использовать — Ваш выбор. Мой 6-летний опыт работы SEO подталкивает меня к редиректу.

На мой взгляд, canonical подойдет для сайтов до 50 страниц, где есть возможность вручную править хеадер, для нас очень проблематично будет писать правило, подчиняясь которому движок будет вставлять саноникал в определенные страницы. Если редирект вам совсем не нравится, предлогаю вам написать скрипт, который будет ставить этот тег в страницы
http://site.ru/blog/trololo/page1/<br />http://site.ru/index/<br />http://site.ru/index/page1/
, так же все последующие trololo2 и trololo100500 так, чтобы не приходилось при создании нового блога дописывать правила для скрипта.
avatar
Может имеет смысл все подытожить и написать правильный общий роботс и правила рЕдиректа?
avatar
мое мнение — правильнее все закрыть не нужное в robots.txt и забыть. в индексе эти страницы не нужны, они лишь висят соплями в гугле и не более.
avatar
Таким образом, придется следить за всеми новыми блогами и успевать добавлять их урлы в роботс.тхт? Не думаю, что это самый лучший вариант. Кстати, а чем вариант с «canonical» не подходит?
avatar
долго смотрел на сообщение пытаясь понять где логика, но решил спросит — а зачем все новые блоги добавлять в роботс?
avatar
Насколько я понял, речь шла о дублях страниц типа site.ru/blog/blogname/ and site.ru/blog/blogname/page1/ Если я что-то не так понял, поправьте меня, но если все так, то вопрос мой вполне закономерен — блоги будут появляться в любом случае, даже без вашего участия.
avatar
прочитал все коменты, ни черта не понял, что делать то? не мог бы кто нибудь просто и ясно с конкретными примерами показать все варианты решения проблемы от лутчего к худшему? Куча людей была бы вам благодарна.
заранее спасибо
avatar
clsd
Автор топика запретил добавлять комментарии