Бесплатная онлайн-школа Евгения ВергусаКак всего за 3 занятия создать свой сайт для заработка в интернете
Категории курсов

Настройка файла .HTACCESS для SEO

При первичной оптимизации сайта, необходимо провести следующие настройки в файле .htaccess, который расположен в корневой папке вашего сайта.

Операторы .htaccess

  • . — любой символ
  • $ — ограничение справа
  • ^ — ограничение слева
  • — 0 и более символов
  • + — 1 и более символов
  • [] — диапазон значений<
  • \ — экранирование
  • () — переменная

Выбор главного зеркала

Перед тем как продвигать сайт необходимо определиться, какой именно адрес вы будете продвигать.

Т.е. с WWW (http://www.domain.ru) или без WWW (http://domain.ru)

Если этого не сделать сначало, то поисковые системы по разному могут определить главное зеркало, а значит у Вас появятся дубли страниц в индексе. 

Каждая страница сайта, должна открываться только по одному URL адресу!

Для тех, кто не настроил главное зеркало в самом начале, рекомендую сделать так.

  • Заходим в Яндекс;
  • Вводим адрес нашего сайта;
  • Смотрим, какое зеркало присвоено.

nastroika-htaccess-dlya-seo

 

То, что показывается внизу браузера и есть главное зеркало по-умолчанию в поисковой систем Яндекс.

Давайте посмотрим, что определяет поисковик Google.

nastroika-htaccess-dlya-seo

Проблема на лицо!

  • В поисковой системе Яндекс, сайт открывается по адресу http://www.as-pushkin.ru
  • В поисковой системе Google, сайт открывается по адресу http://as-pushkin.ru

В чем собственно заключается проблема?

  1. Каждая страница имеет 2 дубля, что снижает уникальность контента;
  2. Если проект большой, то снижается скорость индексации проекта;
  3. <Естественные ссылки будут размещаться по разному, что снизет их эффективность.

Редирект в файле .htaccess

Выберите, как вы хотите, что бы открывался Ваш сайт. С WWW. или без WWW.

Рекомендую использовать без WWW.

Если сайт старый, то рекомендую выбирать на основе ссылочной массы, каких ссылок больше, то и определять главным зеркалом! Ссылки на сайт, можно посмотреть в сервисе linkpad.ru

Как сделать редирект на без WWW

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.as-pushkin\.ru$ [NC]
RewriteRule ^(.*)$ http://as-pushkin.ru/$1 [R=301,L]

Как сделать редирект с www

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^as-pushkin\.ru$ [NC]
RewriteRule ^(.*)$ http://www.as-pushkin.ru/$1 [R=301,L]

Выделенный домен, заменить на свой адрес!

Для использования необходимо удостовериться, что в httpd.conf подключен модуль mod_rewrite, а также влючена опция FollowSymLinks. На обычных хостингах этот модуль включен.

Редирект без слеша на конце

Следующая, частая проблема с дублированием - это открытие страниц со слешем и без слеша на конце URL адреса.

т.е. страницы сайта могут открываться по адресам:

  • http://domain.ru/contact/
  • http://domain.ru/contact

Бывают еще более худшие варианты

  • http://domain.ru/contact.html/
  • http://domain.ru/contact.html 

Что бы избежать этой проблемы и настроить редирект без слеша, добавьте в .htaccess такой код.

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]

Если же наоборот, вы хотите сделать редирект со слешем в конце, то код будет таким.

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]

301 редирект в .htaccess

301 редирект - это постоянное перенаправление пользователя с одного URL адреса на другой.

Редирект страницы на новый адрес

Страница имеет некорректный адрес и находится по ряду поисковых запросов в выдаче. Вы хотите его исправить на более красивый.

http://domain.ru/cont на http://domain.ru/contact

Необходимо добавить следующий код:

Redirect 301 /cont http://domain.ru/contact

Редирект каталога или категории сайта на новый адрес

Если вы используете некорректный адрес категории сайта, то это тоже можно исправить.

RewriteRule ^okna1pvh /okna-pvh/$1 [R=301,L]

Редирект сайта на новый домен

Иногда необходимо перенести старый сайт на новый, возможно более красивый домен. Что бы не потерять позиции сайта и трафик, пропишите на старом сайте следующий код в .htaccess

Options +FollowSymLinks 
RewriteEngine<on
RewriteCond%{REQUEST_FILENAME} robots.txt$ [NC]
RewriteRule ^([^/]+) $1 [L]
 
RewriteCond%{HTTP_HOST} ^old-domain\.ru
RewriteRule ^(.*)$ http://new-domain.ru/$1 class="sqbracket"> [R=301,L]
RewriteCond%{HTTP_HOST}^www.old-domain\.ru
RewriteRule ^(.*)$ http://new-domain.ru/$1 [R=301,L]

После этого в файле Robots.txt добавьте следующий код<

User-agent: Yandex 
Host: new-domain.ru
 
User-agent: * 
Disallow:
Sitemap: http://new-domain.ru/sitemap.xml

Перенос сайта на другую CMS

Следующий момент. Когда вы переносите сайт на новую систему управления, то часто страницы могут иметь иные расширения.

  • Было - http://domain.ru/okna.html
  • Стало -http://domain.ru/okna.php
RedirectMatch 301 (.*)\.html$ http://domain.ru$1.php

Редирект с index.php на корень сайта

Для редиректа 301 вида “ваш_сайт/index.php” на “http://ваш_сайт/” :

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ 
RewriteRule ^index\.php$ http://ваш_сайт/ [R=301,L]

Базовая настройка для файла .htaccess

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.as-pushkin\.ru$ [NC]
RewriteRule ^(.*)$ http://as-pushkin.ru/$1 [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTPRewriteRule ^index\.php$ http://as-pushkin.ru/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]

Копируйте этот код себе, заменяйте домен на свой и сохраняйте в коде файла конфигураций.

Как настроить файл .htaccess для домена .рф

[UPDATE] 12.09.2015 Сами столкнулись с такой задачей. Поэтому выкладываем готовое решение.

Стоит заметить, что в коде нет кирилических значений! Они не воспринимаются. Домен РФ нужно перевести в PinyCod (Просто вставьте в поисковую строку Яндекса свой домен). Будьте внимательны с 4-й строкой! Там .рф (.xn--p1ai) отделен символом \ -оставьте так!

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.xn------5cdbacableitfk0bfa3abl5cjhir7bifirx\.xn--p1ai$ [NC]
RewriteRule ^(.*)$ http://xn------5cdbacableitfk0bfa3abl5cjhir7bifirx.xn--p1ai/$1 [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://xn------5cdbacableitfk0bfa3abl5cjhir7bifirx.xn--p1ai/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]

RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+)\.html\ HTTP
RewriteRule ^([^.]+)\.html$ http://xn------5cdbacableitfk0bfa3abl5cjhir7bifirx.xn--p1ai/$1 [R=301,L]
RewriteCond %{REQUEST_URI} !(\.[^./]+)$
RewriteCond %{REQUEST_fileNAME} !-d
RewriteCond %{REQUEST_fileNAME} !-f
RewriteRule (.*) /$1.html [L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://xn------5cdbacableitfk0bfa3abl5cjhir7bifirx.xn--p1ai/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]

RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+)\.php\ HTTP
RewriteRule ^([^.]+)\.php$ http://xn------5cdbacableitfk0bfa3abl5cjhir7bifirx.xn--p1ai/$1 [R=301,L]
RewriteCond %{REQUEST_URI} !(\.[^./]+)$
RewriteCond %{REQUEST_fileNAME} !-d
RewriteCond %{REQUEST_fileNAME} !-f
RewriteRule (.*) /$1.php [L]

Реклама. Информация о рекламодателе по ссылкам в статье.

0,00
Оценок – 0
5
0%
4
0%
3
0%
2
0%
1
0%
Добавить комментарий

Оставить комментарий

Пожалуйста, оцените по 5 бальной шкале

Онлайн-курсы