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.

Reply within one working dayFixed scope before any workRollback path on every change

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 for admin convenience by whoever built the site
  • has_archive left true, creating archives nobody planned
  • No archive for the one thing people search for
  • Rewrite slugs burying commercial pages three levels deep

Template hierarchy

Which file renders which URL, and what that file does, unseen, 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

  • Which template file, and which hook or filter
  • Theme, plugin or something in functions.php
  • A PHP job, or it becomes a ticket that 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 our WordPress SEO services 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 by hand. Archive behaviour decided and not left to the default, 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 without being taxonomy archives. Those are the ones that stay stale for a day while everything else looks fine.

Features built to be crawled

  • Custom tools built server rendered, so they stay crawlable
  • Geolocation search for a 33k a month term
  • New locations added without a code change

Plugins

How we decide what stays.

A plugin earns its place if

  • Does a job that is hard to write yourself
  • Loads its assets only where they are used
  • Maintained, with code you can inspect
  • Nothing else on the site does the same job

It goes if

  • Exists to add one field or one small behaviour
  • Loaded on every request for a feature on two pages
  • Not updated in years, and touches the front end
  • Competing schema, or a second SEO or caching plugin

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 that show how we work.

Security

21,626 hits a day to zero

  • A wp-login.php brute force attack
  • Stopped in 15 minutes by a Cloudflare Managed Challenge
  • Server at 7.5% CPU, so not slowing the site
  • The client skipped the upgrade they were about to buy

Diagnosis

Four causes, one symptom

  • Content changes not going live
  • Looked like one caching bug, was four failures
  • Six pages stale for 14 to 24 hours
  • All matched the origin once the four were fixed

FAQ

Questions clients 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 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 answer is often a rebuild, and a rebuild is a bigger conversation than an SEO engagement.

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.

Reply within one working day No obligation Your details stay with us

Takes about 60 seconds. No newsletter and no CRM sequence. Your details are used to reply to this enquiry and nothing else. See the privacy notice.