Skip to content

Releases: ctala/lean-seo

v1.1.0 — Schema mapping by category & post type

15 May 16:08

Choose a tag to compare

Major feature: configure JSON-LD type per category (with tree inheritance) or per post type from Settings → Lean SEO. No more per-post manual selection for hundreds of posts.

Adds 6 reusable schema helpers for CPT plugins (Event, DefinedTerm, JobPosting, PodcastEpisode, VideoObject, Person) callable from the lean_seo_jsonld_graph filter.

Article types extended with OpinionNewsArticle, AnalysisNewsArticle, ReportageNewsArticle, BackgroundNewsArticle, ScholarlyArticle, Report.

See CHANGELOG.md for full details.

v1.0.3 — Breadcrumbs shortcode

15 May 15:16

Choose a tag to compare

Adds [lean_seo_breadcrumbs] shortcode for embedding breadcrumbs in posts, pages, widgets, or Gutenberg shortcode blocks. Supports separator and class attributes.

v1.0.2 — Optional auto-inject breadcrumbs

15 May 15:14

Choose a tag to compare

Adds optional auto-inject of breadcrumbs before post content via the_content filter. Drop-in replacement for SmartCrawl/Yoast breadcrumb injection without theme changes.

Enable: add_filter( 'lean_seo_auto_inject_breadcrumbs', '__return_true' );

Off by default — themes that already call lean_seo_breadcrumbs() remain unchanged.

v1.0.1 — Live length counters in admin

15 May 15:06

Choose a tag to compare

Live char counters with color-coded feedback (green within optimal range / orange suboptimal / red over hard limit) for SEO title and meta description. ~30 LOC inline JS in admin only — frontend remains 100% JS-free.

See CHANGELOG.md for details.

v1.0.0 — Initial release

15 May 14:43

Choose a tag to compare

First public release of Lean SEO — the SEO plugin that does the essentials and nothing else.

Features

  • Per-post SEO meta: title, description, canonical, og_image, og_type, article_type, noindex, nofollow
  • Full REST API exposure (show_in_rest:true + edit_posts cap)
  • Canonical URL handling for singular, paginated, archives, search, 404
  • Document title override via wp_get_document_title filter
  • Open Graph with dynamic og:type (article/website/profile)
  • Twitter Cards auto card type
  • JSON-LD @graph with cross-referenced @ids: Organization + WebSite + Person + Article + BreadcrumbList
  • Breadcrumbs HTML + JSON-LD via public lean_seo_breadcrumbs() function
  • Automatic noindex for thin contexts (search, attachments, ?replytocom=, 404)
  • Advanced robots directives by default (max-snippet:-1, max-image-preview:large, max-video-preview:-1)
  • OG image fallback chain (meta → featured → first content img → filter default)
  • <lastmod> augment to native wp-sitemap.xml
  • Admin meta box (vanilla PHP, zero JS)
  • Conflict notice when Yoast/Rank Math/SmartCrawl/AIOSEO/SEOPress active
  • Clean uninstall

What's intentionally NOT included

  • Redirects → use lean-redirects
  • Keyword auto-linking → use lean-autolinks
  • Content score widget, 404 monitor, sitemap generation, visual social preview editor

Performance

  • ~780 LOC
  • 0 bytes JS on frontend
  • 0 bytes CSS on frontend
  • 0 extra DB queries in wp_head hot path

Installation

  1. Download lean-seo-1.0.0.zip
  2. WordPress admin → Plugins → Add New → Upload Plugin
  3. Activate

Requirements

  • WordPress 6.2+
  • PHP 7.4+

License

GPL v2 or later with attribution clause. See LICENSE.

🤖 Co-authored-by: Claude Opus 4.7