WORDPRESS MIGRATION TROUBLESHOOTING
How to Fix WordPress Migration Problems
A WordPress migration can fail when the destination’s files, database, URLs, DNS, PHP environment, or server settings do not match what the site needs. Moving files alone is not enough. Start by identifying the failing layer before changing configuration.
Common symptoms include a website that will not load, the old site still appearing, database errors, missing images, redirect loops, certificate warnings, 404 pages, login failures, PHP fatal errors, and contact forms that no longer send email. Each symptom has a different diagnostic path.
Quick checklist: destination, application, then dependent services
1. Preserve the source site and verified backups.
2. Confirm which server DNS and any proxy route visitors to.
3. Check the exact response, TLS certificate, and matching logs.
4. Verify database access, files, URLs, and PHP compatibility.
5. Test redirects, media, login, forms, email, and dynamic data.
6. Recheck indexing settings and monitor the cutover.
Need Help With Your WordPress Migration?
If you prefer professional assistance, Hostingcone offers migration help for one standard WordPress website.
Why WordPress Websites Break After Migration
A working migration needs WordPress core, themes, plugins, uploads, custom dependencies, and the intended MySQL/MariaDB database. wp-config.php must point to the destination database using valid credentials and connection settings. Copying website files does not import the database or create its user permissions.
WordPress Address and Site Address, content URLs, DNS records, and nameservers must remain consistent with the intended hostname and installation. A host-only move may keep the domain unchanged; a domain or path change needs a separate URL and redirect plan.
The destination also needs compatible PHP versions/extensions, applicable web-server rules, suitable file ownership and resources, valid TLS certificates, and working email configuration. Scheduled jobs, CDN/proxy routes, external APIs, and secrets loaded outside the site directory may require separate transfer or reconfiguration.
Before Troubleshooting: Protect Your Website
Preserve the source and define a cutover plan
Keep the original hosting environment available until the destination and dependent services are verified. Avoid accepting independent changes on both copies without a synchronization plan. A restore can overwrite new content, orders, bookings, or customer activity.
1. Confirm a complete, usable source backup exists.
2. Back up the current destination before changing it.
3. Record DNS, nameserver, URL, and server settings.
4. Identify exactly what changed during the migration.
5. Decide where writes will occur during cutover.
6. Plan how orders, submissions, bookings, and other dynamic data will be synchronized.
7. Use staging or an authorized hosts-file test where practical.
8. Keep rollback steps and secure access available.
A hosts-file test can route your own device to the destination while keeping the intended hostname. It does not change public DNS or prove every external dependency works. Preserve the correct Host/SNI name and valid HTTPS; do not use a raw IP address and bypass certificate warnings. Remove temporary local overrides after testing.
For busy stores or booking sites, arrange an appropriate write freeze, controlled maintenance period, or supported final synchronization. Include payment callbacks, queued jobs, and integrations in the plan. Do not merge competing databases or restore over new orders without a reviewed reconciliation method.
WordPress Website Not Loading After Migration
1. Record the exact URL, time, and error message.
2. Check whether the hostname resolves to the intended destination or proxy.
3. If the connection times out or is refused, review service reachability and authorized firewall controls.
4. If TLS fails, inspect certificate coverage and the endpoint before the application.
5. If an HTTP response arrives, review its status and the matching server/application logs.
6. Compare frontend, wp-admin, and important actions.
A DNS error, connection failure, certificate warning, server 500, and WordPress database message are not interchangeable. A server default page can mean the virtual host or document root is wrong. A cached homepage can look healthy while uncached requests fail.
Use authorized destination testing and provider diagnostics. Do not disable firewalls or security protections broadly to make a request succeed. Shared or managed-hosting customers may need the provider to inspect routing, service status, and server-level configuration.
Check DNS Records and Nameservers
Verify the authoritative nameservers and the intended A, AAAA, and CNAME records for the actual hostname, including www or relevant subdomains. A stale AAAA record can send IPv6 visitors to the old environment even when the A record is correct. Check CDN/proxy origin routing separately.
Check publicly available records with Hostingcone’s DNS Lookup Tool
The tool checks public records and selected common hostnames, not every record in a DNS zone. External resolvers can retain cached answers according to TTLs and resolver behavior. Compare authoritative data and more than one relevant resolver before treating one result as definitive.
Cloudflare-proxied records normally expose proxy addresses rather than the origin IP. A proxy can still forward to the old server after public DNS appears correct. Inspect the approved origin configuration with the responsible administrator; do not disable the proxy or weaken protection as a shortcut.
Correct an individual record when that is all the move requires. Changing nameservers unnecessarily can disrupt email and other services. For an intentional nameserver move, preserve the complete required record set and coordinate DNSSEC/registrar DS settings; a stale DS relationship can cause validation failures rather than ordinary cache delay.
Use the DNS Troubleshooting Hub to narrow down resolution problems
Fix Error Establishing a Database Connection
Review the effective DB_NAME, DB_USER, DB_PASSWORD, and DB_HOST values in wp-config.php or configuration it loads. The destination may use different names, account prefixes, a remote endpoint, port, or socket. localhost is not universal.
Confirm the intended database was created and imported completely, and that its configured user has appropriate database-scoped privileges and permitted connectivity. A copied configuration file does not establish access on the new host. Inspect import errors and supported database/PHP-driver requirements.
A wrong password, unreachable server, missing database import, and table-access error require different checks. A wrong table prefix or missing tables after connection succeeds is not corrected by resetting credentials. Preserve backups and avoid blind repairs or broad privilege grants.
Troubleshoot Error Establishing a Database Connection in WordPress
Do not share real passwords, complete configuration files, or database exports publicly. Use a secure support process for authorized access and redact sensitive logs.
Fix Broken URLs and Redirects
Compare Settings → General values with the intended WordPress Address (URL) and Site Address (URL). They can differ for an installation in a subdirectory. Configuration constants or environment-based settings may override the dashboard; verify the effective source before editing.
Check old-domain references in content, theme/plugin settings, and custom code. Map redirects across WordPress plugins, the web server, CDN/proxy, HTTP-to-HTTPS handling, and www/non-www preferences. Conflicting layers can send requests back and forth or to an old host.
A proxy may terminate HTTPS before contacting the origin. WordPress and server rules need the platform’s supported interpretation of the original scheme. Do not fix a loop by disabling certificate validation or forcing insecure transport; align the responsible layers and retest the redirect chain.
Permanent 301/308 redirects signal an intended lasting move; temporary 302/307 redirects suit temporary routing. 307/308 preserve request methods, so application context matters. Plan redirects from old paths to relevant equivalents instead of sending every missing URL to the homepage. Test for loops, excessive chains, and unrelated destinations.
Fix Broken Images and Missing Media
Inspect a specific failed media URL and response. Confirm the expected uploads directory and files were transferred, paths match the installation, ownership/permissions allow access, and any CDN or offloaded-media configuration still reaches the correct storage. A 404, access-denied response, and mixed-content block are different failures.
Old-domain URLs can remain in database content or settings after a domain change. WordPress stores some values as serialized data; use a tested serialization-aware migration tool or WP-CLI search-replace with backups. Do not run a raw SQL text replacement across serialized values.
For authorized administrators with WP-CLI installed, this illustrative command previews replacements without writing changes. Use it only in the verified destination installation and replace both placeholder URLs with the approved values:
wp search-replace 'https://old.example' 'https://new.example' --skip-columns=guid --dry-runReview the dry-run output, intended tables, and exclusions before any separately approved write. Default table scope may omit custom plugin tables; inventory the application rather than using broad all-database replacement flags blindly. Keeping guid excluded avoids casually rewriting identifier values. A tool handles serialization, but cannot decide which references should change.
Preserve the database backup, test the selected replacements in staging, and retest representative images and settings. Large sites, multisite, external storage, and custom schemas need an appropriate plan. URL replacement will not recreate media files that were never transferred.
Fix WordPress Permalink and 404 Problems
Determine whether the 404 comes from WordPress or the web server. If the homepage works but pretty URLs fail, review applicable rewrite rules, the virtual-host document root, redirects, and the unchanged intended permalink settings. Confirm the requested content exists on the destination.
On Apache-compatible environments that read .htaccess, missing or invalid WordPress rewrite rules can break routes. Preserve custom redirects and security rules before making a targeted correction. Saving the existing WordPress Permalinks settings can regenerate the applicable rewrite block when the platform supports it and the file is writable.
Nginx does not read .htaccess directly; the responsible administrator must verify its WordPress routing configuration. Multisite and subdirectory installations need their own supported rules. Do not paste a generic rewrite file over the entire configuration.
Keep the existing site-wide permalink structure unless a separate URL-change plan requires otherwise. A conflicting redirect or wrong document root will not necessarily be fixed by resaving settings. Retest important nested pages, assets, and admin routes after a targeted change.
Fix SSL and HTTPS Problems After Migration
The destination may lack a certificate, serve an expired or wrong-hostname certificate, or omit required intermediates. Check the exact hostname and certificate actually presented, including www/subdomains. Correct assignment and chain installation through the provider’s supported process.
Inspect the public certificate with Hostingcone’s SSL Checker
For Cloudflare-proxied sites, an external checker normally sees the edge certificate, not the origin. Edge validity does not prove the origin connection is healthy. Review origin certificate coverage, dates, trust requirements, and the existing supported TLS mode separately; do not weaken validation to hide an origin error.
Mixed content occurs when an HTTPS page references HTTP resources. It differs from certificate trust, expiry, or hostname errors. Inspect the specific blocked resource and update approved references only after verifying the destination supports HTTPS. Redirect loops need their own scheme/proxy configuration checks.
Use the SSL Troubleshooting Hub for certificate and HTTPS guidance
A public certificate check samples the publicly served endpoint, not every backend or client trust store. Successful TLS validation does not guarantee website security. Keep private keys out of screenshots and ordinary support messages.
Fix WordPress Admin Login Problems
Review login redirect chains, the effective site URL and scheme, custom cookie-domain settings, and browser cookies scoped to the old domain. After confirming the intended URL, test a separate browser session or clear only relevant site cookies; this logs that browser out but does not fix a wrong server setting.
Check security-plugin allowlists, changed source addresses, cached login responses, and provider authentication controls. Ensure login/admin traffic follows the supported cache exclusions. Keep protection in place and use an authorized targeted test rather than permanently disabling security features.
WordPress normally uses authentication cookies, not a general PHP session requirement. Plugins or custom applications may depend on sessions and their storage/configuration. Match PHP or application errors with the failing request; use Recovery Mode or provider assistance when available. Avoid password resets that do not address the actual redirect or runtime problem.
Fix PHP Errors and Plugin Compatibility Issues
Compare the destination web PHP version and required extensions with core, theme, plugin, and custom-code requirements. The CLI runtime can differ from PHP-FPM or the web handler. Missing dependencies, incompatible functions, ownership/permission failures, and resource limits can stop requests.
Review current PHP and web-server logs for the exact URL and time. WordPress debug logging can help after bootstrap, but it may miss early failures. Keep public error display disabled, protect diagnostic logs, and restrict temporary debugging after the investigation.
Use a backed-up staging test or approved targeted isolation of the implicated component. Do not downgrade arbitrarily to unsupported PHP, recursively reset permissions, or raise memory limits without evidence. Shared/managed-hosting customers may need the provider to inspect the effective configuration. Troubleshoot the WordPress White Screen of Death. If an interrupted update leaves a maintenance notice, confirm the updater has stopped and follow the WordPress maintenance-mode troubleshooting guide; removing an indicator does not repair an incomplete update.
Fix WordPress Email Delivery After Migration
A new host may use a different mail transport, block outbound connections, or lack the former SMTP/API configuration. Confirm the form notification settings, sender address, supported authenticated transport, private credentials, and provider requirements. Check application and mail-provider logs with a controlled test message.
Verify SPF authorizes the actual sending service, DKIM signing uses its correct published key, and DMARC alignment matches the visible From domain through SPF or DKIM. Avoid adding multiple independent SPF records or guessing a vendor’s DKIM value. Authentication supports delivery but does not guarantee inbox placement.
MX records route incoming email for a domain; they are not, by themselves, a complete fix for outgoing WordPress mail. If incoming messages also fail, verify MX destinations and the receiving service. A nameserver change can accidentally omit mail and authentication records that worked previously.
Check MX records and troubleshoot incoming email routing
A website migration does not necessarily include mailbox creation, email-data migration, or external sender reconfiguration. Preserve the existing mail service unless an approved mail move is part of the scope, and test both receiving and website notifications where relevant.
Fix Elementor Problems After Migration
Check a specific broken page for missing CSS, failed images, old URLs, layout differences, cache conflicts, or addon incompatibility. Verify that site files, database settings, generated assets, and relevant versions reached the destination. Compare frontend output and the editor; they may fail differently.
Elementor’s available built-in tools may offer CSS/data regeneration and URL replacement; labels and support vary by version and setup. Use the tool appropriate to the detected issue. Back up the database before URL replacement, confirm the exact old/new values, and test the scope in staging.
After correcting asset generation or URLs, clear the relevant Elementor/site/CDN cache through approved controls and retest. Cache clearing alone will not restore missing uploads or correct incompatible PHP code. Coordinate external cache changes with its administrator.
Do not reset global styles or delete templates as a first step. Preserve the global header/footer, fonts, tokens, and existing responsive settings. Test affected widgets and addons individually and verify both desktop and mobile layouts.
Verify the Migration Before Going Live
Test the destination and the complete customer journey
Do not treat a working homepage as migration sign-off. Test the intended hostname, important user actions, dependent services, and data consistency before retiring the source. Check desktop and mobile experiences.
• Homepage and important pages load.
• DNS and proxy routes reach the intended destination.
• TLS validates for every required hostname.
• Images, media, and internal links work.
• Redirects reach the intended equivalents without loops.
• Login and the admin dashboard work.
• Forms and outgoing notifications reach the intended recipients.
• Ecommerce checkout, callbacks, orders, and bookings work where applicable.
• Scheduled tasks and external integrations function.
• Backups complete and a recovery check is available.
• Robots, canonical, indexing, and sitemap settings are correct.
• Analytics/tracking work under the site’s consent configuration.
• Current server logs show no unresolved critical failures.
WordPress scheduled tasks can depend on incoming requests or a separately configured system scheduler. Confirm the intended arrangement and prevent duplicate jobs on old/new copies. Use approved test transactions or a payment sandbox where available rather than creating unintended real charges.
Complete the agreed final data synchronization and cutover checks. Monitor the destination and relevant caches afterward, retaining a rollback route and original environment for the agreed verification period rather than inventing a universal deadline.
SEO Problems After WordPress Migration
Check canonical URLs, retained permalink paths, relevant redirects, missing pages, and internal links. Remove accidental staging noindex or access restrictions only when the intended public site is approved for launch. Review robots.txt, page-level robots, and XML sitemap URLs together.
A robots.txt disallow can prevent crawling but is not the same as a noindex directive. Search engines normally need to crawl a page to see its noindex. Do not block the entire site merely to conceal migration errors; apply the correct staging/public controls deliberately.
Migrations do not automatically cause ranking losses, but technical errors can affect crawling, indexing, and organic traffic. After launch, monitor Google Search Console for coverage/indexing changes, crawl errors, sitemap processing, and performance. A domain move may need additional supported search-engine migration steps; a host-only move does not automatically require a change-of-address request.
Retest representative old URLs and their intended new equivalents, then monitor over time. No migration service guarantees preserved rankings or instant reindexing. Fix confirmed technical problems without making unrelated content or URL changes.
When to Use Professional WordPress Migration Support
Seek help for business-critical sites, ecommerce, large or complex databases, multiple domains/subdomains, significant server differences, email-migration requirements, persistent errors, or limited configuration access. These factors may exceed a standard fixed-scope website move.
Hostingcone’s published Website Migration service is $149 one-time and applies to one standard WordPress website migration. Additional work requires approval and may incur additional charges. Review its current Buy Now workflow; do not assume mailbox migration, complex infrastructure changes, or uninterrupted cutover is included.
Review Website Migration scope and current purchase steps
WordPress Troubleshooting is $79 one-time: diagnosis and up to 1 hour of troubleshooting for one WordPress website. Additional work requires approval and may incur additional charges. Website Repair starts at $99; final pricing depends on complexity, urgency, and the amount of work required.
Get WordPress Support for supported troubleshooting
Review Website Repair and its service-request workflow
Explore Web Hosting for the destination environment
Use the existing service pages for approved checkout/request routes and current limitations. Customer cooperation and secure access may be required. Third-party hosting, software, DNS, and vendors can affect results; no downtime, completion-time, repair, or ranking outcome is guaranteed.
Frequently Asked Questions
Why is my WordPress website not working after migration?
The destination may have incorrect DNS/routing, database access, URLs, files, PHP compatibility, or server configuration. Record the actual symptom and matching logs, then troubleshoot that layer rather than changing everything at once.
How long does DNS take after moving hosting?
It depends on cached TTLs, resolver behavior, the record changed, and delegation updates. There is no universal completion time. Compare authoritative records and relevant resolvers, and verify that a proxy routes to the intended origin.
Why does WordPress still show the old website?
A resolver, browser, hosting cache, CDN, or stale IPv6 record may still lead to old content. Confirm which endpoint serves the request and any local hosts-file override. Do not assume every old response is simply propagation.
How do I fix broken images after migration?
Check the failed URL, transferred uploads, permissions, CDN/storage settings, and old-domain references. Use a backed-up serialization-aware replacement where appropriate. Replacing URLs cannot recreate missing media files.
Why am I getting a database connection error?
The destination may have different credentials/endpoint settings, a missing database import, unsuitable user permissions, or an unavailable service. Compare the effective configuration privately with the hosting settings; do not expose credentials.
How do I fix WordPress redirects after migration?
Align the effective site URLs, preferred hostname/scheme, and redirect rules across WordPress, the server, and any proxy. Inspect the actual redirect chain and correct the conflicting layer. Preserve relevant old-to-new mappings instead of redirecting everything to the homepage.
Why are my WordPress pages returning 404 errors?
Missing content, a wrong document root, conflicting redirects, or unsuitable rewrite rules can cause 404s. Preserve the permalink structure and custom rules. Apache-compatible and Nginx environments need different routing checks.
Can migration cause SSL certificate problems?
Yes. The new endpoint may have no valid certificate, wrong hostname coverage, expiry, or an incomplete chain. Proxy edge and origin certificates are separate. Mixed-content warnings concern resource URLs rather than the same certificate validation failure.
How do I fix Elementor after migration?
Check transferred assets, old URLs, addon compatibility, and the specific rendering error. Use supported regeneration or URL tools when appropriate with backups, then clear relevant caches. Preserve global styles and templates instead of resetting them blindly.
Will moving WordPress affect SEO?
A well-planned move does not inherently require ranking losses, but broken URLs, redirects, canonicals, indexing settings, or sitemaps can affect visibility. Preserve intended paths and monitor Search Console; no ranking outcome is guaranteed.
How do I prevent losing orders during an e-commerce migration?
Use a defined write/cutover plan, verified backups, and an appropriate final data synchronization or controlled write freeze. Account for callbacks, queued jobs, and bookings. Do not let two independent copies accept orders without reconciliation.
When should I hire someone to migrate my website?
Consider professional help when the site is business-critical, complex, error-prone, or beyond your access and expertise. Confirm the purchased scope and any additional email, infrastructure, or data-synchronization work before proceeding.
Need Help Fixing Your WordPress Migration?
If your WordPress website isn’t working correctly after moving to a new host or domain, Hostingcone offers website migration, WordPress troubleshooting, and repair services for supported issues.
Explore more solutions in our WordPress Troubleshooting Hub, including guides for database errors, failed updates, and website migrations.
