Советы по настройке .htaccess для WordPress

Сегодня поговорим о файле .htaccess и всеми любимом WordPress. Однако, рассмотренные в статье советы будут полезны не только пользователям этой CMS, но и других систем управления контентом. Переходим к делу.

Указываем robots.txt

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


 RewriteBase /
 RewriteCond %{REQUEST_URI} !^/robots.txt$ [NC] # если запросили не настоящий robots.txt
 RewriteCond %{REQUEST_URI} robots\.txt [NC] # но запрос содержит robots.txt
 RewriteRule .* http://site.com/robots.txt [R=301,L] # отправляем на нужный robots.txt

Этот код требует наличие mod_rewrite в апаче. Есть еще один вариант, без использования этого мода. С использованием mod_alias:

RedirectMatch 301 ^/(.*)/robots\.txt http://site.com/robots.txt

Оба варианта работают одинаково хорошо :)

Указываем favicon

Фавиконы сканируются многими роботами. Поможем найти им нужную картинку :)
В этом нет ничего сложного. Поступим с фавиконом также как и с robots.txt:


 RewriteEngine On
 RewriteBase /
 RewriteCond %{REQUEST_URI} !^/favicon.ico$ [NC]
 RewriteCond %{REQUEST_URI} /favicon(s)?\.?(gif|ico|jpe?g?|png)?$ [NC]
 RewriteRule (.*) http://example.com/favicon.ico [R=301,L]

Указываем sitemap

Теперь поможем разным посетителям нашего сайта найти карту сайта. Для разнообразия воспользуемся mod_alias:


 RedirectMatch 301 /sitemap\.xml$ http://site.com/sitemap.xml
 RedirectMatch 301 /sitemap\.xml\.gz$ http://site.com/sitemap.xml.gz

Таким образом мы однозначно определим местонахождение карты сайта и ее сжатой копии.

Указываем feed

Идем дальше. Теперь укажем всем желающим нужный адрес рсс фида. Это пригодится, например, для перенаправления своих фидов на feedburner. В этом нам поможет такой код:


 RewriteCond %{REQUEST_URI} ^/feed/ [NC]
 RewriteCond %{HTTP_USER_AGENT} !(FeedBurner|FeedValidator) [NC] # не перенаправляем боты feedburner
 RewriteRule .* http://feeds.feedburner.com/mainContentFeed [L,R=302]

 RewriteCond %{REQUEST_URI} ^/comments/feed/ [NC]
 RewriteCond %{HTTP_USER_AGENT} !(FeedBurner|FeedValidator) [NC]
 RewriteRule .* http://feeds.feedburner.com/allCommentsFeed [L,R=302]


 RewriteCond %{REQUEST_URI} ^/category/wordpress/feed/ [NC]
 RewriteCond %{HTTP_USER_AGENT} !(FeedBurner|FeedValidator) [NC]
 RewriteRule .* http://feeds.feedburner.com/specialCategoryFeed [L,R=302]

Вот и все советы на сегодня. Как Вы уже поняли, они подойдут для любых сайтов. Ну а поскольку этот сайт работает на WordPress, поэтому на него и сделан акцент.

Запись опубликована в рубрике WordPress с метками , , , , . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">