10 dicas de .htaccess para ‘Tunar’ seu WordPress!

Achei que fosse interessante passar para vocês alguns conhecimentos interessante sobre .htaccess que podem ajudar muita gente com a segurança e funcionamento do blog.
Cuidado sempre que for mexer no arquivo .htaccess do seu site tenha um Backup, porque pode causar sérios problemas para o funcionamento.

1- Modificando a página de Feeds do seu site para a do FeedBurner

Eu acho essa dica muito interessante, porque hoje em dia quem não usa o FeedBurner… O grande problema é ficar editando os temas manualmente porque a url do feed é a do FeedBurner não a do seu site. Esse pequeno Hack, vai te salvar algum tempo.

Ahh, e não se esqueça de moficar a linha 5 antes de adicionar esse código!

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{HTTP_USER_AGENT} !FeedBurner    [NC]
 RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
 RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds2.feedburner.com/webord [R=302,NC,L]
</IfModule>

2 – Removendo a /category/ do seu blog

Por padrão os links do wordpress aparecem desta forma:

http://webord.net/category/noticias/

Como você pode ver a parte category nesse link é inútil, então vamos retirar:
Basta adicionar essa linha em seu código:

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

Uma vez salvo será exibido desta forma:

http://webord.net/noticias/

3 – Usando um pouco do Cache do Browser

Acho que uma coisa que normalmente come um pouco de banda do seu site são as imagens e JS, então essa modificação força esses tipos de arquivos a serem salvos pelo Cache do seu Browser até que sejam modificados.

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

4 – Porque não fazer uma compressão dos dados estáticos?

Bom é possível através do .htaccess fazer com que os dados estáticos, como por exemplo, arquivos de Java Script, .css, XML e outros, serem comprimidos, e o navegador vai descomprimi-los em Client Side, assim te poupando vários KiloBytes, que fazem a diferença na hora de carregar uma página.

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 – Redirecione os links antigos para os com o nome do artigo

Primeiramente, vá ao seu painel de controle em Settings → Permalinks e selecione o campo ‘Custom’. Preencha o campo com /%postname%/.
Agora os links se parecerão com este abaixo:

http://www.seublog.com/nome-do-artigo

Agora nós temos que redirecionar todos os links antigos para os novos, usando a estrutura antiga. Para faze-lo, vá ao seu arquivo .htaccess e coloque os seguintes códigos:

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

6 – Uma proteção a mais contra Bots indesejados!

Bom, blogs grandes tem uma tendência a receber ‘alguns poucos’ spans por dia, mas isso não é nada interessante, e só é possível pois os bots tem acesso ao seu arquivos wp-comments.php, com este hack não será possível acessar este arquivo caso não seja diretamente referenciado de seu site raiz. Basicamente irá verificar de onde esse usuário vem e se não for de seu site será impossível comentar.

Não esqueça de modificar a linha 4 para funcionar

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 – Está com problemas no blog, redirecione todos os usuários!

Bom normalmente quando você quer fazer uma grande modificação no seu blog você quer fazer todas as modificações sem que ninguém veja como está ficando antes de terminar. Então o que é legal é fazer uma página de manutenção e redirecionar todos os visitantes para esta página enquanto você não termina.
Para modificar a página para onde será redirecionado, modifique manutencao.html (linha 2) na linha 3 coloque seu próprio IP para que você não seja redirecionado também.
Só de lembrança um redirecionamento 302 é usado, para que os engines de indexação não peguem a sua página de manutenção, ao invés de sua página real.

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

8 – Pra que alguns engraçadinhos não usem sua banda!

Esse código tem como intúito ajudar quem tem blogs que tem suas imagens ‘roubadas’. É bem simples ele mostra uma imagem a sua escolha para quem fizer Hotlinking das suas imagens.

RewriteEngine On
#Replace ?seusite\.com/ modifique com a URL do seu blog
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?seusite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
#Replace /images/nohotlink.jpg modifique com o caminho para a imagem de não roube!
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

9 – Permitindo apenas o seu IP para a adminstração

Só irá funcionar caso você tenha IP estático. Bom a exceção de blogs colaborativos, só você deve acessar o diretório Wp-admin.
Tudo que você tem que fazer é colocar seu IP estático na linha 8. Para colocar mais IPs caso seja necessário, bata adicionar uma nova linha: 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 – Banindo um spammer chato pelo .htaccess

Como todos nós sabemos SPAM é o capeta na terra. Se algum infeliz ficar fazendo spam no seu site, basta bloquear este adicionando esse código no .htaccess do seu blog.
Simplesmente modifique o IP na linha 3. Você pode adicionar mais spammers na lista colocando apenas mais uma linha com:: deny from xxx.xx.xxx.xxx

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

, , , , , ,

Comentários (5)

  1. Gustavo,

    inseri o AddOutputFilterByType DEFLATE pra fazer a compressão porém o Yslow continua dizendo que meus arquivos .js precisam ser compressados.

    É necessário fazer algo mais pra que ele de fato funcione?

    Grato

    • Olá Dhony Silva,

      O grande problemas é que muitos servidores não permitem o uso do método deflate por questões de performance e uso de memória.

      Se você quiser uma dica eu diria que a MediaTemple.net é a melhor para desenvolvimento, este blog não está lá. Mas onde desenvolvo os meus freelas, sim.

      Até,

      • Gustavo,

        no dia seguinte a compressão já estava funcionando. Acredito que leva algumas horas até ele funcionar.

        Valeu a dica do MediaTemple.net

        Grande abraço!

  2. Olá Gustavo,

    fiquei com uma dúvida no “8 – Pra que alguns engraçadinhos não usem sua banda!”

    Minhas imagens fica no wp-content/uploads/2011/MES (pode ser /01, /02, /03…)

    É esse o caminho que eu devo utilizar para que não copiem minhas imagens?

    E o meu endereço, devo colocar o www? Meu site é .br, coloco .com.br ou .com/.br?

    Como ficaria esse código para ser inserido no htaccess?

Deixar uma Resposta

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>