Tudo em um, aceleração imbatível e melhoria no PageSpeed: aumenta a velocidade da página, armazenamento em cache, otimização de imagens/CSS/JS…
![WP Super Cache](https://ps.w.org/wp-super-cache/assets/icon-128x128.png?rev=1095422)
WP Super Cache
Hospedagem WordPress com plugin WP Super Cache
Onde devo hospedar o plugin WP Super Cache?
Este plugin pode ser hospedado em qualquer servidor que tenha WordPress instalado. Recomendamos optar por uma hospedagem seguro, com servidores especializados para WordPress, como o serviço de hospedagem de sites da MCO2.
Hospedando o plugin WP Super Cache em um provedor seguro
A MCO2, além de instalar o WordPress na versão mais atualizada para seus clientes, fornece o plugin WP SafePress, um mecanismo singular que salvaguarda e melhora seu site simultaneamente.
Por que a Hospedagem WordPress funciona melhor na MCO2?
A Hospedagem WordPress funciona melhor pois a MCO2 possui servidores otimizados para WordPress. A instalação de WordPress é diferente de uma instalação trivial, pois habilita imediatamente recursos como otimização automática de imagens, proteção da página de login, bloqueio de atividades maliciosas diretamente no firewall, cache avançado e HTTPS ativado por padrão. São recursos que potencializam seu WordPress para a máxima segurança e o máximo desempenho.
Este plugin gera arquivos html estáticos do seu blog dinâmico do WordPress. Depois que um arquivo html é gerado, o seu servidor servirá esse arquivo em vez de processar os scripts PHP do WordPress, que são comparativamente mais pesados e mais custosos.
Os arquivos estáticos em HTML serão exibidos para a grande maioria dos seus usuários:
- Usuários que não estão conectados.
- Usuários que não deixaram um comentário no seu blog.
- Ou usuários que não visualizaram um post protegido por senha.
99% de seus visitantes receberão arquivos html estáticos. Um arquivo em cache pode ser servido milhares de vezes. Outros visitantes receberão arquivos em cache personalizados, adaptados à sua visita. Se estiverem conectados ou tiverem deixado comentários, esses detalhes serão exibidos e armazenados em cache para eles.
O plugin serve arquivos em cache de 3 maneiras (classificadas por velocidade):
- Avançado. O método mais rápido é usar o Apache mod_rewrite (ou qualquer outro módulo semelhante suportado pelo servidor web) para servir arquivos html estáticos “supercached”. Isso ignora completamente o PHP e é extremamente rápido. Se o seu servidor for atingido por um dilúvio de tráfego, é mais provável que ele atenda, pois as solicitações são “mais leves”. Isso requer o módulo mod_rewrite do Apache (que provavelmente está instalado se você tiver links permanentes personalizados) e uma modificação do seu arquivo .htaccess que é arriscado e pode derrubar o seu site se modificado incorretamente.
- Simples. Arquivos estáticos do supercache podem ser servidos pelo PHP e esta é a maneira recomendada de usar o plugin. O plugin servirá um arquivo em supercache se existir e é quase tão rápido quanto o método mod_rewrite. É mais fácil de configurar, pois o arquivo .htaccess não precisa ser alterado. Você ainda precisa de um link permanente personalizado. Você pode manter partes dinâmicas da sua página neste modo de cache.
- Cache pelo WP-Cache. Usado principalmente para armazenar em cache páginas de usuários conhecidos, URLs com parâmetros e feeds. Usuários conhecidos são usuários logados, visitantes que deixam comentários ou aqueles que devem receber dados personalizados por usuário. É o método de cache mais flexível e um pouco mais lento. Ele também armazenará em cache as visitas de usuários desconhecidos se o supercache estiver desativado. Você também pode ter partes dinâmicas em sua página neste modo. Esse modo está sempre ativado, mas você pode desativar o cache de usuários conhecidos, URLs com parâmetros ou feeds separadamente. Defina a constante “DISABLE_SUPERCACHE” como 1 no seu wp-config.php se você quiser usar apenas o cache do WP-Cache.
Se você não está confortável com a edição de arquivos PHP, use o modo simples. É fácil de configurar e muito rápido.
Configurações recomendadas
- Cache simples.
- Compactar páginas.
- Não fazer cache de páginas para usuários conhecidos.
- Reconstrução de cache.
- Suporte a CDN.
- Verificações extras na página inicial.
Coleta de lixo é o ato de limpar arquivos de cache que estão desatualizados e obsoletos. Não há valor correto para o tempo de expiração, mas um bom ponto de partida é de 1800 segundos.
Considere a exclusão do conteúdo da caixa de texto “Agentes de usuário rejeitados” e permita que os mecanismos de pesquisa armazenem arquivos em cache para você.
Pré-carregue o máximo de posts possível e ative o “Modo de pré-carregamento”. A coleta de lixo de arquivos antigos em cache será desativada. Se você não se importa com a atualizações frequentes de widgets da barra lateral, defina o intervalo de pré-carregamento para 2880 minutos (2 dias), assim todos os seus posts não são recarregadas com muita frequência. Quando o pré-carregamento ocorre, os arquivos de cache do post que está sendo atualizado são excluídos e depois regenerados. Depois, é realizada uma coleta de lixo com o objetivo de limpar os arquivos obsoletos ainda em cache.
Mesmo com o modo de pré-carregamento ativado, os arquivos em cache ainda serão excluídos quando posts forem modificados ou forem feitos comentários.
Desenvolvimento
- O desenvolvimento ativo deste plugin é tratado no GitHub.
- A tradução do plugin para diferentes idiomas está na página de tradução.
Documentação
If you need more information than the following, you can have a look at the wiki or the Developer documentation.
Pré-carregamento
Você pode gerar arquivos em cache para os posts, categorias e tags do seu site através de pré-carregamento. O pré-carregamento visitará cada página do seu site, gerando uma página em cache à medida que avança, como qualquer outro visitante do site. Devido à natureza sequencial dessa função, pode levar algum tempo para pré-carregar um site completo, se houver muitos posts.
Para tornar o pré-carregamento mais eficaz, pode ser útil desativar a coleta de lixo para que os arquivos de cache mais antigos não sejam excluídos. Isso é feito ativando o “Modo de pré-carregamento” nas configurações. No entanto, esteja ciente de que as páginas ficarão eventualmente desatualizadas, mas que as atualizações enviando comentários ou editando posts limparão partes do cache.
Coleta de lixo
Com o passar do tempo, seu diretório de cache é preenchido, o que ocupa espaço no seu servidor. Se o espaço for limitado ou cobrado por capacidade ou se você se preocupar de que as páginas em cache do seu site fiquem obsoletas, a coleta de lixo deverá ser realizada. A coleta de lixo ocorre regularmente e exclui arquivos antigos no diretório de cache. Na página de configurações avançadas, você pode especificar:
1. Tempo limite do cache. Por quanto tempo os arquivos de cache são considerados atualizados. Após esse período, eles ficam obsoletos e podem ser excluídos.
2. Agendador. Configure com que frequência a coleta de lixo deve ser feita.
3. E-mails de notificação. Você pode ser informado sobre o andamento do trabalho de coleta de lixo.
Não há configurações certas ou erradas para a coleta de lixo. Depende do seu próprio site.
Se o seu site receber atualizações ou comentários regulares, defina o tempo limite para 1800 segundos e o temporizador para 600 segundos.
Se o seu site é principalmente estático, você pode desativar a coleta de lixo digitando 0 como tempo limite ou usar um valor de tempo limite muito grande.
O diretório de cache, geralmente wp-content/cache/, é apenas para arquivos temporários. Nunca coloque arquivos importantes ou links simbólicos pra arquivos ou diretórios importantes nesse diretório. Eles serão excluídos se o plugin tiver acesso de gravação a eles.
CDN
Uma rede de entrega de conteúdo (CDN) é geralmente uma rede de computadores localizados em todo o mundo que servirá o conteúdo do seu site mais rapidamente usando servidores próximos a você. Arquivos estáticos, como imagens, arquivos JavaScript e CSS, podem ser veiculados por essas redes para acelerar a velocidade de carregamento do site. Você também pode criar uma “CDN mais simples” usando um subdomínio do seu domínio para servir também arquivos estáticos.
OSSDL CDN off-linker foi integrado ao WP Super Cache para fornecer suporte básico à CDN. Ele funciona reescrevendo os URLs dos arquivos (exceto arquivos .php) em wp-content e wp-includes no servidor, para que eles apontem para um nome de host diferente. Muitos CDNs suportam origin pull. Isso significa que a CDN baixará automaticamente o arquivo do seu servidor quando for solicitado pela primeira vez e continuará a servi-lo por um período configurável antes de baixá-lo novamente do seu servidor.
Configure isso na aba “CDN” da página de configurações do plugin. Essa é uma técnica avançada e requer um entendimento básico de como seu servidor web ou CDNs funcionam. Certifique-se de limpar o cache de arquivos depois de configurar o CDN.
API REST
Agora, existem endpoints da API REST para acessar as configurações deste plugin. Para fazer uso, você precisará ser autenticado como um usuário administrador com permissão para visualizar a página de configurações. Isso ainda não foi documentado, mas você pode encontrar todo o código que lida com isso no diretório “rest”.
Cache personalizado
Agora é possível conectar-se ao processo de armazenamento em cache usando a função add_cacheaction().
Três ganchos estão disponíveis:
- ‘wp_cache_get_cookies_values’ – modifica a chave usada pelo WP Cache.
- ‘add_cacheaction’ – é executado na fase2. Permite que um plugin adicione ganchos do WordPress.
- ‘cache_admin_page’ – é executado na página de administrador. Use-o para modificar essa página, talvez adicionando novas opções de configuração.
Também existe um filtro comum do WordPress. Use o filtro “do_createsupercache”
para personalizar as verificações feitas antes do armazenamento em cache. O filtro aceita um parâmetro.
A saída da função wp_cache_get_cookies_values() do WP-Cache.
O WP Super Cache tem seu próprio sistema de plugins. É carregado quando o WP Super Cache é executado e pode ser usado para alterar como o cache é feito. Isso ocorre antes que a maior parte do WordPress seja carregada, então algumas funcionalidades não estarão disponíveis. Os plugins podem estar localizados em qualquer lugar que o PHP possa executá-los. Adicione seu próprio plugin:
- colocando seu plugin no diretório wp-content/plugins/wp-super-cache-plugins, ou
- chamando a função wpsc_add_plugin( $name ) onde $name é o nome completo do arquivo completo e o caminho para o plugin. Você só precisa chamar essa função uma vez para adicioná-lo. Use a função wpsc_delete_plugin( $name ) para removê-lo da lista de plugins carregados.
Os cookies que o WP Super Cache usa para identificar “usuários conhecidos” podem agora ser modificados, adicionando os nomes desses cookies a uma lista na configuração do plugin. Use wpsc_add_cookie ($name) para adicionar um novo cookie e wpsc_delete_cookie ($name) para removê-lo. Os nomes dos cookies também modificam as regras do mod_rewrite usadas pelo plugin, mas recomendamos usar o cache no modo simples para evitar complicações com a atualização do arquivo .htaccess.
O nome e valor do cookie são usados para diferenciar os usuários para que você possa ter um cookie, mas valores diferentes para cada tipo de usuário em seu site, por exemplo. Eles receberão arquivos de cache diferentes.
Veja plugins/searchengine.php como um exemplo que eu uso para o meu plugin No Adverts for Friends.
Resolução de problemas
Se as coisas não funcionam quando você instalou o plugin, aqui estão algumas coisas para verificar:
- O wp-content é gravável pelo servidor web?
- Existe um wp-content/wp-cache-config.php? Caso contrário, copie o arquivo wp-super-cache/wp-cache-config-sample.php para wp-content/wp-cache-config.php e verificar se WPCACHEHOME aponta pro lugar certo.
- Existe um wp-content/advanced-cache.php? Caso contrário, você deve copiar wp-super-cache/advanced-cache.php para wp-content/. Você deve editar o arquivo e alterar o caminho para que ele aponte para a pasta wp-super-cache.
- Se as páginas não estiverem em cache, remova wp-content/advanced-cache.php e recrie-o, seguindo os conselhos acima.
-
Certifique-se de que a seguinte linha existe em seu arquivo wp-config.php e que ela está ACIMA da linha “require_once(ABSPATH.’wp-settings.php’);”:
define( 'WP_CACHE', true );
- Tente a página Configurações->WP Super Cache novamente e ative o cache.
- Olhe em wp-content/cache/supercache/. Existem diretórios e arquivos lá?
- Algo em seu error_log do php?
- Se o seu navegador continuar pedindo que você salve o arquivo após a instalação do super cache, desative a compactação do Super Cache. Vá para a página Configurações->WP Super Cache e desative-a lá.
- O plugin não funciona muito bem quando o modo de segurança do PHP está ativo. Isso deve ser desativado pelo seu administrador.
- Se as páginas são armazenadas em supercache aleatoriamente e às vezes não, seu blog provavelmente pode ser visualizado com e sem o prefixo “www” no URL. Você deve escolher uma maneira e instalar o plugin Enforce www preference se você estiver usando uma instalação antiga do WordPress. As últimas versões já se redirecionam corretamente (você sempre deve executar a versão mais recente do WordPress de qualquer maneira!).
- Usuários de servidor privado no DreamHost devem editar wp-content/wp-cache-config.php e definir o diretório de cache como “/tmp/” se estiverem recebendo erros sobre o aumento do uso da CPU. Consulte esta discussão para obter mais informações.
- Erros de bloqueio de arquivo como “falha ao adquirir a chave 0x152b: permissão negada em …” ou “Página não armazenada em cache pelo WP Super Cache. Não foi possível obter o bloqueio mutex”. são um sinal de que talvez você precise usar o bloqueio de arquivos. Edite wp-content/wp-cache-config.php e remova o comentário de “$use_flock = true” ou defina $sem_id com um valor diferente. Como último recurso, você também pode desativar o bloqueio de arquivos na tela administrativa.
- Se estiver usando bloqueio grosseiro de arquivos, certifique-se de que o arquivo cache/wp_cache_mutex.lock seja gravável pelo servidor web.
- A pasta de cache não pode ser colocada em um compartilhamento NFS, Samba ou NAS. Tem que estar em um disco local. O bloqueio e a exclusão de arquivos expirados não funcionarão corretamente, a menos que a pasta de cache esteja na máquina local.
-
A coleta de lixo de arquivos antigos em cache não funcionará se o WordPress não conseguir encontrar o wp-cron.php. Se o seu nome de host for resolvido para 127.0.0.1, isso poderá impedir a coleta de lixo de funcionar. Verifique as entradas do wp-cron.php em seus access_logs. Eles retornam um código 404 (arquivo não encontrado) ou 200? Se for 404 ou você não encontrar o wp-cron.php em qualquer lugar, o WordPress pode estar procurando esse script no lugar errado. Você deve falar com o administrador do servidor para corrigir isso ou editar o arquivo /etc/hosts nos servidores Unix e remover a seguinte linha. Seu nome de host deve resolver para o endereço IP externo usado por outros servidores na rede/Internet. Veja http://yoast.com/wp-cron-issues/ para mais informações. Uma linha como “127.0.0.1 localhost localhost.localdomain” está ok.
127.0.0.1 example.com
- Se páginas antigas estiverem sendo servidas a seus visitantes por meio do supercache, você poderá estar perdendo os módulos do Apache (ou seus equivalentes, se você não usar o Apache). São necessários 3 módulos: mod_mime, mod_headers e mod_expires. Os dois últimos são especialmente importantes para garantir que os navegadores carreguem novas versões das páginas existentes no seu site.
- A mensagem de erro “WP Super Cache está instalado, mas está quebrado. O caminho para wp-cache-phase1.php em wp-content/advanced-cache.php deve ser corrigido!” aparece no final de cada página. Abra o arquivo wp-content/advanced-cache.php no seu editor favorito. O caminho para wp-cache-phase1.php está correto? Este arquivo normalmente estará em wp-content/plugins/wp-super-cache/. Se não estiver correto, o mecanismo de armazenamento em cache não será carregado.
- O armazenamento em cache não funciona. A impressão de horário no meu blog continua mudando quando eu recarrego. Verifique se o caminho nas regras .htaccess corresponde ao local do diretório supercache. Pode ser necessário codificá-lo. Tente desativar o modo supercache.
-
Se os arquivos do supercache forem gerados, mas não servidos, verifique as permissões em todas as suas pastas wp-content/cache/supercache (e em cada uma das pastas cache, supercache e wp-content) e wp-content/cache/.htaccess. Se o seu PHP for executado como um usuário diferente do Apache e as permissões forem estritas, o Apache poderá não conseguir ler os arquivos de cache gerados pelo PHP. Para corrigir, você deve adicionar a seguinte linha ao seu wp-config.php (adicione-a acima da definição WP_CACHE.) Em seguida, limpe seu cache.
umask( 0022 );
-
Caso veja lixo no navegador após ativar a compactação no plugin, talvez a compactação já esteja ativada no seu servidor web. No Apache, você deve desativar o mod_deflate ou, no PHP, a compactação zlib pode estar ativada. Você pode desativar isso de três maneiras. Se você tiver acesso root, edite seu php.ini e localize a configuração zlib.output_compression e verifique se está “Off” ou adicione esta linha ao seu .htaccess:
php_flag zlib.output_compression off
Se isso não funcionar, adicione esta linha ao seu arquivo wp-config.php:
ini_set('zlib.output_compression', 0);
- A “tela branca da morte” ou uma página em branco quando você visita seu site quase sempre é causada por um erro de PHP, mas também pode ser causado pela APC. Desative essa extensão do PHP se tiver problemas e substitua pelo eAccelerator ou Xcache.
- Após a desinstalação, seus links permanentes podem quebrar se você remover as regras mod_rewrite do WordPress também. Regenere essas regras, visitando a página Configurações->Link permanente e salvando esse formulário novamente.
- Se o seu blog se recusar a carregar, verifique se o seu wp-config.php está correto. Será que não está faltando uma tag de abertura ou fechamento do PHP?
- Your front …