Melhor maneira de mostrar o conteúdo dinâmico em um site em cache do Wordpress?

14

Eu realmente quero usar um dos plug-ins de cache para poder exibir mais páginas estáticas no meu tema / site WordPress. Esta é obviamente a melhor atualização de desempenho que você pode fazer para um tema / site WordPress.

Existem alguns elementos dinâmicos no meu tema que me impediram de fazer o salto para páginas estáticas / em cache.

Vou descrever esses problemas abaixo e fornecer uma maneira possível de resolver cada problema que pensei até agora.

O objetivo deste post é obter melhores idéias / métodos para lidar com os problemas que explico ou obter alguma garantia de que estou no caminho certo, pelo menos. Eu sou um veterano em PHP há mais de 12 a 13 anos, mas só tenho usado o WordPress nos últimos 1-2 anos e até agora estou realmente impressionado com os recursos, sou um total Fanboy do WordPress agora, se existe alguma coisa lol!

Ok, então os problemas que eu pensei até agora ao converter para páginas em cache ...


Página Posts únicos

  1. Problema no contador de visualizações - Eu tenho uma função que buscará um valor de contagem para um "Contador de visualizações / ocorrências" na página Postagens para dar uma idéia das exibições de postagens que um usuário poderá ver. Estes não são visitantes únicos, mas apenas um simples contador de visitas. Eu criei uma tabela MySQL separada para esses valores, ainda estou tentando decidir se devo continuar com isso ou mudar para usar um campo meta. De qualquer maneira, em uma visualização de página, o valor do banco de dados é buscado e aumentado em +1 em cada carregamento de página. (As visualizações de usuários administradores não são adicionadas.) O valor é mostrado na página na forma de988 Views

    Contador de visualizações Solução possível - Eu poderia fazer com que este valor / função fosse executado usando o Ajax. Depois que a nova página em cache / estática for carregada, o Javascript poderá usar o Ajax para solicitar e atualizar o contador de visualizações dessa página. Isso soa como a melhor solução para algo assim?

  2. Problema nos Comentários da Postagem - Usando o Sistema de Comentários padrão do WordPress, toda vez que um novo comentário é adicionado a uma postagem, é necessário que a página em cache / estática para que essa postagem seja reconstruída ! Pelo que vi, há uma opção nos plug-ins de cache que vi que permitem fazer exatamente isso, você pode reconstruir a (s) página (s) toda vez que um novo comentário é postado nele. Isso parece bom no papel, mas posso imaginar que seja um pesadelo em um site ativo / de alto tráfego, onde você pode ter vários usuários comentando o mesmo artigo ao mesmo tempo (tudo não testado, então eu não sei)

    Postar comentários Possível solução - Portanto, para uma solução para o problema de comentários, mencionei uma solução acima, na qual é possível configurar o plug-in Cache para simplesmente reconstruir a página em cache / estática em cada novo comentário. Minha preocupação era que eu não sou realmente como isso funcionará a longo prazo. Agora, a outra solução possível que vejo sendo usada cada vez mais é usar uma solução Javascript como Disqus Comments ou uma solução semelhante. Por um longo tempo, eu realmente fui contra isso, pois queria que todos os meus Comentários não confiassem em terceiros para o meu sistema de comentários. Ainda estou meio que preocupado com esse problema, mas mudei para o uso dos comentários do Disqus no meu site e até agora está funcionando muito bem. Estou aberto a outras soluções possíveis? Ou você acha que esse é realmente o caminho a percorrer?

Barra lateral do site

  1. Artigos recentes da barra lateral Problema - tenho guias na barra lateral que são exibidas em todo o site em todas as páginas do site ... uma das guias carrega as 10 postagens mais recentes no blog, pois isso é mostrado em todas as páginas do site , depois que um novo artigo / postagem for adicionado, será necessário reconstruir todas as páginas em cache / estáticas do site para refletir a adição de novas postagens nesta "Lista de postagens mais recentes"

    Artigos recentes da barra lateral Solução possível - Mais uma vez, acho que encontrei uma boa solução possível. Eu poderia usar Javascript e Ajax para carregar esse conteúdo nas páginas em cache / estática, para que nem todos precisassem ser recriados com tanta frequência, mas ainda assim pudessem mostrar as postagens mais recentes.

    Isso soa como uma boa solução? Ou, mais importante, você consegue pensar em outra solução melhor ou alternativa para esse problema?


Sem sujar as mãos ainda, são todos os problemas possíveis que vejo até agora com a conversão do meu tema para ser compatível com cache / estática


ATUALIZAR

Eu apenas pensei em outra questão para pensar. Todas as tags / categorias e páginas do usuário precisarão ser atualizadas sempre que uma postagem for adicionada, que se encaixe na lista de postagens da página. Eu suponho que esse deve ser um recurso dos plug-ins de cache já que eu imaginaria

JasonDavis
fonte
1
Por que o contador de visualizações deve estar correto a cada solicitação? O que acontecerá se houver 5 a 10 visualizações ausentes antes da atualização do cache?
Ünsal Korkmaz

Respostas:

2

Portanto, existem muitas sub-perguntas, tentarei abordar cada uma delas.

Problema no contador de visualizações - Eu poderia fazer esse valor / função ser executado usando o Ajax. Depois que a nova página em cache / estática for carregada, o Javascript poderá usar o Ajax para solicitar e atualizar o contador de visualizações dessa página.

Concordo totalmente: benefício adicional: carregá-lo via ajax quando o conteúdo "importante" terminar de carregar é o caminho a percorrer. Faça tudo o que puder para reduzir o tempo de carregamento da página. Eu definitivamente iria com o Ajax neste.

Post Comments Problem

Duvido que isso seja um grande problema. Mas, novamente: ajax. Carregue comentários além do conteúdo "principal". Peça para enviar novos comentários regularmente (assim como o Stackoverflow, ou twitter.com, avisa o usuário e aguarda o clique dele para atualizar o fluxo de comentários).

Barra lateral do site

Eu usaria outro plugin: WP Widget Cache , que permite definir o tempo de armazenamento em cache para cada widget em suas barras laterais e funciona bem com os plug-ins de armazenamento em cache habituais. No seu caso, basta definir "0" para nenhum cache para esses widgets ou "10 minutos" (melhor do que nenhum cache).

pixeline
fonte
1

Se você estiver usando o cache total do w3, poderá excluir determinadas páginas como sua barra lateral do cache.

Vá para WordPress Admin> Desempenho> Cache da página e altere a seção em nunca armazenar em cache essas páginas

Nunca cache páginas W3 Total Cache
Este exemplo mostra que os arquivos da barra lateral em um tema são excluídos do cache.

Você também pode definir um tempo de expiração menor nas páginas em cache, por exemplo, 5 ou 15 minutos. As páginas em cache afetam mais as pessoas que são visitantes pela primeira vez e não têm um cookie de sessão. Como a exibição em cache da página "mais solicitada" é mostrada pela primeira vez, visitantes anônimos.

Damien
fonte