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
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.
WP Super Cache has its own plugin system, loaded before most of WordPress. Add your own plugin either by putting it in the wp-content/plugins/wp-super-cache-plugins directory, or by calling wpsc_add_plugin( $name ) with the full path to the plugin.
The cookies used to identify “known users” can be modified with wpsc_add_cookie( $name ) and wpsc_delete_cookie( $name ). See plugins/searchengine.php as an example.
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á.
- 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.
- Garbage collection of old cache files won’t work if WordPress can’t find wp-cron.php. Check your access_logs for wp-cron.php entries and that your hostname resolves to the external IP address other servers on the network/Internet use.
- 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 offSe isso não funcionar, adicione esta linha ao seu arquivo wp-config.php:
ini_set('zlib.output_compression', 0); - 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?
- Sua página inicial está ok, mas as postagens e páginas retornam 404? Acesse Configurações->links permanentes e clique em “Salvar” depois de selecionar uma estrutura de link permanente personalizada. Pode ser necessário atualizar manualmente o arquivo .htaccess.
-
Se determinados caracteres não aparecerem corretamente no seu site, seu servidor pode não estar configurado corretamente. Você precisa informar aos visitantes qual conjunto de caracteres é usado. Acesse Configurações->Leitura e copie o valor de ‘Codificação para páginas e feeds’. Edite o arquivo .htaccess com todas as suas regras de reescrita do Supercache e WordPress e adicione isso na parte superior, substituindo CHARSET pelo valor copiado. (por exemplo, ‘UTF-8’)
AddDefaultCharset CHARSET - A mensagem de erro “WP Super Cache está instalado, mas está quebrado. A constante WPCACHEHOME deve ser definida no arquivo wp-config.php e apontar para o diretório do plugin WP Super Cache.” aparece no final de cada página. Você pode excluir o wp-content/advanced-cache.php e recarregar a página de configurações do plugin ou editar o wp-config.php, procurar WPCACHEHOME e garantir que ela aponte para a pasta wp-super-cache. Normalmente, será wp-content/plugins/wp-super-cache/ mas provavelmente você precisará do caminho completo para esse arquivo (por isso é mais fácil deixar a página de configurações corrigi-lo). Se não estiver correto, o mecanismo de armazenamento em cache não será carregado.
- Se o seu servidor estiver com problemas devido ao número de semáforos usados pelo plugin, é porque seus usuários estão usando o bloqueio de arquivos, o que não é recomendado (mas é necessário para poucos usuários). Você pode desativar globalmente o bloqueio de arquivo definindo a constante WPSC_DISABLE_LOCKING ou definindo a constante WPSC_REMOVE_SEMAPHORE para que a função sem_remove() seja chamada após cada página ser armazenada em cache, mas isso parece causar problemas para outros processos que solicitam o mesmo semáforo. Melhor desativá-lo.
- Defina a variável $htaccess_path em wp-config.php ou wp-cache-config.php como o caminho do seu .htaccess global caso o plugin esteja procurando esse arquivo no diretório errado. Isso pode acontecer se você tiver o WordPress instalado de alguma maneira incomum.