Guide
Migrate Lovable to WordPress: Launch Checklist
To migrate a live Lovable site to WordPress, inventory the URLs, forms and metadata first, build the WordPress site on a staging domain, match every path one for one, then move DNS and watch Search Console. The move itself is quick; the losses happen when a page quietly changes address or a form stops sending mail. Work through the checklist below in order and nothing goes missing. You can convert the Lovable export into a WordPress block theme at iqdesk.com/app, or rebuild by hand.
Before you touch anything: make an inventory
A migration loses rankings when the new site has different URLs than the old one. So write down the old ones first, while the Lovable site is still live.
Open your Lovable project and list every route. In older React + Vite apps the routes are in src/App.tsx and the pages in src/pages. In apps created from 13 May 2026 the routes are files in src/routes, and each one has a head() with its title, description and JSON-LD. Copy those titles and descriptions into your sheet; you will paste them back into WordPress later.
Then add everything that is not a page: form endpoints, analytics snippets, any script tag you pasted into the project, and the redirects in public/_redirects.
- URLs — every path the site answers on, including the home page and any trailing-slash form you use.
- Titles and descriptions — one per page, from the route
head()or from your SEO tool. - Forms — where each form posts, and which inbox receives the mail.
- Images — logo, favicon, Open Graph image.
- Third-party code — analytics, chat widgets, pixels, embeds.
- Redirects — the contents of
public/_redirects, if the project has one.
Export the code and convert or rebuild
Get the project out of Lovable. GitHub sync works on every plan. "Download codebase", which gives you a ZIP, needs a paid plan. Both give you the same normal React + TypeScript project with Tailwind CSS and shadcn/ui. The full walkthrough is in our guide on how to export Lovable code.
You then have two routes to WordPress. You can rebuild the pages by hand in the Site Editor, using the export as a design reference. Or you can run the ZIP or the repository through our converter, which produces a WordPress block theme: templates, header and footer template parts, one pattern per page, a theme.json with your Tailwind palette and Google Fonts, and the images copied into the theme.
Either way, be honest about what moves. Sections, grids, cards, headings, lists, quotes, buttons, navigation, accordions and images translate cleanly into blocks. Carousels, tabs and modals arrive in their default state. React state, event handlers, Supabase, authentication, dashboards and API calls do not translate at all; those need a developer or a plugin. The full breakdown is on supported features.
If your Lovable site is mostly an application behind a login, a theme conversion will not carry it. Convert the marketing pages and keep the app where it is.
Keep the URLs identical
This is the part that protects rankings. WordPress must answer on exactly the same paths as Lovable did.
In WordPress, a page's path comes from its slug. Open each page, set the slug to match the old route, and set the front page under Settings → Reading. Check Settings → Permalinks too: pick a structure and keep it, because changing it later moves every post.
Where a path cannot be kept, add a 301 redirect from the old path to the new one. A redirect plugin is the simplest way; your host may also offer redirect rules. Our converter reads public/_redirects from the Lovable project and carries those rules over, so the redirects you already had keep working.
Then test. Before DNS changes, run through your URL list against the staging site and confirm each one returns a page and not a 404.
Rebuild the forms and the integrations
A Lovable form usually posts to a service or a function. That code does not survive a theme conversion, so the form needs a WordPress equivalent.
Contact Form 7 is the plugin our converter targets: install it, recreate the fields, and paste the shortcode where the old form sat. For a shop, WooCommerce covers product listings, product pages and the cart link. Our converter maps those structures onto both plugins when it finds them.
Whatever you use, send a real test message from the live inbox before you cut over, not after. Check the spam folder as well; a new sending domain often lands there on the first try.
Re-add the third-party code from your inventory. Analytics, pixels and chat widgets are not part of the theme and have to be pasted into WordPress again, usually through a header-scripts plugin or a block in the footer template part.
Carry the SEO metadata across
Install an SEO plugin first: Yoast, Rank Math or SEOPress. Our converter writes the per-page title and description from a TanStack Start route head() into whichever of the three you have, along with JSON-LD. If your Lovable app is an older React + Vite one, per-page meta and Open Graph tags are not converted and you type them in by hand.
Then work down the list you made at the start.
One thing improves on its own. Older Lovable apps render in the browser; Lovable prerenders them on request for verified search engines, link-preview bots and AI crawlers, but third-party SEO scanners see an empty app shell. A WordPress page is plain HTML for everyone. We cover the detail in is Lovable good for SEO.
- Title and description per page, pasted from the inventory.
- Canonical URLs pointing at the live domain, not the staging domain.
- Open Graph image and title for each important page.
- XML sitemap enabled in the SEO plugin.
- Discourage search engines from indexing this site checked under Settings → Reading while the site is on staging, and unchecked at launch.
The cutover, step by step
Build on a staging domain or a subdomain, then switch. Doing it in this order keeps downtime to the DNS propagation window.
Keep the Lovable project after the move. It costs nothing to leave it in place and it is your reference if a page turns out to be wrong.
- Install the theme. Appearance → Themes → Add New → Upload Theme → Activate. A converted theme creates its pages on activation and sets the front page.
- Compare page by page against the live Lovable site, on desktop and on a phone. WordPress stacks columns on mobile, so check that each section still reads well.
- Fix the layout in the Site Editor (Appearance → Editor). Templates and template parts hold the structure,
theme.jsonholds colors and fonts, and/patternsholds the page content. - Set the slugs and redirects, then re-test every URL from the inventory.
- Send a test through each form and confirm it arrives.
- Lift the index block, point DNS at the WordPress host, and install the SSL certificate.
- Re-crawl. Submit the sitemap in Search Console and check the Pages report for new 404s over the next two weeks.
FAQ
Will I lose my Google rankings when I migrate Lovable to WordPress?
Not if the URLs stay the same and the content stays the same. Rankings drop when pages move to new addresses without redirects, or when text is trimmed during the rebuild. Keep every path identical, 301 anything you cannot keep, and submit the sitemap in Search Console after the cutover.
Do my Lovable forms keep working in WordPress?
No. A Lovable form is React code with a handler, and that code does not become a WordPress form. You rebuild it with a plugin such as Contact Form 7 and send a test message before you move DNS.
How long does a migration take?
The theme conversion itself runs in the browser in minutes. The work is the checklist around it: matching slugs, rebuilding forms, re-entering metadata and testing. For a small marketing site that is usually an afternoon; sites with many pages or custom functionality take longer.
Can I keep my domain on Lovable while I build the WordPress site?
Yes. Build WordPress on a staging domain or subdomain and leave the live Lovable site untouched until you are ready. Keep the staging site out of the index by checking Discourage search engines from indexing this site under Settings and Reading, uncheck it at launch, then switch DNS when the comparison passes.
What parts of my Lovable site cannot be migrated?
Anything that depends on running JavaScript or a backend: React state and event handlers, Supabase, authentication, dashboards, API calls, canvas, Lottie and third-party widgets. Absolutely positioned decorations and iframes are also left out. Those parts need a plugin or a developer, or they stay where they are.