
Decide whether the migration fits the business problem
A WordPress to Next.js migration changes more than the rendering layer. Your team will operate a front end, a content source, hosting, deployment, preview, forms, analytics, and integrations as one system. Define why that system deserves the added coordination before you request estimates.
Strong reasons include a product or marketing experience that WordPress constrains, a structured content model shared across channels, strict integration needs, or a design system that must support frequent releases. Your team may also need tighter control over deployment and front-end behavior.
Weak reasons include a vague desire for a modern stack or an assumption that a framework switch will fix search performance. An agency should connect the architecture to an operating requirement. If standard WordPress can meet the requirement with less maintenance, keep it in consideration.
Ask each agency to write the problem statement into its proposal. That sentence gives you a clean test for every technical choice that follows.
Start with an inventory, not a page count
A page count misses most migration work. WordPress sites hold content in posts, pages, custom post types, taxonomies, custom fields, media records, menus, reusable blocks, plugin tables, forms, redirects, and code. Two sites with 300 public URLs can require different levels of effort.
Your discovery package should inventory:
- Public and indexable URLs
- Templates and reusable page sections
- Posts, authors, categories, tags, and custom content types
- Custom fields and relationships between records
- Images, documents, video embeds, and downloadable assets
- Forms, search, gated content, and user accounts
- Plugins that create public output or business workflows
- Analytics, advertising, CRM, consent, and automation connections
Require a disposition for each item: migrate, rebuild, consolidate, redirect, archive, or remove. That decision log prevents content from disappearing between the crawl, export, and new CMS.
The agency should also identify content that cannot move through an automated script. Shortcodes, visual-builder layouts, embedded forms, and plugin-owned records often need custom parsing or manual cleanup. Put that work in the estimate.
Choose the content system before development starts
Next.js does not replace the editorial system. Your team can keep WordPress as a headless CMS or move to a different content platform. The right choice depends on the people publishing content and the structure they need.
Document these requirements:
- Who creates, reviews, approves, and publishes content
- Which fields editors can change without developer help
- Whether editors need page composition or fixed templates
- How preview works for drafts and scheduled changes
- Which roles and permissions the team needs
- How localization, regional variants, and approvals work
- Which content must feed the website, product, email, or sales tools
- Who maintains schemas and migrations after launch
Ask the agency to show the proposed editing flow with one real content type. A slide about editorial flexibility tells you little. A working preview of a resource, product page, or landing page exposes the tradeoffs.
Keep the content model separate from the old page builder. Recreating every WordPress layout as an unrestricted field set carries the same maintenance problem into the new system. Define reusable content by meaning and publishing need, then map components to that structure.
Make URL ownership explicit
Your current URLs are migration inputs. They should not change because a new framework prefers a different folder pattern.
Create a URL inventory from the live site, XML sitemaps, analytics landing pages, Search Console exports, and known campaign links. Assign one destination to every URL. The map should distinguish direct matches, consolidated pages, removed content, files, query-string routes, and language variants.
Put these controls in scope:
- Preserve valuable URLs when the content and intent remain the same.
- Use direct server-side redirects for changed URLs.
- Remove redirect chains before launch.
- Test uppercase, trailing-slash, protocol, host, and query behavior.
- Retain the final redirect map in a format your team can maintain.
Name the person who approves the map. The developer can implement redirects, but someone with content and search context must decide where retired pages belong.
Require search parity as an acceptance test
A migration can change titles, descriptions, canonical tags, robots directives, structured data, internal links, image attributes, sitemap output, and rendering. Treat each item as a field or behavior to verify.
Build a representative URL set across every template. Capture the current output before development, then compare it with staging. Your test plan should cover:
- Title tags and meta descriptions
- Canonical URLs
- Index and follow directives
- Open Graph and social metadata
- Structured data types and required values
- Heading order and primary page copy
- Internal links and breadcrumbs
- Image alternative text
- XML sitemaps and robots.txt
- Status codes, redirects, and error pages
Do not accept “supports SEO” as a deliverable. Ask for the test cases, expected output, owner, and defect process.
Rendering choices belong in this review. The agency should explain how public pages reach crawlers, how content updates appear, and which routes depend on client-side code. You do not need a framework lecture. You need confirmation that search-critical content and metadata appear in the delivered page.
Scope integrations as workflows
A plugin list does not describe what the site does. Translate each integration into a workflow with inputs, outputs, failure handling, and ownership.
For a lead form, document the visible fields, validation, consent, spam controls, CRM record creation, campaign values, notifications, confirmation state, analytics event, and recovery path when the CRM rejects a request. Repeat that process for search, chat, gated assets, scheduling, payments, account areas, and personalization.
Ask who owns each credential and environment. Your agency should not remain the sole holder of hosting, CMS, domain, analytics, or deployment access. Virdis recommends client-owned accounts with scoped agency access because it reduces handoff risk.
Include a non-production integration path where practical. Teams need a way to test form routing and analytics changes without polluting live systems.
Define analytics before templates lock
Migration teams often copy tags near launch and call analytics complete. That preserves code, not measurement.
List the decisions the website should support. Then define the events, properties, consent behavior, CRM handoff, and reporting owner required for those decisions. Common website events include form starts, successful submissions, meeting bookings, asset access, video engagement, and key navigation choices. Keep the events your team will review.
The implementation scope should include:
- A measurement plan tied to business questions
- Event and property specifications
- Consent-state behavior
- Tag manager or application-code responsibilities
- Cross-domain and campaign handling where needed
- Test cases for accepted and blocked tracking
- CRM and reporting validation
- Documentation for future releases
Keep production data out of staging. Give the team a debug process that does not require an agency for each check.
Set quality requirements you can test
Terms such as fast, accessible, secure, and maintainable need acceptance criteria.
For performance, name the page templates, test conditions, tools, and thresholds. Account for third-party scripts, media, fonts, and consent tools. A clean starter project says nothing about the finished site.
For accessibility, require keyboard navigation, visible focus states, semantic structure, form labels and errors, color contrast, alternative text controls, and testing across representative templates. Decide which standard guides acceptance and who reviews defects.
For security, document supported dependencies, update ownership, secrets handling, permissions, form protection, backups, and incident contacts. A smaller plugin surface does not remove maintenance work. It moves responsibility into the application and connected services.
For maintainability, ask for component documentation, CMS schema notes, environment setup, deployment instructions, dependency policy, and a handoff session. Your internal team or future partner should be able to operate the system without reverse-engineering it.
Put the launch plan in the proposal
A migration proposal should show how the team moves from a changing WordPress site to an approved production build.
Define the content freeze or delta-migration process. If editors keep publishing during development, the agency needs a method for capturing changes after the first export. Without one, your team will repeat work or lose updates.
The launch plan should name owners for:
- Final content and redirect approval
- DNS and hosting changes
- Production credentials and environment variables
- Form and CRM tests
- Analytics and consent validation
- Crawl controls and sitemap submission
- Rollback decisions
- Post-launch monitoring and defects
Require a launch window, escalation path, and rollback trigger. Also define the warranty period and response expectations for migration defects. “Support after launch” leaves room for an avoidable argument.
Compare WordPress to Next.js migration proposals on the same evidence
Send every agency the same inventory, requirements, and acceptance criteria. Then compare how each team handles uncertainty.
| Proposal area | Evidence to request |
|---|---|
| Architecture | System diagram, hosting model, content source, preview, deployment, and ownership |
| Content migration | Inventory, field map, automation plan, manual exceptions, and validation method |
| Search preservation | URL map process, metadata parity tests, rendering plan, and monitoring owner |
| Integrations | Workflow specifications, error handling, test environments, and credential ownership |
| Quality | Named performance, accessibility, security, and browser test cases |
| Handoff | Documentation, training, warranty, maintenance scope, and account transfer |
A lower estimate may exclude discovery, migration exceptions, content QA, or post-launch support. Ask agencies to mark exclusions and assumptions beside each work package. You can then compare scope instead of comparing totals that describe different projects.
Questions to ask a migration agency
Use these questions in the first technical and commercial review:
- Which business requirement makes Next.js the right front end for this site?
- Which WordPress data will not migrate through your standard process?
- How will you model content without copying our page-builder structure?
- How will editors preview and publish changes?
- Who creates, approves, implements, and monitors the redirect map?
- How will you test metadata, structured data, internal links, and crawl controls?
- How do forms and CRM workflows fail, alert, and recover?
- Which accounts will we own on day one?
- How will you capture WordPress changes made during development?
- Which launch defects fall inside the warranty?
- What maintenance does the system require each month?
- Which assumptions could change the price or schedule?
Clear answers show whether the agency has scoped a migration or priced a front-end build.
Build a requirements package before requesting a fixed estimate
Give agencies a short package with the business problem, current inventory, desired editorial flow, integration workflows, URL controls, quality criteria, launch roles, and maintenance expectations. Mark unknowns instead of hiding them. A credible agency will price discovery where those unknowns affect architecture or migration effort.
Virdis plans migrations as full web systems. Design, content structure, development, conversion paths, analytics, and maintainability share one scope because your team must operate them together after launch.
Frequently asked questions
Does a WordPress to Next.js migration require a new CMS?
No. Your team can keep WordPress as a headless CMS or move content into another system. Choose based on the editorial workflow, content model, preview needs, integrations, governance, and maintenance your team can support.
How long does a WordPress to Next.js migration take?
The schedule depends on template count, content volume, custom fields, integrations, design changes, approval speed, and redirect work. Ask each agency for a plan tied to your inventory and dependencies instead of a generic duration.
Will moving from WordPress to Next.js improve SEO?
The framework does not guarantee better search performance. Results depend on preserving URLs, metadata, structured data, internal links, crawl controls, content quality, rendering behavior, and site performance through the migration.
Who should own redirects and launch QA?
Name one accountable owner for the redirect map and one for launch approval. The agency can prepare and test both, but your contract should identify who signs off, who fixes defects, and how long post-launch monitoring lasts.
