Releases: ctala/lean-seo
v1.1.0 — Schema mapping by category & post type
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
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
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
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
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_postscap) - Canonical URL handling for singular, paginated, archives, search, 404
- Document title override via
wp_get_document_titlefilter - Open Graph with dynamic
og:type(article/website/profile) - Twitter Cards auto card type
- JSON-LD
@graphwith cross-referenced@ids: Organization + WebSite + Person + Article + BreadcrumbList - Breadcrumbs HTML + JSON-LD via public
lean_seo_breadcrumbs()function - Automatic
noindexfor 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 nativewp-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_headhot path
Installation
- Download
lean-seo-1.0.0.zip - WordPress admin → Plugins → Add New → Upload Plugin
- 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