WordPress media library not loading? Follow the request
Do not start changing upload permissions, raising every PHP limit you can find or reinstalling half the plugin list. A blank WordPress media library is irritating enough without turning it into a wider fault.

For a marketing team in Dubai, Liverpool or anywhere else, the practical problem is simple: editors cannot add images, replace a brochure, update a service page or publish a campaign. Existing images may still load perfectly on the public website, which tends to send people down the wrong path.
Diagnose the admin request, not the thumbnails you can still see. The public site can serve old image files from a CDN or cache while WordPress admin fails to fetch attachment records, create image sizes or process a new upload.
Leave the file permissions alone for the moment
It is tempting to assume that images showing on the public site prove the media library is healthy. They do not. Front-end image delivery and the admin media grid use different routes, permissions and processes.
A public page may be loading a previously generated JPEG or WebP from a cache. Meanwhile, the media modal in wp-admin may be making a REST API request that returns a 403, 500 or a JavaScript error. Those are separate jobs.
Blanket permission changes are especially unhelpful. Changing folders to overly broad settings can create security and ownership problems without repairing the request that actually failed. If the hosting account has the wrong file owner after a migration, that needs evidence first, not guesswork.
Find the request the media grid expects
Open the browser developer tools while logged into WordPress, then reproduce the fault. In most browsers, the useful places are the Network and Console tabs. Reload the media library or open the Add Media modal with the Network tab recording activity.
Look for a request containing /wp-json/wp/v2/media, media, attachments or an admin AJAX route. The exact route varies with WordPress version, plugins and the action being attempted, but the principle does not: the media grid needs a successful response containing attachment data.
A WordPress media library not loading issue is commonly caused by a failed REST API request, a JavaScript error, blocked authentication, server-side memory pressure, image processing failure, a security rule or a plugin conflict. The browser response and authorised server logs usually narrow the next move far more reliably than staring at empty thumbnails.
Read the status, then the response
| What you see | What it may indicate | Safe next check |
|---|---|---|
| 403 or 401 response | Security plugin, firewall, nonce, login session or REST restriction | Check the response body and security logs for the blocked rule |
| 500 response | PHP fatal error, exhausted memory, plugin code or image library issue | Match the request time against the PHP or server error log |
| 429 response | Rate limiting from hosting, firewall or optimisation layer | Review the limiting rule and whether admin requests are included |
| Request succeeds but grid stays blank | JavaScript conflict or malformed response | Check the browser Console for the first relevant error |
| Upload fails after selection | File ownership, disk space, upload limit or image processing problem | Check upload response, available storage and server logs |
The first useful clue is often dull: a 500 response with a timestamp, or one red console error introduced by an optimisation update. Dull is good. Dull can be traced.
A common optimisation-update scenario
Say a marketing user opens the media library after an optimisation plugin update. Existing page images remain normal, so someone concludes the server cannot be the issue. The media grid spins forever.
In Network, the media request returns 403. The response shows that a firewall rule has treated the logged-in REST request as suspicious. In Console, there may be no useful error at all because the browser received a response, just the wrong one. Disabling random plugins would obscure the timeline. Checking the blocked request and rule gives you a proper lead.
Another version is a 500 response when uploading a large phone image. The original file may be within the PHP upload limit, but WordPress still has to create several resized versions. That processing can run into PHP memory limits, an Imagick problem, a missing library or exhausted hosting storage. The upload request and PHP log will tell a more useful story than a generic increase to every limit.
Work through the evidence in this order
- Reproduce the fault with one ordinary image. Record whether the grid is blank, existing media fails, or only new uploads fail.
- Capture the failed request. Note its URL, status code, response body and timestamp. A screenshot is better than a verbal summary such as it just spins.
- Check the Console. Start with the first error that appears when opening the media library, rather than chasing every old warning in the browser.
- Compare server-side logs where authorised. Look at PHP, web server, security firewall and hosting logs around the matching timestamp.
- Review the recent change list. Optimisation, security, cache, image conversion and CDN plugins deserve attention if the timing fits. So do hosting migrations and PHP changes.
- Test a controlled change. Use staging where it accurately reflects live, or temporarily alter one identified setting with a rollback point. Do not perform a mass deactivation during business hours.
When permissions and PHP settings are genuinely relevant
Permissions matter when uploads fail because WordPress cannot write to the uploads directory, image sizes are not generated, or the server log explicitly reports an ownership or write error. They are not the automatic answer to an empty media grid.
PHP limits matter when logs show exhausted memory, upload size restrictions or image processing failures. Raising memory can be sensible on some sites, but it is not a ceremonial offering to WordPress. Find the process that ran out first.
Likewise, cache and optimisation settings can interfere with admin scripts, REST routes or authentication cookies. The useful question is whether the failing request began after a particular setting changed, not whether the plugin has a tidy-looking dashboard.
Escalate when routine editing is blocked
If several users cannot access the media library, uploads are failing across the site, or the failed request points to a server error, treat it as a website repair issue rather than an editor inconvenience. Content work stalls quickly when nobody can update imagery, documents or page sections.
A proper repair route uses browser evidence, authorised server logs and controlled testing. Our website repair support in Dubai is built around tracing the failed route and making proportionate changes, rather than applying a bag of familiar fixes and hoping for the best.
FAQ
Why does the WordPress media library fail when website images still display?
Public images are often cached files served from the uploads directory, CDN or browser cache. The media library needs authenticated admin requests to retrieve attachment data and process uploads. One route can work while the other fails because they use different requests, security checks and server processes.
Can a plugin cause the WordPress media library not to load?
Yes. Optimisation, security, caching, image conversion and admin customisation plugins can interfere with JavaScript, REST API access, authentication or image handling. The timing matters. Check the failing request and recent changes before disabling plugins, especially on a live business website.
Does the REST API need to work for the media library?
Modern WordPress admin screens commonly use REST API requests for media data. If the relevant route returns an error, the grid may remain blank or keep loading. A successful REST API homepage response is not always enough, as authentication and media-specific endpoints can fail separately.
Capture the failed media request before changing upload settings or reinstalling plugins. If you need a second pair of eyes on the evidence, message Standish Services on WhatsApp about WordPress support.