Skip to Content

Schema Markup in WordPress Without a Plugin

Structured data that Google understands

Schema markup helps Google understand what your content is about. It can give you rich snippets in search results: star ratings, FAQ accordions, recipes with cooking times. More clicks without ranking higher.

JSON-LD: the right format

Google recommends JSON-LD over Microdata or RDFa. It's a JavaScript block in <head> that doesn't touch your HTML structure. Easier to implement, easier to debug.

Implementing without a plugin

In functions.php (or your child theme), hook into wp_head action and output JSON-LD based on page type. Blog posts: Article schema with headline, datePublished, author, image. Homepage: Organization schema with name, logo, contact info. FAQ pages: FAQPage schema with questions and answers.

It's maybe 30 lines of PHP per schema type. Not much code, but it requires you to keep it updated when content changes.

Why not a plugin?

Rank Math and Yoast generate basic schema automatically. That works for the most common cases. But if you need custom schema (for example Product schema without WooCommerce, or Event schema for an events page) manual implementation gives more control.

Validate

Google Rich Results Test (search.google.com/test/rich-results) shows exactly what Google sees. Run it after every change. The Schema.org validator (validator.schema.org) is good for checking syntax.

Schema doesn't give a direct SEO ranking boost. But rich snippets increase click-through rate, and that shows in traffic.

WordPress Hosting 2025: Seven Providers Compared
Managed, budget, and everything in between