Turning AI site data into WordPress custom post types
Product lists, team pages and project cards in AI sites are often hard-coded. Here is how an IT expert turns them into editable WordPress content types.
Convert2WP – convert your AI website to WordPressClick here
The hidden data inside AI-built pages
When you open the code of a site made with Lovable, Bolt or v0, you often find arrays of data written straight into the components. A list of team members with names, photos and roles. A set of case studies with a title, a client and a short story. A pricing table with three plans. On the live site it all looks like content, but in the code it behaves like design.
After a conversion this content arrives in WordPress as text and blocks on a page. That is fine for a start, but the moment you want to add a tenth team member or a new case study, you notice that you are copying and pasting blocks. That is the signal that the data deserves its own structure: a custom post type.
What a custom post type gives you
A custom post type is a new kind of content next to pages and posts. You could create Team, Projects, Services or Locations. Each entry has its own edit screen, its own fields and its own address on the site. Editors fill in a form instead of fighting with layout, and the theme decides how everything is displayed.
The real gain is consistency. When every project is stored in the same shape, you can list them on the homepage, filter them by category, show the three latest on a service page and build an archive page, all from the same data. Change the design once and every entry follows.
Mapping the old structure
I always start with a simple spreadsheet. For each repeated element on the AI site, I write down which pieces of information it contains: title, image, short text, long text, link, date, category. These become the fields. If the original code has a JSON array or a data file, that is even better, because you can export it almost directly.
Next, decide which pieces are taxonomies. A project might belong to an industry and a service type. Those are better as categories or custom taxonomies than as free text, because you can filter on them and they keep spelling consistent. Keep the number of fields as small as possible; every extra field is something an editor must understand.
Registering the types and fields
You can register post types with a few lines of code in a small site plugin, or with a well-known plugin that offers a visual interface. I prefer a site plugin for anything important, because the structure then lives in version control and does not disappear if someone switches the theme. For the fields, a field plugin or native block bindings both work well.
Choose clear slugs from the start, such as /projects/ or /team/, because they become part of your URLs. If the AI site already used addresses like /work/client-name, reuse that pattern so you do not need redirects. Where an address must change, add one permanent 301 redirect from the old URL to the new one.
Importing the content
For small sets I simply type the entries in by hand; ten team members take less time than writing an import script. For larger sets, export the data to CSV and use an import plugin that can map columns to fields and download images into the media library. Always run the import on a staging copy first and check a handful of entries before you touch the live site.
Pay attention to images. AI sites often load images from external services or with long generated file names. Rename them to something descriptive, compress them and add proper alt text during the import. It is a small effort that helps both accessibility and search.
Templates and the editor experience
With a block theme you create a single template and an archive template for each post type in the site editor. The Query Loop block can show lists anywhere on the site. Test the templates with long titles, missing images and empty fields, because real content is always messier than demo content.
Finally, sit next to the person who will maintain the site and let them add one entry while you watch. You will immediately see which labels are confusing and which fields nobody needs. Ten minutes of watching saves weeks of support questions later.