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. É 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: 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 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 e exportar dados para um backend Supabase: 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 e confirma a documentação de redirecionamentos: 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. 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.