16 dicas para Otimizar seu WordPress

  • 14 min. de leitura
Foto de Lucas Tavares
otimizar carregamento do site

Otimizar o WordPress coloca seu site a frente da concorrência. É preciso lembrar que a velocidade de acesso e otimização do site são fatores que interferem no ranqueamento do Google e nos demais buscadores.

Além disso, com o WordPress bem otimizado permite ao visitante ter uma melhor experiência de navegação, gerando assim um número maior de visitas e garantindo que passem mais tempo navegando em seu site ou blog.

16 Dicas para otimizar o WordPress

Para deixar seu site WordPress otimizado siga as dicas abaixo:

1. Escolha um melhor serviço de hospedagem

Muitos acham desnecessário investir em um serviço de hospedagem de site de qualidade, mas a verdade é que nenhuma otimização faz milagres. É preciso que o site esteja hospedado em um uma boa hospedagem WordPress para garantir que o site não tenha problemas de indisponibilidade ou lentidões causadas pela empresa de hospedagem.

Ao contratar uma melhor hospedagem WordPress seu site poderá ter um desempenho muito superior se comparado a serviços de hospedagem “convencionais”. Isso acontece porque existem muitas empresas de hospedagem que não oferecem um serviço de qualidade.

2. Utilize um tema bem otimizado

O tema utilizado em seu site tem grande influencia no processo de otimização do WordPress. Eu poderia passar horas falando sobre otimização de scripts CSS e HTML, mas isso é para quem está desenvolvendo um tema.

Para o usuário final o importante é escolher um bom tema que já tenha tudo isso pronto, a final ninguém vai reescrever um tema para otimizá-lo. Então a dica é escolher um bom tema para que não tenha problemas com sites mal otimizados devido a scripts do tema.

Temas que incluem muitos recursos, inevitavelmente, vão ser mais pesados. Então é importante tomar cuidado com temas que simplesmente tem tudo que você precisa e muito mais...

Prefira os temas mais simples, que lhe atenda bem e que seja otimizado. É difícil dizer como analisar se um tema foi desenvolvido de forma otimizada, mas no geral bons desenvolvedores sabem que a otimização precisa ser levada em consideração desde concepção do tema.

3. Otimize as imagens antes de enviá-las

É muito importante que você use ferramentas para compactar as imagens antes de fazer o upload para seu site. É possível reduzir consideravelmente o tamanho das imagens sem perder qualidade.

Particularmente eu prefiro imagens no formato JPEG porque é possível criar imagens de qualidade e bem otimizadas.

Ferramentas de Otimização de Imagens:

TinyPng – Excelente compactador de imagens PNG. Reduz o tamanho sem praticamente perder a qualidade.

JPEG Mini – Excelente compactador para imagens JPEG. Mantém uma boa qualidade.

Compress JPEG – Também excelente para imagens JPEG. Pode perder um pouco da qualidade em alguns casos.

Caso você crie suas próprias imagens através de ferramentas de edição como Photoshop, Gimp e semelhantes, considere salvar as imagens com uma qualidade reduzida. A maioria dos editores conseguem gerar as imagens com tamanhos reduzidos perdendo muito pouca qualidade.

Também é importante não redimensionar as imagens via HTML ou CSS. É muito comum usar uma imagem grande e definir no HTML ou CSS um tamanho menor do que realmente ela possui para caber na página.

Nestes casos é recomendável usar o recurso de redimensionamento do próprio WordPress ou até mesmo um editor de imagens para redimensionar a imagem e colocar ela na página com o tamanho correto.

4. Elimine Plugins Desnecessários

Uma das coisas mais legais do WordPress é o fato de existirem milhares de plugins gratuitos que permitem adicionar recursos extras ao site. É praticamente impossível não usar pelo menos um plugin no site.

Muitos destes plugins adicionam funcionalidades essências para o funcionamento do site, como é o caso dos plugins de SEO. O problema é que acabamos adicionando plugins para adicionar recursos extras que muitas vezes não precisamos ou que não fazem a menor falta.

O importante nesse caso é evitar adicionar plugins que são desnecessários. Certifique-se que você realmente vai precisar dele antes de instalar. Não é para ter medo de adicionar novos plugins necessários para o site. Porém, tenha em mente que cada plugin adicionado vai consumir mais recursos do servidor e, consequentemente, deixar o site mais lento (a diferença pode ser mínima, mas existe). Alguns plugins vão consumir muitos recursos outros poucos, depende das funcionalidades do mesmo

5. Ative o cache do WordPress

O WordPress oferece suporte a plugins de cache, que permitem ao site carregar muito mais rapidamente. Ativar um bom plugin de cache é fundamental para garantir um site bem otimizado.

Com o cache ativado as páginas do site serão armazenadas como arquivos estáticos, evitando assim ter que processar todo o conteúdo e realizar consultas ao banco de dados a cada acesso.

Os plugins de cache reduzem o tempo que o servidor demora para retornar a página. Isso gera uma diferença gritante no tempo de carregamento, porque só depois de carregar o HTML da página que o navegador consegue carregar demais arquivos como scripts e imagens.

Os plugins de cache mais populares são:

6. Remova recursos pesados do site

Ferramentas como GTmetrix e Pingdom Website Speed são muito úteis para fazer uma avaliação completa do site e mostrar os recursos que mais estão impactando no tempo de carregamento.

Plugins de redes sociais costumam carregar um número demasiado de scripts e arquivos CSS, quase sempre mal otimizados, que geram um grande impacto para o carregamento do site.

Existem outros tipos de recursos e plugins que podem pesar num site. É preciso fazer uma análise usando alguma das ferramentas citadas anteriormente para detectar o que mais está pensando no site e, quando possível, proceder com a remoção do mesmo.

7. Mantenha tudo atualizado

Desempenho é uma preocupação global, principalmente quando falamos de desenvolvedores. Os criadores de plugins e temas fazem melhorias constantes que visam oferecer um desempenho melhor (se não fazem, deveriam!).

A cada nova versão a tendência é que esteja melhor otimizado. O Feedback dos usuários contribui bastante para que eles se preocupem em melhorar seus produtos (plugins ou temas). Por causa dessa constante busca por um melhor desempenho é aconselhável manter o WordPress, plugins e temas sempre atualizados.

Além da questão do desempenho existe também a segurança. Um site com todos os componentes atualizados para a última versão é muito mais protegido contra invasão de hackers. Outro motivo para sempre manter tudo atualizado são as correções rotineiras de bugs feitas pelos seus desenvolvedores.

8. Faça uso de CDN

Os CDNs ou Redes de Fornecimento de Conteúdo (Content Delivery Network) são uma excelente alternativa para deixar os sites mais rápidos. Com eles os arquivos (imagens, estilos, vídeos e etc) são distribuídos através de servidores localizados ao redor do mundo.

cdn ilustração com mapa

Deste modo é possível diminuir o tempo de resposta, pois é automaticamente selecionado o servidor mais próximo do usuário para fornecer o conteúdo. A distância física entre o computador do usuário e o servidor é sempre a menor possível, aumentando assim o desempenho de carregamento do site.

9. Aproveite o cache do navegador

Habilitar o cache do navegador pode ajudar a otimizar o carregamento do site, pois quando ativado, arquivos como imagens, scripts, estilos e outros arquivos estáticos são armazenados localmente no computador do usuário que acessa o site. Além disto, a ativação do cache ajuda a diminuir o número de solicitações ao servidor, pois muitos arquivos ficam armazenados em cache.

O plugin W3 Total Cache permite habilitar o cache do navegador. Também é possível habilitar através do arquivo .htaccess adicionando o seguinte código:

<ifmodule mod_expires.c="">
ExpiresActive on
ExpiresDefault "access plus 1 hour"
# CSS
ExpiresByType text/css "access plus 15 days"
# Data interchange
ExpiresByType application/atom+xml "access plus 1 hour"
ExpiresByType application/rdf+xml "access plus 1 hour"
ExpiresByType application/rss+xml "access plus 1 hour"
ExpiresByType application/json "access plus 5 seconds"
ExpiresByType application/ld+json "access plus 5 seconds"
ExpiresByType application/schema+json "access plus 5 seconds"
ExpiresByType application/vnd.geo+json "access plus 5 seconds"
ExpiresByType application/xml "access plus 5 seconds"
ExpiresByType text/xml "access plus 5 seconds"
# Favicon and cursor images
ExpiresByType image/vnd.microsoft.icon "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"
# HTML
ExpiresByType text/html "access plus 1800 seconds"
# JavaScript
ExpiresByType application/javascript "access plus 1 week"
ExpiresByType application/x-javascript "access plus 1 week"
ExpiresByType text/javascript "access plus 1 week"
# Media files
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType image/bmp "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType image/webp "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/ogg "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"
# Web fonts
# Embedded OpenType (EOT)
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
ExpiresByType font/eot "access plus 1 month"
# OpenType
ExpiresByType font/opentype "access plus 1 month"
# TrueType
ExpiresByType application/x-font-ttf "access plus 1 month"
# Web Open Font Format (WOFF) 1.0
ExpiresByType application/font-woff "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType font/woff "access plus 1 month"
# Web Open Font Format (WOFF) 2.0
ExpiresByType application/font-woff2 "access plus 1 month"
# Other
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType text/x-cross-domain-policy "access plus 1 week"
</ifmodule>

O arquivo .htaccess encontra-se na pasta raiz da instalação do WordPress. O código do WordPress deve ser mantido.

10. Ative a compressão Gzip/Deflate

A compactação Gzip/Deflate permite diminuir os tamanhos dos arquivos compactando-os antes de transferi-los. Ela atua na comunicação entre o navegador e o servidor do site, compactando todos os pacotes antes de enviar para o navegador. Com a utilização do Gzip/Deflate é possível reduzir o consumo de banda do servidor e otimizar o carregamento do site. Quase sempre é necessário ativar manualmente essa opção.

Para ativar o modo deflate (sucessor do Gzip) é necessário adicionar o seguinte código ao arquivo .htaccess:

<ifmodule mod_deflate.c="">
<ifmodule mod_headers.c="">
Header append Vary User-Agent env=!dont-vary
</ifmodule>
AddOutputFilterByType DEFLATE text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon application/json
<ifmodule mod_mime.c="">
<h1>DEFLATE by extension</h1>
AddOutputFilter DEFLATE js css htm html xml
</ifmodule>
</ifmodule>

11. Arquivos CSS no header e JavaScript no footer

Essa dica é muito útil, principalmente, para desenvolvedores e editores de temas. Não é apenas para WordPress, mas sim qualquer site. Os arquivos CSS devem ser chamados no header site, pois assim ele é carregado antes de ocorrer a renderização do site.

O navegador aguarda o carregamento de todos os arquivos do Header para começar a criar e “desenhar” os elementos do site. Por isso os arquivos JavaScript devem ser carregados, preferencialmente, no rodapé do site ou outro lugar dentro da tag BODY. Desta maneira, o navegador não precisa esperar baixar os arquivos JavaScript para renderizar o site.

12. Otimize a base dados

Com o passar do tempo muitos dados são gravados no banco de dados. Isso gera índices pesados e mal otimizados. O banco de dados MySql tem um comando chamado OPTIMIZE que serve justamente para otimizar esses índices e o armazenamento de dados, deixando a leitura e gravação de dados muito mais veloz.

É possível rodar esse comando através do PhpMyAdmin, basta abrir a base dados, selecionar todas as tabelas e clicar em “Optimizar tabela”. Desse modo todas as tabelas da base de dados serão otimizadas.

Outro problema é que o WordPress armazena muita informação que deixa o banco de dados pesado, mas que não fazem a menor falta. As revisões de posts chegam a aumentar o tamanho do banco de dados em até 90%. É muito comum a tabela wp_posts ser extremamente pesada por causa delas. E por ser a tabela mais importante acaba influenciando na velocidade de acesso ao site.

O plugin WP-Optimize pode reduzir drasticamente o tamanho do banco de dados removendo justamente esses posts que o WordPress salva automaticamente enquanto você está fazendo uma edição. Outra vantagem é que esse plugin também executa o comando OPTIMIZE para cada uma das tabelas.

13. Lazy Load

Lazy Load é um recurso com funcionamento bastante simples, porém que faz o site carregar muito mais rapidamente. As imagens são sempre os elementos mais pesados e que mais impactam no tempo de carregamento do site.

Pensando nisso foi criando o recurso chamado Lazy Load (carregamento preguiçoso, em português). Com ele as imagens e iframes fora do campo de visão do usuário são carregados apenas quando a página é rolada. Tudo isso ocorre de forma imperceptível para o visitante do site.

Para nossa sorte, em 31 de março de 2020 foi lançada a versão 5.4 do WordPress que inclui por padrão esse recurso de carregamento preguiçoso. No caso ele utiliza o atributo “loading” do HTML, que é compatível apenas com as versões mais recentes dos navegadores (compatibilidade com 72,9% dos usuários, segundo dados do Can I use) e não funciona no Safari.

Caso você deseja aumentar ainda mais a compatibilidade e estender esse recurso aos utilizadores do Safari, é possível instalar o plugin a3 Lazy Load que utiliza JavaScript para renderizar as imagens e funciona em praticamente todos os navegadores.

14. Não utilize o avatar do WordPress

Por padrão o WordPress tem uma funcionalidade de exibir o avatar do autor. Essa imagem costuma ter um grande impacto no tempo de carregamento da página, visto que o carregamento dessas imagens costuma demorar bastante.

Não há necessidade de desabilitar o avatar do WordPress. O plugin Simple Local Avatars tem um funcionamento bem simples e permitir selecionar uma imagem do seu servidor como avatar do seu usuário.

As imagens dos comentários vão continuar sendo exibidas de um servidor externo, porém, como nem toda página vai ter comentários e, mesmo que tenham, eles sempre ficam na parte de baixo da página, o Lazy Load vai fazer o trabalho de carregar as imagens conforme o usuário rola a página, sem gerar impacto no tempo de carregamento da página.

15. Remova comentários de spammers

Recentemente pegamos um caso de um site que estava bastante pesado devido a milhares de comentários realizados por spammers. Comentários em inglês acompanhando de um link quase sempre se trata de spam.

Não é a primeira vez que ao otimizar um site percebemos que os comentários estão inflando o banco de dados e também aumentando consideravelmente o tamanho da página com textos (comentários). Sem falar que isso prejudica o SEO do site por conta da irrelevância do comentário e dos links apontando sempre para sites de baixa qualidade.

16. O que não fazer para otimizar seu site

Existem algumas coisas que simplesmente é perca de tempo na hora de otimizar um site. Por desconhecimento, as pessoas acabam se guiando por tutoriais que mandam fazer coisas que não servem para absolutamente nada além de bagunçar o site e fazer perder seu tempo.

Remover funções do WordPress

Você vai encontrar tutoriais na internet mandando substituir a função bloginfo('name') pelo nome do site e fazer outras coisas desse tipo. Não faça isso! Pura perda de tempo. Isso teria uma diferença insignificante e ainda causa uma bagunça no site. Com cache ativado isso se torna totalmente inútil.

Adicionar a função flush()

Outra dica que eu vi por aí é a respeito de chamar a função flush() para fazer com que o header do site seja carregado mais rapidamente. Teoricamente a ideia é boa e até funcionaria, mas isso não vai funcionar...

O cache do WordPress é estático, portanto, não terá esse processamento do PHP. Logo, a chamada do flush() não terá efeito, sobretudo porque a compactação Gzip tem seu próprio “flush”.

Conclusão

É possível ter um site WordPress otimizado fazendo pequenas alterações e com uma hospedagem de sites de qualidade. Por mais que você tenha um excelente site é preciso haver uma constante preocupação com a otimização do mesmo.

Os temas também podem influenciar bastante na otimização dos sites, por esse motivo, escolha o seu com muito cuidado. Nos próximos artigos falaremos mais sobre otimização de sites WordPress.