Спасибо огромное, всё заработало! Вы просто гений-программист. Еще раз спасибо.---------- Добавлено 17.07.2013 в 13:33 ----------Оказывается, таким способом некоторые не честные веб-мастера борются с конкурентами.
Вот нашел интересную статью - точно про мой случай.
Смысл заключается в том, что покупаются ссылки с точным вхождением на множество страниц конкурента с разными окончаниями.
Например: если оригинальная страница в ТОПе заканчивалась на имя.html, то покупается десяток ссылок на страницы вида имя.html?p=1 имя.html?p=2 имя.html?p=3
Получается много дублей одной страницы. Часто Гугл накладывает за это фильтр Панда или просто ранжирует ниже. Также часто поисковики меняют исходную релевантную страницу в выдаче. А потом просто позиции вылетают за 50+
Теперь, благодаря siv1987 существует способ бороться с такими внешними факторами, в файле .htaccess добавляем:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} !^$
RewriteRule ^(.+\.html) /$1? [R=301,L]
RewriteRule ^(.+\.html). /$1 [R=301,L]
</IfModule>
Также в соответствии с документацией Google можно порекомендовать перед закрывающим тэгом HEAD добавить:
<link rel="canonical" href="адрес_релевантной_страницы" />
Проверил сервисом для проверки http-аголовков - работает, спасибо.
В итоге, теперь участок моего файла .htaccess, отвечающий за все редиректы выглядит так:
RewriteRule ^(.+\.html)$ /$1? [R=301,L]
# ЧПУ
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
#Перенаправление для главной страницы
RewriteCond %{HTTP_HOST} ^knep.ru
RewriteRule (.*) http://www.knep.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://www.knep.ru/ [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.knep.ru/ [R=301,L]
Возникли ещё 2 вопроса:
1. Кроме адресов вида .html?post=9890 с которыми вы помогли успешно побороться, встречаются также адреса типа .html100 Можно ли модифицировать ваши строки так, чтобы отбрасывались не только динамические символы типа ?, но всё что расположено после .html, будь то цифры, буквы или любые другие знаки включая знак процента (и ещё Бог их знает какие могут возникнуть)? Чтобы адреса с .html заканчивались именно на это расширение без всяких приставок.
2. При наборе полного адреса страницы без www - редиректит на главную страницу с www. Как сделать, чтобы редиректило не на главную, а на полный адрес страницы но с www?
К сожалению всё равно выдаёт дубль страницы с ответом 200
В панеле вебмастера Гугла я смотрю дубли страниц. Вижу например ситуацию описанную выше и добавляю правило в robots.txt
Но хочется сделать по-хорошему. Чтобы пользователя (либо ПС) переадресовывало 301 редиректом на правильную страницу.
Я пытался так:
RewriteRule ^(.*)\.htm$ $1.html [R=permanent]
Но не работает. Синтаксис естественно порчу т.к. не могу его понять. Уже больше месяца мучаюсь. Пробую и так и эдак. Даже уже пытался кинуть эту затею... Но как увижу в очередной раз, что в Гугле снова множество дублей, аж плохо... Откуда он только берет эти не правильные адреса?..---------- Добавлено 16.07.2013 в 21:55 ----------Пробовал такие варианты:
RewriteRule ^([a-z^\.]+).html(\?.*)?$ ^(.*).html$1 [QSA]
RewriteRule ^([a-z^\.]+).html(\?.*)?$ .html$1 [QSA]
Не помогает. Всё равно отображает содержимое страницы .html а в адресной строке все последующие параметры...
Привет всем, чтобы не создавать новую тему решил поискать помощи здесь...
Кто может помочь с файлом .htaccess?
Дело вот какое: кто-то проставил на сайт много внешних ссылок типа:
адрес_сайта/страница.html?post=098384
Из-за этого поисковые системы (в частности Гугл) индексирует дубли страниц, которых по сути-то и нету на сервере.
Я уже замучился писать на каждое выражение правило в robots.txt для запрета индексации.
Как сделать, чтобы любые символы после .html игнорировались и выдавалась правильная страница, заканчивающаяся просто на .html
Заранее благодарен.
Разве закрытая в nofollow ссылка будет говорить ПС, что страница-цитата? Обратитесь к документации по тэгу nofollow, там четко говорится, что использовать его надо для скрытия СПАМных ссылок на сайты, которым вы не доверяете. Вряд ли сайт, состоящий полностью из страниц с копированного текста с ссылками на сайты которым вы не доверяете будет считаться трастовым ресурсом.
Думаю, что в таком случае практически все веб-мастера тупо копировали бы контент с новостных сайтов различными парсерами и ставили закрытую ссылку, чтобы pr не перетекал да еще и продажей ссылок можно заняться. Вряд ли ПС станут нормально индексировать такой дубль новостного контента на сторонних сайтах, а про достойное ранжирование даже по нч в выдаче вообще говорить не приходится. Часто даже синонимейзеры не помогают, а вы говорите про такое фэйковое "цитирование"... Думаю, что под АГС можно попасть запросто.
Категории закрывать от индексации не стоит.
Но действовать нужно по-умному: в категориях не вся статья целиком, а только анонс, выдержка.
Лучше всего так:
Ссылка h1 в виде заголовка, одна тематическая картинка, один короткий абзац и ссылка "читать полностью" через rel="nofollow".
Метрика негативно влияет на ранжирование в Яндексе если поведенческие на сайте плохие - проверенно лично.
Также заметил снижение позиций в Гугле при наличии метрики из-за увеличения времени загрузки продвигаемой страницы.
В итоге: убрал код метрики со всех страниц. Плюс удалил счетчик в панеле управления метрикой... т.к. Яндекс всё ещё считал посещаемость и анализировал её... хотя кода на сайте в помине не было.
Если речь идет о безанкорных ссылках (типа "сайт", "тут", "здесь"), то можно покупать и с rel="nofollow", разницы нету в передаче веса.
Но при покупке ссылок с нужным анкором, прямым или разбавленным без разницы, то безусловно nofollow - зло.
Как результаты такого продвижения?
Позиции растут? Поделитесь кто-нибудь отзывом.