Estratégias para otimizar a velocidade de carregamento do WordPress

estrategia-carregamento-topo

A velocidade de carregamento é um ponto bastante importante para qualquer website ou blog na internet, especialmente para as pessoas que utilizam hospedagem partilhada, que nos dias de hoje é um dos serviços mais baratos que podem ser adquiridos para colocar o seu website online. Então, será uma mais valia para si enquanto proprietário de um website fazer com que o mesmo possa ter um tempo de carregamento reduzido, para que os seus visitantes fiquem agradados com a velocidade e navegabilidade do seu website.

Além disso, a performance de carregamento dos websites é um dos pontos mais importantes a ter em conta quando se idealiza e desenvolve um website. A título de exemplo, o Google ao demorar mais 500 milissegundos a efetuar a pesquisa, perde cerca de 20% de pesquisas! Outro aspecto muito importante é o fato de a velocidade de carregamento de um website ser tido em conta para determinar o rankeamento nos resultados de pesquisa, quer isto dizer que um website lento irá ver o seu rankemanento ser reduzido.

Nem tudo são más notícias, e a verdade é que você pode otimizar os seus websites através de um conjunto de técnicas que iremos explicar ao longo deste artigo, e que irão ser aplicadas no ficheiro .htaccess e no ficheiro header.php. As técnicas que iremos utilizar consistem basicamente em comprimir o conteúdo e permitir a utilização da cache no navegador. Está preparado para passar à ação?

1. UTILIZE A CACHE DO NAVEGADOR

A utilização da cache do navegador é uma técnica que permite que o tempo de carregamento de um website seja drasticamente reduzido ao determinarmos que o navegador deverá manter um determinado conjunto de ficheiros por um determinado tempo. Quando o ficheiro for necessário novamente, o navegador irá buscá-lo à sua cache, não necessitando assim de o baixar novamente do website. Além de reduzir o tempo de carregamento pela não necessidade de baixar determinados ficheiros todas as vezes que um visitante acessa o website, isto também vai fazer com que o tráfego utilizado ao final do mês seja igualmente reduzido pela não necessidade de os visitantes baixarem todos os arquivos do website cada vez que o acessam. Não será demais relembrar que obviamente na primeira vez que um visitante acede o seu website, ainda não haverá ficheiros em cache e o website terá de ser todo carregado pel navegador do visitante, colocando assim alguns ficheiros em cache, permitindo que posteriormente o visitante quando retornar ao website não tenha de esperar tanto tempo pelo carregamento do mesmo.

Introduzir a cache em servidores Apache:

A cache nos servidores Apache é ativada através da utilização dos módulos mod_expires e mod_headers. Em termos básicos o mod_expires determina a validade da cache e o mod_headers determina as diretivas para o controlo dos pedidos e respostas HTTP. Assim, localize o seu ficheiro .htaccess e insira o seguinte código para introduzir o mod_expires:

<ifModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 5 seconds"
    ExpiresByType image/x-icon "access plus 2592000 seconds"
    ExpiresByType image/jpeg "access plus 2592000 seconds"
    ExpiresByType image/png "access plus 2592000 seconds"
    ExpiresByType image/gif "access plus 2592000 seconds"
    ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
    ExpiresByType text/css "access plus 604800 seconds"
    ExpiresByType text/javascript "access plus 216000 seconds"
    ExpiresByType application/javascript "access plus 216000 seconds"
    ExpiresByType application/x-javascript "access plus 216000 seconds"
    ExpiresByType text/html "access plus 600 seconds"
    ExpiresByType application/xhtml+xml "access plus 600 seconds"
</ifModule>

Para introduzir o mod_headers, insira o seguinte código:

<ifModule mod_headers.c>
    <filesMatch "\.(ico|jpe?g|png|gif|swf)$">
        Header set Cache-Control "public"
    </filesMatch>
    <filesMatch "\.(css)$">
        Header set Cache-Control "public"
    </filesMatch>
    <filesMatch "\.(js)$">
        Header set Cache-Control "private"
    </filesMatch>
    <filesMatch "\.(x?html?|php)$">
        Header set Cache-Control "private, must-revalidate"
    </filesMatch>
</ifModule>

Cache em servidores Nginx

A utilização da cache em servidores Nginx pode ser habilitada utilizando um processo bastante mais simples, bastando determinar qual o tipo de ficheiros que pretende manter em cache e durante quanto tempo. Insira o seguinte código no seu ficheiro .htacess:

location ~* \.(jpg|png|gif|jpeg|css|js)$ {
    expires 1h;
}

2. REDUZA O TAMANHO DO BANCO DE DADOS

Este passo pode não ser consensual entre os leitores da Escola WordPress, por isso não vou afirmar que é imperativo seguir este passo, deixarei essa decisão ao seu cargo, tendo você de verificar os prós e os contras da utilização desta técnica. Durante a criação de artigos, o WordPress tem a funcionalidade de autosave, e mesmo depois de o artigo ter sido publicado, é mantida uma revisão do artigo no banco de dados, o que ao fim de centenas ou milhares de artigos, se torna um conjunto de dados que podem ser desnecessários. Assim, é possível desativar as revisões em WordPress simplesmente adicionando a seguinte linha de código ao seu ficheiro wp-config.php:

define('WP_POST_REVISIONS', false );

Em alternativa poderá optar por determinar um X número de revisões por artigo, permitindo assim manter uma revisão do conteúdo. Para isso basta alterar o false para o número de revisões pretendido, como no exemplo abaixo:

define('WP_POST_REVISIONS', 3);

3. COMPRESSÃO DE FICHEIROS

A compressão de ficheiro reduz o tempo de resposta do seu website ao reduzir o tamanho dos ficheiros, sendo assim bastante útil e pertinente que você faça a compressão de ficheiros HTML, ficheiros de script e ficheiros de folhas de estilo. Em jeito de resumo, será sempre útil comprimir qualquer tipo de ficheiro de texto que incluam XML e JSON. Então, seguindo esta linha de raciocínio, os ficheiros de imagem e PDF não deverão ser comprimidos uma vez que já são comprimidos por natureza, e tentar comprimi-los irá apenas utilizar uma determinada carga de processamento do CPU e não irá produzir resultados que valham a pena.

Compressão no .htaccess para servidores Apache:

Existe um módulo para Apache desenvolvido pela Google que é o mod_pagespeed que pode ser utilizado para fazer a compressão de ficheiros. De momento apenas o GoDaddy e Dreamhost suportam esta funcionalidade. Dentro do seu ficheiros .htacess, insira o seguinte código:

<IfModule pagespeed_module>
    ModPagespeed on
    # using commands,filters etc
</IfModule>

Caso você não tenha o seu website hospedado em um dos serviços acima, poderá utilizar um método alternativo que é o mod_deflate. Dentro do seu ficheiro .htacess, insira o seguinte código:

<ifModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript
</ifModule>

Compressão no .htacess para servidores Nginx:

Caso você utilize um servidor baseado em Ngingx, localize o seu ficheiro .htaccess e insira o seguinte código:

server {
    gzip on;
    gzip_types text/html text/css application/x-javascript text/plain text/xml image/x-icon;
}

Compressão no header.php

Se o seu servidor não suportar qualquer um dos métodos descritos acima, a sua alternativa é utilizar uma técnica que consiste em introduzir um script PHP no header.php que irá inserir a compressão de ficheiros, quer o seu website seja baseado em Apache ou Nginx. Então, para isso copie o seguinte código para o ficheiro header.php do seu template:

<?php
if ( substr_count( $_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip' ) ) {
    ob_start( "ob_gzhandler" );
}
else {
    ob_start();
}
?>

4. DESATIVE AS ETAGS

As ETags (entity tags) são um mecanismo que os servidores web e os navegadores utilizar para determinar se o componente que se encontra na cache do browser corresponde ao original. As ETags são adicionadas para fornecer um mecanismo de validação que é mais flexivel que a utilização da data da última modificação, sendo uma string que identifica de forma única a versão de um determinado componente. Então, para desabilitar esta funcionalidade o processo é extremamente simples. Localize o seu ficheiro .htacess e insira o seguinte código:

Header unset ETag
FileETag None

Fonte: Escola Wordpress

Postagens Relacionadas