O custo oculto das pastas wp-content inchadas nos fluxos de staging do WordPress

Montar um site de staging do WordPress já foi a parte sofrida do trabalho. Configurar um subdomínio, copiar o banco de dados, sincronizar os arquivos, corrigir o buscar-e-substituir e rezar para que nada no wp-config.php explodisse. O WP Staging Pro condensou tudo isso em um clone com um clique e, para a maioria dos fluxos de trabalho de agência, o problema do staging está praticamente resolvido.

O problema é que o fluxo de trabalho de staging continua ficando mais pesado mesmo enquanto o plugin de staging continua ficando mais rápido. E o culpado quase sempre é a mesma pasta: wp-content/uploads.

Trabalho toda semana com muitas agências e equipes de plugins. O padrão é quase idêntico em todos os casos. Um site é lançado com uns ajeitados 2 GB. Oito anos depois é um monstro de 60 GB com subpastas wp-content/uploads/2018/02/ que ninguém toca desde o dia em que foram criadas. O plugin de staging continua funcionando. O clone continua terminando. Só que demora muito mais do que deveria, come um bom pedaço de disco e transforma silenciosamente um fluxo de um clique em uma pausa para o café.

Esse é o custo oculto. E vale a pena resolver, porque a solução é, sinceramente, bem chata depois que você a enxerga.

Por que wp-content/uploads é o imposto do staging do qual ninguém fala

Veja como uma instalação média do WordPress realmente é por dentro. O núcleo tem talvez 50 MB. Plugins e temas juntos, mesmo em uma construção de agência carregada, raramente passam de 500 MB. O banco de dados de um site com muito conteúdo pode chegar, no máximo, a 200-400 MB.

Depois há o wp-content/uploads. Em um site WooCommerce de cinco anos, essa pasta pode facilmente chegar a 20-50 GB. Em um site de publicação com muita mídia ou de assinatura, mais de 100 GB não é incomum. Já vi sites de clientes em que uploads representa 98 % de toda a pegada do WordPress. Os outros 2 % são tudo o que de fato muda entre as publicações.

Os plugins de staging têm que lidar com tudo isso. Mesmo quando o WP Staging Pro faz seu trabalho à perfeição, copiando um banco de dados em segundos e pulando as pastas excluídas com precisão cirúrgica, no momento em que você pede que ele clone um site completo para a revisão do cliente, você está pedindo ao seu servidor que duplique cada JPEG de 2019.

Isso aparece em quatro custos reais:

  1. Espaço em disco. Um site de 60 GB clonado para um subdomínio de staging ocupa agora 120 GB em disco. Dois ambientes de staging? 180 GB. A maioria das hospedagens compartilhadas e até gerenciadas cobra MUITO por isso.
  2. Tempo de clonagem. Copiar o banco de dados é rápido. Copiar os arquivos é limitado pela E/S do seu servidor. Uma pasta uploads de 60 GB é um trabalho de E/S de 60 GB por melhor que seja o seu plugin.
  3. Peso dos backups. Cada backup de cada site de staging rearquiva cada imagem que você já enviou. Armazenado em destinos na nuvem, isso fica caro.
  4. Carga mental. "Não clone o site de staging agora, estou esperando um backup terminar" é uma frase que ouvi, de uma forma ou de outra, em toda agência com que trabalhei.

Nada disso é culpa do WP Staging Pro. É um problema da biblioteca de mídia disfarçado de staging.

O que o WP Staging Pro realmente faz de forma brilhante

criar backup do site

Antes de falar do lado da mídia, vale ser honesto sobre aquilo em que o WP Staging Pro é ótimo. Porque a ideia deste artigo não é "plugins de staging são lentos" — não são, os modernos são notáveis. A ideia é que as partes que são lentas se deslocaram.

O WP Staging Pro cuida das partes difíceis do staging com muito pouco drama:

  • Clonagem do banco de dados com suporte seletivo de tabelas, que é, sinceramente, a parte do staging que antes quebrava tudo. As tabelas são copiadas com a reescrita de prefixo correta e os dados serializados são tratados do jeito certo.
  • Clonagem do site com um clique para um subdiretório ou subdomínio, com autenticação de usuário para que a cópia de staging não seja indexada ou acessada por acidente.
  • Sincronização de plugins e temas entre staging e produção, para que uma agência possa testar uma atualização de plugin de forma isolada e devolver a versão que funciona sem destruir as edições do cliente.
  • Backups com destinos na nuvem incluindo Google Drive, Amazon S3, Dropbox, OneDrive, Wasabi, pCloud, DigitalOcean Spaces, armazenamento genérico compatível com S3 e SFTP. Essa é a parte que a maioria subestima. Um pipeline de backup agendado para o S3 é realmente um recurso de nível empresarial.
  • Restaurações à prova de balas, o recurso que você não valoriza até o dia em que precisa dele. Um backup só vale o que você consegue restaurar dele. O WP Staging Pro restaura de forma limpa mesmo quando o próprio WordPress está quebrado e você não consegue entrar no wp-admin. Há uma ferramenta de restauração independente que roda à parte da sua instalação do WordPress, justamente para as situações em que tudo deu errado. Se o seu site cair às 2 da manhã, é esse o recurso que te coloca de volta no ar.
  • Suporte a multisite, que historicamente é onde toda outra ferramenta de staging desmorona em silêncio.
  • Migração de site entre hospedagens e domínios, com o buscar-e-substituir tratado automaticamente.

O plugin é feito para sites de qualquer tamanho, incluindo instalações de mais de 50 GB, e a arquitetura é realmente impressionante quando você investiga como ele divide as operações em blocos para evitar os timeouts do PHP. Para tudo o que está dentro do banco de dados, da pasta de plugins e da pasta de temas, é um problema resolvido.

A pasta wp-content/uploads é onde a conversa fica interessante.

Por que "é só excluir a pasta uploads" não é uma resposta de verdade

excluir a pasta uploads

O movimento óbvio é dizer ao WP Staging Pro para pular o wp-content/uploads durante a clonagem. O plugin permite que você faça isso e, para alguns fluxos de trabalho, é a escolha certa.

Para a maioria dos fluxos não é. Veja por quê.

Se o seu site de staging não tem a mídia de produção, cada página que você pré-visualiza parece quebrada. A imagem principal da home é um espaço reservado. As galerias de produtos do WooCommerce são 404. As imagens destacadas não aparecem. Todo o sentido do staging é ver o que a produção vê, e um site de staging sem mídia não permite que você aprove uma mudança com confiança.

Algumas equipes contornam isso com montagens NFS, links simbólicos ou tarefas rsync que rodam junto com o clone de staging. Funcionam. Também são frágeis, dependentes da hospedagem e reintroduzem exatamente o tipo de configuração manual que os plugins de staging foram criados para eliminar.

Há uma resposta mais limpa que funciona não importa quantas cópias de staging você crie, e não exige nenhum scripting no nível da hospedagem.

Tire a mídia do WordPress por completo

A mudança que de fato resolve o problema é parar de tratar a mídia do WordPress como parte do site. Mova-a para um armazenamento de objetos na nuvem, sirva-a por uma CDN e deixe o WordPress guardar ponteiros em vez de arquivos.

Infinite Uploads – tire a mídia do WordPress

É isso que o Infinite Uploads faz. Ele move todas as imagens, vídeos e arquivos da sua Biblioteca de Mídia para fora do seu servidor de hospedagem e para a nuvem, e então garante que o seu site continue servindo-os aos visitantes na velocidade da luz a partir de servidores no mundo todo. Pense nisso como mudar seus arquivos do escritório para um galpão mais perto dos seus clientes. Os arquivos continuam sendo seus. Eles só não moram mais no seu servidor de hospedagem, o que significa que o seu site fica mais leve, mais rápido e muito mais barato de fazer backup.

Para a operação diária do site, o resultado é que o WordPress não muda. Os editores enviam imagens do mesmo jeito. A Biblioteca de Mídia parece normal. As URLs funcionam. O SEO não quebra, porque a reescrita é tratada no nível do banco de dados e as URLs antigas são preservadas.

Para os fluxos de trabalho de staging em específico, três coisas mudam de um jeito útil:

O clone de staging fica sem peso. Quando wp-content/uploads são 200 MB de espaços reservados apontando para o armazenamento na nuvem em vez de 60 GB de JPEGs reais, o WP Staging Pro quase não tem nada a copiar do lado da mídia. O tempo de clonagem cai de "vá pegar um café" para "espera, já acabou?", porque o plugin agora faz aquilo para o que foi construído: copiar as partes do site que de fato mudam.

Staging e produção compartilham a mesma biblioteca de mídia. Quando você clona, a cópia de staging aponta para o mesmo armazenamento na nuvem da produção. Cada imagem, vídeo e PDF existente carrega no staging sem copiar um único arquivo. Sem tarefa de sincronização, sem esperar uma transferência de 60 GB terminar, sem uma pré-visualização meio quebrada em que a imagem principal está faltando. O Infinite Uploads testou esse fluxo de trabalho especificamente com o WP Staging Pro e confirmou que a conexão sobrevive tanto à clonagem quanto à devolução das mudanças para a produção.

Os backups deixam de ser pesados em armazenamento. Um backup agendado do WP Staging Pro do banco de dados, plugins e temas é pequeno o suficiente para ir para o Google Drive em segundos. A mídia já está com backup na camada de armazenamento na nuvem e não precisa ser arquivada dentro de cada snapshot do WordPress. Os custos de armazenamento caem. Os tempos de restauração caem. Os agendamentos podem rodar de hora em hora sem ninguém perceber.

O fluxo de trabalho combinado na prática

Como isso fica quando você junta os dois plugins é bem direto.

A produção roda o WP Staging Pro para backups, migrações e o clone de staging ocasional. O mesmo site roda o Infinite Uploads para manter a biblioteca de mídia descarregada e servida por CDN. Seus editores não sabem que nenhum dos dois plugins existe. Eles enviam imagens, clicam em publicar, e tudo funciona.

Quando você precisa de um site de staging para testar uma atualização de plugin ou pré-visualizar um redesign, você clica em clonar no WP Staging Pro. O plugin copia o banco de dados, a pasta de plugins e a pasta de temas. A pasta uploads é uma fina casca de referências, então copia em segundos. O novo site de staging sobe apontando para a mesma mídia na nuvem da produção, o que significa que cada página é renderizada corretamente sem nada do peso em disco.

Quando o trabalho está feito e você devolve as mudanças para a produção, o WP Staging Pro cuida do merge do banco de dados e do código. A mídia nunca precisou se mover porque nunca esteve realmente em nenhum dos dois servidores.

Quando os backups rodam em um agendamento, são snapshots de banco-de-dados-e-código, o que significa que são pequenos, rápidos e baratos de armazenar. A mídia tem a própria redundância na camada de armazenamento na nuvem, que de qualquer forma é genuinamente mais confiável do que comprimir tudo em um arquivo .wpstg uma vez por dia.

Esse é o stack que uma agência WordPress moderna deveria rodar em todo site acima de 5 GB. WP Staging Pro para o banco de dados, plugins, temas e migrações. Infinite Uploads para a mídia. Cada plugin fazendo o que faz de melhor, sem que um pise no outro.

O que muda quando o stack está certo

As métricas que importam para os fluxos de trabalho de agência se deslocam de formas fáceis de medir.

Clones de staging que costumavam levar 20 minutos terminam em menos de dois. O uso de disco no servidor de origem cai 80-95 % em sites com muita mídia. Os backups agendados deixam de falhar nos limites de memória porque não tentam mais arquivar um diretório de 50 GB. As contas de hospedagem caem nos planos em que o armazenamento é medido. Os ambientes de pré-visualização para clientes podem ser criados de forma casual em vez de serem agendados em torno da carga do servidor.

E a parte mais difícil de colocar em número: o fluxo de trabalho de staging deixa de ser um projeto. Ele se torna o que deveria ser desde o início, que é um clique de rotina que permite publicar com confiança.

O WP Staging Pro tornou o staging acessível. O Infinite Uploads o mantém assim à medida que seus sites crescem.

Mantenha seu stack honesto. Não deixe a pasta uploads devorar o fluxo de trabalho.

Blake Whittle

Autor: Blake Whittle

Blake Whittle leads Infinite Uploads and Big File Uploads, two WordPress plugins built to help site owners manage large media libraries and upload bigger files with fewer limitations. Together, the plugins serve a growing user base of 120,000 active installs.