Hospedagem e plugins WordPress

Tornando o WordPress rápido e seguro: uma lista de verificação de desempenho e plugins

O WordPress é tão rápido e seguro quanto o ambiente que o executa. Aqui está o checklist prático que aplicamos a cada site WordPress que hospedamos — o que armazenar em cache, o que proteger e quais plugins realmente valem a pena em comparação àqueles que a plataforma torna redundantes.

O WordPress é tão bom quanto aquilo que o executa

O WordPress move uma grande parte da web porque é flexível, mas essa flexibilidade também é a razão pela qual ele se torna lento e inseguro: uma instalação padrão faz dezenas de consultas ao banco de dados por página, divulga sua versão e stack para qualquer pessoa que consulte e convida você a acumular plugins até que o desempenho e a superfície de ataque aumentem silenciosamente. Nada disso é tanto uma falha no WordPress, mas sim uma consequência de executá-lo em uma infraestrutura que não faz nada para ajudar.

A boa notícia é que as mesmas poucas decisões resolvem a maior parte disso, e são decisões sobre a pilha tecnológica, e não sobre o conteúdo. Faça cache agressivamente na camada certa, mantenha o banco de dados fora do caminho crítico, execute os poucos plugins que realmente justificam sua presença, mantenha tudo atualizado e isole o site para que eventuais problemas fiquem contidos. Esta publicação é essa lista de verificação, na ordem em que a aplicamos a cada site WordPress na plataforma.

Faça cache no servidor, não apenas em um plugin

A maior alavanca individual para a velocidade do WordPress é não executar o WordPress de forma alguma na maioria das visitas. Uma requisição padrão inicializa o WordPress, executa seus plugins e consulta o banco de dados antes de enviar um único byte; um cache de página inteira entrega a página finalizada diretamente do servidor web no próximo acesso, ignorando toda essa inicialização. O local onde esse cache reside faz diferença: um plugin de cache fica dentro do PHP, de modo que o PHP ainda inicializa antes que o cache possa responder, enquanto um cache em nível de servidor responde mais cedo na requisição e mantém as páginas em um formato que o servidor pode limpar instantaneamente.

Cada site WordPress que hospedamos roda no LiteSpeed Enterprise com LSCache em nível de servidor, e nosso próprio plugin de cache conecta o WordPress a ele corretamente desde o início — pré-instalado e atualizado automaticamente, para que seja uma coisa a menos para você configurar ou manter atualizado. Em uma origem que não seja LiteSpeed, o mesmo plugin simplesmente não emite cabeçalhos de página inteira e não interfere enquanto o cache de objetos continua funcionando, de modo que um site migrado nunca fica semi-configurado. A regra prática para a sua própria lista de verificação: um único cache de página inteira, no servidor, e não acumule um segundo plugin de cache por cima — eles entram em conflito.

O cache de objetos e o banco de dados

Nem toda requisição pode ser uma página estática. Sessões autenticadas, a administração, buscas, carrinhos e qualquer fragmento personalizado precisam executar o PHP, e, para esses casos, o objetivo muda de ignorar a aplicação para ignorar o banco de dados. Um cache de objetos por site — Redis, no nosso caso — mantém os resultados de leituras repetidas do banco de dados na memória, de modo que as mesmas opções, transientes e consultas não sejam requisitadas ao banco de dados a cada acesso. O efeito aparece exatamente onde o cache de página inteira não pode ajudar: uma administração mais rápida, carrinhos mais ágeis e uma carga de banco de dados muito menor sob tráfego.

A palavra que importa é por site. Um cache de objetos compartilhado significa que um site movimentado ou mal programado pode expulsar os dados em cache de todos os outros e esgotar o banco de dados para seus vizinhos; um cache dedicado por site, combinado com limites de banco de dados por site, mantém esse raio de impacto contido. Em sua lista de verificação, trate um cache de objetos persistente como obrigatório para qualquer site com usuários autenticados ou uma loja, e tenha cuidado com hospedagens onde ele é compartilhado entre diferentes clientes.

Os plugins que vale a pena executar — e aqueles que a plataforma substitui

Cada plugin que você adiciona é um código executado a cada requisição e uma porta pela qual alguém pode passar um dia; portanto, o objetivo sincero é ter o menor número possível de plugins que façam o máximo. Uma boa hospedagem elimina a necessidade de toda uma categoria deles: com cache no nível do servidor, cache de objetos gerenciado e backups na plataforma, você não precisa de um plugin de cache, de um plugin separado de cache de objetos ou de um plugin de backup — essas tarefas são executadas melhor abaixo do WordPress, e executá-las por cima só adiciona conflitos e sobrecarga.

O que vale a pena manter em execução é o pequeno conjunto que adiciona capacidade real: os plugins de que seu site realmente precisa para funcionar e — em nossa plataforma — os dois plugins de padrão de repositório que criamos e enviamos com cada site. Nosso plugin de cache conecta o WordPress ao cache do servidor e gerencia a limpeza inteligente, para que uma edição limpe apenas as páginas necessárias. Nosso plugin de pegada remove os rastros que uma instalação padrão do WordPress transmite — a versão e a tag de gerador, endpoints de descoberta, XML-RPC, pingbacks e o cabeçalho powered-by — a cada deploy, para que uma atualização de plugin ou tema não possa restaurá-los silenciosamente. Ambos são desenvolvidos de acordo com os padrões do diretório de plugins do WordPress.org, são gratuitos e se atualizam sozinhos.

Mantendo o WordPress seguro e atualizado

A maioria dos comprometimentos do WordPress não é engenhosa; é antiga. Um núcleo, tema ou plugin desatualizado com uma vulnerabilidade conhecida e publicada é a forma mais comum pela qual os sites são atingidos, o que torna manter-se atualizado o trabalho de segurança mais valioso que existe — e o mais tedioso, razão pela qual costuma ser ignorado. A hospedagem gerenciada deve tirar essa responsabilidade das suas mãos: corrigindo a estrutura por baixo do WordPress e tornando as atualizações de núcleo e de plugins seguras para aplicação, fornecendo a você uma cópia de testes para experimentá-las e um backup para restauração.

Além de manter tudo atualizado, espere que os limites sejam rigorosamente aplicados para você: verificação de malware ativada por padrão para que uma infecção seja interceptada em vez de descoberta por um visitante, isolamento para que um site comprometido não afete outro, proteção contra DDoS na borda e TLS em toda parte com certificados renovados automaticamente. Nada disso substitui a higiene básica — credenciais fortes, acesso com privilégios mínimos, remoção de plugins que você não usa mais —, mas significa que a infraestrutura não é o elo fraco. Na sua lista de verificação, a pergunta para qualquer provedor de hospedagem é simples: a segurança é o padrão ou um pacote que você precisa comprar?

O WooCommerce e as páginas que você nunca deve armazenar em cache

Uma loja é onde o cache agressivo obtém sua maior vitória e causa seu pior dano se for ingênuo. As páginas de catálogo, produto e categoria são as páginas de maior tráfego e mais fáceis de armazenar em cache que você possui, e servi-las a partir do cache de página inteira é a melhor coisa que você pode fazer pela velocidade de uma loja. Mas as páginas de carrinho, checkout e conta são pessoais e nunca devem ser servidas a partir de um cache compartilhado — faça isso e um comprador verá a cesta de outra pessoa, o que representa tanto uma loja com defeito quanto uma falha de privacidade.

A maneira de obter ambos é armazenar a página em cache e abrir espaços para as partes dinâmicas. O Edge Side Includes renderiza o fragmento do carrinho, os totais do minicarrinho e o status da conta por solicitação enquanto o restante da página é servido a partir do cache, sendo que o carrinho, a finalização da compra, minha conta e quaisquer páginas de nonce ou sessão são excluídos por padrão. A atualização é gerenciada por uma limpeza automática inteligente que é disparada quando um produto, preço ou pedido é alterado, garantindo que um preço desatualizado nunca permaneça. Se você utiliza o WooCommerce, esta é a parte da lista de verificação que deve ser configurada com total precisão: vitrine rápida a partir do cache, carrinho dinâmico por usuário e nada pessoal armazenado em cache.

Perguntas frequentes

Eu ainda preciso de um plugin de cache como o WP Rocket?

Não. O cache de página inteira é gerenciado no servidor web pelo LSCache do LiteSpeed, nosso próprio plugin de cache conecta o WordPress a ele e gerencia a limpeza inteligente, e um cache de objetos Redis por site fica por trás disso. Adicionar um segundo plugin de cache de página inteira normalmente entra em conflito com o cache no nível do servidor em vez de ajudar, portanto, isso não é necessário nem recomendado.

Quais plugins a plataforma torna desnecessários?

Plugins de cache, plugins separados de cache de objetos e plugins de backup são todos redundantes aqui, pois essas tarefas são executadas abaixo do WordPress — cache em nível de servidor, um cache de objetos gerenciado por site e backups da plataforma. Removê-los reduz conflitos e a superfície de ataque. O que resta que vale a pena manter são os plugins de que seu site genuinamente precisa para funcionar, além dos nossos dois plugins gratuitos de cache e footprint, que já vêm pré-instalados.

O cache causará problemas no meu carrinho do WooCommerce ou nas páginas para usuários conectados?

Não. Carrinho, finalização de compra, minha conta e quaisquer páginas de nonce ou sessão são excluídos do cache por padrão, e o Edge Side Includes mantém o fragmento do carrinho e os totais atualizados em páginas que, de outro modo, seriam armazenadas em cache. Os compradores sempre veem seu próprio carrinho e uma finalização de compra funcional enquanto a vitrine da loja ainda é carregada do cache, e a limpeza automática inteligente limpa as páginas afetadas quando um produto, preço ou pedido é alterado.

Como vocês mantêm o WordPress seguro sem que eu precise gerenciá-lo?

Aplicamos patches na infraestrutura sob o WordPress, tornamos as atualizações de núcleo e plugins seguras para aplicar com ambientes de testes (staging) e restauração em um clique, mantemos a verificação de malware e a proteção contra DDoS ativadas por padrão, isolamos cada site para que um comprometimento não possa se espalhar, e emitimos e renovamos certificados TLS automaticamente. Isso remove a infraestrutura como o elo fraco; a higiene básica, como credenciais fortes e a remoção de plugins não utilizados, ainda cabe a você.

Experimente grátis por 14 dias

Crie seus primeiros sites gratuitamente por 14 dias — sem necessidade de cartão. Vai migrar um site ou uma rede existente? As migrações são gratuitas e ilimitadas.

Comece grátis