WP Manifestindependent plugin directory
manifest / seo / sitepulse-ai

SitePulse AI

SitePulse AI - WordPress plugin that scores content quality and SEO on-device. No API key or external service required. GPL-2.0-or-later.

by Layered Media LLC · github.com/magnum777/sitepulse-ai · 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/magnum777/sitepulse-ai/archive/refs/heads/master.zip

Readme

SitePulse AI

Score your WordPress content quality and SEO on-device - no API key, no external service, no data leaving your site. Built for agentic co-founders who want an honest health check on the sites their AI agents run.

Status

v0.2.1 — on-device auditor. Scores every post 0-100 on content quality + SEO signals, served directly from the plugin. No backend, no API key, no third-party calls.

What's Here

sitepulse-ai/
├── sitepulse-ai.php          # Main plugin (bootstrap, REST routes, scoring, fix endpoint)
├── admin/
│   ├── dashboard.php         # Dashboard: site health, recent content quality, score-a-post
│   └── settings.php          # Info page (explains on-device scoring)
├── assets/
│   ├── css/admin.css         # Admin styles
│   └── js/admin.js           # Admin JS (wp.apiFetch client)
├── includes/                 # (reserved) shared classes
└── readme.txt                # WP.org readme

REST Endpoints

All under wp-json/sitepulse-ai/v1, require manage_options:

  • GET /health — plugin status + version.
  • POST /score — score one post ({ post_id }).
  • GET /audit?limit=&post_type= — batch audit: average grade, health flags, weak posts.
  • GET /site-health — aggregate site health report.
  • POST /fixPro feature. Backfill meta description + focus keyword for a post. Writes rank_math_* meta server-side (bypasses the REST meta allowlist).

Scoring model (0-100)

Content quality (max 45) + SEO signals (max 55):

  • Word count: 1000+ = 18, 600+ = 14, 400+ = 10, 200+ = 5
  • Featured image: 8 · Headings (4-12): 12 · Links (1-8): 5 · Em-dashes <=3: 2
  • Meta description (110-160 chars): 12 · Title (30-65 chars): 8
  • Focus keyword in title: 6 · in H1: 5 · in first 300 chars: 6 · in slug: 5
  • Exactly one H1: 4 · All images alt-texted: 4 · >=1 internal link: 4

License

GPL-2.0-or-later

Read the full README on GitHub →