A memory limit error means PHP was allocated a fixed amount of RAM and something asked for more. Raising the limit is the obvious move and often the wrong one on its own — if a plugin is loading ten thousand rows into memory, a bigger limit just delays the failure. The work is finding what is consuming it.
Before you buy, one quick look
This is read-only. In wp-admin go to Tools → Site Health → Info → Server and look at PHP memory limit.
It says 128M or less — that is low for a modern WordPress site and raising it may be most of the answer.
It already says 256M or more — something is genuinely misbehaving, and raising it further will not help. That is the case this fix is built for.
PHP memory limit exhausted - fix and raise
PHP runs out of memory partway through a request and the page dies. We find what is consuming it, raise the limit where that is appropriate, and fix the cause rather than just the symptom.
- Full backup taken before we start
- If we can’t fix it, you get your money back
- We never ask for your own password
This or something else?
| Error names a memory size that was exhausted | This fix covers it |
| Page hangs for a long time then fails | Maximum execution time exceeded |
| Blank page with no message at all | White screen of death |
| Only the media library or importer fails | This fix covers it |
| Host emailed about account resource limits | Hosting resource limit diagnosis |
What you are seeing
- An error naming a memory size that was exhausted, with a file and line
- It may only happen on specific pages — the media library, an import, or a report
- The admin may be slower than usual before it fails
- It started as intermittent and is now happening more often
Common causes
- A plugin loading far more data into memory than it needs
- Image processing on uploads larger than the server can handle
- An unindexed query pulling thousands of rows at once
- A memory limit set low by the host and never revisited
- Two caching or optimisation plugins duplicating each other’s work
What we do
- Take a full backup before touching anything
- Read the error and identify the exact operation that ran out of memory
- Profile what is actually consuming memory rather than guessing
- Raise the limit to a sensible level where the host allows it
- Fix or replace the component causing the consumption, if that is the real cause
- Re-run the failing operation to confirm it completes
What is included
- The failing operation working again, verified
- A memory limit set appropriately for your site rather than arbitrarily high
- A note naming what was consuming memory and why
- The pre-fix backup, kept for 30 days
Not included
- Upgrading your hosting plan, though we tell you if that is the honest answer
- Rewriting a plugin that is fundamentally inefficient — we suggest alternatives instead
- Server-level changes on hosts that do not permit them
- Malware removal, design changes or content work
Questions about this fix
Can I not just raise the limit myself?
You can, and on a site sitting at 128M it may well work. What it will not do is tell you why memory ran out. If something is loading unbounded data, you will hit the new limit too, and each raise makes the eventual failure heavier for the server.
My host will not let me raise it. What then?
Then the fix has to be on the consumption side, which is usually possible. Most memory exhaustion comes from one specific operation, and that operation can normally be made to work in batches instead of all at once.
It only fails in the media library. Is that the same problem?
Usually yes. Image processing is memory-hungry, and a large upload can exceed the limit even when the rest of the site is fine. The fix may be the limit, the image dimensions, or the processing library.
Will raising the limit slow my site down?
No. The limit is a ceiling, not an allocation — PHP only uses what it needs. A higher ceiling costs nothing until something actually reaches for it.
How do you find what's actually using the memory?
We use a memory profiler to log real usage during an actual request rather than guessing from the error text, which only tells you the ceiling was hit, not what filled it.
Related fixes
If this is the second time this year
A bad update breaking the site is a symptom of updates not being tested first. Care plans run every update on a staging clone before it reaches your live site, which is the actual fix for this happening again.
Your access, your rules
Create a separate admin account for us and delete it when we are done. For anything else, we get in touch and agree a method — never a form field on this site, never by reply to an email.
We back up first, always
Before anything is touched we take a full backup and keep it for 30 days. If a fix goes wrong, we put the site back exactly as it was.
If it is not what you bought
If the problem turns out smaller than what you ordered, we refund the difference. If it is bigger, we stop and send a quote before doing any extra work.
If we cannot fix it
You get back what we received. Diagnosis is on us — you only pay when the problem is actually solved. The payment processor takes its fee before the money reaches us, so we never hold it and it is not ours to return. That is true here as everywhere else.
If it comes back
Reply within seven days of delivery and we put it back on the bench at no cost. The fix is not finished until it holds.
What we are responsible for
If something goes wrong with a fix, our responsibility is limited to what you paid for it. We take a full backup first so mistakes can be undone, and we tell you before doing anything outside what you bought.