If you have ever tried to import a site with All-in-One WP Migration and seen a message like “Your file exceeds the 64MB upload limit set by your host,” you are not alone. This is the number one question we get.
Here is the short answer: the plugin does not set this limit. Your hosting provider does.
Where the Limit Actually Comes From
Every web server running PHP has configuration settings that control how large a file you can upload. The two settings that matter are:
- upload_max_filesize - the maximum size of a single uploaded file
- post_max_size - the maximum size of all data in a form submission
These are set by your hosting provider in the server’s PHP configuration. They apply to every PHP application on your server, not just WordPress and not just our plugin.
When All-in-One WP Migration shows you an upload limit, it is reading these PHP values and displaying them. The plugin is telling you what your server allows. That is all.
How to Verify This Yourself
You do not have to take our word for it. Here are three ways to confirm the limit is coming from your server:
Method 1: Check in WordPress
Go to Tools > Site Health > Info > Server in your WordPress dashboard. Look for upload_max_filesize and post_max_size. The numbers you see there are the same numbers the plugin displays.
Method 2: Check with phpinfo()
Create a file called info.php in your WordPress root directory with this content:
<?php phpinfo(); ?>
Open it in your browser (yourdomain.com/info.php), search for upload_max_filesize and post_max_size. Delete the file when you are done.
Method 3: Try it live
Visit the plugin directly on WordPress.org: All-in-One WP Migration Preview
On this demo environment, you can import a file as large as 2GB. Same plugin, different server, different limit. The plugin does not restrict the file size.
How to Increase the Limit
There are several ways to increase your server’s upload limit. Which method works depends on your hosting provider.
Method 1: .htaccess (Apache servers)
Add these lines to the .htaccess file in your WordPress root directory:
php_value upload_max_filesize 512M
php_value post_max_size 512M
php_value memory_limit 256M
php_value max_execution_time 300
php_value max_input_time 300
Method 2: .user.ini (LiteSpeed, Nginx, or when .htaccess does not work)
Create or edit a .user.ini file in your WordPress root directory:
upload_max_filesize = 512M
post_max_size = 512M
memory_limit = 256M
max_execution_time = 300
max_input_time = 300
Method 3: php.ini
If you have access to your server’s php.ini file, add or update these lines:
upload_max_filesize = 512M
post_max_size = 512M
memory_limit = 256M
max_execution_time = 300
max_input_time = 300
Method 4: Hosting control panel
Many hosting providers let you change PHP settings through their control panel:
- cPanel: Go to Software > Select PHP Version > Options
- Plesk: Go to PHP Settings for your domain
- SiteGround: Go to Site Tools > Devs > PHP Manager
- Hostinger: Go to Advanced > PHP Configuration
Method 5: Contact your hosting provider
If none of the above methods work, your hosting provider may have locked these settings. Contact their support and ask them to increase upload_max_filesize and post_max_size to 512M.
What If Changing PHP Settings Does Not Work?
Sometimes increasing upload_max_filesize and post_max_size is not enough. Your upload can still be blocked by layers you cannot see and cannot change:
- Web server limits (Nginx’s
client_max_body_size, Apache’sLimitRequestBody) - Firewall rules (mod_security flagging large uploads as suspicious)
- CDN restrictions (Cloudflare’s free plan limits uploads to 100MB)
- Hosting environment settings (server-level security policies that override PHP)
These are not PHP settings. They are restrictions enforced by your server’s infrastructure, and most hosting providers do not give you access to change them. You can set your PHP upload limit to 512MB and still get blocked at 100MB because a firewall rule is silently rejecting the request.
This is exactly what the Unlimited Extension solves. Instead of uploading the entire file at once (which triggers these restrictions), it transfers the data in small chunks that stay under every limit on your server. No single request is large enough to be flagged or rejected. It works on every hosting provider we have tested because the restrictions never see a large file.
If increasing PHP settings fixed your upload: you do not need the Unlimited Extension. The free plugin is all you need.
If you changed PHP settings and the limit persists: there is another layer blocking you that you likely cannot change. The Unlimited Extension ($69/year, 50 sites) is the simplest way to get past it.
Why Other Articles Get This Wrong
If you search for “All-in-One WP Migration upload limit,” you will find dozens of articles claiming the plugin has a built-in 256MB or 512MB limit. This is incorrect.
This myth started because an older version of the plugin had a constant called AI1WM_MAX_FILE_SIZE in the source code. Hundreds of tutorials were written about how to modify this constant. Those tutorials still rank in Google and still get read, even though the constant was removed years ago.
The current version of the plugin has no hardcoded file size limit. The number you see is your server’s PHP configuration, reported accurately.
| Source | Claimed Limit | Actual Limit |
|---|---|---|
| Duplicator.com | 512MB | Your server’s PHP setting |
| WPBeginner | 256MB | Your server’s PHP setting |
| Themeisle | 300MB | Your server’s PHP setting |
| Various tutorials | 512MB | Your server’s PHP setting |
For a deeper look at how this misinformation spread, see our honest comparison of All-in-One WP Migration vs Duplicator.
Frequently Asked Questions
Does the free plugin have an import size limit?
No. The free plugin imports files of any size that your server allows. The limit you see is from your hosting provider’s PHP configuration.
Why does the plugin show a limit at all?
Because your server will reject files larger than its PHP settings allow. The plugin shows you this number so you know what to expect before you try to upload. It is not creating the limit. It is reporting it.
Will the Unlimited Extension help if I already increased my PHP settings?
If you successfully increased your PHP settings and the import works, you do not need the Unlimited Extension. It is only needed when your hosting provider restricts or locks the PHP upload settings.
I increased the PHP settings but the limit did not change. Why?
Some possible reasons:
- Your hosting provider overrides your settings at the server level
- You edited the wrong configuration file
- Your server uses Nginx and the
client_max_body_sizedirective is also limiting uploads - A caching or security plugin is caching the old PHP values (clear your cache and try again)
Contact your hosting provider’s support team. They can tell you exactly which PHP settings are locked and whether they can increase them for you.
I see a different limit than what my PHP settings show. Why?
The effective upload limit is the smallest of these values: upload_max_filesize, post_max_size, and any web server limits (like Nginx’s client_max_body_size or Cloudflare’s upload limit). The plugin reports the effective limit after all of these are taken into account.
Related Guides
- How to Migrate WordPress to a New Host (Step-by-Step) - Three migration methods compared
- 15 Common WordPress Migration Errors and How to Fix Them - Solutions for white screens, broken images, database errors, and more
- WordPress SEO Migration Checklist - Preserve your search rankings during migration
