Pesadelos de atualização de plug-in do WordPress (minha própria história) e soluções
Publicados: 2022-09-15Aqui está a minha própria – pesadelo – história de atualização do WordPress – e lições aprendidas. Também incluí algumas diretrizes perto do final, para que você não entre em uma situação como a nossa!
Estava tudo indo bem…
Você deve saber que temos um negócio de análise de comércio eletrônico – Putler. Usamos a extensão WooCommerce e Assinaturas junto com muitos outros plugins para executar seu back-end. Usamos nosso próprio plugin que sincroniza os dados do WooCommerce com o Putler, então eu recebo todos os relatórios avançados no Putler.
Eu construí o site Putler cerca de três anos atrás, atualizei 3-4 vezes depois disso e as coisas estavam funcionando sem problemas. Até agora tudo bem.
Algo está quebrado...

Um dia, um cliente disse que não conseguia fazer login no Putler, apesar de uma assinatura ativa.
Embora soasse estranho, esse era realmente o caso. Sua assinatura do PayPal estava ativa, estávamos recebendo pagamentos mensais, mas no WooCommerce sua assinatura apareceu como “pagamento não recebido” / “cancelamento pendente”.
Não conseguimos encontrar um motivo específico para isso acontecer, então o chamamos de exceção e marcamos manualmente sua assinatura como "ativa".
Alguns dias depois, outro assinante levantou um problema semelhante. Também corrigimos isso manualmente e pedimos ao administrador do servidor que analisasse quaisquer problemas no servidor.
O administrador do servidor disse que está tudo bem. Estávamos recebendo pagamentos muito bem, a maioria das assinaturas estava aparecendo como ativa no WooCommerce .
Negócios em risco…
Uma semana depois, enquanto revisava os números de receita mensal, percebi que nossa receita mensal havia caído 20% . Isso é incomum para um negócio recorrente, então comecei a observar os pedidos de perto.
Acontece que nas últimas duas semanas, muitos pedidos recorrentes não foram processados. O PayPal estava enviando notificações de recebimento de pagamento bem-sucedido, mas não conseguiu vincular as assinaturas reais no sistema. Eventualmente, essas assinaturas estavam sendo canceladas por causa do pagamento em atraso.
Assinaturas sendo canceladas automaticamente é um grande problema. Se não encontrarmos e corrigirmos isso, perderemos todos os negócios, pois o sistema cancelará todas as assinaturas no devido tempo.
Estávamos em chamas.

Quem é o culpado?
Imediatamente, corrigimos a culpa no plugin de assinaturas . Nós o atualizamos há alguns dias e achamos que a nova versão está quebrando. Começamos a depuração extensiva e passamos por logs de erros PHP, logs WooCommerce, logs IPN e outros. Nós poderíamos alcançar a função exata em que isso estava quebrando. Sempre que uma notificação do PayPal era recebida, o processamento corria bem até certo ponto e tudo ficava em silêncio.
Eu estava furioso. Começou a xingar o plugin de assinatura e Brent. Brent Shepherd da Prospress – os criadores do plugin Subscriptions – é um bom amigo na verdade, então culpá-lo foi fácil!!
Então pensei em pedir a ajuda dele – afinal, ele é um amigo. Então conversei com Gabor Javorszky (da Prospress) no Slack e descreveu nosso problema. Ele disse que os problemas do PayPal são comuns e me pediu para enviar todos os logs. Ele também sugeriu que outro plugin poderia causar o problema.

Já se passaram duas semanas após receber a primeira reclamação e quase um mês desde o início do problema. Eu escalei o problema para a prioridade mais alta e pedi uma extensa auditoria de tudo.
Dois dias depois, encontramos o verdadeiro culpado.
Que pena…
Foi o plugin WooCommerce Putler Connector. Um dos nossos próprios plugins.
Vergonha!!
De fato, a última atualização do plug-in do conector resolveu esse problema exato. Não atualizamos para a versão mais recente em nosso próprio site!
Isso foi uma vergonha maior!!
Lição aprendida…
Perdemos uma boa parte da receita, duas semanas de tempo e muitos clientes pagantes só porque perdemos uma atualização de plugin . E se não pudéssemos resolver o problema mais cedo, o dano seria grave.
Sim, todos nós já tivemos casos em que as coisas ficaram ruins logo após a atualização do núcleo do WordPress, plugins ou um tema. Vimos a “tela branca da morte”. Enfrentamos uma crise em sites ativos após realizar uma atualização.
Mas isso não significa que podemos deixar nossos sites sem atualizações.
E sim, não tire conclusões precipitadas! (Desculpe Breno!)
Dilema da atualização: ser ou não ser??
Realizar uma atualização em seu site ao vivo pode ser perigoso. Não atualizar seu site pode ser igualmente – se não mais – perigoso. Então, o que você faz?

Primeiro, vamos recapitular por que devemos manter nosso site atualizado…
- Atualizações de segurança – claro, não queremos ser hackeados
- Correções de bugs, atualizações de compatibilidade – também precisamos disso
- Novos recursos – podem ser muito úteis, podem economizar tempo
- Suporte – a maioria dos plugins premium fornece suporte apenas para usuários pagos
Agora vamos ver por que não atualizamos nossos sites:
- Atualizações frequentes – algumas ou outras coisas estão sempre sendo atualizadas!
- Falta de tempo – ocupado com outras responsabilidades, atualizar vários sites pode consumir muito tempo
- Risco de uma atualização quebrar o site – uma atualização importante certamente exigirá testes antes de ser lançada, uma atualização menor também pode derrubar um site
- Desenvolvedor não disponível – se outra pessoa estiver gerenciando seu site, sua disponibilidade e custo também serão um fator
- Site está ao vivo; Se não está quebrado, não conserte – faz sentido – ou faz?
Guia definitivo para atualizar o WordPress – núcleo, plugins e temas
Então, como se deve abordar a atualização do WordPress?
Aqui estão algumas diretrizes que estamos seguindo :
- Faça backups regulares – de arquivos e banco de dados do WordPress
- Revise os logs de alterações para determinar se é uma atualização secundária ou principal
- Se for uma atualização menor, vá em frente e faça (ainda, faça backup primeiro)
- Atualizar um plug-in de cada vez
- Teste qualquer coisa importante em um servidor de teste antes de tentar no site ao vivo
- Confirme se a atualização foi bem
- Se houver algum código personalizado , verifique se ele funcionará com a nova versão antes de atualizar
- Se estiver usando um tema filho , nunca atualize o tema pai diretamente no site ativo. Teste primeiro no ambiente de teste.
- As atualizações principais do WordPress geralmente são seguras!
- As atualizações do WooCommerce devem ser feitas depois de garantir que os plug-ins do WC que você usa estejam atualizados. É melhor testar no ambiente local / de teste antes de entrar no ar – especialmente entre as principais atualizações.
- Nunca armazene seus backups em wp-content ou mesmo na pasta public_html
- Podemos minimizar o impacto realizando atualizações regularmente
Alguns artigos excelentes sobre como realizar atualizações do WP:
- Ultimate Guide atualizando WP e Multisite no WPMU Dev
- Um guia para atualizar o WordPress no SitePoint
- Atualizando o WordPress – instruções estendidas no WP Codex
- Como atualizar temas WP no Design Wall
Compartilhe suas histórias / práticas recomendadas…
Espero que minha história ajude você a evitar esses problemas. Atualize com frequência, atualize com cuidado!
Você tem alguma história de horror sobre a atualização do WordPress? Como você se recuperou deles?
Quais são as “melhores práticas” que você segue agora para atualizar o WordPress / WooCommerce / Plugins / Temas?
Compartilhe-os postando um comentário abaixo! Seu comentário ajudará muitos outros.
Créditos de imagem: Helgi Halldorsson, Pixabay, Wikimedia, Giphy