{"slug": "i-let-ai-migrate-my-wordpress-site-to-hostinger-it-went-horribly-wrong", "title": "I Let AI Migrate My WordPress Site to Hostinger. It Went Horribly Wrong.", "summary": "A WordPress site owner attempting to migrate to Hostinger with AI assistance from Claude encountered multiple failures, including a 460MB backup that maxed out the disk quota, three failed FTP attempts, and a PHP upload limit, before successfully completing the migration. The incident highlights that AI tools can both cause and resolve technical issues during website migrations.", "body_md": "The backup almost killed the migration.\n\nI thought moving a WordPress site to a new host would take an hour. Instead, I spent an entire evening fighting a 460MB backup file, a full disk quota, three failed FTP attempts, a PHP upload limit, broken JavaScript, and a lazy-loading plugin that intercepted dynamically-set image attributes.\n\nThe strange part? AI caused some of the wrong turns — and helped me get out of almost all of them.\n\nHere’s what happened.\n\n## Why I Was Migrating at All\n\nMy site had been on a budget shared host for years. Cheap, functional, increasingly frustrating. When the renewal came up, I asked Claude to run the numbers on switching to [Hostinger](https://www.hostinger.com?REFERRALCODE=I14LOVE09WMZ). The math came out clearly in favour of moving — better specs, lower annual cost over a 24-month plan, and infrastructure that would actually hold up if traffic grew.\n\nSo I decided to migrate. With AI as my technical advisor. What could go wrong?\n\n## The Accident Report (What Actually Happened)\n\nBefore I get into the how-to, here’s the honest version of events — because the failures are the useful part:\n\n| Tool | Why I Needed It | What Actually Happened |\n|---|---|---|\nHostinger |\n\n**All-in-One WP Migration****Hostinger hPanel (PHP settings)****LiteSpeed Cache****Claude AI**## Step 1: Make a Backup (This Is Where It Went Wrong)\n\nStandard advice: back up your site before migrating. I installed **All-in-One WP Migration** and ran a full export. The plugin is free, installs in two minutes, and wraps your entire WordPress installation — database, plugins, themes, media — into a single `.wpress`\n\nfile.\n\nThe export completed. 460MB. Great.\n\nThen I tried to download it.\n\n## Pitfall #1: 4 Hours to Download from a Cheap Host\n\nThe browser showed an estimated **four hours remaining** for a 439MB file. This is the moment I understood exactly what I’d been paying for.\n\nI cancelled. The AI suggested FTP. The host’s passive mode had data port restrictions that blocked external connections. We tried three different approaches. All failed.\n\n## Pitfall #2: The Disk Quota Catch-22 (The Real Problem)\n\nThis is the part of the story I think is actually worth reading, because you won’t find it in any migration tutorial.\n\nAfter the download failed, I tried creating a second backup — smaller this time, without the media library. It failed. Third attempt. Also failed. The terminal finally showed what was actually happening:\n\nThe 460MB backup had silently maxed out my hosting account’s disk quota. No more writes were possible — not to a log file, not to a new export, not to anything.\n\nAnd here was the catch-22: to free up disk space, I needed to delete the backup. But deleting it meant losing the only full copy of my site. If something went wrong mid-migration with no backup, I’d have nothing to roll back to.\n\nStandard migration tutorials tell you:\n\nback up your website.\n\nWhat they don’t tell you: the backup itself can fill your server and make everything worse.\n\nThe fix, once the AI diagnosed it: delete the large backup to free space, then immediately re-export a smaller version without media files. The new file came in at 148MB — manageable, and fast enough to actually download.\n\n**Lesson:** Before running a full WordPress backup export, check your disk usage in your host’s control panel. If you’re above 60-70% full, the backup file itself may push you over the limit.\n\n## Pitfall #3: PHP Upload Limit (The Hidden Wall)\n\nI installed All-in-One WP Migration on the new Hostinger site and tried to import the 148MB file. Failed immediately: *“Upload failed — connection lost or timeout.”*\n\nThe default PHP `upload_max_filesize`\n\non most WordPress installations is 64MB. My file was 148MB. The fix is straightforward once you know where to look — in Hostinger’s hPanel under PHP settings:\n\n```\nupload_max_filesize = 256M\npost_max_size = 256M\nmax_execution_time = 300\nmemory_limit = 256M\n```\n\nPath: hPanel → Websites → your domain → **PHP** → PHP Options → update the four values → Save.\n\nAfter that, the upload actually moved. And Hostinger’s upload speed made the old host look embarrassing:\n\n## The Migration Options and Import Process\n\nHostinger’s migration wizard offers two paths when setting up WordPress:\n\nDuring import, All-in-One WP Migration asks for your destination URL. Enter it exactly as it appears on your old site — including `https://www`\n\nif that’s what you used — and the plugin handles all database URL replacements automatically.\n\n## DNS and SSL\n\nAfter import: update your DNS A record to point to Hostinger’s IP. While waiting for propagation, install SSL — one click in hPanel, free Lifetime SSL, covers both root domain and www:\n\nWithin 30 minutes of changing DNS, the site was live on Hostinger:\n\n## Post-Migration Bugs the AI Helped Diagnose\n\nGetting the site live wasn’t the end. Three things needed fixing that I’d never have diagnosed on my own:\n\n**Homepage showing QR codes as post thumbnails**— posts had no featured images set, so the theme extracted the first image from post content. The AI wrote a small plugin to display a default thumbnail instead.**WordPress encoding breaking JavaScript**— WP’s content filter was converting`&`\n\nto`&`\n\ninside a JS block, silently breaking a URL parameter. The fix: use`String.fromCharCode(38)`\n\nto generate the ampersand at runtime.**LiteSpeed lazy-load intercepting a dynamic image**— the cache plugin was interfering with a dynamically-set`img.src`\n\nattribute. Fixed by using`createElement()`\n\nto build a fresh image element instead of modifying the existing one.\n\n## What This Experience Actually Taught Me About AI\n\nThe honest version isn’t “AI migrated my WordPress site.” It’s closer to this:\n\n**AI was good at:**\n\n- Giving the next step when I was stuck\n- Reading error messages and identifying root causes\n- Explaining unfamiliar technical concepts in plain language\n- Writing quick scripts and code fixes on the spot\n- Verifying whether a proposed fix actually made sense\n\n**AI was not good at:**\n\n- Knowing my server’s actual disk quota in advance\n- Predicting environment-specific limitations before we hit them\n- Guaranteeing the first approach would work\n- Taking any of the actual risk\n\nThe most accurate framing I can offer: **AI is a troubleshooting partner, not an autopilot.** It significantly raised my ability to navigate problems I had no business solving on my own. But it didn’t make the problems disappear — it just meant I wasn’t facing them alone.\n\n## My Honest Take on Hostinger (After Less Than 24 Hours)\n\nSo far — and I want to be clear this is early — the new hosting environment feels noticeably better. The upload speed, the hPanel layout, the one-click SSL, the automated weekly backups: all of these are meaningful improvements over what I had.\n\nBut it’s far too early to make any real verdict. I’ve been on Hostinger for less than a day. I’ll update this post after I’ve actually lived with it for a few months and can speak to uptime, support quality, and whether the speed difference holds under real traffic.\n\nIf you’re considering making the switch yourself, here’s my referral link — same price for you, small commission for me, full disclosure: 👉 **Hostinger Web Hosting**\n\n## Quick Checklist: WordPress Migration to Hostinger\n\n- Check disk usage on old host — stay below 60% before exporting\n- Install All-in-One WP Migration → export without media if file is large\n- Sign up for\n[Hostinger](https://www.hostinger.com?REFERRALCODE=I14LOVE09WMZ)→ install fresh WordPress - hPanel → PHP settings → set all upload limits to 256M\n- Upload backup via hPanel file manager → restore via plugin\n- Update DNS → wait for propagation → install SSL\n- Test every plugin and any custom JS or caching behaviour\n\n**How much of this article was written by AI?** AI helped me diagnose the problems, research solutions, and structure this write-up. The migration itself, every mistake, every screenshot, and every final decision were mine. The failures are real. The fixes are real. The embarrassment is entirely real.\n\n### 📋 The Exact Steps That Worked (Copy This)\n\n*These are the actual steps from this migration, in order. Skip none of them.*\n\n#### Phase 1 — Before You Touch Anything\n\n- Log into your old hosting control panel → check disk usage. If it’s more than half full, clean up or upgrade before proceeding. The backup file will be large.\n- Install\n**All-in-One WP Migration** on your old WordPress site (free, search in WP plugins). - Go to All-in-One WP Migration → Export → Export To → File. If your site is large, uncheck “Media Library” to keep the file under 200MB.\n- Download the .wpress file to your computer. If the download is slow (more than 30 min estimated), stop — your old host has poor I/O and you need another approach.\n- If the export fails: your disk is probably full. Go to All-in-One WP Migration → Backups → delete the existing backup → try the export again without media.\n\n#### Phase 2 — Set Up Hostinger\n\n- Sign up for\n[Hostinger](https://www.hostinger.com?REFERRALCODE=I14LOVE09WMZ)→ choose a plan → add your domain. - hPanel → Websites → your domain → WordPress → Install WordPress. Use the same language and admin username as your old site if possible.\n- Before importing: hPanel → Websites → your domain → PHP → PHP Options → set these four values:\n`upload_max_filesize = 256M`\n\n`post_max_size = 256M`\n\n`max_execution_time = 300`\n\n`memory_limit = 256M`\n\n#### Phase 3 — Import\n\n- Install\n**All-in-One WP Migration** on your new Hostinger WordPress site. - Go to All-in-One WP Migration → Import → upload your .wpress file. If it times out via browser: use hPanel File Manager to upload the file directly to\n`public_html/wp-content/ai1wm-backups/`\n\n, then go to All-in-One WP Migration → Backups → Restore. - When the import asks for your destination URL, enter it exactly as it appeared on your old site — including\n`https://www`\n\nif you used www. The plugin replaces all URLs in the database automatically. - Log back into your new WP admin (your old username/password are now restored).\n\n#### Phase 4 — Go Live\n\n- Update your DNS: set the A record to Hostinger’s server IP (shown in hPanel → Domains). Wait 30–60 minutes for propagation.\n- hPanel → Security → SSL → Install SSL. Do this\n*after*DNS has propagated, not before — otherwise the certificate won’t cover your domain correctly. - Visit your site on both\n`https://yourdomain.com`\n\nand`https://www.yourdomain.com`\n\n. Confirm SSL shows a padlock on both.\n\n#### Phase 5 — Test Everything\n\n- Go through every plugin and turn them on one by one. Some may conflict with LiteSpeed Cache (which Hostinger installs by default).\n- Check any page that uses custom JavaScript — WordPress can re-encode special characters like\n`&`\n\ninside script blocks, silently breaking URL parameters. - If images aren’t loading: LiteSpeed’s lazy-load may be intercepting dynamically-set image\n`src`\n\nattributes. Add`class=\"no-lazy\"`\n\nto affected images, or disable lazy-load temporarily to isolate the issue. - Check your old hosting plan’s renewal date. Once you’ve confirmed everything works on Hostinger, let the old plan expire. Don’t pay for two hosts.", "url": "https://wpnews.pro/news/i-let-ai-migrate-my-wordpress-site-to-hostinger-it-went-horribly-wrong", "canonical_source": "https://ordinarymantrying.com/wordpress-migration-to-hostinger/", "published_at": "2026-08-13 16:54:55+00:00", "updated_at": "2026-08-14 13:25:19.919072+00:00", "lang": "en", "topics": ["ai-tools"], "entities": ["Hostinger", "Claude", "All-in-One WP Migration", "LiteSpeed Cache"], "alternates": {"html": "https://wpnews.pro/news/i-let-ai-migrate-my-wordpress-site-to-hostinger-it-went-horribly-wrong", "markdown": "https://wpnews.pro/news/i-let-ai-migrate-my-wordpress-site-to-hostinger-it-went-horribly-wrong.md", "text": "https://wpnews.pro/news/i-let-ai-migrate-my-wordpress-site-to-hostinger-it-went-horribly-wrong.txt", "jsonld": "https://wpnews.pro/news/i-let-ai-migrate-my-wordpress-site-to-hostinger-it-went-horribly-wrong.jsonld"}}