WordPress SEO Services for 2027 From a WordPress Developer
seo inside wp-admin, not around itWelcome, my friend. My WordPress SEO services for 2027 come from someone who also builds WordPress sites for a living. So when the audit says the theme is heavy or a plugin blocks Google, I open the dashboard and fix it myself. €25 an hour, or a monthly plan from €475.
- SEO and development, one person
- fixes made, not just listed
- no ranking promises
- What loads on each page. Theme, page builder, plugins, fonts. Most slow sites carry luggage they never use.
- What Google is allowed to index. Permalinks, the sitemap, and all those tag and date archives.
- What is out of date. Old plugins are a security risk first and an SEO risk right after.
| setting | where | state |
|---|---|---|
| search engine visibility off | Settings, Reading | done |
| permalinks set to post name | Settings, Permalinks | done |
| XML sitemap switched on | SEO plugin | done |
| tag archives set to noindex | SEO plugin | done |
| 3 plugins out of date | Plugins | open |
| unused page builder scripts | Appearance | open |
// example data. It mimics a WordPress settings checklist and is not a screenshot of a real site.
The Fixes I Make Inside WordPress Itself
Because I write WordPress code, many SEO fixes are a few lines in the right place instead of another plugin.
- Remove plugins you do not use
- Clean permalinks, one URL per page
- Noindex thin archives and tag pages
- Cache plus image sizes tuned for LCP
- Updates tested, not blind
// snippets are illustrations of the kind of change I make. I test on your own site first.
Housekeeping I Do From the Command Line
Bloat hides in the database and in plugins. These are the commands I reach for.
wp transient delete --expired
wp rewrite flush
wp post list --post_status=draft --fields=ID,post_title
SELECT COUNT(*) FROM wp_options WHERE autoload = 'yes';
define('WP_POST_REVISIONS', 5);
// run on a backup or staging copy first. Database queries on a live site get a backup first.
What My WordPress SEO Services Actually Cover
WordPress SEO services mean doing search engine optimization inside the WordPress dashboard and its code, where the real causes live. I cover seven areas, in a fixed order, and each one gets its own section below.
Admin Login
plus Search Console access
Bloat
theme, builder, plugins
Permalinks
URLs and structure
Yoast
settings that fit the site
Speed
caching, Core Web Vitals
Images
size, format, loading
Archives
what gets indexed
This page covers the WordPress-specific work. The keyword research, the content and the guest post links are part of every plan as well, and I explain those on the on-page SEO and off-page SEO pages. If you came for the short version of who I am, the homepage about my cheap SEO services has it.
Why WordPress Sites Underperform in Google
WordPress itself is rarely the problem. The trouble is what gets stacked on top of it over the years, and the default settings nobody went back to check.
The Site I Typically Open
- A multipurpose theme with a demo import, of which the site uses a tenth
- Thirty plugins, including three that do the same job and two nobody remembers installing
- Tag, date and author archives all open to Google, each one a thin copy of the blog
- A full-size photo from a phone, lazy-loaded, as the first thing on the homepage
The Site After My Work
- Only the code each page needs, measured before and after
- One plugin per job, each with a reason to be there
- A short list of archive types that deserve to be indexed
- Images sized for the layout, with the main one loaded early
// the left column is my opinion of the typical case after years of WordPress work. It is not a survey.
How I Do the Theme and Plugin Bloat Cleanup
I measure what every page loads, find out which theme feature or plugin sends each file, and remove whatever the page doesn't use. Bloat simply means code and files that travel to the visitor without doing anything for them.
WordPress.org says it plainly in its own optimization guide: "Deactivate and delete any unnecessary plugins." The same guide notes that a fast, lightweight theme performs much better than a heavy one. I agree with both, and then I do the boring part, which is checking plugin by plugin.
What Counts as Bloat
The number of plugins matters less than what each one loads. For example, a contact form plugin often adds its scripts to every page, although the form lives on one. A slider plugin does the same for a slider you removed last year. So I look at the files, not at the plugin count.
what_i_do
- List every script, style and font per template
- Trace each file to its theme or plugin
- Remove, replace or load it only where needed
- Test forms, checkout and menus afterwards
what_you_get
- A plugin list with keep, replace or remove
- Page weight before and after
- A site that still looks the same
// example data: a bakery site in Leeds. It shows how I report bloat, not a client result. Your numbers will differ.
How I Do Permalinks and Site Structure
I set one clean URL pattern for the whole site and, if a live site has to change, I redirect every old address to its new one. A permalink is the permanent web address of a single post or page.
WordPress offers six permalink settings: Plain, Day and name, Month and name, Numeric, Post name and Custom Structure. The Plain one looks like example.com/?p=123. The WordPress documentation calls it "not user-friendly and also not optimized for search engines", and yet a fresh install starts with it.
New Site or Old Site?
On a new site I pick Post name, or a custom structure when the site needs sections. On an old site I'm careful. The same documentation reminds us that these URLs "should never be changed", hence the name. However, sometimes the old pattern really is in the way, for example dated URLs on pages that aren't news.
Then I change it once and map old to new with 301 redirects, which are permanent forwarding rules. Google lists redirects as a strong signal for which URL should be the main one.
what_i_do
- Choose the pattern that fits the content
- Build the redirect map before any change
- Update menus and internal links
- Resubmit the sitemap in Search Console
what_you_get
- Short, readable URLs
- A redirect sheet: old address, new address
- No pile of 404 errors after launch
| setting | example | verdict | when |
|---|---|---|---|
| Plain | /?p=123 | avoid | never |
| Day and name | /2026/11/11/sample-post/ | rare | daily news |
| Numeric | /archives/123 | avoid | says nothing |
| Post name | /sample-post/ | good | most sites |
| Custom | /blog/sample-post/ | good | sites with sections |
// the options come from the WordPress.org permalink documentation. The verdict column is my opinion.
How I Do the Yoast SEO Setup
I configure Yoast SEO so it describes your site correctly to search engines, and then I switch off the parts you don't need. Yoast SEO is a plugin that manages titles, descriptions, the XML sitemap and the structured data of a WordPress site.
The Settings I Always Review
First, the site basics: your name, your logo and whether the site represents an organization. Yoast uses these for the structured data it generates automatically. Next, the title templates for posts, pages and archives. Then the content types and taxonomies, where each one has a switch for showing it in search results.
That switch matters. According to Yoast, anything you set to not appear in search results "will be noindexed and kept from the XML sitemap". One click can hide a whole section of your site, which is handy when you mean it and painful when you don't.
Free or Premium?
For most small sites the free plugin is enough, in my opinion. Yoast SEO Premium costs $118.80 a year excluding VAT (vendor-stated, checked 11 Nov 2026). Its most useful extra is the redirect manager, which prompts you to set a redirect when you move or delete a page. If you delete or rename pages often, it pays for itself.
One more thing. A green light in Yoast means you ticked its checklist. It is not a ranking, and Google has never seen your traffic light. I use the lights as a reminder, not as a goal.
what_i_do
- Site representation and logo
- Title and description templates
- Search appearance per content type
- One sitemap, submitted to Search Console
what_you_get
- A settings sheet you can read
- Titles written for the key pages
- No accidental noindex on money pages
Organization, name and logo filled in, so the structured data is right
Shown in search, with a title template that fits in the result
Shown, when each one has real posts and its own intro text
Usually not shown, unless you use them with care
One index, checked for pages that should not be in it
Title and description written by hand, not left to a template
// example setup for a small business site. The right choices depend on your content, so I decide per site.
How I Do Caching and Core Web Vitals on WordPress
I make the server answer faster with caching, then fix what still slows the page in the browser. Caching means saving a finished copy of a page, so WordPress doesn't rebuild it from the database for every visitor.
Core Web Vitals are Google's three measurements of how a page feels to a real visitor. The "good" marks, from web.dev, are these: the main content shows within 2.5 seconds (LCP), the page reacts to a tap within 200 milliseconds (INP), and the layout shift score stays at 0.1 or less (CLS). Google suggests judging them at the 75th percentile of page loads, split by mobile and desktop.
The Server Side
A page cache comes first. WordPress.org describes it this way: caching plugins "will cache your WordPress posts and pages as static files". For busy sites and shops I add a persistent object cache, which saves repeated trips to the database. Then I check the time to first byte, the wait before the server starts answering. web.dev puts a good value at 0.8 seconds or less. It isn't a Core Web Vital itself, but a slow start makes every other number worse.
The Browser Side
Here the usual suspects on WordPress are render-blocking styles from the theme, scripts from plugins, and web fonts. So I delay what can wait, drop what isn't needed, and reserve space for images and ads to stop the page jumping.
A word of honesty. Google confirms that Core Web Vitals are used by its ranking systems. It also says that good results don't guarantee a top position, because relevance still comes first. So speed work removes a handicap. It doesn't replace good pages.
what_i_do
- Page cache with the right exclusions
- Object cache where the host supports it
- Defer or remove blocking scripts
- Fix layout shift at its source
what_you_get
- Field data before and after
- The cache settings written down
- Carts and logins that still work
// example data: a physiotherapy clinic site in Vancouver. The thresholds in brackets are from web.dev; the before and after values only show the report format.
How I Do Image Handling in WordPress
I make sure every image is uploaded at a sensible size, served in the size the layout needs, and loaded at the right moment. Images are usually the heaviest part of a WordPress page, so this is where a few hours of work show the most.
What WordPress Already Does for You
WordPress helps more than people think. Since version 5.3 it scales down any upload wider or taller than 2,560 pixels and keeps the original file in the uploads folder. Since version 5.5 it adds loading="lazy" to image tags that have both a width and a height. Lazy loading means the browser waits to fetch an image until the visitor scrolls near it.
Where It Goes Wrong
Lazy loading is great for images far down the page. It is bad for the big image at the top, because that image is often the LCP element, the one Google times. A web.dev study of real pages found that the median page without lazy loading had an LCP of 2,922 milliseconds at the 75th percentile, against 3,546 milliseconds with it. The authors stress that this is a correlation. Their explanation was that images inside the first screen were being lazy-loaded too.
So on your site I check which element is the LCP on each template. If it's a lazy-loaded image, I change the template so that one image loads eagerly. I also check that width and height are present in the markup, because missing dimensions make the page jump while it loads.
what_i_do
- Find the LCP element per template
- Stop lazy loading above the fold
- Regenerate sizes the theme really uses
- Compress and convert the old library
what_you_get
- Lighter pages with the same pictures
- Alt text on the images that matter
- A one-page upload routine
From a 4.8 MB phone photo to a file sized for the layout
width and height in the tag, so nothing jumps
The top image loads eagerly; the rest stay lazy
Smaller versions offered to phones
"Sourdough loaves on the counter of the bakery"
sourdough-loaves.jpg, not IMG_4471.jpg
// example image for a bakery homepage. The 2,560 pixel and lazy-loading rules come from the WordPress core notes listed under Sources.
How I Do Category and Tag Archive Indexing
I decide, archive type by archive type, which listing pages deserve a place in Google and which should stay out. An archive is a page WordPress builds automatically to list posts by category, tag, author or date.
Here's the catch. Every tag you ever typed creates its own page. A blog with 60 posts and 200 tags has more archive pages than articles, and most of them list one or two posts. Those pages add nothing for a searcher, and Google has to crawl them anyway.
My Rule of Thumb
Categories usually stay indexed, because a well-kept category is a useful topic page. I often add a short introduction to each one, so it's more than a list. Tags usually go to noindex, unless you use a small, tidy set. Date archives almost always go. Author archives go too on a one-author site, since they copy the blog page.
Yoast makes the switch easy. Under Settings, then Categories & Tags, each taxonomy has its own option, and Yoast itself says showing taxonomies is "usually a good idea" because they can bring visitors. I agree for categories. For 200 tags with one post each, I don't.
what_i_do
- Count posts per category and tag
- Merge or delete near-empty terms
- Set index or noindex per archive type
- Redirect deleted terms that had traffic
what_you_get
- Fewer, stronger listing pages
- A clean sitemap
- Simple tagging rules for new posts
| archive | pages | decision | reason |
|---|---|---|---|
| categories | 8 | index | real topics, intro text |
| tags | 212 | noindex | most list one post |
| date archives | 41 | off | nobody searches by month |
| author archive | 1 | off | same as the blog page |
| search results | many | noindex | endless combinations |
// example data. The decisions are my usual starting point, and I adjust them to how you really use categories and tags.
How I Handle Security and Updates for SEO
I keep WordPress, its plugins and its theme up to date on a schedule, with a backup before every round. This is SEO work because a hacked site can lose its search visibility quickly.
Google's spam policies define hacked content as any content placed on a site without permission, due to vulnerabilities in the site's security.
What the WordPress Documentation Asks For
The WordPress hardening guide is direct about it. It says you should always keep up to date with the latest version of WordPress and make sure your plugins are always updated. It also warns against plugins and themes from untrusted sources, which includes "free" copies of paid products. Automatic background updates have been available since version 3.7, and the guide recommends using them.
How I Run Updates
First a full backup of files and database. Then the updates, tested on staging when the site takes orders or bookings. Afterwards I load the key pages and submit a test form. Abandoned plugins, the ones their authors stopped maintaining, get replaced.
I also watch the Security issues report in your Search Console, where Google lists problems it has detected. If your site is already hacked or has lost rankings without a clear cause, my Google penalty recovery service page explains that work.
what_i_do
- Backup, then core, plugin and theme updates
- Replace abandoned plugins
- Remove unused admin accounts
- Check Search Console for security issues
what_you_get
- An update log every month
- A tested, restorable backup
- Early warning when something looks wrong
| item | action | status |
|---|---|---|
| full backup | files and database | stored |
| WordPress core | minor release | updated |
| 14 plugins | tested on staging first | updated |
| old gallery plugin | no updates from its author | replaced |
| 2 old admin users | former staff | removed |
// example data, to show the format of the monthly log. No security work can promise that a site will never be attacked.
How Long WordPress SEO Takes, Step by Step
The technical WordPress fixes take weeks. The rankings that follow take months, and nobody controls that part. Here is the usual order of the first three months.
week 1
Access, Backup and Audit
You create an admin account for me and add me to Search Console. I take a backup, crawl the site and write the fix list.
weeks 2 to 3
Bloat, Caching and Images
The heavy lifting on staging first, then live. You'll notice the site feels quicker before any tool confirms it.
week 4
Yoast, Archives and Permalinks
Settings reviewed, thin archives closed, redirects mapped if URLs change. Then the first report.
months 2 to 3
Pages, Content and Links
With the base repaired, the work moves to keywords, page rewrites and guest post links. Updates continue every month.
// a work schedule for a typical small site on the Starter or Growth plan. It is my planning, not a promise of rankings.
Common WordPress SEO Mistakes and Their Fixes
Most WordPress SEO problems are settings somebody forgot, not mysteries. These are the ones I meet again and again, with the fix for each.
| The mistake | The fix | |
|---|---|---|
| Visibility box | "Discourage search engines" left ticked after launch, under Settings, Reading | Untick it, then check the homepage in Search Console |
| Two SEO plugins | Two plugins both writing titles and sitemaps | Keep one, move the settings over, delete the other |
| URL change | Permalinks changed on a live site without redirects | A redirect for every old address, checked one by one |
| Tag habit | Five new tags on every post | A short fixed tag list, or no tags at all |
// the list reflects my own experience with small business sites. The fix column is what I do in each case.
Search Console
Open the Page indexing report. It shows which URLs Google stores and why it skips the others. Fewer junk URLs there means the archive work landed.
Core Web Vitals Report
Also in Search Console. It groups your URLs into good, needs improvement and poor, based on real visitors. Give it a few weeks after a fix.
Your Own Phone
Open the site on mobile data, not on office Wi-Fi. If the top of the page appears fast and nothing jumps, we're on the right track.
Want only the diagnosis? Then my SEO audit service gives you the fix list alone. For the wider picture beyond WordPress settings, see technical SEO.
What WordPress SEO Services Cost: Three Plans, One Rate
My WordPress SEO services cost €25 an hour, or €475, €875 or €1,275 a month on a plan. The WordPress development work is included in the same hours, so there's no separate developer bill.
Starter
For a small WordPress site with a blog and a handful of service pages.
€475/month
- On-page, technical, local and off-page
- 1 to 2 guest post links a month
- Links from blogs with real traffic
- Updates, backups and a monthly report
Growth
For a site with a page builder, many plugins and real competition.
€875/month
- On-page, technical, local and off-page
- 2 to 3 guest post links a month
- Links from blogs with real traffic
- More templates and pages repaired each month
Full Campaign
For a large blog, a membership site or a WooCommerce store.
€1,275/month
- On-page, technical, local and off-page
- 5 or more guest post links a month
- Links from blogs with real traffic
- The most development hours of the three
Set Your Own Budget
Maybe you only need the cleanup and the Yoast setup. Slide to what you can spend a month, and I'll tell you which WordPress fixes fit into those hours.
// a one-off job, such as a speed cleanup or a permalink change with redirects, is billed by the hour. I tell you the hours before I start. Need a new site instead of a repair? See WordPress web design services.
WordPress SEO Questions I Get Every Week
Straight answers to what site owners ask before they hire someone for WordPress SEO services.
What do your WordPress SEO services include?
They include the WordPress-specific repairs plus the normal SEO campaign. The repairs are theme and plugin cleanup, permalinks, Yoast setup, caching, image handling, archive indexing, and security updates. The campaign adds keyword research, page rewrites, local SEO and guest post links, as in every plan.
How much do WordPress SEO services cost?
My rate is €25 an hour, and the monthly plans are €475, €875 and €1,275. The development work on your theme and plugins is billed at the same rate and counts inside the plan hours. You can also set your own monthly budget.
Do I need Yoast SEO Premium?
Usually not. In my opinion the free plugin covers what a small site needs. Premium costs $118.80 a year excluding VAT (vendor-stated, checked 11 Nov 2026), and its redirect manager is worth it when you often move or delete pages.
Should I noindex my category and tag pages?
Keep useful categories indexed, and noindex tags unless you manage them carefully. A category with real posts and a short intro is a good topic page. Hundreds of tags with one post each are thin pages that add nothing, so I usually switch those off in Yoast.
Will changing my permalinks hurt my rankings?
It can, if you change them without redirects. Every old address then returns an error and its history is lost. With a 301 redirect from each old URL to the new one the risk is much smaller, though rankings may still move for a while. I only change permalinks when the old pattern causes a real problem.
Is my page builder bad for SEO?
Not by definition. A page builder can produce a fast, well-structured page or a very heavy one, depending on how it was used. So I measure what your pages load and fix the heavy parts. I only suggest a rebuild when repairing would cost you more than starting clean.
How long does WordPress SEO take to show results?
The technical fixes take about a month on a small site, and rankings follow over the next months. That timing is my experience, not a promise. Google decides when it recrawls pages, and its Core Web Vitals data is collected from real visits over several weeks.
Do you also work on WooCommerce stores?
Yes. WooCommerce runs on WordPress, so everything on this page applies, plus the shop-specific work on category pages, product pages and filters. I describe that on my ecommerce SEO services page.
Send Me Your WordPress Site. I'll Tell You What Slows It Down.
One WhatsApp message with your URL is enough. I'll look at the theme, the plugins and what Google has indexed, and reply with the first three things I'd fix.
// prefer email? [email protected] works too. Take care, my friend.
Sources and Last Check
- Google Search Central: Understanding page experience in Google Search results
- Google Search Central: How to specify a canonical URL
- Google Search Central: Spam policies for Google web search
- Search Console Help: Core Web Vitals report
- Search Console Help: Security issues report
- WordPress.org: Settings Reading screen
- Yoast: Configuration guide for Yoast SEO
- web.dev: Web Vitals
- web.dev: Time to First Byte
- web.dev: The performance effects of too much lazy loading
- WordPress.org: Customize permalinks
- WordPress.org: Optimization
- WordPress.org: Hardening WordPress
- Make WordPress Core: Lazy-loading images in 5.5
- Make WordPress Core: Handling of big images in WordPress 5.3
- Yoast: Yoast SEO settings, Categories and tags
- Yoast: What pages to show in Google's search results
- Yoast: Yoast SEO Premium product page
// last checked 11 Nov 2026. Prices and plan contents are my own. Example data is labeled as such, and opinions are marked as opinions.