Skip to content
SEOSpot

Platforms · WordPress

WordPress gives you every SEO lever that exists. Most sites use 10% of them and we use the other 90%.

WordPress powers 43% of the web for a reason — it gives you more SEO control than any hosted platform. We use that control: schema saturation, server-level performance, programmatic content, headless architectures, and the plugin discipline most sites lack. Built for content-driven brands, publishers, and B2B sites.

WordPress at a glance

Platform share
~43% of all websites
Plugin ecosystem
60,000+ plugins
Schema flexibility
Unlimited (custom code)
Hosting variance
Massive — affects SEO heavily

The problem

WordPress's flexibility is a double-edged sword.

The platform can do anything, which means most WordPress sites do too much. Plugin bloat tanks performance. Themes ship with broken schema. Hosting choices vary from 'world-class' to 'shared $4/month death spiral.' The sites winning organic on WordPress in 2026 made deliberate choices about every layer: hosting, theme, plugins, schema strategy, and content architecture. Most WordPress sites still run the 2018 playbook of 'install Yoast and write blog posts' — and Google's noticed.

Platform-specific gotchas

The WordPress traps we fix on every engagement

These are the issues we find on most WordPress sites — including ones that previously hired SEO agencies. If your site has these, fixing them is usually the highest-leverage technical work available.

01

Plugin bloat destroying Core Web Vitals

The problem

The average WordPress site runs 20-30 plugins. Each one adds CSS, JavaScript, database queries, and HTTP requests. The cumulative effect on LCP and INP is severe even before any individual plugin is 'bad.'

The fix

Audit plugins quarterly. Set a hard limit (usually 15-20). For each plugin, ask: does this need to run on every page, or can it be conditionally loaded? Many SEO and form plugins ship with global asset loading that can be restricted to specific page types.

functions.php — conditionally dequeue plugin assets on irrelevant pages

add_action('wp_enqueue_scripts', function() {
      // Don't load Contact Form 7 assets on pages without forms
      if (!is_page(['contact', 'free-seo-audit', 'demo'])) {
          wp_dequeue_style('contact-form-7');
          wp_dequeue_script('contact-form-7');
      }
  
      // Only load WooCommerce assets on shop pages
      if (!is_woocommerce() && !is_cart() && !is_checkout()) {
          wp_dequeue_style('woocommerce-general');
          wp_dequeue_script('wc-add-to-cart');
      }
  }, 99);
02

Multiple SEO plugins conflicting

The problem

Installing both Yoast and Rank Math (or All in One SEO alongside either) creates duplicate schema, duplicate meta tags, and conflicting canonical signals. We've seen sites with 3 SEO plugins active.

The fix

Pick one. Rank Math or Yoast for most sites; The SEO Framework for performance-focused builds; SEOPress for sites with privacy concerns. Uninstall the others — fully, not just deactivate, which leaves database rows behind.

03

Theme-injected schema fighting plugin schema

The problem

Many premium themes inject their own schema markup. When you add an SEO plugin that also generates schema, you end up with two competing Article/Product/Organization schemas on the same page. Google's confused about which to trust.

The fix

Use the theme's schema OR the plugin's, not both. Most SEO plugins have a setting to disable theme schema interference. If not, edit the theme to remove its schema output and let the plugin handle it.

04

Hosting performance variance

The problem

Shared hosting at $4-10/month routinely produces 800ms+ Time to First Byte. Cheap managed WordPress hosting often isn't much better. TTFB > 600ms is a confirmed ranking signal and dramatically affects Core Web Vitals.

The fix

Invest in proper managed hosting. WP Engine, Kinsta, Pressable, or Rocket.net for managed; Cloudways for self-managed with better performance. Budget $25-100/month minimum for a business site. For high-traffic sites, $200+/mo. The hosting cost is the cheapest SEO investment you'll make.

05

Heartbeat API and admin-ajax overhead

The problem

WordPress's admin-ajax.php runs frequently in the background, especially when WP Heartbeat is firing. On busy sites this creates server load that slows everything down. Plugins like Elementor and WooCommerce make it worse.

The fix

Limit Heartbeat to where it's needed (admin only, not on the frontend). Use a plugin like Heartbeat Control or add code to functions.php to disable it everywhere except post editing.

functions.php — restrict Heartbeat to post editing only

add_action('init', function() {
      // Disable Heartbeat on the frontend entirely
      if (!is_admin()) {
          wp_deregister_script('heartbeat');
      }
  }, 1);
  
  // Slow it down in admin to reduce server load
  add_filter('heartbeat_settings', function($settings) {
      $settings['interval'] = 60; // every 60 seconds instead of 15
      return $settings;
  });
06

Default permalink structure leaks dates

The problem

Some installs ship with /%year%/%monthnum%/%postname%/ as the default. URL changes when you migrate later trigger redirect chains. Date-based URLs also look outdated on evergreen content.

The fix

Use /%postname%/ as the permalink structure for evergreen sites. For news/publisher sites where dates matter, /%category%/%postname%/ works. Set this once at site setup — changing later requires careful redirect mapping.

07

Image optimization left to chance

The problem

WordPress uploads images at the original size and serves them, often without WebP conversion. A 4MB phone photo becomes a 4MB hero image. LCP collapses.

The fix

Use ShortPixel, Imagify, or Smush for automatic compression and WebP conversion. Set max upload dimensions via add_image_size() or via a plugin. Make sure srcset is generated correctly for responsive images.

WordPress tools we use (and avoid)

Our opinionated WordPress stack

We're skeptical of agencies that recommend whatever's affiliate-friendly. Here's what we actually install on WordPress engagements — and what we tell clients to remove.

Rank Math

We recommend

Comprehensive SEO plugin with schema, meta management, redirects, and analytics.

Freemium ($59/yr Pro)

Our default recommendation for most WordPress sites. Free tier is more capable than Yoast Premium. Schema implementation is excellent — covers Product, Article, FAQ, HowTo, JobPosting, and more without paid upgrades.

Yoast SEO

Use with care

The original WordPress SEO plugin — meta management, sitemap, basic schema.

Freemium ($99/yr Premium)

Reliable and well-supported. Free tier is more limited than Rank Math. Premium is good but the AI features feel rushed. Use Yoast if you're already on it and the team is trained; switch to Rank Math for new builds.

The SEO Framework

We recommend

Lightweight, performance-focused SEO plugin without bloat.

Freemium

Excellent for sites where performance is paramount. Less feature-rich than Rank Math or Yoast but faster and zero ads. Schema support is solid via the free Local extension.

WP Rocket

We recommend

Caching, lazy loading, database optimization, CDN integration.

$59/yr

The best caching plugin on WordPress. Worth the cost for any business site — handles caching, minification, image lazy loading, and DB cleanup in one tool. We install this on almost every WordPress engagement.

Redirection

We recommend

Manage 301 redirects, monitor 404s, log changes.

Free

Free, reliable, no upsells. Critical during migrations and content restructuring. Install on every WordPress site.

Jetpack

We avoid

Bundle of features from Automattic — security, performance, analytics, social.

Freemium

Avoid for SEO sites. Jetpack loads heavy scripts on every page and overlaps with better single-purpose alternatives. The performance cost rarely justifies the convenience.

Schema implementation

Structured data done correctly on WordPress

Schema is one of the highest-leverage technical investments for AI engine citation. Here's how we implement each type on WordPress.

Article

schema.org/Article

Why it matters

Blog post and content article rich results, AI engine citation for editorial content.

How we implement it

Rank Math and Yoast both auto-generate Article schema on posts. Configure author, datePublished, dateModified, and publisher properly in plugin settings. For custom post types, ensure schema is enabled per type.

FAQPage

schema.org/FAQPage

Why it matters

FAQ sections become eligible for FAQ rich results in SERPs.

How we implement it

Use Rank Math's FAQ block in Gutenberg, or insert FAQPage JSON-LD via a custom block. Avoid plugins that add FAQ schema everywhere — FAQ schema only applies on pages with visible FAQ content.

Organization

schema.org/Organization

Why it matters

Brand entity for Knowledge Graph and AI engine citation.

How we implement it

Configure once in Rank Math or Yoast under site-wide schema settings. Include logo, sameAs links, contactPoint, and address. This generates on every page.

BreadcrumbList

schema.org/BreadcrumbList

Why it matters

Breadcrumb display in SERPs and improved site hierarchy understanding.

How we implement it

Both Rank Math and Yoast generate BreadcrumbList automatically if breadcrumbs are visible on the page. For headless WordPress, generate via the REST API response.

Person (author EEAT)

schema.org/Person (author EEAT)

Why it matters

Author entity signals — critical for YMYL content and AI citation.

How we implement it

Rank Math has author schema in Pro. Yoast handles via the Person block. For custom EEAT, build author pages with full Person schema including sameAs links to LinkedIn, Twitter, scholarly profiles, and credentials.

What you get

Deliverables on a WordPress engagement

WordPress technical audit

Theme, plugins, hosting, permalink structure, image optimization, and Core Web Vitals reviewed and prioritized.

Plugin rationalization

Reduce plugin count, eliminate conflicts, configure remaining plugins for performance.

SEO plugin setup + schema saturation

Rank Math or Yoast configured to generate full schema across all post types.

Hosting + performance optimization

Caching layer, image optimization, database cleanup, and CDN configuration done correctly.

Content architecture rebuild

Category and tag taxonomy, internal linking, and topical clusters mapped to ranking goals.

Author EEAT buildout

Author pages, Person schema, sameAs strategy, credential surfacing.

Common questions

About WordPress SEO

Should we use Rank Math or Yoast?

For new builds, Rank Math. Its free tier handles more than Yoast's paid tier and the schema support is broader. For existing Yoast sites with trained teams and existing settings, switching costs are real and Yoast is good enough — don't migrate unless you're already auditing the SEO stack. We don't have a religious preference; we use whichever the client is on if it's configured well.

How do we know if our hosting is hurting SEO?

Three quick checks. First, run PageSpeed Insights and look at Time to First Byte (TTFB) in the diagnostics — over 600ms is a problem, over 1 second is a serious problem. Second, check whether your TTFB is consistent or wildly variable (variance indicates shared hosting under load). Third, look at Largest Contentful Paint — if you're hitting LCP > 2.5s on lightweight pages, hosting is likely a factor. If two of these three are bad, hosting is the bottleneck.

Should we go headless WordPress?

For most sites, no. Headless WordPress (with Next.js or similar consuming the REST/GraphQL API) is excellent for performance-critical or design-heavy sites but adds significant complexity. It makes sense when: you have a dedicated front-end engineering team, you need extreme performance, or you're building an app-like experience on top of WordPress content. For 80% of business sites, classic WordPress with good caching outperforms badly-implemented headless.

Can you work with custom themes and ACF-heavy sites?

Yes — most of our WordPress engagements involve custom themes and Advanced Custom Fields. We work with the existing template structure, improve schema generation in PHP, and optimize how ACF data renders into the DOM. We can also recommend or build custom block patterns in the block editor for content teams to use.

Do you do WordPress migrations?

Yes — both onto WordPress (from Wix, Squarespace, Shopify blogs, or legacy CMS) and between WordPress installations (hosting moves, multisite reorganization). Migrations are high-risk for SEO; we manage redirects, schema preservation, and post-launch monitoring to prevent traffic loss.

Send me your WordPress site. I'll tell you honestly what's broken.

A 45-minute call where I look at your WordPress site live and tell you what I'd prioritize. If we're a fit, we'll talk about working together. If not, I'll point you to who I'd hire instead.

Book a 45-minute call

Free · 45 min · No obligation