Set Up Automated SEO Monitoring with OpenClaw
Your site dropped from position 3 to position 12 for your main keyword. You didn't notice for nine days. By then, you'd lost hundreds of visitors and several leads. This happens to everyone who monitors SEO manually—which is to say, checks it when they remember to.
An OpenClaw agent can watch your rankings around the clock, run technical audits on a schedule, and message you the moment something goes wrong. This guide shows you how to build one from scratch.
What the Agent Does
A well-configured SEO monitoring agent handles three things:
- Rank tracking — Checks your positions for target keywords daily and alerts on significant changes (±3 positions or more)
- Technical audits — Crawls your site weekly for broken links, missing meta tags, slow pages, redirect chains, and indexing issues
- Competitor monitoring — Watches competitor URLs for the same keywords and reports when they make moves
Prerequisites
- OpenClaw running with
web_fetchandbrowsercapabilities enabled - A Brave Search API key (free tier gives you 2,000 queries/month—enough for daily monitoring of ~60 keywords)
- Optionally: Google Search Console API access for more accurate ranking data
Step 1: Agent Configuration
~/.openclaw/agents/seo-monitor/agent.yamlname: seo-monitor
description: Monitors search rankings and site technical health
model: anthropic/claude-sonnet-4-20250514
schedule:
- cron: "0 7 * * *" # Daily rank check at 7 AM
task: check_rankings
- cron: "0 3 * * 1" # Weekly technical audit, Monday 3 AM
task: technical_audit
capabilities:
- web_search
- web_fetch
- browser
- file_read
- file_write
env:
BRAVE_API_KEY: ${BRAVE_API_KEY}
SITE_URL: https://yoursite.com
NOTIFY_CHANNEL: telegram
Step 2: Define Your Target Keywords
Create a simple config file listing what you want to track:
~/.openclaw/agents/seo-monitor/keywords.yamlsite: https://yoursite.com
keywords:
- term: "your main keyword"
target_page: /
competitors:
- https://competitor1.com
- https://competitor2.com
- term: "long tail keyword phrase"
target_page: /product/
competitors:
- https://competitor1.com/their-page
- term: "another target keyword"
target_page: /blog/relevant-post/
competitors: []
alert_threshold: 3 # Alert if position changes by ±3 or more
notify:
- telegram
- email: [email protected]
Step 3: Build the Rank Checking Skill
The core skill uses Brave Search API to check where your pages rank for each keyword:
~/.openclaw/agents/seo-monitor/skills/check-rankings/SKILL.md# Check Rankings
## Process
1. Load keywords.yaml
2. For each keyword:
a. Search via Brave API: web_search(query=keyword, count=10)
b. Find your site's position in results (or "not in top 10")
c. Compare to yesterday's position from memory
d. If change >= alert_threshold → flag for alert
3. Save today's positions to memory/rankings/YYYY-MM-DD.json
4. If any alerts: send summary via configured channels
5. Generate weekly trend report every Monday
## Output Format
For each keyword, log:
- Position today vs yesterday
- Direction: ↑ ↓ or →
- URL that ranked
- Top 3 competitors in results
Step 4: The Technical Audit Skill
Once a week, the agent crawls your site to catch technical issues before they hurt rankings:
~/.openclaw/agents/seo-monitor/skills/technical-audit/SKILL.md# Technical SEO Audit
## Checks to perform:
1. **Broken links** — Fetch every internal link, flag 404s and 5xx errors
2. **Meta tags** — Ensure every page has unique title + description
3. **Title/description length** — Flag titles > 60 chars, descriptions > 160 chars
4. **Missing H1s** — Every page should have exactly one H1
5. **Image alt text** — Flag images without alt attributes
6. **Page speed** — Note pages that take > 3 seconds to load
7. **Redirect chains** — Flag any chain longer than 1 redirect
8. **Robots.txt** — Verify it exists and isn't blocking important pages
9. **Sitemap** — Verify sitemap.xml is valid and includes all key pages
10. **Mobile viewport** — Ensure viewport meta tag exists
## Crawl approach:
- Start from sitemap.xml
- Follow internal links up to 3 levels deep
- Respect robots.txt
- Max 200 pages per audit (configurable)
## Output:
- Generate a scored report (A-F) with prioritized issues
- Save to memory/audits/YYYY-MM-DD.md
- Send summary to owner with critical issues highlighted
Step 5: Set Up the Reporting
Daily rank checks should produce concise, actionable summaries. Configure your agent's SOUL.md:
~/.openclaw/agents/seo-monitor/SOUL.md# SEO Monitor
You track search engine rankings and site health.
## Reporting Rules
- Daily reports: Only include keywords that changed by ≥2 positions
- If nothing changed: Send a one-line "All stable" message
- Weekly digest: Full position table + trend arrows + competitor movements
- Audit reports: Lead with critical issues, then warnings, then suggestions
- Always include the date and comparison period
- Use tables for ranking data (Telegram supports markdown tables)
## Tone
- Data-driven, concise. No filler.
- Flag problems clearly but don't alarm unnecessarily
- Include specific recommended actions for each issue found
What a Daily Report Looks Like
Here's an example of what you'd receive in Telegram each morning:
📊 SEO Report — Feb 16, 2026
🔴 "openclaw automation" — dropped #4 → #8 (↓4)
Top result: competitor1.com/new-guide (NEW)
⚠️ Competitor published a new guide yesterday
→ Recommend: Update your guide, add fresh content
🟢 "ai agent setup" — rose #7 → #5 (↑2)
🟡 "best automation tools" — stable at #3
All other 12 keywords: stable (±1)
That's the kind of intel that used to require a $99/month SaaS tool and manual checking. Now it runs on your own infrastructure.
Advanced: Google Search Console Integration
For more accurate data, connect to Google Search Console API. This gives you actual impressions, clicks, and average positions—not just estimated positions from search results.
# Add GSC credentials to your agent's env
GSC_CREDENTIALS: /path/to/service-account.json
GSC_PROPERTY: https://yoursite.com
The agent can then pull real performance data and correlate it with its Brave Search position checks for a more complete picture.
Cost Comparison
- Ahrefs/Semrush: $99-199/month for rank tracking + audits
- OpenClaw SEO agent: ~$3-5/month in API costs (Brave Search + model tokens)
- Your time to build it: 2-4 hours (or 5 minutes with a pre-built agent)
The tradeoff is flexibility. A custom agent does exactly what you need, integrates with your existing notification setup, and costs a fraction of commercial tools. You just need to set it up.
Skip the Setup — Get SEO Monitor
SEO Monitor is a pre-built OpenClaw agent with Brave Search + GSC integration, technical auditing, competitor tracking, beautiful Telegram/Discord reports, and weekly trend analysis. Ready to deploy in 5 minutes.
$49
One-time purchase · Unlimited keywords · 30-day money-back guarantee
Get SEO Monitor →