Web60 Features
Photos Won't Upload to Your Website? What the Error Is Telling You

The pumpkins arrive on a Tuesday. In this composite, assembled from the kind of conversation every hosting support desk has rather than from any one customer's story, a farm shop outside Birr in County Offaly has its first proper crop stacked on pallets by the door, and the owner wants them on the website before the weekend trade. A dozen good photos go onto the phone in the yard at lunchtime. That evening, at the kitchen table, the owner opens the website, drags the photos into the media library and watches them fail.
One says the server cannot process the image. Another complains about something called HEIC. A third reports an unexpected response from the server, so the owner tries again. Four times. By half nine the product page is published with a description, a price and an empty grey box where the photo should be. Nobody buys a pumpkin they cannot see.
None of this means the website is broken. Each of those messages points at something specific, and most of them are fixed on the phone, not the server. I have spent more than twenty years on the hosting side of evenings like that one. The frustrating part is rarely the fault itself. It is that nobody translated the error.
Why your phone and your website disagree about photos
Start with the file format, because it causes more of these evenings than anything else. Recent iPhones save photos as HEIF files, with a .heic extension, unless someone changes the camera setting. Apple's own support page on HEIF and HEVC media explains why: the format compresses better than JPEG, so your phone holds more photos without a visible drop in quality. For the phone, that is a sensible default. For a website, it is a nuisance.
The WordPress core team put the problem plainly when they announced automatic HEIC conversion for WordPress 6.7: browser support for HEIC is low. Put a raw HEIC file on a product page and many of your visitors would see nothing at all.
So WordPress now tries to help. Since version 6.7, a HEIC upload is converted to JPEG on the server when possible, and the original stays downloadable from the attachment page. Everything hangs on those two words, when possible. The conversion only happens if the server's image library, a component called Imagick, was built with HEIC support. Where it was not, WordPress refuses the file and tells you to convert it to JPEG yourself.
Why some photos went through and others did not
In the farm shop scenario, that explains the mixed results. Photos the owner had emailed to themselves earlier uploaded fine, because Apple notes that sharing by Mail, Messages or AirDrop can convert a photo to a more compatible format such as JPEG on the way out. Photos dragged straight from a synced iCloud Photos library kept their original format, arrived as untouched HEIC files and bounced. Same phone, same afternoon, two different file types.
Verify what your server can read
You can find out which situation you are in without asking anyone. In your WordPress dashboard, go to Tools, then Site Health, open the Info tab and expand Media Handling. Look for the line listing the ImageMagick supported file formats. If HEIC appears in that list, your site converts iPhone photos automatically. Where it does not, every HEIC upload will fail until you convert it first.
That is a one-minute check. It replaces an evening of trial and error.

The five upload errors WordPress shows, translated
WordPress does not invent a new message for every failure. The wording below is taken from WordPress's own upload code, shortened where the full message runs on, and a handful of messages cover almost every photo problem a business owner will meet.
| What WordPress says | What it usually means | First thing to try |
|---|---|---|
| The server cannot process HEIC images | An iPhone photo in HEIC format, on a server that cannot convert it | Export as JPEG or switch the camera to Most Compatible |
| Exceeds the maximum upload size for this site | The file is heavier than your host allows per upload | Resize the photo before uploading |
| The server cannot process the image | The server ran short of memory or time while processing a large photo | Resize to 2,560 pixels or less on the long edge |
| Unexpected response from the server | The connection or server hiccupped mid-upload | Check the media library before retrying |
| This file cannot be processed by the web server | A file type WordPress does not accept or cannot read | Save or export it as a JPEG or PNG |
"The server cannot process HEIC images"
Covered above, and the most common of the five for anyone shooting on an iPhone. The fix lives on the phone. Either change the camera format before your next shoot, or export the photos you already have as JPEG. The step-by-step version is further down.
"Exceeds the maximum upload size for this site"
Every host sets a ceiling on how large a single upload can be, and WordPress shows you that ceiling on the Media, Add New screen. When a photo is bigger than the ceiling, WordPress turns it away before the upload even starts.
Phone cameras make this worse than it used to be. When the WordPress core team changed how large images are handled in version 5.3, they noted that a photo from an average modern smartphone easily runs past 5MB, and phones have not got any more modest since. Some hosts still set upload limits as though it were 2012. I have little patience for that. A limit sized for a different decade does not protect anyone's server. It just punishes the customer.
The practical fix is to resize before you upload, because a product page never needs the full resolution your phone captured. If you tend to make changes on the move, our guide to updating your business website from your phone covers which edits work well on a small screen and which to leave for a laptop.
"The server cannot process the image"
This one confuses people because WordPress accepted the file. The failure happens afterwards. Every image you upload is copied into several smaller sizes for thumbnails, product grids and mobile layouts, and that processing needs memory. A very large photo can exhaust what the server allows, and the job dies halfway.
The message itself suggests the fix: upload a smaller image, with a suggested maximum of 2,560 pixels. That number is not random. It matches the threshold above which WordPress automatically scales big images down anyway, so resizing to that size first loses you nothing your visitors would ever see.
Treat it as something of a catch-all, though. If a small, ordinary JPEG triggers this message, the conflict usually sits elsewhere, often with a plugin or a server limit, and that is a question for your host rather than your camera.
"Unexpected response from the server"
Read the whole message. WordPress follows it with a second sentence: "The file may have been uploaded successfully." Frequently it was. The connection dropped, or the server took too long to reply, but the photo landed.
This is where the farm shop owner went wrong in our scenario. Four retries meant four copies of the same pumpkin photo in the media library, and no way to tell at a glance which one the page was using. Before you retry, open the media library and look. If the photo is there, use it.
"This file cannot be processed by the web server"
WordPress accepts the everyday web formats, JPEG, PNG, GIF and WebP among them. Files outside that set get this message. Typical culprits are RAW files from a dedicated camera, TIFF scans from an office scanner, or an image saved from a design app in an unusual format. Export it as a JPEG for photographs or a PNG for logos and graphics, then try again.
Getting a stubborn photo online in four steps
When a photo will not go up, this is the order that wastes the least time.
- Verify. Check Site Health once, under Media Handling, so you know whether your site converts HEIC photos or not.
- Convert. On an iPhone, go to Settings, then Camera, then Formats, and choose Most Compatible before a website shoot, or export existing photos as JPEG.
- Resize. Bring each photo down to somewhere between 2,000 and 2,560 pixels on its longest edge before you upload it.
- Deploy. Upload one photo at a time on a decent connection, check the media library after any error, then view the finished page on your own phone.
One trade-off worth knowing on step two. Apple is clear that Most Compatible files take up more storage than High Efficiency ones, so a phone that is nearly full will fill faster. A sensible habit is to switch to Most Compatible for the afternoon of a product shoot and switch back afterwards.

What your host should take off your plate
Some of this is genuinely your job. Choosing the camera setting, resizing a photo, picking which shot goes on the homepage: nobody else can do those for you. The rest belongs to whoever runs your hosting, and it is fair to hold them to a standard.
A properly run WordPress host should give you:
- An image library that keeps up with phones. New formats arrive with new handsets. The server's image tools should be current enough to cope, or the host should tell you plainly what it cannot convert.
- Upload limits sized for this decade. Large enough for a photo straight off a current phone, without you having to learn what a megabyte is.
- Fast delivery once the photo is in. Page caching and a tuned server, so your product page loads quickly on a mobile signal.
- A way back. Backups you can restore in one click, taken before you do anything bold to the media library.
- A person to ask. Someone who can read a server log and tell you in plain English why a photo bounced.
The way back matters more than most owners realise. Run a bulk image-compression plugin across a few hundred product photos with the wrong quality setting, and some plugins will overwrite every original with a blurrier copy. Without a backup taken first, there is no rollback, only an afternoon reshooting the stock.
Where Web60 stands against that list
Measured against those criteria, these are the parts I can state plainly about Web60. It runs full WordPress on the WordOps stack, with Nginx, PHP-FPM, Redis object caching and FastCGI page caching, on SmartHost's sovereign Irish cloud. Nightly backups run automatically with one-click restore, you can take an on-demand backup before a big clear-out of the media library, and safety snapshots are taken before updates. When a photo bounces with a message that makes no sense, the question goes to an Irish-based support team of real people, not an outsourced queue. All of it sits inside €60 a year, with no per-feature charges.
And if you want to know whether a given format converts on any WordPress site, ours included, Site Health will tell you in a minute.
This is the part of self-building a website that nobody mentions. AI builds the structure in under a minute now; you can see an AI-built WordPress site for yourself in the Web60 demo. The photos are the bit only you can supply. Our guide to taking your own website photos on a phone covers light, framing and the shot list, and this article covers getting them onto the page.
Why the photo matters more than the page around it
Images are the heaviest thing on most web pages. The HTTP Archive's 2025 Web Almanac chapter on page weight found that images accounted for more bytes than anything else on the median home page, somewhere around 900KB of images on mobile, ahead of scripts and fonts. The 2024 edition's media chapter found that roughly two in three mobile pages had an image as their Largest Contentful Paint element, the measure Google uses to judge how quickly a page appears to load. In plain terms, the photo you upload is usually the first big thing your customer waits for.
What server caching cannot fix
Server caching makes the page itself arrive fast. It does not make a heavy photo lighter. If a theme or page builder insists on loading the full-size original in a homepage banner, a customer on a weak signal is still waiting for every byte of it, however well tuned the server behind it is. WordPress does a lot of the work here, generating smaller copies of every image automatically, but it cannot overrule a layout that asks for the biggest version. Resize at source and you never have to find out.
An honest exception
If you are a wedding or landscape photographer whose website is essentially a gallery of thousands of full-resolution images, with client proofing and print ordering built in, a dedicated portfolio platform designed around image delivery may genuinely suit you better than a general WordPress host, ours included. That is a specialist workload with specialist tools. A farm shop with forty product photos is not that, and neither are most businesses reading this.
Back at the farm shop
Run the scenario again with the messages translated. The owner opens Site Health and sees HEIC missing from the supported formats, so the format complaint makes sense straight away. The camera goes to Most Compatible for the next batch, and the photos already taken are exported as JPEG. Each one is resized before upload, so the memory error never appears. Three duplicate pumpkins get deleted from the media library. The product page gets its photo before the kettle has boiled.
Nothing about the website changed. What changed was understanding the messages.
Before your next batch of photos
Self-building a website stopped being the hard option once AI could produce the structure in under a minute. The photos have always been the part only you can supply, and they deserve the small amount of care it takes to get them onto the page properly. Set the camera format before you shoot, resize before you upload, read the whole error message when something goes wrong, and verify the page on your own phone afterwards.
Next time a photo bounces, you will know which message is talking and what it wants, and the fix will most likely be in your pocket.
Frequently Asked Questions
Why won't my iPhone photos upload to my WordPress website?
Most often because the iPhone saved them as HEIC files. Browser support for HEIC is low, so WordPress converts these photos to JPEG on upload, but only if your server's image library supports HEIC. If it does not, WordPress rejects the file and asks you to convert it. Switch the camera to Most Compatible under Settings, Camera, Formats, or export the photos as JPEG, and they will upload normally.
Does WordPress convert HEIC photos to JPEG automatically?
Since WordPress 6.7, yes, when the server allows it. The conversion relies on the Imagick image library being built with HEIC support. You can check by going to Tools, Site Health, Info, Media Handling and looking for HEIC in the list of ImageMagick supported file formats. The original HEIC file is kept and can be downloaded from the attachment page.
What size should photos be for a small business website?
Around 2,000 to 2,560 pixels on the longest edge is plenty for almost any website layout, including full-width banners. WordPress automatically scales down anything larger than 2,560 pixels and keeps the original, but resizing before you upload makes uploads faster and avoids memory errors on the server.
Why does WordPress say my file exceeds the maximum upload size?
Your hosting provider sets a limit on how large a single upload can be, and WordPress shows it on the Media, Add New screen. A photo straight from a modern phone can run to several megabytes. Resize the photo before uploading, and if the limit is unreasonably small for everyday photos, ask your host to explain it.
Why do I have duplicate photos in my media library?
Usually because an upload showed the unexpected response from the server error and was retried. WordPress itself warns that the file may have been uploaded successfully despite the error. Check the media library before retrying, and delete any extra copies that are not used on a page.
Should I change my iPhone camera to Most Compatible permanently?
Not necessarily. Most Compatible saves JPEG files, which work everywhere but take more storage than High Efficiency HEIF files. If your phone storage is tight, switch to Most Compatible for website photo sessions and back to High Efficiency afterwards, or simply export the photos you need as JPEG.
Sources
- WordPress Core: Automatic conversion of HEIC images to JPEG in WordPress 6.7
- WordPress Core: Introducing handling of big images in WordPress 5.3
- WordPress source code: upload error messages in script-loader.php
- Apple Support: Using HEIF or HEVC media on Apple devices
- HTTP Archive Web Almanac 2025: Page Weight
- HTTP Archive Web Almanac 2024: Media
Graeme Conkie founded SmartHost in 2020 and has spent years building hosting infrastructure for Irish businesses. He created Web60 after seeing the same problem repeatedly — Irish SMEs paying too much for hosting that underdelivers. He writes about WordPress infrastructure, server security, developer workflows, managed hosting strategy, and the real cost of hosting decisions for Irish business owners.
More by Graeme Conkie →Ready to get your business online?
Describe your business. AI builds your website in 60 seconds.
Build My Website Free →More from the blog
Deleting a WordPress Plugin Can Wipe Its Data. Deactivate First, Then Decide.
Deleting a WordPress plugin can wipe its forms, entries and settings; deactivating does not. What popular plugins remove and how to retire one safely.
Accidentally Deleted a WordPress Page? Restore It Without Rolling Back Your Whole Site
Accidentally deleted a WordPress page? Restore it from the Trash or revisions first. A full backup restore can wipe today's orders and enquiries too.
