Os plugins de cache possuem a função de gerar páginas estáticas HTML a partir das páginas dinâmicas do site. Seu objetivo é diminuir drasticamente o tempo de carregamento da página, a sobrecarga do processador e reduzir a quantidade de acessos ao banco de dados. Existem vários plugins de cache para WordPress, porém o WP Super Cache é o mais recomendado e consequentemente mais utilizado, por esse motivo resolvi escolhê-lo para exemplificar este pequeno tutorial.
Antes de instalar o plugin é necessário verificar se o seu servidor Apache possui instalado os módulos mod mime e mod rewrite (entre em contato com o suporte da sua hospedagem caso você não saiba) e os permalinks configurados no modo personalizado (URL amigável). Despois destas verificações é hora de instalar o plugin, primeiro faça o download, descompacte-o e envie por FTP para a pasta wp-content/plugins do servidor. Em seguida acesse a página Plugins na administração do WordPress e ative o plugin. Agora clique no menu Configurações -> WP Super Cache, escolha a opção ON em WP Super Cache Status e por último clique no botão Update Status. Feito isso, verifique se foi criado o arquivo .htaccess na raiz do servidor com o seguinte conteúdo:
-----------------.htaccess-----------------
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{HTTP_COOKIE} !^.*(comment_author_|wordpress|wp-postpass_).*$
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz -f
RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz [L]
RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{QUERY_STRING} !.*attachment_id=.*
RewriteCond %{HTTP_COOKIE} !^.*(comment_author_|wordpress|wp-postpass_).*$
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html -f
RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
-----------------.htaccess-----------------
Verifique também se foi criado o arquivo wp-content/cache/.htaccess com o seguinte conteúdo (caso não tenha sido criado, faça-o manualmente):
# BEGIN supercache
<IfModule mod_mime.c>
AddEncoding gzip .gz
AddType text/html .gz
</IfModule>
<IfModule mod_deflate.c>
SetEnvIfNoCase Request_URI \.gz$ no-gzip
</IfModule>
<IfModule mod_headers.c>
Header set Cache-Control 'max-age=300, must-revalidate'
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/html A300
</IfModule>
# END supercache
Pronto, se não foi exibida nenhuma mensagem de erro, o plugin de cache já estará funcionando perfeitamente. De agora em diante sempre que um visitante acessar uma página pela primeira vez será gerado um arquivo HTML, para todos os demais visitantes que acessarem esta mesma página será exibida a versão HTML, porém existe algumas condições, o visitante:
- Não estava logado;
- Não escreveu um comentário;
- Ou não acessou uma página protegida por senha.
Pode parecer restritivo, mas 99% dos visitantes não faz nenhuma destas ações e é por isso que o plugin torna-se tão eficiente!
Caso tenha ocorrido algum erro durante a instalação do plugin recomendo você dar uma olhada na seção Troubleshooting na página do plugin e/ou utilizar nosso fórum.