← 返回 Skills 市场
cosmofang

Seo Audit

作者 Cosmos Fang · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
31
总下载
1
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install seo-geo-gate
功能描述
Audit and optimize any website's SEO + GEO (AI/LLM visibility), then fix what's broken. Runs a portable, zero-dependency hard-gate audit over a build output...
使用说明 (SKILL.md)

You audit a website's technical SEO and GEO (Generative Engine Optimization — being found, cited, and recommended by AI assistants), report concrete problems ranked by impact, and apply fixes. This is an actionable harness, not just advice: two zero-dependency Node scripts do the measuring, the reference files tell you exactly what to fix and why.

The rules here are distilled from a production site whose build fails if any gate is violated — that discipline is why it scores high. Treat the gates as hard constraints, not suggestions.

When to use

  • "Check/improve my site's SEO", "raise my PageSpeed/Lighthouse SEO score", "review before launch"
  • "Make my site visible to AI / ChatGPT / Claude / Perplexity", "add llms.txt", "fix robots for AI crawlers"
  • "Add structured data / JSON-LD / schema", "set up sitemap / canonical / Open Graph"

What you have

  • scripts/audit-seo.mjson-disk auditor. Runs the 12 hard-gate checks over a directory of built HTML + its local CSS/JS/images. Framework-agnostic. Node ≥18, no install.
  • scripts/audit-live.mjslive-URL auditor. Checks the things only visible on a deployed origin: robots.txt policy (incl. per-AI-bot allow/deny), sitemap.xml, llms.txt, homepage JSON-LD (@graph-aware), canonical, HSTS / Vary / Cache-Control.
  • references/hard-gates.md — the 12 gates: exact thresholds, the general rule, and the Astro+Cloudflare reference implementation.
  • references/structured-data.md — copy-paste JSON-LD recipes (Organization, WebSite, Breadcrumb, Article, Product, FAQ) using the nested @graph pattern.
  • references/geo-ai-visibility.md — the GEO layer: robots AI-crawler allowlist (exact user-agents), llms.txt format, AI-oriented schema, IndexNow.

Workflow

1. Locate the build output (don't audit source — audit the shipped HTML)

SEO lives in the rendered HTML. Find the build dir: Astro dist/, Next out/ (or .next after next export), Hugo public/, Jekyll _site/, Vite dist/, or a plain folder. If it doesn't exist yet, run the project's build first. Confirm with the user if ambiguous.

2. Run the on-disk audit

node scripts/audit-seo.mjs --dir \x3Cbuild-dir>
# options: --strict (warns→errors, CI mode) · --json · --max-page-kb 500 · --max-img-kb 500

Read the output: = ERROR (genuinely hurts ranking / breaks crawlers / Core Web Vitals — fix these first), = WARN (best-practice miss). The heuristic score is a rough dial, not a Lighthouse number.

3. Run the live audit (if deployed)

node scripts/audit-live.mjs https://www.example.com

This is where GEO shows up: which AI crawlers are allowed/blocked, whether llms.txt exists, what JSON-LD @types the homepage actually ships.

4. Report and fix

  • Group findings by severity; fix ERRORs first, then high-value WARNs.
  • For each fix, open references/ for the exact target value and the reference implementation, then edit the source (templates/layout/config) — not the built HTML (it's regenerated).
  • Re-run the audit to confirm green. For CI, wire audit-seo.mjs --strict into the build so regressions fail the pipeline.

The 12 hard gates (cheat-sheet — full detail in references/hard-gates.md)

  1. Exactly one \x3Ch1> per page.
  2. Viewport meta width=device-width, initial-scale=1.
  3. Semantic landmarks\x3Cmain> + \x3Cnav> + \x3Cfooter> present.
  4. \x3Ctitle> present (≈10–60 chars) + meta description present (≈50–160 chars). Length is a soft warn — longer is a valid deliberate GEO choice.
  5. Canonical — absolute-URL \x3Clink rel="canonical">, host matches the deploy origin (build-time, never runtime).
  6. Open Graphog:title + og:image.
  7. Images — every \x3Cimg> has width+height+alt; non-hero loading="lazy"; hero fetchpriority="high"; each file ≤500 KB (WebP/AVIF).
  8. No inline executable \x3Cscript> (allow only application/ld+json/json/importmap) and no on*= handlers → strict CSP script-src 'self'.
  9. No external resource refs (fonts/img/css/js) — self-host for CSP + speed.
  10. Page weight — HTML + same-page CSS + JS ≤500 KB (images budgeted separately).
  11. Structured data — JSON-LD present; site-wide Organization + WebSite.
  12. URL hygiene — lowercase, trailing slash, ≤3 path depth, one route source of truth.

GEO layer (references/geo-ai-visibility.md): robots.txt explicitly allows the major AI crawlers, ship llms.txt, enrich Organization schema with knowsAbout, ping IndexNow on deploy.

Notes

  • 404/50x pages are exempt from canonical/description/OG/JSON-LD (they're noindex by design) — the auditor already skips them.
  • The auditor uses conservative regex extraction, not a full DOM — it's for audit signals. A clean run is strong evidence, not a formal guarantee.
  • Don't relax a threshold to make the audit pass. Fix the page.

Purpose & Capability

seo-audit is an actionable SEO + GEO auditing harness. Two zero-dependency Node scripts do the measuring; three reference files tell you exactly what to fix and why. It turns the build-time SEO discipline of a production site into a portable, framework-agnostic gate you can run on any site.

Capability Description
On-disk hard-gate audit audit-seo.mjs runs 12 hard gates (h1, viewport, landmarks, title/desc, canonical, OG, images, CSP-safe scripts, no external refs, page weight, JSON-LD, URL hygiene) over any built static dir
Live-URL GEO audit audit-live.mjs checks robots.txt AI-crawler policy, sitemap.xml, llms.txt, homepage JSON-LD (@graph-aware), canonical, HSTS/Vary/Cache-Control
Fix references references/ gives exact thresholds, copy-paste JSON-LD recipes, and the AI-crawler allowlist + llms.txt format
CI integration audit-seo.mjs --strict turns warnings into errors so regressions fail the build

Does NOT:

  • Audit source files — it audits rendered/built HTML (run your build first)
  • Modify your site — it reports; you (or the agent) apply fixes to source templates
  • Replace Lighthouse — its score is a heuristic dial for audit signals, not an official number
  • Send your URL or content anywhere except the live origin you explicitly pass to audit-live.mjs

Instruction Scope

In scope (will handle):

  • "Check / improve my site's SEO", "raise my Lighthouse/PageSpeed SEO score", "review before launch"
  • "Make my site visible to AI / ChatGPT / Claude / Perplexity", "add llms.txt", "fix robots for AI crawlers"
  • "Add structured data / JSON-LD / schema", "set up sitemap / canonical / Open Graph"
  • Running either auditor and reporting findings ranked by severity, then applying fixes via references/

Out of scope (won't handle):

  • Off-page SEO, backlinks, keyword-ranking tracking, or paid-search work
  • Content writing / copywriting beyond meta title & description guidance
  • Auditing a directory that hasn't been built yet (build first, then point the auditor at the output)

Behavior on missing input:

  • audit-seo.mjs with no --dir defaults to dist; if the directory has no HTML it reports zero pages (no crash)
  • audit-live.mjs with no URL prints usage and exits with code 2

Credentials

No credentials required. This skill uses no API keys, tokens, or accounts.

Action Credential Network
audit-seo.mjs --dir \x3Cdir> None None — local filesystem read only
audit-live.mjs \x3Curl> None Outbound HTTPS to the URL you pass (and its robots.txt/sitemap/llms.txt)

No hardcoded secrets exist anywhere in the scripts.

Persistence & Privilege

Writes: nothing by default. Both scripts print reports to stdout; --json still prints to stdout. Output is persisted only where you redirect it (e.g. > report.json).

Does NOT write:

  • No files inside your project, the skill directory, or your home directory
  • No shell-config or credential files
  • No cron jobs or background processes

Privilege: runs as the current user, no sudo or elevated permission. Requires only Node ≥18 (global fetch).

Uninstall: delete the skill directory — there is no other state to clean up.

Install Mechanism

Standard install (clawHub)

clawhub install seo-audit

Manual install

cp -r /path/to/seo-audit ~/.claude/skills/seo-audit/

Verify install

node scripts/audit-seo.mjs --help 2>/dev/null || node scripts/audit-seo.mjs --dir . --json | head
node scripts/audit-live.mjs            # should print usage and exit 2

Both scripts are zero-dependency (Node ≥18). No npm install step is needed.

安全使用建议
Before installing, be aware that the skill can prompt an agent to inspect your built site output, run local audit scripts, fetch the live site URL you provide, and propose or make SEO-related source changes. Review the target directory/site before running it, and approve source edits when they are clear and intended.
能力评估
Purpose & Capability
The stated purpose is SEO/GEO auditing and optimization. The included scripts match that purpose: one scans a chosen build-output directory and one checks a provided live origin for robots.txt, sitemap, llms.txt, JSON-LD, canonical, and headers.
Instruction Scope
The README and SKILL.md use broad SEO-related trigger phrases and say the agent may locate build artifacts, run audits, and apply fixes. That is broad, but it is disclosed and aligned with the skill's purpose, with a confirmation instruction when the build output is ambiguous.
Install Mechanism
Installation is disclosed as ClawHub install or copying the directory into a skills folder. package.json has no dependency install step or lifecycle scripts; the audit scripts are zero-dependency Node scripts.
Credentials
Access is proportionate: local file reads are limited to the build-output directory supplied or discovered for the audit, and network use is outbound HTTPS to the live URL the user provides. No API keys or accounts are required.
Persistence & Privilege
The scripts do not write files by default, create background jobs, store credentials, request elevated privileges, or add persistence. Reports go to stdout unless the user redirects output.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install seo-geo-gate
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /seo-geo-gate 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
seo-geo-gate 1.0.0 initial release - Provides portable, zero-dependency SEO and GEO/AI-visibility auditing over any built static site (Astro, Next, Hugo, Jekyll, plain HTML). - Includes on-disk (`audit-seo.mjs`) and live-URL (`audit-live.mjs`) scripts for hard-gate technical and AI-crawler audits. - Checks 12 core SEO gates: h1, viewport, semantic landmarks, title/description, canonical, Open Graph, images, inline script safety, external refs, page weight, structured data, URL hygiene. - Audits AI/LLM visibility features: robots.txt for AI-bots, llms.txt, JSON-LD, canonical, HSTS, IndexNow. - Reference files deliver exact thresholds and copy-paste fixes for structured data, AI-crawler policy, and GEO layer. - Designed for CI integration—fails builds when SEO gates are violated for enforceable quality.
元数据
Slug seo-geo-gate
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Seo Audit 是什么?

Audit and optimize any website's SEO + GEO (AI/LLM visibility), then fix what's broken. Runs a portable, zero-dependency hard-gate audit over a build output... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 31 次。

如何安装 Seo Audit?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install seo-geo-gate」即可一键安装,无需额外配置。

Seo Audit 是免费的吗?

是的,Seo Audit 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Seo Audit 支持哪些平台?

Seo Audit 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Seo Audit?

由 Cosmos Fang(@cosmofang)开发并维护,当前版本 v1.0.0。

💬 留言讨论