{"id":"27759513-7d5c-4cf2-99f3-a389c7d335b0","shortId":"fZapMc","kind":"skill","title":"seo-technical","tagline":"Run a comprehensive technical SEO audit covering crawlability, indexability, rendering, site architecture, structured data, page experience, security, and internationalization. Use this skill whenever the user asks about technical SEO, crawl issues, indexing problems, sitemaps, r","description":"# Technical SEO\n\nAudit and fix the layer beneath the content: how search engines crawl, render, index, and trust a site. Stack-agnostic.\n\n---\n\n## When to use\n\n- Site-wide audit before or after a migration\n- Investigating indexing or ranking drops\n- Setting up SEO foundations on a new site\n- Auditing Core Web Vitals or page experience signals\n- Fixing crawl waste, redirect chains, or canonical issues\n- Setting up multilingual or multi-regional sites\n\n## When NOT to use\n\n- Single-page on-page optimization (use `seo-onpage`)\n- Keyword strategy or content planning (use `seo-keyword`)\n- Competitor backlink or SERP analysis (use `seo-competitor`)\n- Pure performance optimization without SEO context (use `performance-optimization`)\n\n---\n\n## Required inputs\n\n- The site URL or staging URL\n- Access to (at minimum) view the rendered HTML, robots.txt, and sitemap\n- Ideally: search console access, server logs, and a crawler\n\nIf the site is large (10K+ URLs), confirm whether the audit is a full crawl or a sample.\n\n---\n\n## The framework: 6 layers\n\nTechnical SEO has six layers, stacked. A failure in a lower layer breaks everything above it.\n\n### 1. Crawlability\nCan search engines access the URLs?\n\n- robots.txt does not block important paths\n- No accidental `noindex` on indexable pages\n- No accidental `disallow` patterns blocking CSS or JS (rendering breaks)\n- Sitemap is present, returns 200, and lists canonical URLs only\n- Sitemap is referenced in robots.txt\n- No infinite spaces (faceted nav generating endless URLs)\n- Crawl budget is not wasted on low-value URLs\n\n### 2. Indexability\nOf crawlable URLs, which should be indexed?\n\n- One canonical URL per piece of content (no duplicates)\n- Canonical tags self-reference on canonical pages\n- `noindex` on staging, search results, filter pages, thank-you pages, internal admin\n- No mixed signals (canonical pointing one way, sitemap another, internal links a third)\n- Pagination handled correctly (rel=next/prev is deprecated, but consistent canonicals matter)\n- Parameter handling deliberate (UTM, session IDs, sort orders)\n\n### 3. Rendering\nDoes the rendered HTML match what crawlers see?\n\n- Critical content visible without JavaScript (or properly server-rendered)\n- For SPAs: confirm Googlebot sees the rendered content (test with the URL Inspection tool)\n- No cloaking (showing different content to bots vs users)\n- Lazy-loaded content has proper loading attributes\n- Hydration errors do not strip content from the rendered DOM\n\n### 4. Site architecture\nIs the site structured for both users and crawlers?\n\n- Clear URL hierarchy that mirrors site structure\n- Important pages reachable in 3 clicks or fewer from the homepage\n- Internal linking distributes authority logically\n- Breadcrumb navigation present and marked up with schema\n- No orphan pages (pages with no internal links)\n- No redirect chains (one redirect max)\n- No 4xx errors on internally-linked URLs\n\n### 5. Structured data and signals\nDoes the site speak crawler language?\n\n- Schema.org markup on appropriate page types\n- JSON-LD format (preferred over microdata)\n- Validates in the Rich Results Test\n- Organization or LocalBusiness schema on the homepage or about page\n- BreadcrumbList schema on nested pages\n- Author and publisher schema linked correctly on content pages\n- llms.txt present at the root (for AI crawlers, see `seo-aeo-geo`)\n\n### 6. Page experience and security\nDoes the site meet the page experience baseline?\n\n- HTTPS on all pages, no mixed content\n- HSTS header set\n- Core Web Vitals pass (LCP, INP, CLS within thresholds)\n- Mobile-friendly (responsive, no horizontal scroll, tap targets sized correctly)\n- No intrusive interstitials on mobile\n- Stable URL structure (no random URL changes between deploys)\n- 404 pages return 404, not 200 with \"page not found\" content (soft 404)\n\n---\n\n## Workflow\n\n1. **Define scope.** Whole site, a subfolder, a migration check, or a specific issue.\n2. **Confirm access.** What can you actually see (HTML, robots, sitemap, search console, server logs, staging)?\n3. **Crawl.** Use a crawler to enumerate URLs and statuses. Sample if the site is huge.\n4. **Run the 6-layer framework.** Score each, note specific issues with example URLs.\n5. **Cross-reference.** Search console for what's actually indexed. Compare to sitemap and crawl output.\n6. **Prioritize.** Critical (blocks indexing or causes traffic loss), Important (suboptimal), Nice-to-have (polish).\n7. **Write the report.** Use the template in [`references/audit-template.md`](references/audit-template.md).\n\n---\n\n## Failure patterns\n\n- **Optimizing rankings on a page that is `noindex`.** Always check indexability before content work.\n- **Adding sitemaps without fixing canonical issues.** A sitemap of duplicate URLs is worse than no sitemap.\n- **Blocking crawlers from CSS or JS.** Breaks Google's rendering. Common in over-aggressive robots.txt files.\n- **Over-relying on canonical tags.** Canonicals are hints, not directives. Use redirects when content actually moved.\n- **Migrating without a redirect map.** Single biggest cause of post-migration traffic loss.\n- **Treating Core Web Vitals as the only ranking signal.** Page experience matters but does not override relevance.\n\n---\n\n## Output format\n\nDefault output is a markdown audit at `seo-technical-audit.md`. Structure:\n\n1. Scope and methodology\n2. Executive summary (3 to 5 critical findings)\n3. 6-layer score\n4. Critical issues (with example URLs)\n5. Important issues\n6. Nice-to-have polish\n7. Implementation roadmap (sequenced)\n\nFor migrations, include a redirect map as a CSV alongside the report.\n\n---\n\n## Reference files\n\n- [`references/audit-template.md`](references/audit-template.md) - Fillable technical SEO audit template.\n- [`references/migration-checklist.md`](references/migration-checklist.md) - Pre and post-migration checklist (covers the highest-risk scenario).","tags":["seo","technical","claude","skills","rampstackco","agent-skills","anthropic","awesome-claude-code","awesome-claude-prompts","awesome-claude-skills","claude-code","claude-skills"],"capabilities":["skill","source-rampstackco","skill-seo-technical","topic-agent-skills","topic-anthropic","topic-awesome-claude-code","topic-awesome-claude-prompts","topic-awesome-claude-skills","topic-claude","topic-claude-code","topic-claude-skills","topic-good-first-issue","topic-mcp","topic-product-management","topic-seo"],"categories":["claude-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/rampstackco/claude-skills/seo-technical","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add rampstackco/claude-skills","source_repo":"https://github.com/rampstackco/claude-skills","install_from":"skills.sh"}},"qualityScore":"0.540","qualityRationale":"deterministic score 0.54 from registry signals: · indexed on github topic:agent-skills · 181 github stars · SKILL.md body (5,882 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:55:21.066Z","embedding":null,"createdAt":"2026-04-30T01:01:30.970Z","updatedAt":"2026-05-18T18:55:21.066Z","lastSeenAt":"2026-05-18T18:55:21.066Z","tsv":"'1':220,618,829 '10k':187 '2':283,632,833 '200':254,609 '3':354,438,648,836,841 '4':415,664,845 '404':604,607,616 '4xx':473 '5':480,678,838,851 '6':202,547,667,695,842,854 '7':711,860 'access':162,176,225,634 'accident':235,241 'actual':638,687,785 'ad':737 'admin':321 'aeo':545 'aggress':767 'agnost':61 'ai':540 'alongsid':873 'alway':731 'analysi':139 'anoth':330 'appropri':494 'architectur':15,417 'ask':29 'attribut':404 'audit':9,41,68,87,192,825,883 'author':448,525 'backlink':136 'baselin':559 'beneath':46 'biggest':793 'block':231,244,698,753 'bot':394 'breadcrumb':450 'breadcrumblist':520 'break':216,249,759 'budget':274 'canon':101,257,293,301,307,325,344,741,774,776 'caus':701,794 'chain':99,468 'chang':601 'check':627,732 'checklist':892 'clear':427 'click':439 'cloak':389 'cls':576 'common':763 'compar':689 'competitor':135,143 'comprehens':6 'confirm':189,376,633 'consist':343 'consol':175,644,683 'content':48,129,298,365,381,392,400,410,532,566,614,735,784 'context':149 'core':88,570,802 'correct':337,530,589 'cover':10,893 'crawl':33,52,96,196,273,649,693 'crawlabl':11,221,286 'crawler':181,362,426,489,541,652,754 'critic':364,697,839,846 'cross':680 'cross-refer':679 'css':245,756 'csv':872 'data':17,482 'default':820 'defin':619 'deliber':348 'deploy':603 'deprec':341 'differ':391 'direct':780 'disallow':242 'distribut':447 'dom':414 'drop':78 'duplic':300,746 'endless':271 'engin':51,224 'enumer':654 'error':406,474 'everyth':217 'exampl':676,849 'execut':834 'experi':19,93,549,558,811 'facet':268 'failur':211,721 'fewer':441 'file':769,877 'fillabl':880 'filter':314 'find':840 'fix':43,95,740 'format':500,819 'found':613 'foundat':82 'framework':201,669 'friend':581 'full':195 'generat':270 'geo':546 'googl':760 'googlebot':377 'handl':336,347 'header':568 'hierarchi':429 'highest':896 'highest-risk':895 'hint':778 'homepag':444,516 'horizont':584 'hsts':567 'html':169,359,640 'https':560 'huge':663 'hydrat':405 'id':351 'ideal':173 'implement':861 'import':232,434,704,852 'includ':866 'index':12,35,54,75,238,284,291,688,699,733 'infinit':266 'inp':575 'input':155 'inspect':386 'intern':320,331,445,464,477 'internally-link':476 'internation':22 'interstiti':592 'intrus':591 'investig':74 'issu':34,102,631,674,742,847,853 'javascript':368 'js':247,758 'json':498 'json-ld':497 'keyword':126,134 'languag':490 'larg':186 'layer':45,203,208,215,668,843 'lazi':398 'lazy-load':397 'lcp':574 'ld':499 'link':332,446,465,478,529 'list':256 'llms.txt':534 'load':399,403 'localbusi':512 'log':178,646 'logic':449 'loss':703,800 'low':280 'low-valu':279 'lower':214 'map':791,869 'mark':454 'markdown':824 'markup':492 'match':360 'matter':345,812 'max':471 'meet':555 'methodolog':832 'microdata':503 'migrat':73,626,787,798,865,891 'minimum':165 'mirror':431 'mix':323,565 'mobil':580,594 'mobile-friend':579 'move':786 'multi':108 'multi-region':107 'multilingu':105 'nav':269 'navig':451 'nest':523 'new':85 'next/prev':339 'nice':707,856 'nice-to-hav':706,855 'noindex':236,309,730 'note':672 'on-pag':118 'one':292,327,469 'onpag':125 'optim':121,146,153,723 'order':353 'organ':510 'orphan':459 'output':694,818,821 'over-aggress':765 'over-r':770 'overrid':816 'page':18,92,117,120,239,308,315,319,435,460,461,495,519,524,533,548,557,563,605,611,727,810 'pagin':335 'paramet':346 'pass':573 'path':233 'pattern':243,722 'per':295 'perform':145,152 'performance-optim':151 'piec':296 'plan':130 'point':326 'polish':710,859 'post':797,890 'post-migr':796,889 'pre':887 'prefer':501 'present':252,452,535 'priorit':696 'problem':36 'proper':370,402 'publish':527 'pure':144 'r':38 'random':599 'rank':77,724,808 'reachabl':436 'redirect':98,467,470,782,790,868 'refer':305,681,876 'referenc':262 'references/audit-template.md':719,720,878,879 'references/migration-checklist.md':885,886 'region':109 'rel':338 'relev':817 'reli':772 'render':13,53,168,248,355,358,373,380,413,762 'report':714,875 'requir':154 'respons':582 'result':313,508 'return':253,606 'rich':507 'risk':897 'roadmap':862 'robot':641 'robots.txt':170,228,264,768 'root':538 'run':4,665 'sampl':199,658 'scenario':898 'schema':457,513,521,528 'schema.org':491 'scope':620,830 'score':670,844 'scroll':585 'search':50,174,223,312,643,682 'secur':20,551 'see':363,378,542,639 'self':304 'self-refer':303 'seo':2,8,32,40,81,124,133,142,148,205,544,882 'seo-aeo-geo':543 'seo-competitor':141 'seo-keyword':132 'seo-onpag':123 'seo-techn':1 'seo-technical-audit.md':827 'sequenc':863 'serp':138 'server':177,372,645 'server-rend':371 'session':350 'set':79,103,569 'show':390 'signal':94,324,484,809 'singl':116,792 'single-pag':115 'site':14,58,66,86,110,157,184,416,420,432,487,554,622,661 'site-wid':65 'sitemap':37,172,250,260,329,642,691,738,744,752 'six':207 'size':588 'skill':25 'skill-seo-technical' 'soft':615 'sort':352 'source-rampstackco' 'space':267 'spas':375 'speak':488 'specif':630,673 'stabl':595 'stack':60,209 'stack-agnost':59 'stage':160,311,647 'status':657 'strategi':127 'strip':409 'structur':16,421,433,481,597,828 'subfold':624 'suboptim':705 'summari':835 'tag':302,775 'tap':586 'target':587 'technic':3,7,31,39,204,881 'templat':717,884 'test':382,509 'thank':317 'thank-you':316 'third':334 'threshold':578 'tool':387 'topic-agent-skills' 'topic-anthropic' 'topic-awesome-claude-code' 'topic-awesome-claude-prompts' 'topic-awesome-claude-skills' 'topic-claude' 'topic-claude-code' 'topic-claude-skills' 'topic-good-first-issue' 'topic-mcp' 'topic-product-management' 'topic-seo' 'traffic':702,799 'treat':801 'trust':56 'type':496 'url':158,161,188,227,258,272,282,287,294,385,428,479,596,600,655,677,747,850 'use':23,64,114,122,131,140,150,650,715,781 'user':28,396,424 'utm':349 'valid':504 'valu':281 'view':166 'visibl':366 'vital':90,572,804 'vs':395 'wast':97,277 'way':328 'web':89,571,803 'whenev':26 'whether':190 'whole':621 'wide':67 'within':577 'without':147,367,739,788 'work':736 'workflow':617 'wors':749 'write':712","prices":[{"id":"d5d2376a-b903-40b9-8284-5e01bffde060","listingId":"27759513-7d5c-4cf2-99f3-a389c7d335b0","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"rampstackco","category":"claude-skills","install_from":"skills.sh"},"createdAt":"2026-04-30T01:01:30.970Z"}],"sources":[{"listingId":"27759513-7d5c-4cf2-99f3-a389c7d335b0","source":"github","sourceId":"rampstackco/claude-skills/seo-technical","sourceUrl":"https://github.com/rampstackco/claude-skills/tree/main/skills/seo-technical","isPrimary":false,"firstSeenAt":"2026-04-30T01:01:30.970Z","lastSeenAt":"2026-05-18T18:55:21.066Z"}],"details":{"listingId":"27759513-7d5c-4cf2-99f3-a389c7d335b0","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"rampstackco","slug":"seo-technical","github":{"repo":"rampstackco/claude-skills","stars":181,"topics":["agent-skills","anthropic","awesome-claude-code","awesome-claude-prompts","awesome-claude-skills","claude","claude-code","claude-skills","good-first-issue","mcp","product-management","seo","show-hn","showcase","showdev","web-design","web-development"],"license":"mit","html_url":"https://github.com/rampstackco/claude-skills","pushed_at":"2026-05-10T22:40:22Z","description":"Stack-agnostic Claude Skills covering the full website lifecycle: brand, design, content, SEO, dev, ops, growth, and research. Build, ship, audit, optimize.","skill_md_sha":"ef9c358515bcee2e5ad20503c754a3967c3c40e4","skill_md_path":"skills/seo-technical/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/rampstackco/claude-skills/tree/main/skills/seo-technical"},"layout":"multi","source":"github","category":"claude-skills","frontmatter":{"name":"seo-technical","description":"Run a comprehensive technical SEO audit covering crawlability, indexability, rendering, site architecture, structured data, page experience, security, and internationalization. Use this skill whenever the user asks about technical SEO, crawl issues, indexing problems, sitemaps, robots.txt, canonical tags, schema markup, page speed, Core Web Vitals, hreflang, redirects, or site-wide search performance. Triggers on technical SEO, site audit, crawlability, indexability, sitemap, robots.txt, canonical, redirect chain, schema, JSON-LD, Core Web Vitals, page speed, hreflang, mobile usability, HTTPS, security headers, render-blocking, JavaScript SEO. Also triggers when a site has indexing problems, traffic drops, or migration concerns, even if 'technical SEO' is not said explicitly."},"skills_sh_url":"https://skills.sh/rampstackco/claude-skills/seo-technical"},"updatedAt":"2026-05-18T18:55:21.066Z"}}