10 truques úteis de segurança e desempenho para o .htaccess do seu site WordPress

Muita gente que trabalha com Internet ou mexe bastante com servidores já deve ter se deparado com o arquivo .htaccess. Para quem não sabe, esse arquivo é responsável por configurações no servidor Apache. O WordPress trabalha com .htaccess para melhorar diversas coisas em seu funcionamento, tais como URLs amigáveis e segurança.

Hoje traremos algumas dicas úteis para usar no arquivo .htaccess do seu site. Esse arquivo normalmente está localizado na raiz do seu WordPress. Pode acontecer de não existir, bastando criar o arquivo com esse nome em um editor de texto comum e enviá-lo ao servidor.

1. Protegendo o wp-content

Quando um site é atacado por um invasor, o diretório wp-content é um dos primeiros alvos. Nele estão os plugins e temas e mídias enviadas, ou seja, o funcionamento do site depende muito do conteúdo deste local. Podemos proteger o diretório wp-content usando o .htaccess com o seguinte trecho:

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

2. Protegendo o wp-config.php

Um dos arquivos mais importantes em todo o sistema do WordPress é o wp-config.php. Nele encontramos dados como nome, usuário, senha e servidor para acesso ao banco de dados, informações triviais para o funcionamento do site e que deve ficar bem longe de qualquer pessoa mal intencionada. O seguinte código adicionado ao .htaccess ajuda a proteger o wp-config.php.

<files wp-config.php>
order allow,deny
deny from all
</files>

3. Protegendo o próprio .htaccess

Proteger o próprio arquivo .htaccess é muito importante. Abaixo temos um trecho de código que pode ser adicionado nele próprio para garantir sua integridade.

<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</files>

4. Acesso ao wp-admin para IPs liberados

O painel administrativo do WordPress nos dá a liberdade de fazer muita coisa, seja para o bem ou para o mau. Então, para garantir que a área esteja sempre segura, podemos restringir o acesso somente a um endereço de IP. O código a seguir faz exatamente isso (altere o endereço IP):

<limit GET POST PUT>
order deny,allow
deny from all
allow from 192.168.000.000
<lLimit>

5. Protegendo o site contra hotlinks

Uma atitude que muitos blogueiros/webmasters tomam que é prejudicial para outros sites é hotlinks. Isso é nada mais que utilizar uma imagem ou vídeo de um site em outro endereço, usando um link direto à mídia de seu servidor, consumindo banda (que pode ser limitada dependendo do servidor utilizado). A seguinte dica para .htaccess do WordPress fará com que ninguém consiga fazer hotlinks de seu site (altere a URL do site):

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?www.bloglite.net [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]

6. Forçar uso de cache do browser

O tempo que seu blog leva para ser carregado no navegador do usuário é muito importante. Há medidas que podem ser tomadas tanto para o servidor quanto para o cliente para acelerar o carregamento, e o uso de cache do navegador do usuário é uma delas. O seguinte trecho para ser usado no .htaccess irá habilitar essa funcionalidade para você ganhar alguns milissegundos:

<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>

7. Redirecionar os feeds para FeedBurner

Por padrão o WordPress gera feed dos seus posts, porém, muita gente utiliza serviços de terceiros, como o FeedBurner, considerado por muitos o melhor disponível no mercado. Para substituir os feeds padrões pelos endereços do FeedBurner, o seguinte truque pode ser usado no .htaccess do seu site (alterar seu usuário):

<IfModule mod_alias.c>
RedirectMatch 301 /feed/(atom|rdf|rss|rss2)/?$ http://feedburner.com/seu-usuario/
RedirectMatch 301 /comments/feed/(atom|rdf|rss|rss2)/?$ http://feedburner.com/seu-usuario/
</IfModule>

8. Remover o www da URL

Por questões de otimização para motores de buscas, podemos não utilizar o www nos endereços das páginas do site em WordPress. Caso precise redirecionar todas as páginas com www automaticamente para os endereços sem www, o seguinte código no .htaccess pode ser útil (lembre-se de alterar seu domínio):

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.bloglite.net$ [NC]
RewriteRule ^(.*)$ http://www.bloglite.net/$1 [L,R=301]

9. Forçar compressão com gzip

Outra forma de reduzir o tempo de carregamento e de resposta das páginas do seu site é usando compressão dos dados transmitidos entre o servidor e o cliente. Usando a seguinte dica você já terá alguns benefícios com velocidade:

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

10. Adicionar UTF-8 aos arquivos

Para não ter dor de cabeça com codificação, podemos forçar o uso de UTF-8 (ou outra codificação) para todos os arquivos HTML do nosso site, até mesmo se você esquecer de utilizar a metatag de charset no <head>. Segue a dica:

<FilesMatch "\.(htm|html|css|js)$">
AddDefaultCharset UTF-8
</FilesMatch>
Essas são algumas dicas que podem melhorar ainda mais nosso uso com WordPress. Há muitas outras possibilidades para o uso com .htaccess, mas esses 10 truques são excelentes para resolver alguns problemas que possamos ter. Conhece outras dicas? Deixe um comentário para a comunidade!

2 comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *