Seu armazenamento · WordPress + WooCommerce
WooCommerce AWS S3
O plugin Alter Product inclui um módulo de armazenamento AWS S3 pronto para uso. Mantenha os grupos de arquivos compatíveis do plugin no seu próprio bucket privado, conecte-o no WordPress e migre os arquivos existentes com as ferramentas do plugin.
O Alter Product não cobra uma taxa adicional de capacidade para ampliar esse armazenamento conectado. A AWS cobra na sua conta pelo armazenamento, pelas solicitações e pela transferência. Sua hospedagem WordPress e as regras habituais do plano e das sessões embed continuam válidas.
As instruções seguem o guia de configuração do plugin. Os rótulos do console AWS permanecem em inglês.
Armazenamento, entrega e custos
O S3 armazena os objetos de arquivo do plugin. O WordPress continua responsável pela entrega autorizada ao navegador.
Um armazenamento privado para o plugin
O navegador não baixa diretamente do S3. O WordPress busca e verifica os arquivos do bucket privado e depois os fornece pelos próprios endpoints. Deixe o S3 CORS vazio e Block Public Access ativado; não se trata de um bucket público nem de uma conexão direta com uma CDN.
O módulo abrange os grupos de arquivos Alter Product compatíveis. Conectar um bucket não move todos os arquivos do WordPress nem altera os limites das ferramentas incorporadas.

Pagar à AWS pelos recursos utilizados
O Alter Product não cobra um valor extra para aumentar a capacidade do bucket conectado. As cobranças da AWS dependem do uso, da região e da classe de armazenamento; consulte os preços atuais do S3 em vez de presumir uma tarifa fixa.
Como o WordPress fornece os arquivos, o tráfego também pode contar para a largura de banda da sua hospedagem. O S3 não garante transferência de hospedagem nula nem capacidade de transferência ilimitada do servidor.
Criar um bucket com as configurações compatíveis
Os nomes dos campos abaixo correspondem ao console AWS em inglês e ao guia de configuração integrado ao plugin.
Criar um bucket de uso geral
Entre na AWS, abra o Amazon S3 e selecione General purpose buckets → Create bucket. Escolha uma região e um nome com letras minúsculas, números e hífens, sem pontos. Copie o nome completo do bucket, incluindo qualquer sufixo adicionado pela AWS.
- Aplique as configurações da tabela e escolha Create bucket.
- Guarde o nome completo do bucket, a região e o ID de 12 dígitos da conta AWS do proprietário.
- Deixe Cross-origin resource sharing (CORS) vazio. As solicitações ao S3 vêm do servidor WordPress.
| Campo da AWS | Configuração |
|---|---|
| Bucket type | General purpose |
| Bucket namespace | Account Regional namespace (recomendado) |
| Object Ownership | ACLs disabled / Bucket owner enforced |
| Block Public Access | Block all public access (todas as quatro configurações) |
| Bucket Versioning | Enable |
| Default encryption | Server-side encryption with Amazon S3 managed keys (SSE-S3 / AES256) |
| Bucket Key | Disable |
| Advanced settings → Object Lock | Disable |
Exigir HTTPS
Adicione uma regra de transporte sem tornar o bucket público nem conceder acesso aos objetos.
Adicionar a política do bucket
Abra Permissions → Bucket policy → Edit. Substitua os dois valores EXAMPLE-BUCKET pelo nome completo do bucket. Se já existir uma política, preserve suas declarações e adicione esta regra depois de revisar o documento inteiro.
- Verifique as mensagens do editor e escolha Save changes.
- Confirme que a regra foi salva. Mantenha Block all public access ativado.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyInsecureTransport",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::EXAMPLE-BUCKET",
"arn:aws:s3:::EXAMPLE-BUCKET/*"
],
"Condition": {
"Bool": {
"aws:SecureTransport": "false",
"aws:PrincipalIsAWSService": "false"
}
}
}
]
}Criar acesso IAM restrito
Use uma política dedicada a esse bucket e prefixo, em vez de AdministratorAccess ou AmazonS3FullAccess.
Criar a política do plugin
Em IAM → Policies → Create policy → JSON, cole o documento a seguir. Substitua cada EXAMPLE-BUCKET pelo nome completo do bucket. O prefixo alter-product deve corresponder a Folder prefix no WordPress; altere-o em cada Resource de objeto se escolher outro prefixo.
- Valide a política, escolha Next e dê um nome a ela, como AlterProductS3Storage.
- Escolha Create policy e guarde o nome para configurar o usuário.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ReadRequiredBucketControls",
"Effect": "Allow",
"Action": [
"s3:GetBucketVersioning",
"s3:GetBucketOwnershipControls",
"s3:GetBucketPublicAccessBlock",
"s3:GetEncryptionConfiguration"
],
"Resource": "arn:aws:s3:::EXAMPLE-BUCKET"
},
{
"Sid": "WriteAndReadVersionedPluginObjects",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObjectVersion"
],
"Resource": [
"arn:aws:s3:::EXAMPLE-BUCKET/alter-product/objects/*",
"arn:aws:s3:::EXAMPLE-BUCKET/alter-product/.storage-tests/*"
]
},
{
"Sid": "RecoverJournalOwnedObjects",
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::EXAMPLE-BUCKET/alter-product/objects/*"
},
{
"Sid": "DeleteOnlyConnectionTestVersions",
"Effect": "Allow",
"Action": "s3:DeleteObjectVersion",
"Resource": "arn:aws:s3:::EXAMPLE-BUCKET/alter-product/.storage-tests/*"
}
]
}Criar um usuário dedicado e uma chave de acesso
Escolha IAM → Users → Create user. Deixe Provide user access to the AWS Management Console desmarcado.
- Escolha Next → Attach policies directly e anexe apenas a política acima. Conclua Create user.
- Abra Security credentials → Access keys → Create access key desse usuário. Para esta configuração manual do plugin, escolha Other → Next e depois Create access key.
- Salve Access key ID e Secret access key em um gerenciador de senhas. O segredo é exibido apenas uma vez. Insira-os diretamente no WordPress por HTTPS, não em mensagens ou capturas de tela.
Salvar e testar a conexão do WordPress
Abra Alter Product → Settings → Storage no painel HTTPS da loja. Escolha AWS S3 e + / Add connection.
Inserir os detalhes da conexão
Selecione New connection. As mesmas instruções integradas estão disponíveis em AWS S3 setup guide.
- Escolha Save connection e aguarde a confirmação.
- Escolha Test connection. Salve as alterações antes de testar novamente.
- Verifique o resultado na caixa de diálogo e na coluna Last connection test. Os campos de chave vazios após salvar são intencionais.
| Campo | Valor |
|---|---|
| Bucket name | Nome completo do bucket, não um ARN, uma URL s3:// ou um endereço HTTPS; sem pontos. |
| Folder prefix | alter-product, correspondente à política IAM. Use letras, números, hífens, sublinhados e pastas separadas; sem barra no início ou no fim. |
| Bucket owner AWS account ID | ID de 12 dígitos da conta do proprietário, sem espaços. |
| AWS region | A região real do bucket. O formulário usa eu-central-1 como padrão. |
| AWS access key ID / AWS secret access key | O par de chaves salvo do usuário IAM dedicado. |
| Use temporary AWS credentials | Deixe desmarcado para a chave de longa duração desse usuário IAM. Ative somente para credenciais temporárias e forneça o AWS session token. |
Se o teste de conexão falhar
Verifique o nome, proprietário e região do bucket, as configurações exigidas e o prefixo exato no WordPress e no IAM. Mantenha CORS vazio; não desative a proteção contra acesso público.
O bucket, prefixo, proprietário e região salvos identificam a conexão. Para outro destino, selecione New connection. Edit → Reconnect substitui as credenciais mantendo as mesmas referências de arquivos salvas.
Envie ao suporte o resultado do teste, sem chaves de acesso. É necessário um teste bem-sucedido antes de escolher esse S3 como padrão.
Escolher o padrão e migrar arquivos existentes
Definir o destino padrão e migrar são ações separadas.
Usar S3 para novos grupos
Escolha Make default na linha da conexão salva. O plugin testa a conexão e muda o padrão somente após o sucesso. Isso se aplica aos novos grupos de arquivos; os existentes e suas revisões posteriores mantêm o destino registrado até serem migrados.
Mover grupos existentes compatíveis
Faça backup conjunto do banco de dados, dos salts do WordPress e dos arquivos antes da primeira migração. Comece em um ambiente de teste ou com um grupo pequeno. Abra Migrate na linha S3 de destino; abrir o painel não copia arquivos.
Auto migration abrange os grupos compatíveis fora do destino escolhido. Ela não garante a migração de arquivos WordPress sem relação com o plugin.
- Escolha Start migration. O plugin testa o S3, prepara cada grupo, copia, verifica e troca suas referências.
- Mantenha a página aberta. Pause interrompe após o grupo atual; Resume migration continua o progresso salvo. Se fechar a página, abra-a novamente para retomar o envio das tarefas.
- Se um grupo falhar, examine a mensagem e Advanced, corrija a causa e retome. Não repita às cegas uma operação cujo resultado de envio é desconhecido.
- Após Migration completed, teste a leitura normal dos recursos, a edição, as prévias e o acesso aos arquivos de pedidos. Grupos criados durante a varredura podem precisar de outra passagem.
Remover uma linha não apaga os arquivos armazenados
Troque primeiro o destino padrão, se necessário. Remove retira a conexão da lista, mas os arquivos existentes e suas credenciais salvas continuam disponíveis. Não é um comando de limpeza de objetos AWS.
Compartilhar armazenamento entre nós WordPress
Um destino S3 compartilhado pode reduzir a dependência do disco de um único nó. Um balanceador de carga ainda precisa de uma instalação WordPress compartilhada corretamente.
Requisitos para vários nós
Para uma instalação WordPress atrás de um balanceador de carga, forneça todos estes itens juntos:
- Um ponto consistente de gravação SQL e um estado compartilhado do banco de dados do plugin.
- Um diretório uploads compartilhado para arquivos ainda locais e fontes de migração preservadas.
- Os mesmos salts originais do WordPress em todos os nós, para que as credenciais salvas e os arquivos criptografados continuem legíveis.
- Um diretório temporário privado por nó para as transferências.
- Uma configuração consistente do plugin e acesso ao mesmo bucket S3 privado e às mesmas versões dos objetos.
- Use wpdb padrão com mysqli nativo e tabelas InnoDB. Drop-ins de roteamento de banco de dados, como HyperDB, não são compatíveis; o balanceamento de carga aqui ocorre na camada HTTP.
Manter a recuperação e a rotação de chaves funcionando
Preserve juntos o banco de dados, os salts e as versões de arquivos referenciadas.
Fazer backup, reconectar e verificar
Use Edit → Reconnect para substituir as credenciais da mesma conexão salva. Teste a leitura dos arquivos atuais e históricos antes de desativar a chave antiga, incluindo outras conexões salvas que ainda possam usá-la.
Mantenha o versionamento do S3 ativado e preserve as versões referenciadas pelo plugin. Não aplique uma limpeza de ciclo de vida que exclua versões históricas necessárias. Teste a restauração conjunta do banco de dados, dos salts e dos arquivos armazenados.
As credenciais temporárias expiram e exigem um novo token válido e chaves; o plugin não as renova automaticamente. Monitore o uso da AWS e a transferência da hospedagem conforme a loja cresce.