Monk SEO

Control Room

Your saved findings

Results persist with dates — scan in the morning, act in the evening. Scanning is free; you spend tokens only when you analyze or draft a specific post.

Findings

Your library

All posts

Optimize any blog for your keywords

Pick a post, add the keywords it should rank for, and get a full human-quality rewrite — copy it, download it, or stage it as a WordPress draft.

Posts on file

PostStageKeywordsRewrite
Audit trail

Recent activity

Resolved posts

last 30 days
PostTargetResolvedByWhen

Recent full-auto runs

scan → analyze → draft
WhenTriggerAnalyzed → draftedSkippedCost
Configuration

Settings

Automation

What runs on a schedule. Full auto creates review-ready [SEO BOT] drafts unattended — it never merges or publishes; a person still applies each draft to the live post.

Scan schedule

Used when Automation = Auto scan only — a free scheduled scan (no analysis/drafts). Fires in the server's timezone.

Scan-schedule timezone change needs a server restart.

Default run behavior

What the "Run scan" button does by default. Drafting is always a separate, per-post action — never automatic.

Every post is scored & saved regardless; this sets the default display.

API & model

Your Anthropic key powers analysis and drafting. It's stored as a secret and never shown again after saving.

Validated on save. Status:
Run halts & alerts at cap.

Scoring weights

How the priority score is composed. Higher = more influence on ranking.

0
0
0
0
0

Striking-distance rule

What qualifies a post as a finding.

Require 2+ corroborating queriesFilters long-tail artifacts

Slack & exclusions

Notification channel, who can drive the bot, and posts to skip.

Status:

Email notifications

Email alerts in parallel to Slack — run summaries, new drafts, and problems that need attention. Each type is toggleable; emails never fire on empty scans or single analyses you ran yourself.

Loading email status…
Comma-separated. Saved with “Save changes” below.
Run completed — manualAfter a scan you start yourself (off by default — you're watching)
Run completed — scheduledAfter an automatic scheduled scan
Drafts createdWhen new [SEO BOT] drafts are waiting for review
Needs attentionCost cap reached, a run failed, or posts errored
Full-auto summaryAlways email after an unattended full-auto run

Sending account — stored as a server secret in .env, saved separately from the toggles above.

Use a verified domain. Plain email or “Name <email>”.
Stored as a secret. Status: . Create one at resend.com → API Keys.
Stored as a secret — never shown again after saving.

Keyword data

Search-volume data the scorer uses (a Semrush export). Refresh it by uploading a new CSV — no server access needed. The agent still works without it (it falls back to its built-in corroboration rule).

Loading keyword data…
Download sample
Replaces the current file (previous backed up as .prev.csv); validated before it's accepted, then loaded with no restart.
Schedule changes apply on save — no restart needed (except timezone).
Done