An index lets the database find rows without scanning every single one — like a book’s index versus reading every page to find a topic. A table without the right indexes for how it’s actually queried can be technically small and still run painfully slow queries, because every lookup means checking every row in turn.
Why this isn’t something to check yourself
Confirming a missing index requires reading the database’s own query execution plan, which means running diagnostic queries directly against the database, not something visible from wp-admin or a general speed tool.
Getting the wrong index can also make things worse — an unnecessary index slows down every write to a table even as it speeds up specific reads, so this needs to be based on your actual query patterns, not a general rule applied blindly across every table.
This is one of the more technical fixes in this bucket precisely because the risk of guessing wrong is real, and a badly-chosen index can quietly cost you on the write side while barely helping the read side you were trying to fix. That asymmetry is exactly why this isn’t a fix worth attempting from a generic tutorial found online, no matter how confident the instructions sound.
Database index optimization for slow queries
Specific pages or admin screens are running slow database queries. We identify exactly which ones, and add indexes matched to how your site actually queries data.
- 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?
| Specific pages or admin screens querying the database slowly, cause unclear | This fix covers it |
| Overhead or fragmentation on tables, not specifically slow queries | Database table optimization & defragmentation |
| General database size the primary concern | Database size audit & reduction report |
| Site slow with no specific database symptom pinpointed | Slow site diagnostic report |
| Autoloaded options specifically suspected | wp_options autoload bloat reduction |
What you are seeing
- Specific pages, filters, or admin screens taking noticeably long to load, correlating with a database lookup
- Slowness that gets worse as the amount of content or orders grows
- A plugin or custom feature querying by a field that wasn’t designed to be searched that way
- Server monitoring or logs showing long-running queries
- The problem present even when the database isn’t especially large overall
Common causes
- A frequently-used query filtering or sorting by a column with no index
- A plugin adding a feature that queries WordPress’s core tables in a way they weren’t optimised for by default
- Custom fields or metadata queried at scale without the indexing that scale requires
- An index that exists but doesn’t match how the query is actually structured
- Table growth outpacing indexes that were adequate when the site was smaller
What we do
- Identify the specific slow queries, using the database’s own logs or diagnostic tools
- Analyse the execution plan for each to see exactly where time is being spent
- Design indexes matched to the actual query patterns found, not a generic set
- Apply indexes carefully, since an unnecessary one slows down writes to gain nothing
- Re-run the identified queries to confirm a measured improvement
- Check that write performance on the same tables hasn’t been negatively affected
What is included
- Specific slow queries identified and analysed
- Indexes designed and applied for your actual query patterns
- Before-and-after query time measurement
- The pre-fix backup, kept for 30 days
Not included
- Rewriting the plugin or code responsible for an inefficient query itself
- General database cleanup, which is a separate, related fix
- Ongoing query monitoring
- Guaranteeing improvement on queries not identified as part of this fix
Questions about this fix
Can adding an index ever make things worse?
For reads, no; for writes, potentially, since every index has to be updated whenever the underlying data changes. This is exactly why indexes are chosen carefully based on real query patterns rather than added liberally.
How do you find which queries are slow without seeing my site every day?
Through the database's own slow query log, or by directly profiling the pages and admin screens you've identified as sluggish — both give us real data rather than guesswork.
Will this fix apply to every slow page on my site?
Only pages whose slowness traces to a query lacking a proper index. If the cause is something else — a plugin doing unrelated heavy processing, for instance — that needs its own diagnosis.
Is this the same as the general database cleanup fix?
No — cleanup removes unnecessary rows; this makes the queries against the rows you do have run efficiently. A site can need one, the other, or both.
Will I need this again as my site grows?
Possibly, since indexes that are adequate today can become insufficient at a much larger scale. It's not a permanent, one-time guarantee against future query slowness as your data grows substantially.
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.