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 transients
que 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
fonte
Respostas:
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:
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
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.
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.
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.
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.phpConfiguraçõ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
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
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.
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.
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:
Depois de
Eu espero que isso ajude.
fonte
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/
fonte
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.
fonte