WordPress SEO consultant
Most WordPress SEO problems are theme problems.
Post types registered without a thought for how they would rank. Archives nobody decided about. A template that outputs the same title tag on four hundred pages. A generic SEO consultant will flag the symptom. We open the theme and change the code that causes it.
Where it goes wrong
WordPress problems that generic SEO misses.
None of these show up as a red row in a crawl report. All of them decide how a site ranks.
Post types and taxonomies
Registered by whoever built the site, usually for admin convenience. has_archive left true because it was the default, so you have an archive nobody planned, or false on the one thing people search for. Rewrite slugs that put commercial pages three levels deep for no reason.
Template hierarchy
Which file renders which URL, and what that file quietly does to every page built on it. A missing single-{post_type}.php means your product pages are rendering through the blog template, inheriting its markup, its heading structure and its schema.
Archives and pagination
Date archives, author archives, attachment pages and tag archives, all live, all thin, all competing. Then pagination that either canonicalises page 2 to page 1 or leaves fifty near identical pages in the index. Both are wrong in different directions.
functions.php architecture
Six years of snippets pasted in from blog posts, hooked at the wrong priority, some of them fighting each other. We have seen two separate filters both trying to rewrite the same canonical, with the winner decided by load order.
Plugin bloat
Plugins that enqueue their assets on every page whether the page uses them or not. A slider library on a contact page. Three plugins that each add their own schema, producing a graph with a duplicate organisation entity and markup that contradicts itself.
Yoast misconfiguration
Not the plugin, the setup. Indexation toggles nobody reviewed, title templates that output the same pattern everywhere, and breadcrumb or schema settings duplicating what the theme already outputs.
Why it gets missed
The gap between the report and the code.
What the report says
"Duplicate title tags on 380 pages." "Thin content on tag archives." "Multiple H1 tags." All accurate. All symptoms of one or two lines in a template file, repeated across the site by design.
What it takes to fix
Finding which template file, working out which hook or filter is doing it, and whether it is the theme, a plugin or something in functions.php. That is a PHP job. If your consultant cannot read the theme, the finding turns into a ticket, and the ticket waits.
The pattern we keep seeing
A client has an audit, sometimes a good one. Nothing on it has been done, because every item needs a developer and the developer is busy shipping features. The audit was never the bottleneck. Implementation was.
The work
What we change inside the theme.
In a child theme or a small site plugin, so nothing is lost the next time the theme updates.
Registration and rewrites
Post type and taxonomy arguments set deliberately. Archive behaviour decided rather than inherited, slugs shortened where depth is costing you, and old URLs redirected properly when a rewrite changes.
Templates and markup
Correct template files for each post type, one H1 per page, headings that describe the content, and title and meta output that varies because the template makes it vary.
Queries and internal links
Related content chosen by relevance instead of a templated block on every page. On one site we cut a 25 link block down to 5 deliberate internal links and the target page started ranking.
Schema output
One entity graph, from one source. We have removed a duplicate organisation entity, turned off per-item LocalBusiness markup and self-serving review ratings, stripped invalid FAQPage markup and closed the Search Console issue that came with it.
Caching that invalidates
Purge rules that reach every page type, including curated pages that query content rather than being taxonomy archives. Those are the ones that stay stale for a day while everything else looks fine.
Features built to be crawled
When a site needs a tool, we build it server rendered. A geolocation search feature for a 33k a month term, rendered on the server so it stays crawlable, with a geocoding layer that adds new locations without a code change. More on custom tools.
Plugins
How we decide what stays.
A plugin earns its place if
- It does a job that is genuinely hard to write yourself
- It loads its assets only where they are used
- It is maintained, and you can see the code if you need to
- Removing it would cost more hours than keeping it
- Nothing else on the site already does the same job
It goes if
- It exists to add one field or one small behaviour
- It outputs schema that competes with your existing graph
- It loads on every request for a feature used on two pages
- It has not been updated in years and touches the front end
- It is a second caching or SEO plugin arguing with the first
Nothing gets removed without a staging test and a rollback path. Deleting plugins on a live site is how people lose a weekend.
Evidence
Two things worth knowing about how we work.
Security
21,626 hits a day to zero
A wp-login.php brute force attack, stopped in 15 minutes with a Cloudflare Managed Challenge and an allowlist for admin IPs. The useful part came next: the server was sitting at 7.5% CPU, so the attack was not slowing the site, and the client did not buy the upgrade they had been about to pay for.
Diagnosis
Four causes, one symptom
Content was not going live. It looked like one caching bug and turned out to be four separate failures stacked on top of each other. Six pages that had been stale for 14 to 24 hours matched the origin immediately once all four were fixed.
FAQ
Questions clients actually ask
Do you edit the theme, or just tell my developer what to change?
We edit it. The people who diagnose the problem are the people who write the fix, so nothing gets lost in a handover. We write the PHP, put it in a child theme or a small plugin so it survives updates, deploy it and check it on the live site.
If you have a developer who would rather own the change, we will write the spec and review the result instead. Either works, but nothing gets left as a recommendation nobody actions.
Is Yoast enough on its own?
Yoast is fine. It is also the source of a lot of quiet damage, because the defaults are set for a generic blog and most sites are not one. Author archives indexed on a single author site. Attachment pages left live. Custom post types indexed when they should not be, or noindexed when they are the money pages.
The plugin is not the problem. Nobody ever went through the settings with your site in mind.
How many plugins is too many?
The number is not the metric. Twenty light plugins can be healthier than four that each load a framework on every request. What matters is what they load, when they load it, and whether two of them are doing the same job.
We would rather remove three plugins and write forty lines in functions.php than keep a plugin that adds 400KB to every page so you can have one field on one template.
My site is slow. Is that an SEO problem?
Sometimes, and less often than people think. Speed is a real ranking factor but a mild one, and it is rarely why a page is not ranking at all.
We once proved a site under a brute force attack was not actually slowed by it, server sat at 7.5% CPU, which stopped the client buying a bigger server they did not need. The attack still needed dealing with. It just was not the performance story they had been told.
What does WordPress SEO work cost?
Technical SEO and strategy is £90 to £110 an hour. Development is £90 to £100. Where a job mixes both, which most WordPress work does, it goes on a £95 blended rate so you are not watching us switch hats mid task.
If you want the diagnosis first, an audit starts at £900 and is roughly 8 to 12 hours.
When are you the wrong people to call?
If you are on Shopify, Wix or a headless setup, we are not your best option. Our depth is in WordPress and PHP, and you should hire for the stack you are on.
Also if your theme is a page builder site with no real templates and you want structural change on a small budget. In that situation the honest answer is often a rebuild, and a rebuild is a bigger conversation than an SEO engagement.
Keep reading
Related services
Book me
Tell us what your site is doing.
Send the URL and the symptom. We will tell you whether it is a theme problem, a plugin problem or something else entirely, and whether it is worth paying anyone to fix.