Skip to main content
Independent community resource — not affiliated with the official OpenClaw project. Learn more
Part 1 of 5 OpenClaw for SEO

SEO Content Audit with OpenClaw

What a content audit finds and why it matters

A content audit is a systematic check of every page on your site against a set of SEO and quality criteria. Done manually, it means opening a spreadsheet, loading every URL one by one, and recording what's missing. For a site with 50 pages that takes a few hours. For a site with 200 pages it takes most of a day — and it goes stale the moment you publish new content.

OpenClaw automates this entirely. You configure it once, it crawls your site on a schedule, and it sends you a report of every issue it finds — prioritised by severity, with the URL and the specific problem. You only have to look at the list and decide what to fix first.

Who this is for: Site owners, content managers, and SEO practitioners who publish regularly and want a continuous quality check without manually auditing pages every month. Works best for sites with 20–400 pages.

What OpenClaw checks for

These are the issues OpenClaw can detect when auditing a site's content:

Critical

Missing <title> tag

Page has no title element — Google will auto-generate one, usually badly.

Critical

Missing H1

No H1 heading on the page. Google uses this as a primary relevance signal.

Critical

Duplicate title tags

Two or more pages share the same title — causes keyword cannibalisation.

Warning

Missing meta description

No meta description tag — Google will pull arbitrary text from the page as a snippet.

Warning

Thin content

Pages with fewer than ~300 words — may be evaluated as low-value by Google.

Warning

Title too long / too short

Title exceeds ~60 characters (truncated in SERPs) or is under 20 characters.

Warning

Images missing alt text

img elements with no alt attribute — invisible to screen readers and image search.

Info

Multiple H1 tags

More than one H1 on a page — not technically wrong, but often a template error worth reviewing.

Info

Missing canonical tag

No canonical link element — increases risk of duplicate content being indexed.

Info

Heading hierarchy skipped

H1 → H3 with no H2 in between — makes structure harder for screen readers and crawlers.

Two approaches: direct crawl vs. CSV processing

How you use OpenClaw for auditing depends on the size of your site.

Direct crawl (sites up to ~400 pages): OpenClaw fetches each URL from your sitemap.xml, parses the HTML, runs its checks, and compiles the report. It's fully automated and requires no other tools. The crawl runs on a schedule you define — weekly or monthly.

CSV processing (sites 400+ pages): You run a crawl using Screaming Frog (free up to 500 URLs, paid beyond that) or Sitebulb, export the data as a CSV, and point OpenClaw at the file. OpenClaw analyses the export, identifies patterns and priorities, and generates the report. This approach handles any site size and gives you richer data than HTTP-only parsing.

JavaScript-rendered sites: If your site uses a React, Vue, or Angular framework and renders content client-side, OpenClaw's direct crawl will only see the raw HTML shell — not the final rendered content. For these sites, use the CSV approach with a JS-rendering crawler, or use the Google Search Console API to cross-reference what Google actually sees.

Step-by-step setup

Method 1: Direct sitemap crawl

  1. Add the audit task to AGENTS.md Create an agent called seo-auditor in your AGENTS.md file. This defines what the agent knows about your site and what it should check.
  2. Define your site's sitemap URL The agent will use this to get the full list of pages. Most sites have it at yourdomain.com/sitemap.xml.
  3. Set the output channel Tell the agent where to send the report — a Slack channel, a WhatsApp message, or a saved Markdown file.
  4. Add a HEARTBEAT.md entry to schedule it Set the cadence — weekly for a lightweight check, monthly for a deep audit.
  5. Test with a single URL first Ask OpenClaw in chat: "Audit the SEO of https://yoursite.com/example-page" and confirm the output format before scheduling.

Here's the AGENTS.md entry:

## seo-auditor

You are the SEO auditor agent for [site name].

Your site's sitemap is at: https://yourdomain.com/sitemap.xml

When asked to run a content audit:
1. Fetch the sitemap and extract all page URLs.
2. For each URL, fetch the page HTML and check for:
   - Missing or empty <title> tag
   - Title length (flag if under 20 or over 60 characters)
   - Duplicate title tags across pages
   - Missing meta description
   - Missing or multiple H1 tags
   - Images with no alt attribute
   - Missing canonical link element
   - Word count below 300 (use visible text only)
   - Heading hierarchy issues (H1 to H3 skipping H2)
3. Categorise issues as Critical, Warning, or Info.
4. Output a prioritised report: Critical issues first,
   then Warnings, then Info. Include the URL and
   the specific problem for each entry.
5. End with a summary: total pages checked, total
   issues found, breakdown by severity.

Method 2: Screaming Frog CSV processing

After exporting your crawl from Screaming Frog (File → Export → CSV), point OpenClaw at the file:

## seo-auditor (CSV mode)

When given a Screaming Frog CSV export file:
1. Parse the CSV. Key columns to use:
   - Address (URL)
   - Title 1 (page title)
   - Title 1 Length
   - Meta Description 1
   - Meta Description 1 Length
   - H1-1 (first H1)
   - H1-1 Length
   - Word Count
   - Canonical Link Element 1
   - Images Missing Alt Text
   - Status Code (flag anything not 200)
2. Identify all critical issues (missing title,
   missing H1, status 404/500).
3. Identify all warnings (missing meta description,
   title too long/short, thin content under 300 words).
4. Flag any duplicate titles or meta descriptions.
5. Sort output by severity. Include URL and issue.
6. Summarise: total URLs, total issues by type.

HEARTBEAT.md templates

These go directly into your HEARTBEAT.md file. Copy the one that matches your preference.

Weekly lightweight check (new issues only)

## Weekly SEO Spot-Check — Every Monday 08:00

Run a quick SEO check on [yourdomain.com]:
- Fetch sitemap and check for any new pages published
  since last Monday.
- For each new page, check: title present, meta
  description present, H1 present, canonical present.
- Only report pages with at least one missing element.
- Send results to #seo-alerts on Slack.
- If no issues found, send: "SEO check complete —
  no issues on new pages this week."

Monthly full audit

## Monthly Full SEO Audit — 1st of each month, 07:00

Run a full content audit of [yourdomain.com]:
- Use seo-auditor agent instructions.
- Fetch all URLs from sitemap.xml.
- Check each page for all critical, warning,
  and info-level issues.
- Generate a complete prioritised report.
- Send the full report to [your email or Slack channel].
- Save a copy to ~/openclaw/reports/seo-audit-[date].md

What the audit report looks like

Here's an example of the report format OpenClaw generates:

📋 SEO Content Audit — yourdomain.com — 1 March 2026
Pages checked: 87  |  Issues found: 14  |  Critical: 3  |  Warnings: 8  |  Info: 3

── CRITICAL (3) ──
/services/consulting/ → Missing <title> tag
/blog/old-post-2023/ → Missing H1 heading
/about/ and /team/ → Duplicate title: "About Us | Company"

── WARNINGS (8) ──
/products/widget-a/ → No meta description
/products/widget-b/ → No meta description
/case-studies/alpha/ → Title too long (74 chars) — will truncate in SERPs
/landing/spring-sale/ → Thin content — 187 words (min. recommended: 300)
+ 4 more on /blog/* pages — images missing alt text

── INFO (3) ──
/resources/guide/ → No canonical link element
/faq/ → H1 → H3 heading skip (no H2 present)
/contact/ → Multiple H1 tags (2 found)
Tip: Ask OpenClaw in chat to "generate improved meta descriptions for all pages flagged as missing one in the last audit" — it will draft suggestions based on the page title and heading content, ready for you to review and publish.

Limitations and edge cases

Being clear about what this setup can't do is as important as knowing what it can.

JavaScript-rendered content: OpenClaw fetches raw HTML. If your title or H1 is injected by JavaScript after the page loads, OpenClaw will report it as missing even if users see it. Check by viewing your page source (Ctrl+U) — if your title tag is in the source, you're fine.

Pages behind a login: OpenClaw cannot access pages that require authentication. It only sees what an anonymous visitor (or Googlebot) sees.

Large sites: A crawl of 400 pages takes a few minutes. A crawl of 1,000+ pages may hit rate limits on some hosts or take long enough to make direct crawling impractical. For large sites, use the CSV workflow.

Content quality beyond word count: OpenClaw can flag thin content by word count, but it cannot assess whether content is genuinely useful, accurate, or well-written. Thin content detection is a starting point, not a substitute for a human quality review.

Internal link analysis: Basic internal link presence can be checked, but finding orphaned pages (pages with no internal links pointing to them) requires a more sophisticated crawl graph. Screaming Frog's "Inlinks" report handles this better.

Frequently asked questions

How many pages can OpenClaw audit on its own?

OpenClaw works well for sites up to 300–400 pages when crawling directly. Beyond that, use the Screaming Frog CSV workflow — you get full crawl coverage without rate-limiting concerns and richer data from the dedicated crawler.

Can OpenClaw detect duplicate content?

It can detect duplicate page titles and meta descriptions across your site — the most technically harmful types of duplication. Full body-text similarity analysis requires dedicated tools, but title and meta duplication is what most SEO tools flag first anyway.

Will OpenClaw check image alt text?

Yes. When crawling pages, it parses all img elements and flags those missing alt attributes. It can also generate suggested alt text for images where a filename or surrounding context is available.

How often should I run a content audit?

For most sites, a monthly full audit plus a weekly lightweight check on new pages is the right cadence. The HEARTBEAT.md templates above set this up for you automatically.