DEV Community

Nicholas Ashkar
Nicholas Ashkar

Posted on

I Built a Free WordPress Plugin That Automatically Generates Schema Markup - Now Live on WordPress.org

Hey DEV community!

Wanted to share something I've been working on. I built Cirv Box, a free WordPress plugin that auto-generates Schema.org structured data (JSON-LD) for your site.

The Problem I Solved

I was frustrated that:

  • Most schema plugins are bloated with features I don't need
  • The good ones cost $67-199/year
  • Manual schema is tedious and error-prone
  • Non-technical site owners have no idea how to implement it

What It Does

Cirv Box automatically adds schema markup to:

  • Blog posts → Article schema
  • WooCommerce products → Product schema with prices, reviews, stock status
  • FAQ pages → FAQ schema (detects Q&A patterns automatically)
  • Tutorial content → HowTo schema with step detection
  • Business info → Organization schema on homepage
  • Navigation → Breadcrumb schema for all pages

Everything runs automatically. No coding required. Just toggle on what you need.

Tech Stack

  • Pure PHP (WordPress requirements)
  • Zero external dependencies
  • JSON-LD output (Google's preferred format)
  • 24-hour transient caching for performance
  • Multisite compatible
  • ~2,400 lines of code

What I Learned Building This

  1. WordPress.org review is brutal - Took 6 rounds of compliance fixes (escaping, sanitization, prefix requirements)
  2. Schema validation is tricky - Empty fields break Google's validator, had to add conditional logic everywhere
  3. The 90/10 rule is real - 90% of the work was edge cases and polish

Results

The plugin is now live on WordPress.org:

👉 wordpress.org/plugins/cirv-box

What's Next

Planning to add:

  • Local Business schema (for physical locations)
  • Video schema (for embedded content)
  • Event schema (for webinars/events)

Would love feedback from anyone running WordPress sites. What schema types would be most useful to add next?


If you're interested in SEO and structured data, feel free to ask questions in the comments!

Top comments (0)