Performs comprehensive SEO audits on websites covering technical SEO, on-page optimization, off-page signals, and performance metrics. Generates actionable r...
设计与多媒体
SEO (Site Audit + Content Writer + Competitor Analysis)
试用为自然搜索排名提供站点审计、内容撰写与竞品分析。
它能做什么
通过有序审计(人工处置 → 索引 → 意图匹配 → 技术 → 内容 → 外链)诊断排名下滑并安全地推进修复。撰写或刷新内容时,以首页 SERP 为格式规范,用「搜索量 × CTR × 特色版位折扣」公式在推荐工作之前先量化预期点击,并合并相互蚕食的 URL。覆盖迁移、hreflang、Core Web Vitals、结构化数据、内外链、本地 SEO、电商、JavaScript 站点、AI Overview 引用,以及 Bing/IndexNow 设置。不涵盖付费搜索(PPC/SEM)或应用商店优化。
什么时候用它
- 自然流量或排名下跌后审计站点
- 调研并量化目标关键词与竞品差距
- 刷新、改写或合并表现不佳的页面
- 规划域名更换、改版或 URL 迁移
技能文档
All persistent data (site profiles, config, audit history, keyword tracking) lives in ~/Clawic/data/seo/. If you have data at an old location (~/seo/ or ~/clawic/seo/), move it to ~/Clawic/data/seo/. Read setup.md on first use; memory-template.md holds the file format.
When To Use
- Auditing a site: indexing, technical health, on-page, content, links, structure
- Diagnosing a ranking or organic traffic drop, a deindexed page, or a core-update hit
- Writing, refreshing, or consolidating content to rank for a target query
- Keyword research, opportunity sizing, competitor gap analysis, cannibalization
- Shipping structural changes safely: migrations, redesigns, hreflang, faceted navigation, programmatic pages
- Earning visibility in the surfaces above the ten blue links: snippets, packs, AI Overviews
- Not for paid search ads (PPC, Google Ads bidding, quality score) or for content planning with no search target — route to
content-marketing
Quick Reference
| Situation | Read |
|---|---|
| Ranking or organic traffic dropped | Triage below first, then recovery.md |
| Core update hit, manual action, hacked or spammy pages, reconsideration request | recovery.md |
| First pass on a new site, scoping an audit, writing the deliverable | audits.md |
| Picking keywords, sizing opportunity, competitor gaps, cannibalization | keywords.md |
| Deciding what to write, intent, E-E-A-T, thin content, AI-written drafts | content.md |
| Bottom-funnel pages: alternatives, "vs", best-X, pricing, integrations, glossary | commercial-pages.md |
| Titles, meta descriptions, headings, URLs, image alt text | on-page.md |
| Site structure, click depth, topic clusters, subdomain vs subfolder, index bloat, new site from zero | architecture.md |
| Pages not indexed, robots.txt, canonicals, sitemaps, status codes, duplicates, log files | technical.md |
| Slow pages, LCP / INP / CLS failing, PageSpeed vs field data | performance.md |
| React/Vue/Angular site, content missing from view-source, SPA routing, soft 404s | javascript.md |
| JSON-LD, rich results, review stars, breadcrumbs, product feeds | schema.md |
| Internal links, backlinks, anchor text, outreach, disavow | links.md |
| Physical location or service area, Google Business Profile, reviews, map pack | local.md |
| Product and category pages, faceted navigation, variants, out-of-stock, pagination | ecommerce.md |
| Multiple languages or countries, hreflang, geotargeting, translated duplicates | international.md |
| Domain change, replatform, redesign, URL restructure, HTTP to HTTPS | migrations.md |
| Featured snippets, People Also Ask, sitelinks, image and video results, pixel position | serp-features.md |
| AI Overviews, AI Mode, ChatGPT and Perplexity citations, AI crawlers, llms.txt | ai-search.md |
| Search Console data, exports, regex filters, proving a change worked, forecasting, reporting | search-console.md |
| Bing, IndexNow, Applebot, Yandex, Naver, Baidu, privacy engines | other-engines.md |
| Publisher work: Top Stories, Google News, Discover traffic, paywalls | news-discover.md |
| Generating hundreds or thousands of templated pages | programmatic.md |
| WordPress, Shopify, Webflow, Wix, Next.js platform quirks | cms-platforms.md |
| Anything else SEO | Run the audit checklist below, then route from the area that fails |
Core Rules
- Audit before prescribing. Fixed order: manual actions → indexing → intent match → technical → content → links. Diagnosing content quality on a page Google never indexed wastes the engagement; every layer above depends on the one before it.
- The SERP is the spec. Before writing or prescribing format, search the exact query in the target market. Page 1 defines format, depth, and freshness. If page 1 is all product grids, a 3,000-word guide will not rank there at any quality level.
- Improve before you create. Pages at position 4-15 in Search Console with impressions at or above
min_impressions(Configuration; default 100/month) are the highest-ROI work: better snippet, filled content gaps, internal links. Write a new page only when no existing URL targets the intent. Example: a page at position 8 with 1,000 monthly impressions needs a title rewrite and two internal links — not a competing new article, which triggers rule 4. - One intent per page. Two URLs alternating in Search Console for the same query = cannibalization: Google splits signals and both underperform. Fix: 301 the weaker into the stronger, merge unique content. Map keywords by intent, not by string — Google clusters variants onto one page.
- Technical floor. Core Web Vitals "good" thresholds (Google, field data at p75): LCP < 2.5s, INP < 200ms, CLS < 0.1. HTTPS, mobile-first, self-referencing canonicals, clean sitemap. Technical debt caps everything content can earn.
- E-E-A-T is signals, not a score. No E-E-A-T meter exists — demonstrate it: author bios with verifiable credentials, first-hand evidence (photos, data, tests), citations, contact and about pages. Decisive for YMYL topics (health, finance, legal, safety).
- Links: earn, never buy. Bought links risk manual actions that take months to recover from after cleanup. Internal links are the lever you fully control — spend them before any outreach.
- Iterate from Search Console, not assumptions. Each symptom has a different fix: CTR far below the position curve → rewrite the snippet. Impressions but no clicks → intent or SERP-feature problem. No impressions → indexing or relevance problem. GSC tells you which; guessing does not.
- Size the prize before doing the work.
expected monthly clicks = volume × CTR at the realistic position × (1 − feature discount). Worked: 2,000 searches/mo, realistic landing spot position 5 (~5-10% CTR), an AI Overview and an ads block above → 2,000 × 0.07 × 0.6 ≈ 84 clicks/mo. If that number does not justify the build, say so before writing.
Ranking Drop Triage
In order — stop at the first confirmed cause:
- GSC → Manual Actions + Security Issues. If flagged, that IS the diagnosis (
recovery.md). - URL Inspection on hit pages: still indexed? Google-selected canonical changed to another URL?
- Recent deploys: robots.txt edits, stray noindex, redirect changes, template changes shipped near the drop date.
- Drop date vs Google's announced update dates. Aligned = sitewide quality reassessment, not a page bug — fix the weakest content across the site.
- Search the lost queries: did the SERP change format or gain features (AI Overview, more ads, a pack) that push you down visually at the same rank?
- Backlinks: links lost on your side, or a competitor gained them.
- Seasonality and tracking: compare year-over-year, and confirm the drop is not analytics (broken tag, bot filter, property change) before treating it as SEO.
- None conclusive → gap-compare the pages that replaced you (
keywords.md).
SEO Audit Checklist
Indexing:
- Important pages indexed — verify with URL Inspection and the Page indexing report, not the
site:operator - No important pages blocked in robots.txt
- XML sitemap submitted to Search Console, only canonical 200-status URLs in it
- No stray noindex on pages that should rank
- No page both robots.txt-blocked AND noindexed — blocked crawl means Google never sees the noindex, so the page can stay indexed
Technical:
- Core Web Vitals passing (thresholds in rule 5)
- Mobile-friendly, HTTPS with no mixed content
- No crawl errors, no soft 404s, no server errors in Search Console
- Redirect chains ≤3 hops
- Rendered HTML contains the main content (JavaScript sites)
On-Page:
- Unique title tags (50-60 chars), meta descriptions (150-160 chars)
- One H1 per page with the target term; proper heading hierarchy
- Images with alt text; internal links to and from the page
Content:
- Search intent matched (rule 2)
- No cannibalization (rule 4)
- No thin or duplicate content; dead pages improved, consolidated, or removed
Off-Page and Entity:
- Google Business Profile complete (local businesses)
- Backlink profile checked for toxic patterns
- Brand queries return the right result, sitelinks, and knowledge panel where applicable
Content Writing Process
- Keyword research — target keyword, volume, SERP reality check (
keywords.md) - Intent analysis — search the query in the target market; page 1 is the format spec
- Gap + gain — cover what ranking pages cover, then add what none of them have
- Write — answer the query in the first ~100 words, then structure per
content.md - Optimize — title, meta, headers, internal links from strong pages, schema
- Publish — request indexing once, log in
~/Clawic/data/seo/memory.md, review GSC after a few weeks
What Takes How Long
Honest ranges beat invented dates; every one of these is mechanism, not promise.
| Change | Time to effect | Mechanism |
|---|---|---|
| Title or meta rewrite | Days to appear, 2-4 weeks to judge | Needs a recrawl, then enough impressions for CTR to be readable |
| New page, established site | Indexed in days; competitive movement 3-6 months | Discovery is fast; earning position takes links and engagement history |
| New domain | Months before competitive queries move | No confirmed sandbox — the delay is missing links, history, and coverage |
| Core Web Vitals fix | ~4 weeks before field data reflects it | CrUX field data is a 28-day rolling window; lab scores change instantly |
| 301 migration | 2-8 weeks of turbulence, longer on large sites | Google must recrawl every redirected URL to transfer signals |
| Manual action revoked | Days to weeks after reconsideration | Human review queue; recovery of position is separate and slower |
| Core update recovery | Usually at the next update, not between them | Sitewide reassessments are recomputed on update cycles |
| Disavow file | Weeks to months | Applied as links are recrawled, not on upload |
Output Gates
Before delivering recommendations or content:
- Did I search the actual query in the target market, or am I prescribing format from memory?
- Did I check for an existing page targeting this intent before recommending a new one?
- Is every number I cite from this skill's files or the user's own data, not improvised?
- Does each recommendation name the exact URL and the exact change ("rewrite /pricing title to lead with X"), not "improve content"?
- Did I size the prize (rule 9) so the user can refuse the work?
- Am I promising a date? State the mechanism and a range from What Takes How Long, never a deadline.
Configuration
User-dependent variables. Defaults apply until the user states a preference; store them in ~/Clawic/data/seo/config.yaml.
| Variable | Type | Default | Effect |
|---|---|---|---|
| site_type | blog | ecommerce | saas | local | news | directory | auto | auto | Weights the audit checklist and decides which guide the router opens first; auto infers from URL patterns and page templates on first look |
| target_market | text (locale, e.g. en-US) | en-US | Which SERP to check, which spelling variant to write, and whether hreflang and local guidance apply |
| tool_access | gsc-only | paid-suite | gsc-only | gsc-only keeps every workflow on free data (GSC, Trends, SERPs); paid-suite unlocks backlink-index and difficulty-score steps |
| risk_posture | conservative | standard | aggressive | conservative | Gates link tactics, external anchor ratios, and how much templated page generation to recommend |
| cms | wordpress | shopify | webflow | wix | headless | other | auto | auto | Picks the implementation path for every fix (where redirects, robots, and metadata actually live) |
| min_impressions | number (impressions/month) | 100 | Floor for every opportunity list: striking distance (rule 3, keywords.md, search-console.md) and the traffic-at-stake cutoff for the audit Top 5. Below it, a page cannot produce a readable CTR or click change — raise it on large sites |
| voice_file | path | none | Brand voice guide at ~/Clawic/data/seo/; governs drafted copy, never the SEO structure |
Preference areas — customizable dimensions; a stated preference gets recorded in config.yaml and applied:
- Reporting: audit depth (one-page priorities vs full report), technical vs business language, which KPI leads (clicks, conversions, revenue)
- Conventions: URL and slug style, title formula (brand position and separator), heading patterns, internal anchor style
- Scope boundaries: sections that are off-limits (legal, careers, docs), staging hosts, URLs never to touch
- Implementation: whether the agent edits files and writes patches or hands over specs and tickets
- Measurement: reporting property, comparison window, whether branded queries are excluded from "SEO traffic"
- Thresholds: floors that gate what gets worked on — impressions (
min_impressions), traffic at stake for a finding to make the Top 5, minimum sample before a test is called - Cadence: rank and GSC review frequency, content refresh schedule, reporting date
Traps
| Trap | Why it fails | Do instead |
|---|---|---|
| Writing before checking the SERP | Format mismatch = no ranking at any quality | Rule 2: the SERP is the spec |
| New article for a query an existing page ranks 4-15 for | Cannibalization splits signals | Improve the existing page (rule 3) |
| Chasing keyword density | No density threshold exists; stuffing detection is pattern-based | Cover the topic, use variants naturally |
| noindex on a robots.txt-blocked page | Google never crawls it, never sees the noindex | Allow crawl until deindexed, then block |
| Changing URLs without 301s | Links and authority now point at 404s | Map every old URL to its closest new match |
| Buying links or PBNs | Payment and network footprints → manual action | Earn links via assets and digital PR |
| Reporting rank without checking the rendered SERP | #1 under an AI Overview and four ads earns a fraction of historical #1 clicks | Check pixel position, not just rank |
Judging index coverage with site:domain.com | The operator is an estimate and excludes results Google chooses to hide | Page indexing report + URL Inspection |
| Re-requesting indexing for the same URL repeatedly | The queue is not a priority auction; nothing accelerates | Fix the reason it was not indexed (quality, duplicate, discovery) |
| Fixing every warning a crawler emits | Crawl tools flag non-signals (meta keywords, long titles on pages with no impressions) | Rank issues by the traffic at stake, then fix |
| Optimizing a page whose Google-selected canonical is another URL | Every signal you add credits the other URL | Resolve the canonical conflict first |
| Reporting "average position improved" as a win | Average position moves when the query mix changes; new long-tail impressions drag it down while traffic grows | Report clicks and conversions, positions per query |
Where Experts Disagree
- Word count. Studies show correlation between length and ranking; nobody serious claims causation. Cover the intent fully, then stop — padding is a negative.
- Disavow. Google says it is unnecessary without a manual action; some practitioners still disavow after obvious spam attacks. Default: don't, unless a manual action names links.
- Exact-match anchors. They move rankings in tests AND they are the first pattern link-spam systems check. The disagreement is the safe ratio, not the risk — keep exact match a small minority of external anchors.
- Subdomain vs subfolder. Google states both can rank; migration case studies keep showing subfolder gains. Unresolved: whether the gains come from the structure or from the consolidation and relaunch links that accompany the move. Default subfolder for new builds; do not migrate a working subdomain for this reason alone.
- Optimizing for AI Overviews. One camp treats citation as the new goal; the other says citations that suppress clicks are a bad trade and defends click-worthy queries instead. Both are right per query type — decide per page with the click data, not sitewide.
Related Skills
More Clawic skills, get them at https://clawic.com/skills/seo (install if the user confirms):
content-marketing— Content strategyanalytics— Traffic analysismarket-research— Competitive analysishtml— HTML optimizationweb— Web development
Feedback
- If useful, star it: https://clawic.com/skills/seo
- Latest version: https://clawic.com/skills/seo
Part of Clawic, the verified skill library. Get this skill: https://clawic.com/skills/seo.
常见问题
- 能修复排名下降吗?
- 会按固定顺序分诊(人工处置 → URL 审查 → 近期部署 → 算法更新时间线 → SERP 变化 → 外链 → 季节性),在首个确认原因处停下,再给出对应的修复建议。
- 是否覆盖付费搜索或应用商店优化?
- 不覆盖。PPC、Google Ads 出价、质量得分以及应用商店优化明确不在范围内,应路由到其他技能。
- 需要哪些数据才能开始?
- 默认基于免费数据:Search Console、Trends 以及手工 SERP 检查。付费套件模式可解锁外链索引与难度评分。站点档案与配置存储在 ~/Clawic/data/seo/。
相关技能
对单页页内 SEO 结构信号逐项打分,并给出按优先级排序的修复清单。
Technical SEO audit across 9 categories: crawlability, indexability, security, URL structure, mobile, Core Web Vitals, structured data, JavaScript rendering, and IndexNow protocol. Use when user says "technical SEO", "crawl issues", "robots.txt", "Core Web Vitals", "site speed", or "security headers".
Use when the user asks to "audit on-page SEO" or "diagnose why a single page dropped"; scores titles, meta, header structure, keyword placement, links, and i...
Optimize any website for SEO and GEO (AI search engines) — keyword strategy and clustering, site architecture and multilingual URL structure, page-level on-page SEO, AI-citation-ready content, topical-authority planning, internal linking, and structured-data schema
文章写得不错但搜不到?问题在SEO。从关键词策略到标题优化到Schema标记,全方位诊断你的内容在搜索引擎的表现。适配百度/Google/Bing,连最新的AI搜索(SGE/AI Overview)也能优化。 触发词:SEO优化、搜索引擎优化、关键词优化、文章SEO、网站排名、meta标签、TDK优化、百度SEO...
Iván 的更多技能
浏览全部技能执行 Git 操作(提交、分支、合并、变基、冲突解决与恢复)时强制套用安全规则。
在本地磁盘以分类纯 Markdown 文件保存需要长期留存的事实,与智能体内置记忆并存。
按配置的 JDK 版本诊断 Java 与 JVM 问题(从 NPE 到容器 OOM),给出可直接套用的代码与配置。
用可量化的层级、间距、字号、配色与版式规则,绘制并诊断视觉作品。
围绕 CSS 机制排查问题并编写组件样式表,而不是凭感觉试错。
按字节、语法、类型映射、契约、尺寸五层定位并修复 JSON 问题。