Вход / Регистрация

Статьи

Файл .htaccess и его настройка для SEO

16 октября 2018
Владимир Першин

Версия Joomla:

3.x

Из этого урока вы узнаете для чего на сайте нужен файл .htaccess, на что он влияет, и как при помощи него можно создавать перенаправления на сайте, которые положительно влияют на SEO.

Когда вы устанавливаете CMS Joomla, то просматривая файлы на хостинге вы можете видеть файл с именем "htaccess.txt". Это именно тот файл, но на данный момент он имеет немного другое название. для того, чтобы использовать этот файл, и чтобы он именно работал, нужно сделать пару простых действий.

1. Переходим в админку нашего сайта, и затем в Система - Общие настройки и в блоке Настройки SEO необходимо у переключателя "Перенаправление URL" поставить Да.

включаем перенаправление

2. Перейдите в файл-менеджер вашего хостинга или подключитесь к вашему сайту по FTP, и переименуйте файл htaccess.txt в .htaccess

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

Давайте теперь рассмотрим данный файл, а точнее, его содержимое. Все строчки, в начале которых стоит знак решётки # являются комментариями, а значит, что это просто текст, а не рабочие директивы.

В файле есть одна из директив, которая может серьёзно влиять на работоспособность сайта. Это директива Options +FollowSymlinks. На разных хостингах её включение может по-разному влиять на сайт. На одном хостинге из-за неё сайт может выдавать ошибку 500, на другом такой проблемы не будет. Поэтому, если вы видите, что ваш сайт выдаёт ошибку 500, проверьте сразу именно эту директиву, и если она включена, поставьте перед ней знак решётки.

Теперь перейдём непосредственно к перенаправлениям.

Они бывают абсолютно разными:

  • Перенаправление с HTTP на HTTPS
  • Перенаправление с www на без www и наоборот
  • Перенаправление с index.php на главную
  • Перенаправление с одной страницы на другую

Для каждого перенаправления используются свои методы. Давайте рассмотрим каждое перенаправление более подробно и я расскажу, какими методами я пользуюсь. Для того, чтобы каждое перенаправление у вас работало, все директивы необходимо прописывать после строки RewriteEngine On

Перенаправление с HTTP на HTTPS

Довольно популярное перенаправление, которое постоянно используется в связи с тем, что многие сайты начали устанавливать SSL сертификаты, которые стали уже определённым стандартом. Как же настроить подобное перенаправление? Тут есть несколько вариантов:

Вариант №1 (использую у себя на хостинге)

RewriteCond %{HTTP:SSL} !=1 [NC] 
RewriteRule ^(.*) https://vpjoomla.school/$1 [L,R=301] 

Вариант №2

RewriteCond %{HTTPS} =off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L] 

Вариант №3

RewriteCond %{SERVER_PORT} !^443$ 
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L] 

Вариант №4

RewriteCond %{ENV:HTTPS} !on 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

Перенаправление с www на без www и наоборот

Подобное перенаправление больше влияет не на работоспособность сайта, а на то, как будет отображаться адрес вашего сайта в строке браузера. Но конечно, дело не только в этом, всё дело в том, что если сайт открывается по двум адресам, то это называется дубли, и для того, чтобы ваш сайт открывался только по одному адресу, как раз и нужно делать подобное перенаправление. Я обычно использую адрес сайте без www. Наверняка, когда вы только открыли мой сайт, вы увидели, что в строке браузера написано vpjoomla.school, а не www.vpjoomla.school.

Делаем перенаправление с www на без www

RewriteCond %{HTTP_HOST} ^www\.vpjoomla\.school$ [NC]
RewriteRule ^(.*)$ http://vpjoomla.school/$1 [R=301,L] 

Делаем перенаправление с без www на с www

RewriteCond %{HTTP_HOST} ^vpjoomla.school$ [NC]
RewriteRule ^(.*)$ http://www.vpjoomla.school/$1 [R=301,L] 

Перенаправление с index.php на главную

Подобное перенаправление также необходимо для того, чтобы исключить дубли главных страниц вашего сайта. У каждого сайта на CMS Joomla есть дубль главной страницы, например vpjoomla.school/index.php . От такого дубля нужно избавляться, и вот, как это можно сделать:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ 
RewriteRule ^index\.php$ https://vpjoomla.school/ [R=301,L] 

Перенаправление с одной страницы на другую

Бывает такое, что нужно сделать перенаправление с одной страницы на другую. Причины могут быть абсолютно разные, к примеру, вы поменяли структуру сайта. Вот, как это можно сделать:

Вариант №1

Redirect 301 /test-1/ http://vpjoomla.school/test-2/

Вариант №2

RewriteCond %{REQUEST_URI} ^/test/$
RewriteRule ^.*$ http://vpjoomla.school/new-test/? [R=301,L]

Как видите, перенаправлений достаточно много, и есть много разных методов для их внедрения...Первые 3 перенаправления обязательно нужно использовать на сайте, чтобы у вас не было дублей. А перенаправление с одной страницы на другую можете использовать уже по необходимости.

Теперь, я уверен, проблем с настройкой данного файла у вас не будет!

Отзывы

Комментарии (0)

2018-10-16 14:37:23
Владимир Першин
Украина, г. Николаев
+380937417200