WordPress uploader before changing the max file upload

It’s a common problem. You migrate your website from wordpress.com to a Bluehost hosted (or other host) WordPress site, but the export file from your old site is larger than what WordPress allows to be imported. Or you want to upload a large image or PDF. You get an error message telling you it’s not allowed and you punch your computer monitor.

If you’ve been scouring the internet for a solution to this problem, look no further. You’ve landed in the right spot.

I had the exact same problem and after talking to technical support and doing endless searches, I finally got my problem solved.


  1. You must be an admin on the Bluehost account.
  2. WordPress admin rights to upload file.
  3. Ability to follow instructions in this tutorial.

The Problem:

Your WordPress.com XML file is greater than the default upload filesize. For example, my file was 12.1MB and my default upload size was 10MB. Nuts.

The Solution(s):

There are a few things you can do to try to get around this. Depending on how close your file is to the default upload size (ie. 10.2MB) you can try compressing the XML making it smaller than the maximum size.

The other solution is to change the default settings in your php.ini file. I recommend this option as it is the least time intensive…I attempted several times to compress my XML file to be within the upload size which ended up being a huge waste of time.

Changing php.ini default values:

If you landed on this page, chances are you’ve got Bluehost as a hosting provider. If you don’t, that’s ok—the concepts are the same, but the process may be different. As a note, this method should work for both Bluehost and Hostmonster hosting.

The following are the instructions that technical support gave me to change the values.

  1. Login into your cPanel.
  2. Under the Software/Services category, click on the PHP Config icon.
  3. In this screen, there is a section called Install Default php.ini. Under that section, please check mark the “IonCube” and the “SourceGuardian” check boxes (Many commercial php scripts need these turned on – if you think your script may not require the IonCube or SourceGuardian packages, it is okay to not check mark the boxes – but it will not hurt anything to check mark both boxes.).
  4. Under the same section, click the “INSTALL PHP.INI MASTER FILE” button.
  5. You have just successfully installed the “php.ini.default” file . But the next step is to rename it from “php.ini.default” to just “php.ini” to make it active. You can do the Rename in the File Manager screens. Under the Files category in your cPanel, please click on the File Manager icon.
  6. When you click on the File Manager icon, you should get a popup dialog titled “File Manager Directory Selection”. (If you do not see the popup dialog, then you need to click on the link at the bottom of your cPanel called “reset all interface settings” – and then Refresh your cPanel and click on the File Manager icon again.) In the popup dialog screen, click the “Web Root (public_html/www)” and the “Show Hidden Files (dotfiles).” choices. Finally please click the “Go” button.
  7. If you already have a “php.ini”, I would recommend that you Rename the file to “php.iniOld” in case you need ever need it.
  8. Find the file that you just installed called “php.ini.default”, Right-Click the file and choose the Rename option.
  9. A new popup dialog called Rename should appear. Please start pressing your Backspace on your keyboard and you will start to see the letters disappear. Keep removing the letters until you see only “php.ini”, and then click the Rename File button.
  10. Now your php.ini file is now active and fully functional!
  11. Edit the file and change the upload values. To edit the file, you just Right-Click the php.ini file and choose the Edit option, and then change the value like these examples show:
    • To increase the maximum file size for uploading (there are two flags that you have to change):
      post_max_size = 2M ---> post_max_size = 100M
      upload_max_filesize = 2M ---> upload_max_filesize = 100M

Now try out your upload. Instead of WordPress saying a max of 10MB (in my case) it should say 100MB (or whatever value you put).

WordPress uploader after changing the max file size

Have WordPress installed on a bluehost subdomain?

If you installed WordPress on a subdomain in Bluehost you may need to make one more change to get the uploader to read the new values.

Right now, your sites are reading php.ini from a directory level. This means that your modified file will only work if WordPress in installed in the same directory. If it is in a different directory, however, it won’t read the updated information.

There are two things you can do: 1) Copy your file to each directory as needed (may be necessary if websites you host require different PHP modifications) or 2) Tell Bluehost to read only 1 file (this option is the best).

Using only 1 php.ini file

  1. Go back to your cPanel
  2. Under “Software/Services” click “PHP Config”
  3. Select “PHP (Single php.ini)”
  4. Save changes

Now when you go back and refresh your WordPress upload page, the value should change to 100MB (or whatever larger amount you selected) and you can go about finishing up you website migration.