seo-crawl-render
@hainrixz · 收录于 1 周前
Fetch a page (or local files) and build the shared PageSnapshot every audit module reads — raw HTML, rendered DOM when a render MCP is available, response headers, status/redirect chain, and site artifacts (robots.txt, sitemaps, llms.txt). Decides whether JavaScript rendering is needed and records the data tier.
适合你,如果需要抓取网页并分析其渲染结果和SEO要素
/ 下载安装
用别的 agent?下载 .zip 解压,把文件夹放进它的技能目录
Claude Code
~/.claude/skills/(项目级 .claude/skills/)Codex CLI
~/.codex/skills/Cursor自动读取上面两处目录
其他工具见其文档的「skills」目录;两个下载是同一份文件,只是名字不同
/ 通过 npx 安装 校验哈希
npx oh-my-skill add hainrixz/claude-seo-ai/seo-crawl-render/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- hainrixz/claude-seo-ai/seo-crawl-render/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify hainrixz/claude-seo-ai/seo-crawl-render安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
27GitHub stars
~565上下文体积 · 单文件
镜像托管
怎么用
技能原文 SKILL.md
seo-crawl-render
Produces ONE PageSnapshot consumed by all other skills. Building it once is what makes the offline (Tier 0) audit possible.
PageSnapshot shape
{
target: { kind: "url"|"path", value },
status_chain: [ {url, status, location?} ], // redirects, final status
headers: { ... }, // final response headers (incl. X-Robots-Tag, content-type, hreflang Link)
raw_html: "...", // pre-JS HTML the crawler/AI sees first
rendered_dom: "..."|null, // post-JS DOM (null if no render available)
render: { needed: bool, used: "webfetch"|"playwright"|"firecrawl"|"none", confidence: "high"|"reduced" },
artifacts: { robots_txt: "..."|null, sitemaps: [...], llms_txt: "..."|null },
tier: 0|1|2
}
Acquisition
- Local path: read files directly (
Read/Glob); treat built HTML asraw_html. For framework source (Next/Nuxt/etc.), note the framework and that rendered output may differ from source. - URL: fetch with
WebFetch(HTTPS-upgrade; if it returns a cross-host redirect, re-fetch the target). Capture status chain and headers. Fetchrobots.txt, referenced sitemap(s), and/llms.txt.
Render decision
--render static→ never render.--render js→ always try to render.--render auto(default): flag CSR when the raw HTML body is near-empty, has hydration markers (__NEXT_DATA__,window.__NUXT__,data-reactroot, a single root<div id="app">), or primary content/headings/links/JSON-LD are absent fromraw_html.- If rendering is needed AND a render MCP is available (Playwright/Firecrawl — discover via tool search), get the
rendered_dom; setrender.confidence = high. - If needed but no render MCP: keep
rendered_dom = null, setrender.confidence = reduced, and emit an M4 finding: "CSR-only; audited from raw HTML; install a Playwright/Firecrawl MCP for full coverage." Never pretend you saw rendered content you didn't.
Tier
Set tier = 0 (WebFetch only), 1 (render MCP and/or PageSpeed available), 2 (Search Console / Merchant available). Downstream skills annotate findings needs_api when they require a higher tier than reached.
按 MIT 许可原样转载,未经改动 · 在 GitHub 查看 →
评论
登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。
…