Не забывайте перед изменениями каких либо файлов обязательно делать их бэкап.

1. Редирект WordPress RSS-фида на feedburner с помощью .htaccess

Кто из блоггеров до сих пор еще не использует feedburner? Конечно, фидбернер очень хороший сервис, позволяющий вам знать количество людей, подписанных на фид блога. Правда, есть проблема — вы должны вручную править файлы темы, чтобы везде изменить адрес rss-фида. К счастью, использование .htaccess позволяет сохранить вам кучу времени и нервов! Не забудьте поправить 6-ю строку, вписав адрес своего фида ;-)

# temp redirect wordpress content feeds to feedburner
<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/Publicwebru [R=302,NC,L]
</IfModule>

2. Удаляем /category/ с адресной строки

По умолчанию, при переходе на категорию в блоге ссылки в адресной строке отображаются примерно так:

http://publicweb.ru/category/wordpress

Как вы можете видеть, слово category в адресной строке не очень то и в тему. Не, я не спорю, может кому-то и нравится, а кто-то просто не заморачивается по данному вопросу, но все же расскажу для тех, кто хочет избавиться от этого назойливого «category».

Предварительно, перед правкой, сделайте бэкап вашего .htaccess файла! Потом откройте и добавьте следующие строку:

RewriteRule ^category/(.+)$ http://www.yourblog.com/$1 [R=301,L]

Сохраните. После этого ваша категория, к примеру, wordpress будет иметь адрес

http://publicweb.ru/wordpress

3. Использвание кеша браузера

Очень хороший способ оптимизировать время загрузки вашего блога — это использование кеша браузера. Ниже приведенный код не ускоряет работу вашего блога, а всего лишь говорит браузеру не забирать по новой элементы страницы, которые уже есть в кеше и не были модифицированы с последнего посещения.

FileETag MTime Size
<ifmodule mod_expires.c>
  <filesmatch "\.(jpg|gif|png|css|js)$">
       ExpiresActive on
       ExpiresDefault "access plus 1 year"
   </filesmatch>
</ifmodule>

4. Сжатие данных

Знаете ли вы, что можно браузеру юзера давать предварительно сжатые данные? Естественно, они на клиентской строне будут вполне успешно расжиматься :-) Код, приведенный ниже, позволит уменьшить вес запрашиваемой странички вашего блога, путем сжатия данных:

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html

5. Редирект с постоянных ссылок на страницу с адресом, содержащим название поста — /%postname%/

Первое, что следует сделать, это залогиниться в админке WordPress, перейти в раздел Settings (Параметры) → Permalinks (Постоянные ссылки) и выбрать custom (произвольно). Заполните это поле текстом: /%postname%/.

Ваши постоянные ссылки на блоге сечас будут содержать название поста:

http://www.yourblog.com/name-of-the-post

Но как быть со ссылками на ваши посты, которые размещены на других ресурсах? Ответ прост — редиректить со старого адреса на новый. Добавьте в ваш .htaccess файл следующее:

RedirectMatch 301 /([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ http://www.domain.com/$4

6. Запрещам комментирование постов пришедшим из ниоткуда

Знаю, как вам осточертело ежедневно выгребать из админки тонны спама. Конечно, его прекрасно ловит акисмет и не пускает на блог, но… маленький трюк с .htaccess отсеет часть спамерских комментов. Не секрет, что большинство спама оставляется богами, которые приходят к вам ниоткуда. Имеется база блогов, и он по этой базе пробегается и захламляет имеющиеся в ней блоги. Как это ниоткуда? А так — нет реферера, ресурса с которого пришел человек. Следующий код будет смотреть откуда пришел к вам человек, и если с луны — то будет устанавливаться запрет на коментирование путем закрытия доступа к wp-comments-post.php.

Не забудьте поменять 4-ю строку :-)

RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

7. Редирект посетилей на страничку вроде «Ремот! Зайдите позже!»

Когда вы апгрейдите свой блог или делаете какие-то изменения в теме или дизайне, крайне нежелательно чтобы посетители видели ваши промежуточные результаты изменений. Ошибки, что-то поехало, что-то приехало и т.д.

Решение просто как дважды два. Создаем страничку с уведомлением, что блог пока отдыхает и с просьбой зайти попозже и редиректим всех посетителей на нее. Главное, не забыть после ремонта убрать редирект :-)

Замените maintenance.html (строка 2) на название страницы, куда бы вы хотели редиректить своих посетителей. На строке 3 укажите свой IP-адресс для доступа. Узнать его можно здесь

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

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

8. Защити свой блог от хотлинкинга!

Хотлинкинг — это использование картинок, расположенных на вашем сервере, на других ресурсах. Например, я выложил у себя на блоге красивое фото. А другие блоггеры вместо того, чтобы скачать его и залить себе, просто указывают ссылку на вашу картинку. Так что если нет желания делиться с кем-то, следующий код для вас:

RewriteEngine On
#Replace ?mysite\.com/ with your blog url
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
#Replace /images/nohotlink.jpg with your "don't hotlink" image url
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

9. Разрешаем доступ к админке только с вашего IP-адреса

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

Вам надо ввести свой айпи-адрес в строке 8. Не забывайте, что можно дополнительно указывать адреса путем добавления новых строк по маске allow from xx.xx.xxx.xx

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Example Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
allow from xx.xx.xx.xx
</LIMIT>

10. Бан злостных спамеров с помощью .htaccess

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

Просто замените айпи-адресс в строке 3 на айпишник спамера. Вы можете добавлять новые адреса путем добавления строк по маске deny from xxx.xx.xxx.xxx

<Limit GET POST>
order allow,deny
deny from 200.49.176.139
allow from all
</Limit>

_____
Постовой:
Захотелось сладкой жизни и попали в беду — Лечение наркомании