In development, not released yet
Review SEO changes like code.
effective records what every page of your Next.js app actually serves (title, robots, canonical, structured data and more) as plain files in your repository. Every change gets a diff, a commit and the source files that caused it.
effective diff HEAD (933bf9e) → working tree 2 critical · 16 warning · 17 info in 11 of 14 pages, 7 change sets ● critical robots follow, index → follow, noindex 1 page · Page became noindex /pricing files: app/pricing/page.tsx, lib/seo.ts - robots: follow, index + robots: follow, noindex ● warning title …| Acme Blog → …— Acme 8 pages · Title changed /blog/changelog-2026, /blog/design-notes, /blog/hello-world (+5) files: lib/seo.ts - title: Changelog 2026 | Acme Blog + title: Changelog 2026 — Acme
How it works
-
1
Snapshot
effective snapshotvisits every route of your running app, using its sitemap and router, and writes what each page serves to.effective/seo. One fact per line. -
2
Commit
Snapshots live in git next to the code that produced them.
git log,git diffandgit blamework on them directly. Git is the database. -
3
Diff
effective diffranks every change as critical, warning or info. One edit to a shared helper shows up once, not once per page, with the files that likely caused it.
.effective/seo/pricing.snap# effective snapshot v1
path: /pricing
status: 200
canonical: https://acme.test/pricing
robots: follow, noindex
title: Pricing | Acme
description: Plans from $0. Compare them.
hreflang:
de https://acme.test/de/pricing
og:
og:title Pricing
content.words: 384
effective blame /pricing8aeb353 2026-11-01 canonical https://acme.test/pricing 0000000 working robots follow, noindex 8aeb353 2026-11-01 title Pricing | Acme 933bf9e 2026-11-04 description Plans from $0. Compare them. a8417da 2026-11-03 hreflang de https://acme.test/de/pricing 8aeb353 2026-11-01 og og:title Pricing
Your agent checks its own SEO
Coding agents change titles, metadata and layouts without noticing what that does to search. effective mcp gives
them the same snapshots and diffs over the Model Context Protocol, with compact, paginated answers.
- 1Edit the code
- 2Call
snapshot - 3Call
seo_diff - 4Fix every critical change before reporting done
list_pagesget_pagesnapshotseo_diffseo_checkseo_logseo_blame
A dashboard that stays on your machine
effective dashboard serves an overview, every page with the commit that last changed each fact, grouped changes,
and a compare view for any two commits. Watch mode re-snapshots only the pages an edit renders, as you save.
Local only
No account, no telemetry, no cloud. effective talks to your app and to git, and nothing else. This website has no analytics or cookies either.