SEO for WordPress sites, from what Google sees to what people search
Technical fixes, content people search for, and structured data, in the order that matters for your site.
- Technical: what the first audit finds
- Content: what people search
- Structured data: what your pages say about themselves
- Measurement: whether it worked
When this is the right service
- Your site has pages that should be found and are not.
- Google shows pages you never made, or a test copy of your site.
- You have traffic and it does not turn into enquiries.
- You are not sure what to write next, or why a page stopped performing.
- Your blog runs on its own WordPress install and you were told “it validates”.
What it covers
What the first audit finds
Every project starts with a site audit, and the technical work comes out of it: security issues, pages you did not make, a public test copy, mobile speed, caching and server conflicts, and how your title and description read to a stranger.
On this site: a persistent WordPress hack, a Cloudflare caching conflict and an author-page checklist.
What people search
Why a page underperforms, found before any writing starts: a content gap, a weak title, or two pages competing for one search.
Then what to write, ranked by who is searching and whether the topic fits your business, and what the ranking pages cover and what they all miss.
What your pages say about themselves
The right type for each page, one brand identity across installs, CollectionPage on category archives, and the output checked against what prints.
See the schema plugin I built for this.
Whether it worked
Search Console and GA4 set up so you can see what changed, including first-party tracking through Cloudflare where it fits.
After the free check I tell you what comes first for your site. It is not always the same.
Tools I’m comfortable with
I have worked on real projects with all of these. Which ones I use depends on the client’s project and budget.
Google Search Console, Ahrefs, Semrush, SE Ranking
Surfer
GA4 and Google Tag Manager
MCP servers for Search Console (including Suganthan Mohanadasan’s), Semrush, SE Ranking and WordPress
A worked example: valid schema that split one brand in two
The situation
A client ran its main site and its blog as two separate WordPress installs. Rank Math was on both. The blog’s schema looked clean: valid JSON-LD, right property names, no missing fields.
What was wrong
The Organization and WebSite nodes on the blog took their @id from the blog’s own address, not the main domain. Two installs made two entity declarations, so Google saw one brand as two.
example.com/blog/#organization
example.com/blog/#website
example.com/#organization
example.com/#website
Why nothing flagged it
The schema was valid. It pointed at the wrong entity. No validator reports that, and Search Console does not either.
The fix
SEO plugins build @id from the WordPress Site URL, and for a /blog/ install that URL is correct, so changing it would break the install. The override has to happen after the plugin builds its schema. I wrote a short PHP filter for it, and later built a plugin that does the same job from a setting.
Check your own site
Open your blog’s homepage, view source and search for application/ld+json. Read the Organization @id. If it contains /blog/ or a subdomain, compare it with the main site’s.
How it runs
A site check
You send me your site. I look from the outside and email what Google sees, what is costing you visitors, and what to fix first. I take 1 to 3 sites a week.
You decide
The list is yours to keep. If you want me to do the work, we agree a one-off project or a retainer.
The work
One project at a time, a weekly call, and a summary at the end of what I built, what I measured and what to do next.
Questions
No. It starts with an audit of your site. Whatever is broken there gets fixed first, then the work moves to content, structured data and measurement.
No. The cause is the same in every SEO plugin: they build your brand’s identity from the WordPress Site URL, which is wrong on a /blog/ install or a subdomain. The fix I wrote up used Rank Math’s filter. Other plugins need their own version, which I have not tested.
Not by itself. It helps Google understand which entity and page type you mean, and it can make you eligible for rich results. It does not guarantee either.
It depends on the role I take, how long it runs and the scope. You get a price and a date together after the free check.
WordPress is where I am strongest, so it is where I work fastest. I can work on other platforms, and I will say up front if one is outside what I do well.
Start with the free check
Send me your site and I will tell you what I find.