web development and ai readiness

Move a WordPress site to PHP without losing its search footprint

A careful migration starts with a URL and content inventory, then tests every important route before and after launch.

By Imogen Hart·November 4, 2026·4 min read
What matters here
  1. Keep each established URL unchanged where possible; redirect any URL that must change with a direct 301.
  2. A content export is not a complete backup: copy media and retain a restorable copy of the database and files.
  3. A PHP rebuild does not preserve rankings by itself; verify redirects, metadata, crawl access and page responses before launch.

A WordPress-to-PHP migration is not just a template rewrite. Search engines and visitors already rely on the URLs, links and content your site has accumulated. Change those carelessly and the new site can launch with broken paths, missing pages or a smaller search footprint.

The safer approach is to treat the rebuild as a controlled transfer. Record what exists, reproduce what matters, and test the replacement before directing visitors to it. A custom PHP site can reduce dependence on WordPress and its extensions, but the language change alone does not protect rankings or guarantee lower operating costs.

1. Record the current site before changing it

Start with a complete list of public URLs, not just the pages in the main menu. Include posts, category and product pages, image files that receive search traffic, and any useful landing pages. Record each page’s current status, title, description, canonical URL and internal links. If analytics or search data is available, note which URLs bring visits or conversions; those pages deserve extra attention.

Keep a separate list of redirects already in place. Otherwise, a migration can accidentally remove old routes that still send visitors to relevant pages. Save a copy of the current sitemap and check that its URLs match the live site. This inventory becomes the acceptance checklist for the new build.

2. Export content and preserve the original

Export the WordPress content and make a separate, restorable backup of the site’s database and files. Treat these as different jobs. A content export is useful for moving text and records, but it should not be assumed to contain every media file, setting or piece of site behavior.

Copy images and documents, then connect each one to the page or record that uses it. Keep identifiers and existing slugs in the migration data where practical. For each page, check that the new version retains the text, headings, links and image alternatives that are still relevant. Remove outdated material deliberately rather than letting it disappear during import.

For an online store, include product and category URLs in the inventory. Decide how product details, options and useful content will be represented in the replacement. Plan separately for customer accounts, orders and checkout: the public page migration does not itself move those workflows. Before changing anything that handles payments or customer records, verify the required operational and data-handling arrangements.

3. Keep URL paths stable wherever possible

For every old URL, choose one of two outcomes: keep the same path or map it to the closest equivalent page. Make this decision in a spreadsheet before building. Preserving established paths avoids needless redirect work and keeps existing links useful.

When a URL must change, use a permanent 301 redirect from the old address directly to its new equivalent. Avoid sending several old paths through a chain of redirects, and do not send unrelated pages to the home page simply to avoid a 404. A missing page should be retired only when there is no meaningful replacement.

Test the mapping as a list, not by clicking a handful of links. Check that each old address returns the intended response and reaches the right final page. Also check internal links on the new site so they point directly to current URLs instead of relying on redirects.

4. Rebuild the page details that search depends on

Match titles, descriptions, headings and canonical URLs to the intended page. Keep useful structured data only where the page content supports it. Set up a sitemap containing the new canonical URLs, and make sure robots rules do not block public pages during launch. A staging site should not be mistaken for the live, indexable version.

In the PHP application, keep route handling explicit: a request should resolve to the intended page, and the response should return the right status. Use shared layout code where it helps consistency, but avoid loading the old WordPress application just to serve pages that have already been rebuilt. Include only the code and data each route needs. That can reduce unnecessary work, though actual speed depends on the implementation and hosting.

5. Test before switching the live site

On a staging copy, walk the URL inventory and check page content, status codes, metadata, canonical links, images and navigation. Test redirect destinations and inspect the sitemap. Check important forms and, for stores, the complete purchase path in a safe test process. Compare page response and load behavior with the old site rather than assuming PHP is faster by default.

Before launch, confirm that the new host can serve the site, that HTTPS works, and that public pages are not blocked by staging controls. Keep the old site and its backup available until the new routes have been checked in production. After the switch, review server errors and not-found requests, then fix broken routes promptly.

6. Monitor the transition, not just launch day

Compare search traffic and important landing pages with the baseline you recorded. Watch for sudden clusters of 404 responses, redirect loops, missing page titles or pages that search engines cannot access. A migration can cause normal short-term variation, but missing content or widespread URL errors call for investigation.

Moving off WooCommerce or WordPress may change the cost structure, but count the custom build, hosting, maintenance and any replacement services before calling it a saving. The earlier comparison of custom PHP and WooCommerce costs lays out why platform fees are only one part of that calculation.

BuiltToWinWeb offers hand-coded custom PHP websites and says the source code is handed over to the client. For a migration, the practical test is whether the build follows a documented URL map and passes the checks above. The result should be a site you can maintain, with its established search routes intact—not simply WordPress removed.

More from BuiltToWinWeb News