«Temos um Excel com 8.000 registos. É só importar?»
Carregar o ficheiro pode ser a parte mais simples. O desafio está em garantir que cada registo cria ou atualiza o conteúdo certo, com os campos, imagens, categorias e relações corretos — sem duplicações nem alterações inesperadas.
Uma importação pode envolver páginas, projetos, produtos, documentos, utilizadores e conteúdos em vários idiomas. Para a preparar, é útil seguir uma sequência: analisar a origem → limpar os dados → definir a correspondência de campos → testar → importar → validar.
Definir a origem e o destino dos dados
Os dados podem vir de Excel, CSV, XML, outro WordPress, uma base de dados, um ERP, um CRM ou uma API. A origem determina o formato disponível, a qualidade da informação, os identificadores e a frequência com que os registos mudam. Migrar conteúdos entre dois websites WordPress é diferente de importar uma folha de cálculo preenchida manualmente durante anos.
Também é necessário estabelecer o que cada linha representa no destino: um projeto, produto, cliente, documento ou utilizador? E como se traduz cada coluna para o WordPress? Um título pode tornar-se o título de um conteúdo; «Setor» pode corresponder a uma taxonomia; «Ano» pode ser um campo personalizado. Esta definição é o mapeamento dos dados.
Considere um exemplo fictício de importação de projetos:
| Campo na origem | Destino no WordPress | Regra a aplicar |
|---|---|---|
P001 | Identificador externo do projeto | Preservar o código para futuras atualizações |
Projeto Alfa | Título do projeto | Validar se está preenchido |
2026 | Campo personalizado «Ano» | Confirmar o formato |
Industrial | Termo da taxonomia «Setor» | Usar uma designação normalizada |
| Código do cliente | Relação com o conteúdo «Cliente» | Identificar o cliente correto |
Nem sempre uma linha corresponde apenas a um conteúdo simples. Pode conter várias imagens, documentos e referências a outros registos. Nesses casos, o mapeamento também precisa de definir como separar e associar essa informação.
Corrigir identificadores, duplicados e formatos
Um identificador estável é decisivo quando a importação se repete. Pode ser um SKU, um código de projeto, um ID externo ou um UUID. O processo tem de utilizar esse identificador para reconhecer o registo existente e decidir se o cria, atualiza ou ignora. Guardar o código numa coluna não evita duplicados se o importador não o usar para estabelecer essa correspondência.
Títulos e nomes são menos fiáveis: podem mudar, repetir-se ou aparecer escritos de formas diferentes. «Empresa X», «Empresa X, Lda.» e «EMPRESA X» poderão referir-se à mesma entidade, mas essa decisão não deve ser automática sem uma regra. Se o mesmo código P001 surgir em três linhas, também é necessário determinar qual dos valores prevalece.
Os campos obrigatórios exigem critérios de aceitação. Se a linha 732 não tiver o código necessário para identificar um projeto, deverá ser rejeitada, ficar pendente ou receber um código validado por outra regra? O comportamento deve ficar definido antes da execução, com o erro registado para correção.
A normalização abrange categorias, países, idiomas, estados, unidades, valores de sim/não e datas. Por exemplo, 07/10/2026 pode ser interpretado como 7 de outubro ou 10 de julho, consoante o sistema. Convém adotar um formato inequívoco e tratar adequadamente horas e fusos horários quando influenciam publicação, validade ou ordenação. Nos ficheiros CSV, a codificação dos caracteres também deve ser verificada, sobretudo para preservar acentos e símbolos.
Preservar taxonomias, relações e idiomas
Antes de importar categorias, setores, tipos ou regiões, defina os termos admitidos e, quando aplicável, a sua hierarquia. «Norte», «Região Norte» e «north» não devem originar três termos por acidente se designarem a mesma região. A criação automática de taxonomias sem controlo pode tornar a organização do website difícil de corrigir.
As relações entre conteúdos exigem atenção à ordem de importação. Se um projeto pertence a um cliente, pode ser necessário importar primeiro os clientes e guardar a correspondência entre o identificador de origem e o ID atribuído pelo WordPress. Só depois se importam os projetos e se estabelece a ligação correta. O mesmo princípio aplica-se a documentos associados a produtos ou a outros conteúdos.
Num website multilingue, é necessário identificar o idioma de cada registo e ligar cada tradução ao respetivo conteúdo original. Por exemplo, as versões portuguesa e inglesa do projeto P001 devem pertencer ao mesmo conjunto de traduções, e não surgir como projetos independentes. Em instalações com WPML, essa associação requer dados e procedimentos próprios, cuja compatibilidade depende da ferramenta utilizada.
Importar imagens, PDFs e outros ficheiros
Os ficheiros têm uma lógica própria. Para cada imagem é necessário saber a que conteúdo pertence, se será imagem destacada ou parte de uma galeria e se já existe na biblioteca multimédia. A associação pode assentar num código de produto, identificador de projeto ou campo específico, mas tem de ser consistente.
Se a origem indicar um endereço externo, confirme que o ficheiro é realmente acessível, que o tipo de conteúdo é válido e que existe autorização para o utilizar. Milhares de transferências podem falhar por problemas de rede, limites de processamento ou endereços entretanto alterados. O WordPress dispõe de funções como media_handle_sideload() para integrar ficheiros na biblioteca multimédia, mas essas funções não determinam, por si só, a relação correta com cada conteúdo.
Para PDFs, fichas técnicas, certificados ou manuais, há outra decisão: guardar uma cópia no WordPress ou manter uma ligação ao sistema de origem? A cópia local facilita a gestão dentro do website, mas exige um processo de atualização. Se o documento mudar frequentemente na origem, uma ligação controlada ou uma integração pode evitar versões desatualizadas. Em operações grandes, pode fazer sentido importar primeiro os conteúdos e tratar os ficheiros numa etapa posterior.
Ter cuidados específicos com WooCommerce e utilizadores
Produtos WooCommerce
Um catálogo inclui mais do que nomes e preços: SKU, stock, categorias, atributos, variações e imagens têm de ficar coerentes. O WooCommerce dispõe de um importador CSV integrado que permite mapear colunas, criar produtos e atualizar os existentes através de identificadores como o ID ou SKU, conforme a operação.
Ainda assim, o importador não corrige um SKU indevidamente repetido nem garante que as variações estão bem relacionadas com o produto principal. Campos adicionais de plugins, atributos especiais e catálogos multilingues podem exigir preparação ou ferramentas complementares. Deve testar-se o resultado no produto efetivo, e não apenas confirmar que o ficheiro foi aceite.
Utilizadores e permissões
Importar utilizadores envolve identidades e acesso ao website. É necessário definir a correspondência por nome de utilizador ou email, os papéis atribuídos, os campos adicionais e o tratamento de contas já existentes. As palavras-passe, o envio de convites e a ativação devem seguir um procedimento seguro; não se devem transportar credenciais em texto simples numa folha de cálculo.
Quando existem dados pessoais, a importação também exige controlo de acessos, uma finalidade legítima e atenção às regras de proteção de dados. O cuidado necessário é diferente do de importar páginas públicas.
Testar, executar por lotes e validar
Uma importação de milhares de registos pode consumir memória, demorar a processar ou falhar a meio. Uma falha não significa que nada tenha sido importado: alguns conteúdos podem já ter sido criados ou alterados. Repetir a operação sem verificar o estado anterior pode provocar duplicações.
O procedimento deve prever estas etapas:
- Preparar um ambiente de testes (staging) e uma cópia de segurança. Confirmar que é possível recuperar os dados e definir como reverter alterações. Se o ambiente de testes contiver dados pessoais, deve ter acesso devidamente protegido.
- Ensaiar com uma amostra representativa. Em vez de escolher apenas dez linhas simples, incluir conteúdos com várias categorias, imagens, relações, traduções, campos vazios e caracteres especiais. Verificar os conteúdos também na parte pública do website.
- Executar em lotes controlados. Um lote de 500 registos pode ser adequado num projeto e excessivo noutro. O tamanho depende do alojamento, dos ficheiros associados e do trabalho realizado por registo. O processo deve permitir identificar o ponto de paragem e retomar sem criar duplicados.
- Registar e conferir os resultados. Para cada identificador, guardar a operação e o resultado: criado, atualizado, ignorado ou falhado, com o motivo. Comparar os registos de origem com os de destino e verificar títulos, endereços, taxonomias, campos, relações, imagens, idiomas e apresentação.
- Executar a correção ou reversão necessária. Se foram criados registos errados, deve ser possível identificar o lote. Se foram atualizados dados existentes, pode ser necessário recuperar os valores anteriores. Restaurar a base de dados inteira em produção pode apagar encomendas ou outras alterações legítimas ocorridas entretanto.
Exemplo: um ficheiro tem 5.000 linhas, mas apenas 4.987 conteúdos aparecem no WordPress. Essa diferença precisa de uma explicação: registos rejeitados, duplicados tratados, erros de associação ou conteúdos colocados noutro estado. Uma importação concluída sem mensagem de erro não substitui esta validação.
Escolher entre importação e sincronização
Uma importação pontual pode ser suficiente para lançar um novo website, migrar conteúdos ou atualizar ocasionalmente um catálogo. Se o sistema de origem continuar ativo, porém, pode ser necessária uma sincronização final das alterações antes da entrada em produção. Caso contrário, os registos criados ou modificados depois da primeira importação podem ficar de fora.
A ferramenta deve ser escolhida em função da estrutura e da frequência das atualizações:
| Situação | Opção a avaliar | Principal cuidado |
|---|---|---|
| Migração entre websites WordPress | Exportação/importação WordPress (XML/WXR) | Confirmar ficheiros, tipos de conteúdo e relações |
| Catálogo WooCommerce | Importador CSV integrado | Validar identificadores, atributos e variações |
| Projetos com campos e relações complexas | Plugin especializado ou solução à medida | Suportar campos, relações, idiomas e atualizações |
| Dados de ERP ou CRM atualizados regularmente | Integração por API ou processo automatizado | Controlar alterações, conflitos e falhas de sincronização |
O CSV continua a ser útil quando os dados são tabulares, a operação é ocasional e as relações são simples. A API pode ser mais apropriada quando a origem permanece ativa e é necessário atualizar registos frequentemente. Mas uma API não é obrigatória: uma importação programada e bem controlada também pode cumprir determinadas necessidades.
Se a empresa precisa de exportar, limpar e voltar a importar um ficheiro todos os dias, vale a pena avaliar se o problema deixou de ser uma migração e passou a ser uma necessidade de integração contínua.
Lista de verificação antes de importar
- A origem, o tipo de conteúdo de destino e a correspondência de cada campo estão definidos?
- Existe um identificador estável e uma regra explícita para criar, atualizar ou ignorar registos?
- Duplicados, campos obrigatórios, datas e taxonomias foram validados?
- As relações entre conteúdos e traduções estão identificadas?
- Imagens e documentos têm origem acessível e associação inequívoca?
- Produtos, variações, utilizadores e permissões receberam tratamento próprio, quando aplicável?
- Foram preparados o ambiente de testes, uma amostra representativa, os lotes e os registos de execução?
- Existe um plano de reversão e, se necessário, de sincronização final?
Conclusão
O sucesso de uma importação em massa mede-se pela integridade dos dados no destino, não pelo número de linhas processadas. Uma estrutura clara, identificadores fiáveis, testes e validação permitem escolher uma ferramenta proporcional à operação e corrigir problemas antes de os multiplicar por milhares de registos.