Этот файл служит для настройки и внесения коррективов в работу веб-сервера Apachе. Его директивы могут распространяться только на папки и файлы той директории в которой находиться он сам, поэтому файл .htaccess обычно для простого блога на WordPress ложится в корневую папку.
- Перенаправляем подписчиков RSS на feedburner
- Используем кэш браузера
- Запрещаем комментирование если отсутствует referrer
- Перенаправляем пользователя на страницу-заглушку
- Защита блога от хотлинков
- Разрешить доступ к wp-admin только с Вашего IP
- Дополнительная блокировка спамеров в WordPress
- Создаём страницу 404
- Склейка домена
1. Перенаправляем подписчиков RSS на feedburner
Иногда бывают такие случаи, что обычную ленту добавляют в feedburner через некоторые время, когда у сайты появились уже подписчики. Чтобы их не терять, предлагаю использовать такой код в файле .htaccess:
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC] RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC] RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/cospi[R=302,NC,L] IfModule>
Не забудьте адрес Фида поменять на свой.
2. Используем кэш браузера
Кэш браузера или Leverage browser caching, позволяет ощутимо ускорить скорость загрузки сайта, работает по принципе — если посетитель уже загрузил один раз сайт, то картинки и.т.п. у него сохраняться и в будущем не будут загружаться заново.
FileETag MTime Size <ifmodule mod_expires.c> <filesmatch ".(jpg|gif|png|css|js)$"> ExpiresActive on ExpiresDefault "access plus 1 year" filesmatch> ifmodule>
PS: У меня этот код не заработал, что-то с настройками VPS. Но у многих работает, так что используйте. Проверить включился ли кэш браузера, можно сервисом
Gtmetrix.com
3. Запрещаем комментирование если отсутствует referrer
Часто бывает, что программы для спамы обращаются на прямую к файлу wp-comments-post.php не имея такого показателя как referrer, можно вот на этом моменте отловить часть спам комментариев.
В коде, мой домен замените на свой.
RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post.php* RewriteCond %{HTTP_REFERER} !.*cospi.ru.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^ http://%{REMOTE_ADDR}/$ [R=301,L]
4. Перенаправить пользователя на страницу-заглушку
На время всевозможных работ, по изменению дизайна например, лучше всего не показывать обычным пользователям временные файлы и изменения. Поэтому логично их перекидывать на страницу
В данном случае используется 302 редирект, он говорит ПС что страница временная и не надо её индексировать. То есть не будет ни каких склеек страниц и.т.п.
RewriteEngine on RewriteCond %{REQUEST_URI} !/inside.html$ RewriteCond %{REMOTE_ADDR} !^123.123.123.123 RewriteRule $ /inside.html [R=302,L]
5. Защита блога от хотлинков
Некоторые нехорошие люди могут использовать ваши изображения напрямую с вашего сервиса, тем самым будет нагружаться ваш сервис.
Закрыть это всё можно в .htaccess, следует вставить вот такой код:
RewriteEngine On RewriteCond %{HTTP_REFERER} !^ http://(.+.)?cospi.ru/[NC] RewriteCond %{HTTP_REFERER} !^$ RewriteRule .*.(jpe?g|gif|bmp|png)$ /images/hotlink.jpg [L]
- cospi.ru меняем на свой адресс;
- /images/hotlink.jpg — путь к вашей картинки, которая будет показываться на чужих сайтах.
6. Разрешить доступ к wp-admin только с Вашего IP
Если у Вас не динамический IP, то есть постоянный всегда. То можно разрешить вход в админку WordPress только с одного IP. Делается это вот так:
AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "Example Access Control" AuthType Basic order deny,allow deny from all allow from 192.168.0.1 LIMIT>
Нюансы:
- IP замените на свой;
- Можно добавить ещё дополнительный IP, путём добавления ещё строчек allow from 192.168.0.1.
7. Дополнительная блокировка спамеров в WordPress
Наоборот можно запретить определённый IP, с которых часть приходит спам на блог.
order allow,deny deny from 201.51.185.120 allow from all Limit>
Добавить дополнительные IP, можно путём добавления ещё строчек deny from 200.49.176.139.
8. Создаём страницу 404
Изначально у WordPress всё работает нормально, но иногда возникают проблемы с правильной отдачей ошибки 404. Поэтому можно добавить вот такой код:
И когда будет возникать ошибка 404, пользователь будет перемещён на страницу 404.html.
9. Склейка домена
Для правильной SEO оптимизации сайта, очень важно чтоб для Поисковых систем был доступен только один домен, в моём случае это cospi.ru, а не www.cospi.ru
Данный редирект, поможет Вам склеить домены:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
Данный пример редиректит все запросы без префикса www на главный домен
www.domain.com