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

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

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

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

Upd:
Важно: Такой вариант не учитывает работу встроенного поиска, который просто перестанет работать. Для "Поиска" нужно его немного поправить.
0
Malanas Malanas 12 лет назад #
Все хорошо,но как быть с поиском,там ссылка начинается /index.php?,тоже скорее всего будет редирект?
0
Malanas Malanas 12 лет назад #
Код 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;
}
Сделал так вроде работает...
0
balooo balooo 12 лет назад #
не корректно получается. вы хотя бы проверили по каким тогда запросам вываливается главная.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Еще от автора

Обновление компонента "Мне нравится"
Приветствую. Закончил версию с исправлением ошибок и багов, всем пользователям обновление выслано на электронку.
Обновление компонента  "Каталог дополнений в админку"
Приветствую. Обновление самого популярного аддона из официального каталога дополнений.
Обновленный парсер Яндекс.Карт
Приветствую Изменения довольно значительны, поэтому имеет смысл оформить их отдельным постом.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.