PS PrestaShop Intermédio

Migração WooCommerce para PrestaShop: guia completo

Instalar, ligar e executar a migração completa WooCommerce → PrestaShop: as 7 etapas, o mapeamento, o dry-run e a resolução de problemas.

Atualizado Versão do módulo 1.1.0

Apresentação

A Migração WooCommerce (dfmigratewoocommerce) migra uma loja WooCommerce completa para o PrestaShop 8 ou 9: categorias, tags, atributos globais, produtos simples e variáveis (variações convertidas em combinações), imagens, metadados personalizados, clientes com moradas e encomendas. O módulo liga-se diretamente à base de dados MySQL do WordPress, trabalha por lotes AJAX sem timeout e conserva um mapeamento Woo ↔ PS na base de dados que torna cada etapa relançável sem duplicados.

A base de dados WooCommerce de origem é unicamente lida, nunca modificada. Todas as escritas são feitas do lado do PrestaShop.

Instalação

  1. No back-office PrestaShop, abra Módulos > Gestor de módulos > Carregar um módulo e selecione o ZIP dfmigratewoocommerce.zip.
  2. O módulo cria três tabelas técnicas: df_woomig_mapping (correspondências Woo ↔ PS), df_woomig_log (registo) e df_woomig_progress (progressão das etapas).
  3. Clique em Configurar para abrir a interface de migração.

Ligação ao WooCommerce

No separador Ligação, preencha:

  • Anfitrião / Porta: servidor MySQL da base de dados WordPress (porta 3306 por defeito);
  • Base de dados, Utilizador, Palavra-passe: credenciais da base de dados WordPress;
  • Prefixo de tabelas: geralmente wp_, verifique em wp-config.php ($table_prefix);
  • URL do site: o endereço público da loja WooCommerce, usado para descarregar as imagens (modo HTTP), ou um caminho no sistema de ficheiros em modo local.

Clique em Testar a ligação: o módulo mostra o número de produtos, categorias, tags, atributos globais, clientes e encomendas detetados na origem.

Se o seu alojamento bloquear as ligações MySQL remotas, importe um dump da base de dados WordPress para um esquema dedicado no servidor PrestaShop (ex. wp_source) e ligue o módulo a esse esquema em localhost. Um túnel SSH também funciona.

Parâmetros

  • Idioma por defeito: idioma PrestaShop no qual os conteúdos Woo (monolingues) serão escritos;
  • Grupo de impostos por defeito: aplicado a todos os produtos migrados. Os preços Woo são copiados tal como estão para o preço sem IVA do PrestaShop;
  • Atributos em características: ativa o duplo mapeamento (cada atributo global torna-se também uma característica, visível nos produtos simples) e a recuperação das postmeta personalizadas em características meta:*;
  • Tamanho do lote: número de entidades processadas por pedido AJAX (25 por defeito; reduza em alojamento partilhado lento);
  • Modo de imagens: http (descarregamento a partir do URL do site) ou local (o URL do site é tratado como um caminho de sistema de ficheiros que contém wp-content/uploads);
  • Dry-run: modo de simulação: tudo é registado, nada é escrito;
  • Transportadora por defeito: atribuída às encomendas migradas.

Ponto sensível para uma loja portuguesa: o WooCommerce guarda muitas vezes os preços com IVA, enquanto o PrestaShop espera preços sem IVA. Antes de migrar, verifique a definição « Introduzir preços com imposto » no WooCommerce; se estiver ativa, os preços migrados ficarão 23 % acima do esperado no continente e deverão ser recalculados. Crie também de antemão os grupos de impostos correspondentes às taxas do continente (23 %, 13 %, 6 %) e, se necessário, às dos Açores e da Madeira.

Lançar a migração

No separador Migração, execute as etapas pela ordem: cada uma assenta no mapeamento criado pelas anteriores:

  1. Atributos: cada atributo global Woo (pa_*) torna-se um grupo de atributos PS (os grupos de cor são detetados) e, se a opção estiver ativa, uma característica. Todos os valores são criados dos dois lados.
  2. Categorias: a árvore completa é reconstruída; as categorias-mãe em falta são resolvidas recursivamente, as órfãs associadas à raiz com um aviso.
  3. Tags: desduplicados por nome.
  4. Produtos: produtos simples e variáveis: preços, preços riscados (SpecificPrice), SKU, peso, dimensões, stock, estado, produto virtual, ligações a categorias/tags, características, metadados personalizados. As variações tornam-se combinações com impacto de preço, stock e referência próprios. As imagens do produto são migradas na sequência.
  5. Imagens: etapa de recuperação: percorre os produtos já migrados e importa as imagens em falta (imagem principal + galeria), com regeneração de todas as miniaturas.
  6. Clientes: contas com moradas de faturação e de entrega. Palavras-passe regeneradas em bcrypt: os clientes usam « esqueci-me da palavra-passe » no primeiro início de sessão. Os e-mails já existentes do lado do PS são reutilizados, nunca duplicados.
  7. Encomendas: deteção automática HPOS (WooCommerce 8+, tabelas wc_orders) ou legacy (wp_posts). Linhas, totais, moeda e estados mapeados para os estados do PrestaShop. Não é enviado nenhum e-mail.

Cada etapa mostra uma barra de progresso em direto e pode ser interrompida e relançada: retoma exatamente onde tinha parado.

Faça primeiro uma passagem completa em dry-run para validar o perímetro no registo, e desative depois o dry-run e relance.

Mapeamento e relançamentos

O separador Mapeamento mostra o número de correspondências por tipo de entidade. Qualquer entidade presente no mapeamento é ignorada nos relançamentos: pode relançar uma etapa completa sem criar duplicados. O botão de reinicialização apaga o mapeamento de um tipo (ou de tudo); as entidades já criadas do lado do PrestaShop permanecem.

Registo

O separador Registo lista os eventos por etapa e por nível (info, sucesso, aviso, erro): produtos criados, variações ignoradas por falta de atributo global, imagens não encontradas, encomendas sem cliente… Purga num clique.

Depois da migração

  • Lance uma reindexação da pesquisa: Parâmetros da loja > Pesquisa > Indexar todos os produtos;
  • Verifique uma amostra de preços se a sua loja Woo guardava preços com IVA (o PrestaShop espera valores sem IVA);
  • Controle o grupo de impostos, as transportadoras e os meios de pagamento;
  • Elimine a configuração de ligação (ou desinstale o módulo): as credenciais MySQL ficam guardadas na configuração do PrestaShop.

Limites conhecidos

  • Os atributos locais (definidos num único produto, não pa_*) usados em variação não podem tornar-se combinações: o PrestaShop exige atributos globais. Essas variações são ignoradas e assinaladas no registo. Converta-as em atributos globais do lado do Woo antes da migração, se necessário.
  • As encomendas são migradas a título de histórico: os impostos não são recalculados, os totais Woo são copiados tal como estão. Não substituem as faturas emitidas pelo seu software certificado pela AT.
  • Os cupões, as avaliações de produtos e as subscrições não são migrados nesta versão.

Resolução de problemas

« Falha de ligação » no teste

Verifique que o utilizador MySQL está autorizado a ligar-se a partir do IP do servidor PrestaShop (GRANT ... ON base.* TO 'user'@'ip') e que a porta 3306 está aberta. Caso contrário, use um dump local ou um túnel SSH.

Imagens em falta em modo HTTP

O site WooCommerce deve estar acessível em HTTP/HTTPS a partir do servidor PrestaShop. Se o site de origem estiver encerrado, use o modo local copiando wp-content/uploads para o servidor PrestaShop e indicando o seu caminho como URL do site.

Variações ausentes num produto

Consulte o registo: se as variações usavam atributos locais (não globais), são ignoradas por conceção. O produto-mãe é migrado com os seus dados de base.

Esta página foi útil?

Ainda com dúvidas? Contacte o suporte