# Como migro os campos personalizados (ACF) do WordPress para um construtor de IA?

> Não importe a lógica PHP do ACF: extraia os valores renderizados de cada campo como JSON estruturado e modele-os como tabelas no banco do novo app. O ACF guarda os dados na tabela wp_postmeta, ligados de forma indireta, então um import padrão no construtor de IA falha. Lendo o frontend renderizado, você captura o valor real de cada campo. O WPBuildAI extrai os campos ACF como JSON limpo, pronto para o banco do novo aplicativo.

Source: https://wpbuildai.com/pt/migrar-custom-fields-acf-wordpress-ai-website-builder-app/
By lawrence-arya · 2026-06-04

---
Para migrar os campos personalizados do ACF do WordPress para um construtor de IA, esqueça a ideia de importar a lógica PHP. O caminho confiável é extrair os valores renderizados de cada campo como JSON estruturado e modelá-los como tabelas no banco do novo app. O motivo é técnico: o ACF guarda os dados na tabela wp_postmeta, muitas vezes serializados e ligados ao post de forma indireta, então um import padrão no construtor falha. Na prática, ler o frontend renderizado captura o valor real de cada campo. O WPBuildAI extrai os campos ACF como JSON limpo, pronto para o banco do novo aplicativo.

## Por que o import padrão não funciona

O ACF não guarda os campos como conteúdo simples. Os valores ficam em wp_postmeta, com chaves técnicas, dados serializados e relações por referência, e a lógica que os exibe é PHP que só roda dentro do WordPress. O Web Almanac 2024 da HTTP Archive mostra o quanto de um site WordPress é gerado em tempo de execução a partir do banco, e não armazenado como conteúdo pronto, no [Web Almanac](https://almanac.httparchive.org/en/2024/). É exatamente por isso que copiar o banco cru leva uma cópia da estrutura interna do WordPress, e não dados úteis. O mesmo problema aparece em [por que o XML do WordPress não importa em editores de IA](/wordpress-export-not-importing-cursor-ide-xml/): o construtor recebe um formato que não sabe interpretar e, no melhor caso, ignora; no pior, trava o import.

## O que é um campo ACF, na prática

Vale entender o que você está movendo. O ACF (Advanced Custom Fields) adiciona campos extras a posts e páginas: um preço, uma data, uma galeria, um campo de relação com outro post. Esses valores não vivem no corpo do post, e sim em wp_postmeta, uma tabela genérica de chave e valor. A lógica que transforma esses valores em algo visível, o template que chama `get_field()`, é PHP do tema, que só funciona com o ACF e o WordPress rodando. Em outras palavras: o campo ACF é um dado guardado de um jeito indireto mais uma função que o exibe. Por isso não dá para "importar o ACF": o que importa é o valor final que ele produz, não o mecanismo. Entender essa separação é o que torna a migração simples.

## Extraia o valor renderizado, não a lógica

A correção decorre da causa: capture o resultado que o campo produz, não o campo guardado. Leia o frontend renderizado, onde o ACF já transformou cada campo no seu valor visível, o preço exibido, a data formatada, a galeria montada, em vez da tabela wp_postmeta, que só tem o dado cru e serializado. Isso entrega o valor real de cada campo, pronto para virar uma coluna no novo banco. A pesquisa sobre [Generative Engine Optimization](https://arxiv.org/abs/2311.09735) lembra que dados limpos e bem estruturados são o que qualquer sistema processa melhor, e o frontend de IA que vai consultar esse banco não é exceção. Atenção: para campos de relação, capture também a referência (qual post o campo aponta), não só o texto exibido, para reconstruir a ligação depois.

## Modele em torno do app, não do WordPress

O ponto-chave: desenhe o esquema do novo banco para o seu app e mapeie cada campo ACF para a coluna certa durante a extração. Em geral, uma tabela por tipo de conteúdo, com colunas limpas e relações reais entre as tabelas. Defina primeiro os tipos de conteúdo no novo sistema, depois molde a extração para encaixar: um objeto JSON por item, com os campos nomeados conforme o esquema, e as relações como referências. Assim o JSON entra direto no banco, e o frontend de IA consulta dados limpos em vez de decifrar metadados serializados. Essa é a versão, em nível de campo, do que descrevem [migrar o banco para o Supabase](/migrate-wordpress-sql-database-to-supabase-ai-website-builder-app/) e [exportar dados para um backend Supabase](/export-wordpress-data-ai-website-builder-supabase-backend-csv/): primeiro o esquema, depois a extração que o preenche.

## Um exemplo: os campos de um imóvel

Imagine um site de imóveis em que cada anúncio é um post com campos ACF: preço, área em m², número de quartos, uma galeria de fotos e um campo de relação com o corretor responsável. Um import padrão do banco traria linhas de wp_postmeta com chaves como `_preco` e valores serializados, mais a galeria como uma lista de IDs sem sentido fora do WordPress. O caminho limpo: você lê o frontend renderizado, onde cada anúncio mostra o preço formatado, a área, os quartos, as fotos e o nome do corretor, e modela um banco com uma tabela `imoveis` (colunas para preço, área, quartos) ligada a uma tabela `corretores`, com as fotos rehospedadas. O JSON extraído entra direto nessas tabelas. O mesmo conteúdo que era um emaranhado em wp_postmeta vira dados limpos e consultáveis, porque você capturou o valor renderizado e o modelou em torno do app.

## Tipos de campo que exigem atenção

Nem todo campo ACF é igual, e alguns pedem cuidado extra na extração. Campos de relação e de post ligam um item a outro, então capture a referência, não só o rótulo, para recriar a ligação no novo banco. Campos repetidores (repeater) guardam listas de subcampos, que precisam virar linhas relacionadas, não um único valor achatado. Campos de imagem e galeria referenciam arquivos da biblioteca de mídia, que você deve rehospedar e religar, mantendo o texto alternativo. Campos flexíveis (flexible content) montam blocos variados por página e exigem mapear cada tipo de bloco. Vale lembrar: os campos simples (texto, número, data) migram direto, mas esses tipos compostos são onde uma extração apressada perde dados. Tratá-los como relações e listas reais, e não como texto solto, é o que mantém o conteúdo íntegro.

## O SEO é uma etapa à parte

Migrar os campos resolve o conteúdo. As posições ainda dependem das URLs e dos metadados, então mantenha títulos e descrições e redirecione com 301 o que mudar, como descreve o [guia de mudança de URLs do Google](https://developers.google.com/search/docs/crawling-indexing/site-move-with-url-changes) e confirma a [documentação de redirecionamentos](https://developers.google.com/search/docs/crawling-indexing/301-redirects): um 301 limpo transfere os sinais de posicionamento para a nova URL. Migrar os dados reconstrói as páginas, o mapa de redirecionamento protege o tráfego, ponto também tratado em [um construtor de IA importa o meu conteúdo](/will-an-ai-website-builder-import-my-existing-content/). São dois trabalhos distintos: a extração dos campos cuida do conteúdo, o mapa de URLs cuida das posições, e os dois precisam ser feitos. Reconstruir as páginas com dados limpos, mas em URLs novas sem redirecionamento, mantém o conteúdo e perde o tráfego.

## Erros comuns

Os erros que se repetem vêm de tratar o ACF como conteúdo simples. Tentar importar o banco cru ou a lógica PHP traz a estrutura interna do WordPress, não dados úteis. Capturar o rótulo de um campo de relação, mas não a referência, quebra a ligação. Achatar um campo repetidor num único valor perde a lista. Deixar imagens apontando para a biblioteca antiga faz as fotos sumirem quando o site velho é desligado. E tratar a migração dos campos como o trabalho inteiro, sem o mapa de redirecionamento, custa as posições. Cada um se evita com a mesma abordagem: extraia o valor renderizado, modele em torno do app com relações reais, rehospede as imagens e monte o mapa de 301, para que os dados migrem completos e o tráfego se mantenha.

## Resumo: campos ACF para um app de IA

Não importe a lógica PHP do ACF: extraia os valores renderizados como JSON estruturado, porque o ACF guarda os dados em wp_postmeta de forma indireta e serializada, que o construtor de IA não interpreta. Modele em torno do novo app, com uma coluna por campo e relações reais, dando atenção aos tipos compostos (relação, repetidor, galeria) que uma extração apressada perde, e rehospede as imagens. Lembre que a migração dos campos cuida do conteúdo, mas as posições exigem URLs preservadas e 301 para o que mudar. O WPBuildAI extrai os campos ACF como JSON limpo e monta o mapa de redirecionamento no mesmo processo; envie a URL do seu site para um orçamento fechado.

Não tem vínculo com WordPress, ACF ou Lovable.