Избавление от дублей страниц (?p=12)

1328
Тема навеяна топиком Миноны. До canonical я еще не добрался и сомневаюсь, что можно их сделать, не перелопатив все компоненты. Так что предлагаю вариант, который озвучил soxom - 301 редирект.

В файле index.php в самом верху добавляем строки (после <?php )

Код PHP:
  $where = $_SERVER["REQUEST_URI"];  // адрес текущей страницы
  $q = strpos($where,'?');           // позиция символа "?"
  if ($q){
    header('HTTP/1.1 301 Moved Permanently');
    header('location:'.substr($where,0,$q)); // отрезаем начиная с вопроса и редиректим
    exit;
  }
Решение очень простое, но эффективно избавляет сайт от подобных страниц, являющихся дублями.

Upd:
Важно: Такой вариант не учитывает работу встроенного поиска, который просто перестанет работать. Для "Поиска" нужно его немного поправить.
Отправка личных сообщений (Ajax) | Добавление Canonical на Инстанте
Комментарии (28)
Malanas 20 марта 2012 в 00:28 0
Все хорошо,но как быть с поиском,там ссылка начинается /index.php?,тоже скорее всего будет редирект?
Malanas 20 марта 2012 в 00:37 0
Код PHP:
$where = $_SERVER["REQUEST_URI"];  // адрес текущей страницы
$q = strpos($where,'?p=');           // позиция символа "?"
if ($q){
  header('HTTP/1.1 301 Moved Permanently');
  header('location:'.substr($where,0,$q)); // отрезаем начиная с вопроса и редиректим
  exit;
}
Сделал так вроде работает...
balooo 20 марта 2012 в 09:22 0
не корректно получается. вы хотя бы проверили по каким тогда запросам вываливается главная.

?p= это только пример.. любая буква после "?" знака ставится и эффект тот же.
pivua) правильно ниже описал все.... Это уже какая-то панацея, вы так каждую ссылку теперь проверяйте на сайте, я думаю подобных вещей много.. И для успокоения, даже на самой дорогой системе как Битрикс при прописывании тех же
"?p=" будет всегда главная, никаких 404 страниц вы не увидите. Если не верите то вот пример http://www.1c-bitrix.ru/?p=12
Malanas 20 марта 2012 в 10:40 +1
Я тоже привел пример,если указать "?", то с поиска перекидывает на главную...
reload 20 марта 2012 в 09:17 +1
Сделал так вроде работает...
а если так ?c= или ?e= или ?l= ........
но! самое главное, не забывайте про админку)
я как недавно обрезал знак вопроса с помощью .htaccess, так админка стала "инвалидом")

r2:
PS: По правде говоря мне становится страшно, насколько некоторые люди помешались на лженауке под названием SEO.
Полностью солидарен, тоже ненавижу сео в том свете котором его осветили)
Я уж думал что я один так к сео отношусь)

зы: ребята, этот вопрос реально лишний)
приведу пример - у меня все материалы отправляются в твитер с помощью твитерфид. переходы фиксируютсЯ с параметрами которые добавляются через знак вопроса! Их много и индексация идет в основном именно через эти ссылки!
То есть поисковики видят вначале ссылки с параметрам!
Но ни одна ссылка такого вида в индекс не попала!
reload 20 марта 2012 в 09:40 0
Кстати, проверил на 2-х сайтах на движке версии 1.8 - отдает 404 ошибку!
а 1.9 как и описано на форуме...
reload 20 марта 2012 в 10:04 0
Еще появилась идея) на основе метода тс но не редиректить а прописать каноническую страницу, что, воде, более правильно...
идею понимаю но правильно сходу не напишу)
можно в приведенном коде вместо редиректа выводить линк на каноническую страницу, типа:
Код PHP:
$where = $_SERVER["REQUEST_URI"];  // адрес текущей страницы
$q = strpos($where,'?');           // позиция символа "?"
if ($q){
  header('<link rel="canonical" href="<? print $не знаю как правильно ?>/">');
  exit;
}
Переменную если кто подскажет как написать, то будет решение на как в сказке)
SJen 20 марта 2012 в 10:59 0
Да, поиск не учел - потому что юзаю свой интеллектуальный поиск + Яндекс.XML.
Ну значит решение в данном виде далеко не универсальное, надо подточить кому интересно(например, исключить "view=search").

pivua):
но! самое главное, не забывайте про админку)
А причем тут админка? - мы же правим только index.php в корне сайта, админку не затрагиваем

pivua):
я как недавно обрезал знак вопроса с помощью .htaccess, так админка стала "инвалидом")
Админку то зачем трогаете? - нас интересует только основной сайт, для юзеров. Админка должна остаться со своими вопросами(там свой htaccess есть и он не должен рубить "?")..

pivua):
Переменную если кто подскажет как написать, то будет решение на как в сказке)

Тоже посетила такая мысль, но надо бы еще потестить.

pivua):
Я уж думал что я один так к сео отношусь)
Можно относиться как угодно, но чтобы достичь определенных успехов нужно играть по правилам, которые придумывают поисковики. Если, конечно, сайт делается для того, чтобы на него кто-то заходил. Если только для себя и друзей - можно и не думать о таких штуках как "seo", уникальность контента, ТИЦ и прочих неинтересных вещах.
reload 20 марта 2012 в 11:46 0
Админку не трогал, .htaccess правил только корневой, но админка "ломалася"

С указанием канонической страницы можно не думать о возможных нюансах, ведь отображение страниц не меняется...
яша canonical обрабатывает на 100% , гугл не проверял.

SJen:
нужно играть по правилам, которые придумывают поисковики
Золотые слова) только у них не правила а рекомендации)
Я против не рекомендаций поисковиков, а как сказал админ r2
лженауке под названием SEO

я против "сео" которые придумывают "сеошники" для личного заработка)
все говорят одно и тоже перекручивая по своему эти рекомендации и выдавая их за свои мега наработки)
"черное сео" немного интересней, (тут рекомендаций нет) но оно приносит плоды временные а иногда и обратные.

Рекомендаций поисковиков вполне хватает что бы развивать сайт. имхо)
SJen 20 марта 2012 в 11:56 0
Админку не трогал, .htaccess правил только корневой, но админка "ломалася"
Нууу, логично же! - потому что корневой htaccess действует на все вложенные папки, если в них не прописано обратное. Надо ведь было и htaccess внутри админки править)

я против "сео" которые придумывают "сеошники" для личного заработка)

Ну тут не могу спорить:) В этой сфере мало конкретики.
soxom 20 марта 2012 в 12:16 0
С указанием канонической страницы можно не думать о возможных нюансах, ведь отображение страниц не меняется... яша canonical обрабатывает на 100% , гугл не проверял.
В Гугле 90% ))) Бывает почему-то не срабатывает. В Яндексе действительно 100%, причем даже непохожие страницы склеиваются (что в целом странно)

я против "сео" которые придумывают "сеошники" для личного заработка)
Вы бесплатно работаете? Да, вы лучше многих в своем деле и зарабатываете этим. Специалисты SEO также зарабатывают тем что знают как и что делается.

все говорят одно и тоже перекручивая по своему эти рекомендации и выдавая их за свои мега наработки)
Вот только у одних проколы, у других трафик ))) Кидал в SEO огромное количество, начитавшись "умных блогов" считают себя суперспецами, а потом таким как я приходиться исправлять их мега продвижение

Рекомендаций поисковиков вполне хватает что бы развивать сайт. имхо)
Естественно... Только вы используете все эти рекомендации?
reload 20 марта 2012 в 12:31 0
отвечать не буду)
soxom:
а потом таким как я приходиться исправлять их мега продвижение
вы мне начинаете напоминать одного человека живущего тоже здесь)
хотя ваш переход более плавный и продуманный)
пожелаю удачи вам и вашим клиентам!
soxom 20 марта 2012 в 12:54 0
вы мне начинаете напоминать одного человека живущего тоже здесь)
Да накипело ))) В моем городе единицы SEO специалистов, реально единицы (причем классный специалисты), зато существует целая армия "суперспецов" которые сбивают цены и ничего не делает (вернее просто не умеет работать по трафику). Как результат - клиент считает что SEO стоит копейки и практически ничего не приносит. Приходиться долгое время работать с человеком чтобы он понял что ты даешь ему клиентов, а не просто высокие позиции в поиске. Самое интересное, небольшая часть все равно уходит в "суперспецам" (в основном женщины-руководители, не в обиду женскому полу, просто наблюдение), потом почти все возвращаются... только я в 90% не берусь за сайт, так как исправлять приходиться очень-очень многое. Вот и сейчас, сижу, и правлю сайт блудного клиента, жена уговорила взять обратно ))
Что касается меня, то я себя не позиционирую как SEOшник, я маркетолог ))) Был им до нэта, остаюсь им и в нэте... Знаю на чем строиться SEO, SMM и т.д. Но не мега крутой спец, а простой практик...
Что же касается конкретно темы по Инстанту, то думаю, что после того как появиться каноникал, в плане SEO с сайтами будет работать намного проще (да и без работ, при нормальном контенте будет эффект ). Я пока просто закрываю такие дубли в роботсе, жаль что теряется определенный вес сайта, но не критично.
NickSolver 20 марта 2012 в 14:08 0
Очень сложно. вы ищите себе сами лишних проблем. Disallow: *?
Allow: *index.php?nugnayamaska...
SJen 20 марта 2012 в 14:50 0
минус вашего варианта в том, что если кто-то из юзеров(которые вообще не думаю про всякие там "seo" штучки) оставит ссылку на страницу http://www.site.ru/?nugnayamaska, то переданный вес потеряется. В моем же вариант вес перетечет на http://www.site.ru
soxom 20 марта 2012 в 15:39 0
Как правило, таких ссылок появляется очень мало, если ваш сайт сам их не выдает пользователям... Ну а в целом, действительно вес пропадет от такой ссылки, не пойдет на главную, но для кармы сайта даст небольшой плюс. Поэтому как уже писал - лучше каноникал, если нет 301, ну а если уже ничего из приведенного выше нельзя применить закрываем в роботсе )) Все просто
NickSolver 20 марта 2012 в 16:42 0
Ну а тут поможет целенаправленный 301 редирект для конкретных адресов, а не для кучи масок. что может создать больше проблем чем решить их. Ну это мое мнение.
SJen 20 марта 2012 в 16:49 0
какой может быть целенаправленный редирект если мы не знаем заранее, какие адреса придется редиректить?) - кто его знает, что завтра попадет в индекс по чьей-то милости или оплошности.
reload 20 марта 2012 в 18:45 0
поэтому и говорю что единственный правильный вариант - это canonical.
Кстати на счет потери веса не уверен, есть каноническая страница и внешние ссылки на нее с параметрами, нормальных ссылок нет, но страница быстро заняла место в первой десятке выдачи яндекса. Сейчас может и приспустилась - не слежу, да и ссылки уже не так активно расходятся.
По логике, ссылка то на страницу есть, и страница есть, то что нужно выдавать вместо неканонической поисковики понимают, чего тут весу терятся... Вес терялся бы если запрет на индексацию поставить.
soxom 20 марта 2012 в 19:18 0
Вы думаете поисковики сами не видят дублей? Видят... Только зачастую очень долго клеют, а иногда и вообще не клеют
Олег с клещами 20 марта 2012 в 21:48 0
PS: По правде говоря мне становится страшно, насколько некоторые люди помешались на лженауке под названием SEO. Полностью солидарен, тоже ненавижу сео в том свете котором его осветили) Я уж думал что я один так к сео отношусь)
Ты не один. Зайди на серч и просто укатаешься от "мудрых" изречений. Тогда как поисковики уже давно в лоб намекают, что важен уникальный контент и грамотная структура сайта - строго для людей, и если замечают сеодвижения великих махинаторов, то это для них как красная тряпка для быка. А всякая возня с дорвеями и прочей "серотой" ушла в прошлое уже не 1 год назад.
Инстант тем и хорош, что без дураков соответствует нынешним требованиям. Хочешь немного подвинуться вперёд - купи грамотные ссылки у хороших людей, не очень много, но по делу.
SJen 20 марта 2012 в 23:11 0
Вы себе противоречите - с одной стороны слушаете рекомендации поисковиков, а с другой говорите "купи грамотные ссылки у хороших людей" - не помню такой рекомендации. Я бы даже сказал, что продажа/покупка ссылок не поощряется ПС.

Так что на самом деле вы ведь такой же последователь SEO - покупаете ссылки, чтобы искусственно поднять свои позиции в поиске - искусственно, значит, не за счет контента, а за счет продажных ссылок (псевдо рекомендаций от других сайтов).
Олег с клещами 21 марта 2012 в 14:29 0
Согласен, есть грех. Но, пока покупные ссылки всё же работают, просто надо очень осторожно это делать, чтобы робот ни за что не понял, что тут покупная. Следовательно, нужны жирные, вечные, контекстные, строго в тему.
soxom 21 марта 2012 в 14:33 0
Ссылки будут работать еще очень долго, но при этом модель работы с ними меняется каждый год )))
spacer 21 марта 2012 в 22:49 0
Я бы не сказал, что меняется.
Просто больше внимания уделяется их качеству, чем дальше, тем качественнее нужны ссылки.
Надо сказать, что качество ссылок можно прикинуть и без глубоких СЕО-знаний, если голова на плечах есть.
Сейчас полно бесплатных утилит для быстрой оценки, было бы желание.

Но, в регионах и малоконкурентных нишах и даже отдельных ВЧ, пока вполне рулят дикие правила 2006-2008 лет.

Яндекс говорит одно, а делает совсем другое, прямо как в "Южном парке" :)
NickSolver 21 марта 2012 в 17:18 0
Круглый стол Яндекса и Сео - http://www.megaindex.tv/programs/.

Даже гражданин Садовский не отрицает существование сео и оптимизации. Но за то найдется парочку умников считающих себя умнея всех.. По факту у меня сейчас 15 проектов прекрасно чувствующих себя в топ 10 яндекса. А вы упирайтесь в то что сео нет)
soxom 22 марта 2012 в 13:46 0
Просто человек не поймет что SEO реальный инструмент который помогает сайту не только становиться более популярным, но и делать его более удобным. Зачем отрицать то что практикуется во всем мире? Не только в России и странах СНГ есть SEO )))
lezginka.ru 2 апреля 2012 в 08:16 0
а где нужно прописать это самое ?
Код PHP:
<link rel="canonical" href="http://www.123.ru/blog"/>