WP Manifestindependent plugin directory
manifest / seo / lean-seo

Lean SEO

Ultra-lightweight SEO plugin for WordPress. Canonical, meta, OG, Twitter, JSON-LD @graph, breadcrumbs, sitemap lastmod. Zero JS. No bloat. ~780 LOC.

by Cristian Tala · github.com/ctala/lean-seo · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/ctala/lean-seo/archive/refs/heads/main.zip

The SEO plugin that does the essentials and nothing else.

Canonical, meta description, Open Graph, Twitter Cards, JSON-LD @graph (12 schema types), breadcrumbs, FAQ/HowTo schema, AI crawlers control, llms.txt, llms-full.txt, IndexNow pings, image sitemap, News Sitemap (Google News format), Organization enrichment + editorial trust signals, Person (personal brand), sameAs — automated and REST-accessible. Zero JavaScript on frontend. No bloat. ~3,100 LOC.

Why?

Most SEO plugins (Yoast, Rank Math, SmartCrawl, AIOSEO) load thousands of lines of code, JavaScript, admin analytics, and upsell banners on every page load. Some keep telemetry callbacks active in the frontend. They want to be your "SEO suite" with score widgets, internal linking analyzers, redirects, schema builders, and breadcrumb editors all bundled.

Lean SEO does the essentials and lets specialized plugins do everything else. Pair it with:

Same family, same lean philosophy. Each plugin is independent — switch any of them without losing data from the others.

Plugin LOC (est.) Frontend JS Frontend CSS Telemetry Upsell
Yoast SEO ~50,000+ No No Yes Yes
Rank Math ~30,000+ No No Yes Yes
SmartCrawl Pro ~25,000+ No No Yes Yes
AIOSEO ~40,000+ No No Yes Yes
Slim SEO ~3,000 None None None Some
Lean SEO ~3,100 None None None None

Features

Core SEO (every page)

  • Canonical URL (per-post override + correct handling of paginated/archives/search/404)
  • Meta description with smart fallback (custom → excerpt → trimmed content)
  • Open Graph (og:type dynamic: article/website/profile)
  • Twitter Cards (summary_large_image auto if og:image present)
  • Per-post SEO title override (via wp_get_document_title filter)
  • Per-post noindex / nofollow toggles
  • Automatic noindex for search results, attachment pages, ?replytocom=, 404
  • Advanced robots directives by default (max-snippet:-1, max-image-preview:large, max-video-preview:-1)
  • OG image fallback chain: custom meta → featured → first content <img> → site default

JSON-LD @graph (12 schema types)

All nodes are cross-referenced via @id — one clean `