.htaccess для WordPress и 11 способов позаботиться о вашем сайте

.htaccess для WordPress

Если у вас есть блог на WP, то вы наверняка в различных статьях встречались с темами, посвящёнными файлу .htaccess. Что же это «за зверь такой» и почему ему так много уделяют внимания? Всё просто, это файл конфигурации и с его помощью можно управлять папками и файлами вашего сайта WP. Поэтому его можно и нужно «сконфигурировать» немного иначе, для вашего спокойствия и отличного самочувствия.

К слову, если вдруг файла конфигурации у вас нет совсем, то это легко исправить: необходимо загрузить на ваш FTP пустой файл с названием .htaccess. Загружать его необходимо только в корневую директорию. Обязательно сделайте его доступным для записи, чтобы WordPress смог добавить в него необходимую информацию.

Зачем нам вообще «эти дебри» и почему файл .htaccess нужно изменить? Главная причина – безопасность вашего сайта. Немного отредактировав код, вы сможете обезопасить своё творение от злоумышленников. Предлагаю вашему вниманию инструкцию, как это сделать.

Любой код (сниппет), который вы увидите ниже, необходимо поместить выше # BEGIN WordPress, либо ниже # END WordPress. Потому что внутри этих кодов владения WordPress и он может вносить в них свои обновления.

ВНИМАНИЕ! Трудно переоценить важность файла .htaccess, если в него закралась ошибка – ваш сайт WP просто перестанет работать. Поэтому будьте внимательны и обязательно скопируйте первоначальную копию файла .htaccess. После внесённых изменений обновите сайт, или если что-либо происходит не так, как вам хотелось бы – перезапишите файл рабочей версией.

1.   Сохраните .htaccess от злоумышленников.

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

<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</files>
  1. Защитите WP-Config.php

wp-config.php отвечает за авторизацию доступа в вашей базе данных. Поэтому так же скрываем его от злоумышленников:

<files wp-config.php>
order allow,deny
deny from all
</files>
  1. Безопасность /Wp-Content/

В этой директории хранятся все ваши столь скурпулёзно настраиваемые темы и плагины, а так же загруженные медиа и кэш файлы вашего сайта. Поэтому хакер всегда стремиться получить к нему доступ. Не дайте ему это сделать, всё просто: необходимо создать ещё один файл .htaccess и поместите его в каталог /Wp-Content/ (www.ххххххххххх.com/wp-content/) и пропишите в него следующий код:

Order deny,allow
    Deny from all
    <Files ~ ".(xml|css|jpe?g|png|gif|js)$">
    Allow from all
    </Files>

Теперь хакер не сможет загрузить в этот каталог что либо, что может повредить вашему сайту.

  1. Закройте доступ к файлам, которые не предназначены для всех:

Для этого добавьте код:

# Block the include-only files.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>
  1. Ограничьте доступ к области администратора.

Как вы сами понимаете, из админ панели можно делать всё что угодно с вашим сайтом. Чтобы такая возможность была только у вас, сделайте следующее:

Создайте файл .htaccess и добавьте код:

# Limit logins and admin by IP
<Limit GET POST PUT>
order deny,allow
deny from all
allow from 12.34.56.78
</Limit>

Не забудьте прописать свой IP адрес. Если вам нужно прописать несколько адресов – пропишите их все через запятую . Осталось только поместить этот файл в директорию /wp-admin/ и доступ к сайту будет только у вас.

  1. Заблокируйте недоброжелателя

Зная IP адрес хакера, можно заблокировать его навсегда, добавив:

<Limit GET POST>
order allow,deny
deny from 123.456.78.9
deny from 987.654.32.1
allow from all
</Limit>
  1. Подготовьте сайт к неожиданностям

Если вы будете обновлять сайт, и проводить на нём какие либо работы, то вероятно вы захотите временно скрыть его и уведомить своих посетителей. Для этого создайте файл maintenance.html и разместите на нём своё обращение к посетителям вашего сайта. После чего добавьте следующий код в файл .htaccess:

RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123
RewriteRule $ /maintenance.html [R=302,L]

Как вы сами понимаете осталось лишь отредактировать имя вашего файла, путь к нему и ваш IP.

  1. Отключите обзор папок в браузере

Не рекомендую разрешать доступ к просмотру ваших файлов, для этого добавьте в .htaccess:

# disable directory browsing
Options All -Indexes
  1. Кэширования браузера

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

## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"
</IfModule>
  
## EXPIRES CACHING ##
  1. Редирект 301

Если вы решили перенести сайт на новый домен, либо внести какие-либо изменения с перелинковкой страниц, то наверно вы не захотите потерять посетителей, которые не знают о «вашем переезде», для этого существует Редирект 301, который сообщит поисковикам, что сайт навсегда переехал в другое место. Для этого внесите в ваш файл .htaccess следующий код:

Redirect 301 /oldpage.html http://www.yourwebsite.com/newpage.html
Redirect 301 /oldfolder/page2.html /folder3/page7.html
Redirect 301 / http://www.mynewwebsite.com/
  1. Заблокировать хотлинкинг

Если кто-либо, вместо того чтобы загрузить картинку на свой сайт, берёт ссылку на вашу картинку и вставляет её на свой сайт, то при обращении к его сайту каждый раз будет подгружаться ваша картинка, что усилит загрузку вашего собственного сайта. Чтобы этого избежать добавьте следующий код:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourwebsite.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourotherwebsite.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ http://i.imgur.com/g7ptdBB.png [NC,R,L]

Единственное на что это может повлиять, это отображение изображение в RSS-фиде.

Напишите ответ

Screenshot.png
Общаясь и проявляя активность в Клубе по WordPress

можно зарабатывать монеты и получить доступ в закрытый раздел