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 ficheiros compatíveis do plugin no seu próprio bucket privado, ligue-o no WordPress e migre os ficheiros existentes com as ferramentas do plugin.
O Alter Product não cobra uma taxa adicional de capacidade para ampliar este armazenamento ligado. A AWS fatura na sua conta o armazenamento, os pedidos e a transferência. O seu alojamento WordPress e as regras habituais do plano e das sessões embed continuam em vigor.
As instruções seguem o guia de configuração do plugin. Os designações do consola AWS permanecem em inglês.
Armazenamento, entrega e custos
O S3 armazena os objetos de ficheiro do plugin. O WordPress continua responsável pela entrega autorizada ao navegador.
Um armazenamento privado para o plugin
O navegador não descarrega diretamente do S3. O WordPress obtém e verifica os ficheiros do bucket privado e depois disponibiliza-os pelos seus 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 ligação direta a uma CDN.
O módulo abrange os grupos de ficheiros Alter Product compatíveis. Ligar um bucket não move todos os ficheiros 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 ligado. 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 ficheiros, o tráfego também pode contar para a largura de banda da sua alojamento. O S3 não garante transferência de alojamento 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 consola 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. Os pedidos ao S3 provê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 definiçõ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 guardada. 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 utilizador.
{
"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 utilizador 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 utilizador. Para esta configuração manual do plugin, escolha Other → Next e depois Create access key.
- Guarde Access key ID e Secret access key num gestor de palavras-passe. O segredo é exibido apenas uma vez. Insira-os diretamente no WordPress por HTTPS, não em mensagens ou capturas de ecrã.
Guardar e testar a ligação do WordPress
Abra Alter Product → Settings → Storage no painel HTTPS da loja. Escolha AWS S3 e + / Add connection.
Inserir os detalhes da ligaçã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. Guarde 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 guardar 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 por predefinição. |
| AWS access key ID / AWS secret access key | O par de chaves guardado do utilizador IAM dedicado. |
| Use temporary AWS credentials | Deixe desmarcado para a chave de longa duração desse utilizador IAM. Ative somente para credenciais temporárias e forneça o AWS session token. |
Se o teste de ligaçã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 guardados identificam a ligação. Para outro destino, selecione New connection. Edit → Reconnect substitui as credenciais mantendo as mesmas referências de ficheiros guardadas.
Envie ao apoio o resultado do teste, sem chaves de acesso. É necessário um teste bem-sucedido antes de escolher este S3 como predefinido.
Escolher a predefinição e migrar ficheiros existentes
Definir o destino predefinido e migrar são ações separadas.
Usar S3 para novos grupos
Escolha Make default na linha da ligação guardada. O plugin testa a ligação e altera a predefinição apenas após o sucesso. Isto aplica-se aos novos grupos de ficheiros; os existentes e as suas revisões posteriores mantêm o destino registado até serem migrados.
Mover grupos existentes compatíveis
Faça uma cópia de segurança conjunta da base de dados, dos salts do WordPress e dos ficheiros antes da primeira migração. Comece num ambiente de teste ou com um grupo pequeno. Abra Migrate na linha S3 de destino; abrir o painel não copia ficheiros.
Auto migration abrange os grupos compatíveis fora do destino escolhido. Ela não garante a migração de ficheiros 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 guardado. 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é-visualizações e o acesso aos ficheiros de pedidos. Grupos criados durante a análise podem precisar de outra passagem.
Remover uma linha não apaga os ficheiros armazenados
Altere primeiro o destino predefinido, se necessário. Remove retira a ligação da lista, mas os ficheiros existentes e as suas credenciais guardadas continuam disponíveis. Não é um comando de limpeza de objetos AWS.
Partilhar armazenamento entre nós WordPress
Um destino S3 partilhado pode reduzir a dependência do disco de um único nó. Um balanceador de carga ainda precisa de uma instalação WordPress partilhada 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 partilhado do base de dados do plugin.
- Um diretório uploads partilhado para ficheiros ainda locais e fontes de migração preservadas.
- Os mesmos salts originais do WordPress em todos os nós, para que as credenciais guardadas e os ficheiros cifrados 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. Os drop-ins de encaminhamento da base de dados, como HyperDB, não são suportados; o balanceamento de carga ocorre aqui na camada HTTP.
Manter a recuperação e a rotação de chaves em funcionamento
Preserve juntos o base de dados, os salts e as versões de ficheiros referenciadas.
Fazer cópias de segurança, voltar a ligar e verificar
Use Edit → Reconnect para substituir as credenciais da mesma ligação guardada. Teste a leitura dos ficheiros atuais e históricos antes de desativar a chave antiga, incluindo outras ligações guardadas que ainda possam usá-la.
Mantenha o controlo de versões do S3 ativado e preserve as versões referenciadas pelo plugin. Não aplique uma limpeza do ciclo de vida que elimine versões históricas necessárias. Teste o restauro conjunto da base de dados, dos salts e dos ficheiros armazenados.
As credenciais temporárias expiram e exignum novo token válido e chaves; o plugin não as renova automaticamente. Monitore o uso da AWS e a transferência da alojamento conforme a loja cresce.