Existem muitos plugins de cache com uma ampla gama de parâmetros e funções -
sem uma análise cuidadosa, é impossível fazer uma escolha competente . Depois de navegar na Internet, não encontrei comparações realmente normais. Existem apenas posts apenas para atrair a atenção - descrições de plugins. Coisa comum é pulsos de SEO, por assim dizer. Eu até vi uma tentativa de realizar uma análise comparativa dos três plug-ins, mas nada foi fornecido além de medir a velocidade do download através do serviço online. Mas como tudo está organizado por dentro, o que a otimização influencia não é dito. Afinal, cada site é individual - você ainda precisa de um ajuste fino - precisa entender o princípio de operação para a melhor escolha.
Este artigo foi criado simultaneamente com a criação do
material , cuja ênfase está no uso dos resultados da análise. Aqui,
quero compartilhar mais detalhes e métodos dessa análise com pessoas e irmãos sofisticados da loja.
Princípios
O WordPress consiste em muitos scripts PHP. Cada vez que você acessa o site (servidor), parte dos scripts é executada e o resultado é gerado na forma de uma página HTML. A principal idéia da otimização é economizar tempo, emitindo um resultado imediatamente finalizado para raramente alterar o conteúdo.
Devido à urgência do problema, muitos plug-ins de cache já foram gravados e novos aparecem. Além disso, como nunca quero pagar muito, foi realizada uma análise comparativa apenas de soluções gratuitas e de shareware.
As
principais propriedades que o plug-in deve ter para garantir o armazenamento em cache de alta qualidade são
destacadas :
- Cache do servidor (cache do lado do servidor)
- Tempo de carregamento da página
Um dos parâmetros mais importantes. Quanto menor o tempo, mais rápido o cliente recebe a resposta. É claro que você pode escolher um plug-in com muito tempo, mas com altas cargas no servidor, você terá que aumentar o desempenho do hardware, e esses são custos que poderiam ser evitados. - Método de cache
Preservação máxima de todos os objetos HTML, JS, CSS preparados, de preferência também em um estado compactado, para economizar tempo de processamento no servidor e aumentar a velocidade da saída.
- Cache do cliente
- Ao emitir o resultado, é possível gerenciar o cache do navegador do cliente. Quando ativada, uma solicitação repetida para o servidor nem chega, o que afeta favoravelmente seu desempenho. É indicado na forma de valores TTL (Time To Live) para cada tipo de objeto (HTML, CSS, JS, Imagens, ...). Para objetos críticos, os valores são pequenos ou iguais a 0.
- Otimizar
- Combinar
Carregando um JS comum (ou CSS) em vez de vários, como todo acesso adicional ao servidor é caro. Isso também é indicado diretamente pelo Teste de velocidade da página do Google . - Inline (inclusão)
O conteúdo do CSS é inserido no HTML, o que reduz o número de chamadas para o servidor. CSS é melhor incluir porque na prática, é difícil dividi-lo nas partes necessárias e não tão. - Adiar (download atrasado)
Carregamento atrasado de scripts JS que não afetam a exibição inicial da página. Também a métrica mais importante que afeta a velocidade de carregamento da página para o usuário. JS é melhor adiar do que incluir diretamente no HTML, pois eles geralmente são simples de separar e a inclusão implicará um aumento no volume de HTML, o que pode levar ao carregamento de várias iterações, o que equivale à aparência de consultas adicionais. - Minify
O conteúdo HTML, JS e CSS geralmente possui partes extras, como espaços, quebras de linha e comentários. É melhor remover tudo isso para reduzir ainda mais o tamanho dos objetos. - Comprimir
Compactação de dados usando o algoritmo GZip (Deflate) para reduzir a quantidade de dados transferidos. Porque HTML, JS e CSS são essencialmente formatos de texto, eles compactam bem.
- Gerenciar
- Atualizar (atualizar)
No caso de o objeto solicitado ser alterado (por exemplo, um novo artigo foi adicionado), o objeto no cache precisa ser recriado, caso contrário, informações irrelevantes serão enviadas aos usuários. Bons plugins são configurados para atualizar automaticamente o cache nos eventos mais óbvios. E sempre deve ser possível liberar todo o cache manualmente. É como um guindaste de parada em um trem - muito raro, mas necessário. - Excluir (adicionar exceções)
Às vezes, você precisa excluir alguns objetos e páginas do cache para corrigir problemas. Deve haver controle suficiente sobre isso.
Comparação de plugins
Para compilar a lista real sob investigação, a seleção de plugins foi feita através do conhecido
wordpress.org, com uma busca pelo cache de palavras e uma seleção dos primeiros 140 (10 páginas) adequados. Acabou por 24.
A propósito, se você acha que algum plug-in digno não está na lista - por favor, escreva nos comentários - eu os adicionarei à análise posteriormente.
Metodologia
- Todos os testes foram realizados na mesma página HTML contendo CSS, JS e vários objetos de mídia para cobrir o intervalo mais geral de tipos.
- As verificações de funcionalidade foram feitas para cada critério acima e resumidas em uma tabela.
- Cada critério recebe o peso da importância de influenciar a pontuação geral (eles são visíveis na tabela detalhada em anexo).
- A medição do tempo de carregamento da página foi feita primeiro sem otimização, depois houve uma medição com cada plug-in e uma comparação relativa dos tempos foi feita. Isso garante independência suficiente da velocidade de hospedagem.
- O ambiente é o mais recente:
- WordPress 4.9.8,
- PHP 7.2.10 com cache ativado (OpCache),
- MariaDB (MySQL) 10.3.9,
- Apache 2.4.35.
Cada critério foi verificado usando o navegador Chrome:
- Na seção de depuração, pressionando F12 na seção Rede, os horários dos diferentes estágios de carregamento e os cabeçalhos HTTP das respostas do servidor são claramente visíveis para verificar o controle e a compactação do cache do navegador. Você também pode ver a união de CSS e JS em um ou mais arquivos.
- Usando o View Page Source, no botão direito, a análise do conteúdo retornado foi realizada com a inclusão de CSS, a qualidade da minificação (apenas HTML, JS, CSS) e sinais de carregamento atrasado de scripts JS (atributos defer ou assíncronos devem estar presentes na descrição do link da tag para o script).
- O carregamento atrasado de JS também foi verificado para manter a integridade do site, pois O Teste de velocidade da página do Google pode mostrar que tudo é legal e os scripts não estão funcionando.
Resultados
O principal resultado da análise é uma
tabela XLSX detalhada, na qual você pode classificar, filtrar e ver a metodologia para o cálculo dos pesos finais. Ele também contém notas sobre as especificidades do plug-in ao avaliar cada critério.
Cada plug-in recebe funções de acordo com os resultados do teste para a conveniência de entender o espectro de cobertura das propriedades necessárias.
Abaixo estão os resultados resumidos da comparação para entender a imagem geral e a conveniência.
Conclusão
A
tabela resultante permite selecionar plugins de acordo com os critérios necessários e várias combinações para maximizar a cobertura dos critérios necessários. Em suporte a 4 combinações foram selecionadas e testadas (pacote marcado em vez de versão).
Configurações específicas são descritas no material mencionado no início do artigo.
- É melhor usar combinações diferentes de plugins em vez de individualmente.
- Uma classificação geral baixa do plug-in não é um sinal de sua inadequação. Pode ser bom em algumas funcionalidades específicas.
- Alguns plugins são incompatíveis entre si quando combinados.
- Você sempre precisa verificar a operação correta do carregamento adiado do JS - alguns plugins precisam ser configurados adicionalmente e outros ainda interrompem o conteúdo. A tabela contém comentários sobre este tópico.
- E, finalmente, verifique o Teste de velocidade da página do Google (ou outros medidores externos, como PingDom e outros) - em sites diferentes, pode haver resultados diferentes, porque otimizar plug-ins pode se comportar de maneira diferente.