Anested CloudAnestedCloud
Back to docs
WordPressUpdated August 6, 2026 · 10 min read

Migrating a WordPress site to Anested

Move WordPress from Hostinger or any host, and fix the classic post-migration issues: redirects back to your old domain and 403 Forbidden errors.

Before you begin

A WordPress migration is really just moving two things — your files and your database — and then telling WordPress its new address. Most problems after a move come from that last step being missed.

Can I move my WordPress site from Hostinger or another host to Anested?

Yes. Any self-hosted WordPress site can be moved to Anested web hosting. You bring a copy of your site files (a .zip export) and, if you have one, a database export (.sql). Anested unpacks the files, connects them to a database, points the site at your free <slug>.web.anested.com subdomain, and issues HTTPS automatically.

The one thing that can't be moved is a site hosted on a closed platform like Wix or Squarespace — those don't run outside their own service. WordPress, however, is fully portable.

What do I need before I start?

Three things cover almost every migration:

  • A .zip of your WordPress files — most hosts (including Hostinger) have an "export" or "backup" button that produces one, or you can zip the public_html folder.
  • A database export (.sql) — often included inside the same backup, or exported separately from phpMyAdmin.
  • Your old site's address (e.g. https://example.com) — you'll need it so links inside the content can be rewritten to the new address.

Will my site go down during the move?

No. Your old site keeps running until you switch your domain over. You build the copy on Anested at its temporary yoursite.web.anested.com subdomain, confirm it works there, and only then point your domain at us. Visitors never see a gap.

Migrating your site, step by step

How do I get my site out of my old host?

From your old host's panel, create a full backup or export and download it. From Hostinger this is usually under Files → Backups (or the "Export website" option). You want two pieces: the site files (a .zip) and the database (a .sql file). If your host only gives one combined archive, that's fine — the .sql is usually inside it.

How do I import it into Anested?

In your Anested dashboard, create a hosting site, then open its Files tab and upload your .zip — it's extracted automatically. Then open the WordPress → Import / Migrate step and enter your database details and your old site address. Anested finds the WordPress core inside the zip, writes a fresh wp-config.php, imports your .sql, and rewrites the old address to your new one.

That import step is the important one: it's what repoints WordPress at its new home. If you only upload files and skip it, you'll hit the redirect problem described below.

Do I need to bring my own database?

Yes — on Anested, your WordPress database is a managed database project that you own, kept separate from your site files. Create a MySQL/MariaDB database in the Databases section first, then paste its host, name, user and password into the WordPress import form. Keeping data separate means deleting or rebuilding a site never touches your content.

Problem: my site redirects to my old domain

This is the single most common issue after moving WordPress. You open yoursite.web.anested.com and it instantly jumps to your old address (e.g. example.com). Nothing on Anested is redirecting you — WordPress is doing it itself.

Why does my new site keep redirecting to my old domain?

WordPress stores its own address in the database, in two settings called Site Address (siteurl) and WordPress Address (home). When you imported your old database, those still say your old domain — so on every request WordPress sends the visitor there. It's not a hosting redirect; it's WordPress enforcing the address it thinks it lives at.

The clean fix is to re-run the WordPress → Import / Migrate step with your database credentials filled in. That updates both addresses to your new subdomain and rewrites the links inside your content to match.

I re-ran the import and it still redirects. What now?

Then the old address is hardcoded in wp-config.php, which overrides the database and can't be fixed by the importer. Open the Files tab, edit wp-config.php, and look for these two lines:

Either delete both lines (WordPress will then use the corrected database values) or change them to your new address. Save, reload the site, and the redirect stops.

define('WP_HOME',    'https://example.com');
define('WP_SITEURL', 'https://example.com');

I no longer own the old domain — how do I stop the redirect?

Same fix: the redirect target lives in your WordPress settings, not in the domain. Re-run the import (which forces the new address), and if it persists, remove the WP_HOME / WP_SITEURL lines from wp-config.php as above. Once those point at your Anested subdomain, the old domain is never contacted again.

Problem: 403 Forbidden

A 403 means "access denied." After a migration it usually comes from one of two places — and the difference matters, because the fix is different.

Why do I see a 403 Forbidden after migrating?

First work out where the 403 comes from. If your site redirects to your old domain first and then shows 403, the 403 is coming from your OLD host — that domain no longer serves your site, so it refuses the request. Fixing the redirect (see the section above) makes the 403 disappear with it.

If the 403 appears directly on yoursite.web.anested.com with no redirect, it's on our side and comes from your files. The three usual causes are below.

The 403 is on my Anested subdomain directly — how do I fix it?

Check these three things in the Files tab, in order:

  • A leftover .htaccess from your old host — open .htaccess and remove any rules that deny access ("Require all denied", IP blocks) or that rewrite to your old domain. A clean WordPress .htaccess only contains the standard WordPress rewrite block.
  • A wrapper folder — some exports unzip into a public_html/ or example.com/ subfolder, so your index.php isn't at the top level. Move the site files up so index.php sits directly in the site root, or set that subfolder as the site root.
  • A missing index — if there's no index.php (or index.html) at the site root, the server refuses to list the folder and returns 403. Make sure WordPress's index.php is present at the root.

How do I tell which host the 403 is coming from?

Watch the address bar. If it changed to your old domain before the 403 appeared, the error is your old host's — fix the redirect first. If it still reads yoursite.web.anested.com, the error is on your Anested files — work through the three checks above.

Other common problems after migrating

My images are broken or missing

Broken images almost always mean links in your content still point at the old domain, or the uploads folder didn't come across. Re-running the import rewrites content links for you. If some images are still missing, check that wp-content/uploads was included in your .zip and re-upload that folder if it wasn't.

The browser shows "Not secure" or mixed-content warnings

This happens when the page loads over HTTPS but some images or scripts are still requested over http://. It's the same root cause as broken images — old links baked into the content. Make sure your Site Address uses https://, then re-run the import so the search-and-replace updates http:// references to https://.

I get a white screen or "There has been a critical error"

This is usually a plugin or theme that doesn't agree with the new environment. Rename the wp-content/plugins folder (to plugins_off) in the Files tab to disable everything at once — if the site comes back, rename it back and re-enable plugins one by one to find the culprit. Migrated caching or host-specific plugins (LiteSpeed, your old host's own plugin) are the usual suspects and can simply be removed.

Every page gives a 404 except the home page

Your permalink rules didn't carry over. Log in to wp-admin, go to Settings → Permalinks, and click Save (you don't need to change anything) — that regenerates the rewrite rules. If wp-admin itself works but front-end pages 404, this is almost always the fix.

"Error establishing a database connection"

WordPress can't reach your database. Open wp-config.php in the Files tab and confirm the DB_HOST, DB_NAME, DB_USER and DB_PASSWORD match the managed database project you created on Anested exactly. A single wrong character — often a leftover value from your old host — is the usual cause. Re-running the import with the correct credentials rewrites the file for you.

I'm stuck in a login loop and can't reach wp-admin

A login loop is another symptom of the wrong Site Address — WordPress keeps bouncing you to the old domain to log in. Fix the address exactly as in the redirect section (re-import, then check wp-config.php for WP_HOME / WP_SITEURL). Clearing your browser cookies for the site afterwards clears any half-set login state.

My site is much slower than before

Often a caching plugin from your old host is still installed but no longer working here, so every page is rebuilt from scratch. Remove host-specific plugins (LiteSpeed Cache, your previous host's optimizer) and their leftover drop-in files in wp-content, then add a caching plugin that suits this environment. The import step already deactivates the common ones for you.

My contact form or WordPress emails aren't sending

WordPress doesn't send mail reliably on its own on any shared host. Install an SMTP plugin and connect it to an email account you control (your domain's mailbox or a transactional email service). This is normal WordPress practice and isn't specific to Anested.

Still stuck?

Our team can look at your site directly — reach out and we'll help you sort it.

Contact support