Free tools Windows power users keep installed
One-click scans. No signup required.
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:
- 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.
#1 Best Overall
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.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errors| 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:
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →- 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:
- 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.
- Mark each URL as unchanged, changed slug, merged into another page, or intentionally removed.
- 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.
- 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.
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:
- 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.
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:
- Reconcile records. Compare counts by content type and status between the source and the new build. Every discrepancy should be explained before launch.
- Compare IDs and slugs. List missing IDs, changed slugs and titles that differ, and confirm each one matches a decision in the URL map.
- 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.
- Test edge cases. Use posts with embeds, shortcodes, galleries, unusual custom fields and broken media, and check each one in the rendered output.
- 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.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWhat 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.
Quick Recap
“
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.




