October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk10 min

Moving 500 WordPress Posts to Nuxt: A URL-First Migration Plan

Moving roughly 500 WordPress posts to Nuxt is mostly a URL and rendering project. Here is how to inventory the site, extract content safely, map and redirect every valuable URL, and check the HTML before launch.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Moving about 500 WordPress posts to a Nuxt site is a manageable project if you treat it as a URL and rendering migration rather than a simple content export. Copying the text is usually the easy part. What protects traffic is a complete inventory, a deliberate map from every valuable old URL to its new destination, and a check of the HTML Nuxt actually serves before you point the domain at the new site. A framework change does not improve search rankings on its own, so the plan below focuses on keeping what already works and measuring any change.

Start with a backup you have verified

WordPress’s official migration guidance says to back up the WordPress directory, images, plugins and other files, as well as the database, before you move anything. If the site and database URLs stay the same, the documented move can involve copying files and the database. Changing domains or URL structures needs more care, and that is where most of the risk sits in this project.

As an Amazon Associate I earn from qualifying purchases.

A successful download does not prove that every record came across. The built-in export can come out empty or partial when plugins interfere, so verify the export against the live admin before you rely on it:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Count published posts, drafts, scheduled posts, pending posts and private posts in Posts > All Posts using the status filters, and compare those totals with the export file.
  • Check that the export includes every page type you publish, not only posts.
  • Confirm that the database backup restores into a scratch environment and that the post count there matches the live site.
  • Store a copy of the files and the database together, with the date and the WordPress version recorded alongside.

Be clear about what the export does not carry. The built-in export/import flow covers posts, comments, pages, categories and custom fields. It does not include widget configuration or plugin and blog settings. Write those down by hand: menus, sidebar content, form settings, SEO plugin configuration, redirect rules, and any analytics or tag-manager snippets.

Build an inventory before writing any code

At roughly 500 posts, a spreadsheet inventory is the working document for the whole project. Every row should be one public URL or one content record. The columns that matter most are:

  • Source URL as it is served today, including trailing slashes and query strings that are indexed or linked.
  • Content type and status: post, page, custom post type, published, draft, private or password-protected.
  • Taxonomy and author: categories, tags, and author archives that create their own URLs.
  • Media and embeds: featured images, inline images, galleries, video or social embeds, and shortcodes.
  • Metadata: title tag, meta description, canonical URL, robots directives and any structured data.
  • Internal links: how many other pages link to it, which helps you prioritize redirects.
  • Destination: the new path, a redirect target, or an intentional removal.

The 500 figure is the size of the project as described, not a count you can rely on until the inventory produces one. Some sites have far more public URLs than posts because of archives, pagination and attachment pages, and the inventory should capture those too.

Choose how you will extract the content

Two extraction routes are practical for a site this size. Neither is a complete copy of the site, so you will usually combine them with the inventory.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Method What it covers Known limits Best used for
Built-in XML export and import (Tools > Export, then Tools > Import) Posts, comments, pages, categories and custom fields Excludes widget configuration and plugin or blog settings; can be partial when plugins interfere A first pass on standard editorial records, checked against the inventory
WordPress REST API Public posts, pages and taxonomy data by endpoint, such as /wp-json/wp/v2/posts Private and password-protected content, drafts, users, custom post types and metadata need authentication or explicit exposure Programmatic extraction where you need fields the export does not produce, and for reconciling IDs

Using the REST API carefully

Public posts are generally readable without logging in, which makes the API convenient for a first extraction. Two details trip up importers. First, WordPress core caps the per_page parameter at 100 by default, so paginate with the page parameter and read the X-WP-Total and X-WP-TotalPages response headers to confirm you have every record. Second, custom post types and metadata are not necessarily exposed. Check each type’s REST availability on the real site before designing the importer, and if a custom type is missing, decide whether to expose it or export it another way.

Test the API output against the inventory. Compare record counts and IDs by type, and list any IDs that appear in one source but not the other.

When the export is enough

If the site uses mostly standard posts, pages and categories, the built-in export is often the simpler route and produces less custom code. If the content depends on plugin-generated fields, custom post types or unusual metadata, the API or a direct database query is the more reliable way to get it out.

Transform the content for the new model

The export is raw WordPress content, and most of it will need a transformation step before it fits a Nuxt content model. The transformations that cause the most trouble are:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Shortcodes: replace each one with a component or a plain HTML equivalent. Search every post for bracketed tags before you start, because plugins often add shortcodes you have forgotten about.
  • Embeds: keep the source URL and rebuild the embed with the same provider, or store a static fallback if the embed is no longer supported.
  • Galleries: convert them to a list of images with captions and alt text.
  • Media paths: rewrite every image reference to the new asset location, and confirm that each file exists. Broken media is easiest to catch in this step rather than after launch.
  • Internal links: rewrite links that point to old paths so they point to the new destinations, and check them against the URL map.
  • Custom fields: map each field to a named property, and document any field that has no equivalent.

Keep the original WordPress content untouched and generate the new files from it with a script. A script you can rerun makes it possible to fix problems and regenerate the content without manual edits drifting out of sync.

Map every old URL before you build the routes

The URL map is the most important artifact in the project. It turns the inventory into a set of decisions:

  1. Export the list of public URLs from your crawl and from the sitemap, then add the URLs from your analytics and search console data for pages with real traffic or links.
  2. Mark each URL as unchanged, changed slug, merged into another page, or intentionally removed.
  3. For each changed or removed URL, record the destination and the status code. A permanent move normally uses a 301 redirect. The Nuxt server documentation uses a 302 in its example, so do not copy that code without deciding it for each route.
  4. Check for redirect chains. If an old URL already redirects, point the original straight to the final destination.

In Nuxt, redirects can be declared in route rules. A single permanent redirect looks like this:

export default defineNuxtConfig({
  routeRules: {
    '/2019/05/old-post-slug/': {
      redirect: { to: '/guides/new-post-slug', statusCode: 301 }
    }
  }
})

For hundreds of posts, generate these rules from the URL map rather than writing them by hand. Keep the map under version control so each change is traceable.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Pick a rendering mode for each page type

Nuxt supports server rendering, prerendering and client-only rendering, and you can combine them by route. The choice affects what crawlers and users receive on the first response, which is the part that matters for search.

Mode What the first response contains Fit for article pages Main risk
Server rendering HTML generated on each request Good for pages that change often or depend on the request More hosting and operational work than static output
Prerendering HTML generated at build time Usually a strong fit for stable article pages Pages must be rebuilt after content changes
Client-only rendering An empty shell that JavaScript fills in Poor fit for article content that needs to be indexed Loses many of the SEO benefits that prerendering provides

For a blog-style archive of posts, prerendering is the usual starting point, with server rendering reserved for dynamic features such as search or account areas. Confirm the decision by checking the delivered HTML, not the browser view after scripts run. From a terminal, the check is simple:

curl -s https://staging.example.com/guides/new-post-slug/ | grep -i "<title>|<link rel="canonical""

If the title, canonical link and body text are missing from that output, the page is not delivering its content to crawlers that do not run JavaScript.

Carry over metadata and crawl signals

A rebuilt site can lose search signals without any visible change to the layout. Build a checklist for each template and verify it on staging:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Title tags and meta descriptions, copied from the inventory and not regenerated from scratch.
  • Canonical URLs pointing to the new absolute address, with no duplicate paths that serve the same content.
  • Robots meta tags and any noindex settings, so that pages you meant to hide stay hidden and pages you meant to index are not blocked.
  • Category, tag and author archives, including how pagination is handled.
  • Image paths and alt text.
  • Structured data, if the old site used it, rebuilt with the same types and fields.
  • An updated XML sitemap listing only the new canonical URLs.
  • A 404 page that returns an actual 404 status code and links back to useful sections.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Validate before you switch the domain

Validation should run against the staging site, with the old URL list as the input. The steps, in order:

  1. Reconcile records. Compare counts by content type and status between the source and the new build. Every discrepancy should be explained before launch.
  2. Compare IDs and slugs. List missing IDs, changed slugs and titles that differ, and confirm each one matches a decision in the URL map.
  3. Crawl the old URL list. Request every URL from the inventory against staging and classify the results as expected 200 responses, expected redirects to the correct final destination, or intentional removals with a clear status code.
  4. Test edge cases. Use posts with embeds, shortcodes, galleries, unusual custom fields and broken media, and check each one in the rendered output.
  5. Check the delivered HTML. Run the same title and canonical check on a sample of pages across each template, not only the homepage.

Plan the launch and the monitoring window

Launch is the point where most traffic risk appears, so prepare the rollback path before the domain changes. Keep the WordPress site available in read-only form for the period when you may need to compare content or recover a missing record. Set a monitoring period in advance and watch the same measures against a baseline taken before launch:

  • 404 responses to URLs that appear in your inventory, which signal a missing redirect or an omitted page.
  • Redirect chains and loops in server logs or a crawl.
  • Indexation and crawl reports in your search console tool, particularly for coverage errors that appear after the move.
  • Organic search traffic and landing-page traffic, compared with the same period before the move, adjusted for seasonal patterns.

Expect some fluctuation during the first weeks after a move even when the migration is clean, because search engines need time to recrawl and process the new addresses. A sustained drop concentrated on specific sections usually points to a mapping or metadata problem that can be fixed.

What a Nuxt rebuild can and cannot do for search

Readers planning this kind of move often ask two things: how to avoid losing traffic, and whether moving to Nuxt has produced a measurable SEO gain for others. The first question is answered by the URL map, the redirects and the validation steps above. The second has no general answer. The sources available for this topic establish how Nuxt renders pages and what client-only rendering costs in SEO terms, but they do not establish a typical ranking or traffic gain from switching frameworks. Any improvement will depend on your content, your existing technical problems and how well the new site serves its pages, so measure it on your own site rather than expecting it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What to collect from the site owner before estimating

Several project details change the plan and cannot be inferred from the title alone. Collect these before giving a timeline or promising results:

  • The full list of public URLs, including archives, pagination and attachment pages, and the traffic each one receives.
  • Every post type and custom field in use, and which plugins generate content or shortcodes.
  • The media library size and whether files are stored locally or on an external service.
  • The SEO plugin in use and the metadata it stores.
  • Forms, comment systems, search and any third-party integrations.
  • The publishing workflow: who writes, who edits, how often posts change, and whether editors need a new CMS interface or can work from files.
  • Target hosting and deployment method for the Nuxt site.
  • Traffic priorities, so the most valuable sections are validated first.

With those answers, the inventory, URL map and rendering decision become specific to the site, and the timeline can be based on counts rather than estimates.

“

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.