Quais são as melhores práticas para usar um plug-in de cache em um host compartilhado?

29

Lancei um site bastante grande no outro dia e gostaria de incorporar um plug-in de cache. A configuração é de site único, com alguns recursos do Buddypress misturados (para registro do usuário, mapas com gpress, tendo um perfil) em execução em um host compartilhado.

Minhas perguntas são:
1. Qual plugin você considera melhor para o cache, dada essa configuração e por que (se possível)?
2. Quais são as práticas recomendadas e as etapas que devo tomar / considerar durante a instalação para garantir que tudo esteja funcionando?
3. O transientsque eu adicionei ainda pode ser usado ou devo removê-los e deixar o plug-in? eles entrarão em conflito se não forem removidos?

Obrigado!

ADIÇÃO: Plano 'Power' em http://www.inmotionhosting.com/hostingplans.html

Amit
fonte
Você pode fornecer detalhes de servidor ou hospedagem?
Chris_O

Respostas:

24

Em planos de hospedagem compartilhada, suas opções de cache são limitadas.

Você só poderá armazenar em cache estaticamente a saída html de suas páginas. Essa é a maneira mais rápida de veicular páginas, mas você perde os aspectos dinâmicos do WordPress, como fazer comentários e ver os comentários mais recentes nas postagens.

Existem opções de cache de disco disponíveis para objetos e banco de dados, mas, a menos que seu host esteja executando unidades rápidas, você não obterá muito ganho com isso e também poderá causar uma queda no desempenho.

Todos os plug-ins de cache têm uma opção para não exibir páginas em cache para usuários conectados ou qualquer usuário com um cookie de comentário.

Usuários conectados + usuários conhecidos = sem cache

Usuários desconhecidos recebem uma página em cache.

Transientes

Transientes são pequenos pedaços de dados que devem expirar em algum momento. O WordPress armazena transitórios como um cache no banco de dados. Se você tivesse a opção de usar o Memcache, o WordPress manteria os dados transitórios na memória. Os transitórios são bons porque reduzem as pesquisas de banco de dados. Eles também são bons para usar em redes sociais, como exibir seus tweets mais recentes. Isso evita fazer uma chamada para a API do twitter em cada carregamento da página.

O plug-in que usa as melhores práticas de sites de alto desempenho é o W3 Total Cache.

O W3 Total Cache faz mais do que apenas armazenar em cache

W3 Total faz:

  • cache de página
  • cache de objetos
  • cache do banco de dados
  • minificar
  • cache do navegador
  • Integração CDN

Para o seu conjunto de hospedagem compartilhada, você deve ativar o cache da página, minificar, cache do navegador e a opção CDN auto-hospedada.

Configurações de cache da página

Verifique todas as opções para o cache da página

texto alternativo

Pré-carregamento de cache

Ative isso e defina o intervalo de atualização conforme apropriado para o seu site. Isso reconstruirá o cache da página no intervalo especificado.

texto alternativo

Minify Settings

Selecione Reescrever a estrutura do URL e, se você for usar a CDN, verifique o upload automático para que os arquivos recém-minificados sejam automaticamente carregados na CDN.

texto alternativo

Minimizar HTML

Habilite e marque remover quebras de linha, js embutido e minificação de css. Se você estiver usando o adsense ou outro serviço que use comentários, insira-os aqui para evitar que eles sejam minificados.

texto alternativo

Configurações de CSS e JS Minify

No gerenciamento de arquivos, escolha seu tema e adicione os arquivos css que você deseja combinar e reduzir. Há também um assistente de ajuda que pesquisará todos os seus modelos e adicionará os arquivos sugeridos para você.

Usando o Assistente de Ajuda

O W3 Total inclui uma ferramenta que percorre os modelos de tema e localiza os arquivos Javascript e CSS usados ​​e fornece as configurações recomendadas. Primeiro tente essas configurações e problemas, volte e modifique conforme necessário. Todos os arquivos destacados em vermelho são aqueles que você já incluiu para serem minificados.

A mesma seção de opção está disponível para arquivos js e você tem a opção de colocar os arquivos depois <head>, depois <body>e antes </body>. É melhor colocar o maior número possível antes <body>. Se algum plug-in adicionar js inline, você não poderá usá-lo anteriormente </body>para jquery ou js de plug-in, pois será necessário carregar antes de qualquer <script>tag inline . Você pode incluir qualquer combinação de arquivos em cada local e para cada modelo. Por exemplo, você pode definir seu comment-reply.js para carregar apenas o single.php

texto alternativo

Configurações de cache do navegador

Este é o mais importante para acertar. Se você armazenar em cache corretamente o conteúdo estático nos navegadores dos usuários, poderá reduzir drasticamente o tempo de carregamento da página. "não processe erros 404 para objetos estáticos" As configurações de cache do navegador são uma grande vitória para hospedagem compartilhada, porque invocar o PHP e retornar 404 páginas para bots etc. é uma grande perda de recursos e esse recurso evita que

Geral

Verifique tudo

texto alternativo

Arquivos CSS e JS

Verifique tudo e defina a vida útil do cabeçalho de vencimento para um futuro distante. 31536000 segundos é de 1 ano e o que yslow recomenda. Se você fizer alterações em seu css ou javascript, precisará alterar os nomes dos arquivos para impedir que os usuários usem a versão antiga. Se você estiver usando o minify, não precisará se preocupar em exibir conteúdo desatualizado, pois toda vez que o cache do minify é reconstruído, gera um novo nome de arquivo.

Defina sua política de controle de cache para armazenar em cache com idade máxima

texto alternativo

Existem mais duas seções de configuração de cache do navegador. HTMl e imagens. Para Imagens, use as mesmas configurações que CSS e JS. Você pode aumentar o tempo de expiração nas imagens, se desejar.

Para HTML, não defina a validade, a menos que seu site seja principalmente estático. Você pode usar vidas curtas, se quiser (180 segundos), mas eu não iria mais alto. Ative o gzip e verifique os cabeçalhos W3 definidos para verificar os cabeçalhos de resposta para garantir que eles estejam funcionando.

texto alternativo

Configurações da CDN

O W3 Total tem suporte embutido para CDNs de origem e push de origem populares e uma opção robusta e auto hospedada que requer que você configure subdomínios e nomes de arquivos.

A CDN auto-hospedada permitirá que você aproveite o pipelining. O navegador pode baixar apenas alguns arquivos de uma vez, apenas 4 em alguns casos. Pipelining é uma técnica pela qual aliases (subdomínios, por exemplo) do seu servidor são usados ​​para permitir que seu navegador aumente o limite prático de arquivos que podem ser baixados em paralelo. Isso maximiza o rendimento da sua conexão à Internet e permite que o navegador renderize uma página mais rapidamente. O W3TC se encarrega de gerenciar esses arquivos de forma transparente quando os CNAMEs (aliases) e os subdomínios DNS estiverem configurados corretamente.

Marque todas as opções e clique nos botões de upload para carregar todo o conteúdo na CDN. Se estiver usando auto-hospedagem, há outra página de configuração para inserir informações de ftp. Para origem, pressione CDN, é configurado com base em qual provedor você está usando. Para origem, você não carrega nenhum arquivo e apenas define seu cname para o URL que o provedor fornecer. Nota: Não selecione a substituição forçada, a menos que novos arquivos não estejam funcionando. A substituição forçada fará o upload constante dos arquivos no CDN, mesmo que eles já existam e isso desperdice largura de banda e recursos.

texto alternativo

Teste

Você sempre deve testar seus resultados e ajustar suas configurações de acordo. Eu gosto de usar o WebPageTest.org . Comparar meus resultados e identificar possíveis problemas.

Quanto você pode aumentar seu desempenho usando o W3 Total Cache no WordPress com hospedagem compartilhada?

Estes são os resultados anteriores e posteriores de um blog WordPress ao qual adicionamos o W3 Total.

Antes:

texto alternativo

Depois de

texto alternativo

Eu espero que isso ajude.

Chris_O
fonte
1
obrigado, resposta muito detalhada e completa! você absolutamente recomenda este plugin? você já tentou outro?
Amit
1
@Mit Eu tentei WP Super Cache, cache hyber db, backend de cache de objeto apc e batcache. Nenhum outro plugin de cache possui todos esses recursos.
Chris_O
obrigado novamente! Definitivamente vou tentar. btw, você recomenda remover todo o meu código transitório e outras coisas que adicionei ao meu htaccess como o gzip etc.?
Amit
A melhor coisa a fazer é testar e comparar diferentes configurações para encontrar o que funciona melhor para o seu ambiente.
Chris_O
0

Use .htaccess para armazenar em cache coisas como CSS, imagens e javascript no lado do cliente. O download mais rápido é o que nunca teve que acontecer.

Publiquei uma coleção de links e artigos de referência sobre este assunto: http://icanhazdot.net/2010/03/23/speeding-up-self-hosted-wordpress/

Cara de CAD
fonte
0

Não use o W3 Total Cache, ele diminuirá a velocidade e quebrará suas páginas. Sugiro melhor usar o Super Cache e o Page Speed ​​Ninja. Ou LiteSpeed ​​Cache para cache de objetos e otimização de css e js, Cache Enabler para criação de arquivos html estáticos. Como o cache estático não será criado pelo litespeed, pois ele precisa ter o módulo lscache no servidor http e isso é suportado apenas pelo servidor http litespeed ou openlitespeed.

juslintek
fonte