- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Вижу например ситуацию описанную выше и добавляю правило в robots.txt
Ну да, для других ситуации будете добавлять другие правила. С htaccess-ом тоже самое будет.
Но не работает. Синтаксис естественно порчу т.к. не могу его понять. Уже больше месяца мучаюсь. Пробую и так и эдак. Даже уже пытался кинуть эту затею... Но как увижу в очередной раз, что в Гугле снова множество дублей, аж плохо... Откуда он только берет эти не правильные адреса?..
Добавьте шаблон в роботс и не мучайтесь.
Пробовал такие варианты:
QUERY_STRING (строка запроса) не обрабатывается в RewriteRule. Ее можно проверить только с помощью RewriteCond
RewriteCond %{QUERY_STRING} !^$
RewriteRule ^(.+\.html)$ /$1? [R=301,L]
RewriteRule ^(.+\.html)$ /$1? [R=301,L]
К сожалению всё равно выдаёт дубль страницы с ответом 200
1. Не забывать и про RewriteEngine On
2. Если есть реврайты, добавлять надо перед ними
3. Проверял, редирект рабочий. Про кеширование браузером ответов тоже стоит помнить.
Проверил сервисом для проверки http-аголовков - работает, спасибо.
В итоге, теперь участок моего файла .htaccess, отвечающий за все редиректы выглядит так:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} !^$
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]
</IfModule>
Возникли ещё 2 вопроса:
1. Кроме адресов вида .html?post=9890 с которыми вы помогли успешно побороться, встречаются также адреса типа .html100 Можно ли модифицировать ваши строки так, чтобы отбрасывались не только динамические символы типа ?, но всё что расположено после .html, будь то цифры, буквы или любые другие знаки включая знак процента (и ещё Бог их знает какие могут возникнуть)? Чтобы адреса с .html заканчивались именно на это расширение без всяких приставок.
2. При наборе полного адреса страницы без www - редиректит на главную страницу с www. Как сделать, чтобы редиректило не на главную, а на полный адрес страницы но с www?
RewriteCond %{QUERY_STRING} !^$
RewriteRule ^(.+\.html) /$1? [R=301,L]
RewriteRule ^(.+\.html). /$1 [R=301,L]
2. Все редиректы надо добавлять перед реврайтами, в данном случае перед
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
если точно не уверены где есть реврайты, то помещать редиректы можно сразу за RewriteEngine
Спасибо огромное, всё заработало! Вы просто гений-программист. Еще раз спасибо.
---------- Добавлено 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="адрес_релевантной_страницы" />
Здравствуйте.
Я, наверное как и все вокруг, ставлю внешние ссылки через php-файл редиректа (rd.php) с таким вот содержимым:
Вот решил спросить у наших гуру: как сделать, чтобы обработка редиректа шла не через php-файл, а например через .htaccess?
Конечно редирект не должен отбрасывать спец символы в ссылке типа вопросительного знака и т.д. Думается мне, что такое перенаправление будет работать гораздо быстрее для пользователей, чем текущее.
Вот решил спросить у наших гуру: как сделать, чтобы обработка редиректа шла не через php-файл, а например через .htaccess?
Смысл, разницы никакой не будет.
Моя логика была в том, что увеличение скорости реагирования редиректа произойдет всвязи с тем, что браузеру не придется грузить php-файл, т.к. процесс перенаправления будет осуществляться на уровне http заголовков.
siv1987, здравствуйте.
У меня появилась потребность реализовать поддомены средствами .htaccess
Чтобы файлы из папки имя_сайта/scripts/... были доступны по адресу scripts.имя_сайта/...
Пробовал как написано здесь: /ru/forum/618353
и здесь:
но ничего не помогает. Я уже даже создавал A запись в DNS, но всё равно... Использую VDS на fastvps (к сведению).