[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-49e0e0fe-d4d8-4ee5-ad17-cffb980e26cd":3,"$fLiiW4ooJdGydBabgjteagUIB-JJ3OQdK9qr-fXXRSmo":42},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":33},"49e0e0fe-d4d8-4ee5-ad17-cffb980e26cd","seo-technical","审计技术SEO，涵盖爬取性、可索引性、安全性、URL、移动端、核心Web指标、结构化数据、JavaScript渲染以及相关平台信号如robots.txt和AI爬虫访问。","cat_writing_article","mod_writing","sickn33,writing","---\nname: seo-technical\ndescription: \"Audit technical SEO across crawlability, indexability, security, URLs, mobile, Core Web Vitals, structured data, JavaScript rendering, and related platform signals like robots.txt and AI crawler access.\"\nrisk: unknown\nsource: \"https:\u002F\u002Fgithub.com\u002FAgriciDaniel\u002Fclaude-seo\"\ndate_added: \"2026-03-21\"\nuser-invokable: true\nargument-hint: \"[url]\"\nallowed-tools:\n  - Read\n  - Grep\n  - Glob\n  - Bash\n  - WebFetch\n---\n\n# Technical SEO Audit\n\n## When to Use\n- Use when the user wants a technical SEO review focused on crawlability, indexability, performance, or rendering.\n- Use when auditing robots.txt, canonicalization, JavaScript SEO, Core Web Vitals, or AI crawler access.\n- Use when the task is infrastructure- and implementation-oriented rather than content-focused.\n\n## Categories\n\n### 1. Crawlability\n- robots.txt: exists, valid, not blocking important resources\n- XML sitemap: exists, referenced in robots.txt, valid format\n- Noindex tags: intentional vs accidental\n- Crawl depth: important pages within 3 clicks of homepage\n- JavaScript rendering: check if critical content requires JS execution\n- Crawl budget: for large sites (>10k pages), efficiency matters\n\n#### AI Crawler Management\n\nAs of 2025-2026, AI companies actively crawl the web to train models and power AI search. Managing these crawlers via robots.txt is a critical technical SEO consideration.\n\n**Known AI crawlers:**\n\n| Crawler | Company | robots.txt token | Purpose |\n|---------|---------|-----------------|---------|\n| GPTBot | OpenAI | `GPTBot` | Model training |\n| ChatGPT-User | OpenAI | `ChatGPT-User` | Real-time browsing |\n| ClaudeBot | Anthropic | `ClaudeBot` | Model training |\n| PerplexityBot | Perplexity | `PerplexityBot` | Search index + training |\n| Bytespider | ByteDance | `Bytespider` | Model training |\n| Google-Extended | Google | `Google-Extended` | Gemini training (NOT search) |\n| CCBot | Common Crawl | `CCBot` | Open dataset |\n\n**Key distinctions:**\n- Blocking `Google-Extended` prevents Gemini training use but does NOT affect Google Search indexing or AI Overviews (those use `Googlebot`)\n- Blocking `GPTBot` prevents OpenAI training but does NOT prevent ChatGPT from citing your content via browsing (`ChatGPT-User`)\n- ~3-5% of websites now use AI-specific robots.txt rules\n\n**Example, selective AI crawler blocking:**\n```\n# Allow search indexing, block AI training crawlers\nUser-agent: GPTBot\nDisallow: \u002F\n\nUser-agent: Google-Extended\nDisallow: \u002F\n\nUser-agent: Bytespider\nDisallow: \u002F\n\n# Allow all other crawlers (including Googlebot for search)\nUser-agent: *\nAllow: \u002F\n```\n\n**Recommendation:** Consider your AI visibility strategy before blocking. Being cited by AI systems drives brand awareness and referral traffic. Cross-reference the `seo-geo` skill for full AI visibility optimization.\n\n### 2. Indexability\n- Canonical tags: self-referencing, no conflicts with noindex\n- Duplicate content: near-duplicates, parameter URLs, www vs non-www\n- Thin content: pages below minimum word counts per type\n- Pagination: rel=next\u002Fprev or load-more pattern\n- Hreflang: correct for multi-language\u002Fmulti-region sites\n- Index bloat: unnecessary pages consuming crawl budget\n\n### 3. Security\n- HTTPS: enforced, valid SSL certificate, no mixed content\n- Security headers:\n  - Content-Security-Policy (CSP)\n  - Strict-Transport-Security (HSTS)\n  - X-Frame-Options\n  - X-Content-Type-Options\n  - Referrer-Policy\n- HSTS preload: check preload list inclusion for high-security sites\n\n### 4. URL Structure\n- Clean URLs: descriptive, hyphenated, no query parameters for content\n- Hierarchy: logical folder structure reflecting site architecture\n- Redirects: no chains (max 1 hop), 301 for permanent moves\n- URL length: flag >100 characters\n- Trailing slashes: consistent usage\n\n### 5. Mobile Optimization\n- Responsive design: viewport meta tag, responsive CSS\n- Touch targets: minimum 48x48px with 8px spacing\n- Font size: minimum 16px base\n- No horizontal scroll\n- Mobile-first indexing: Google indexes mobile version. **Mobile-first indexing is 100% complete as of July 5, 2024.** Google now crawls and indexes ALL websites exclusively with the mobile Googlebot user-agent.\n\n### 6. Core Web Vitals\n- **LCP** (Largest Contentful Paint): target \u003C2.5s\n- **INP** (Interaction to Next Paint): target \u003C200ms\n  - INP replaced FID on March 12, 2024. FID was fully removed from all Chrome tools (CrUX API, PageSpeed Insights, Lighthouse) on September 9, 2024. Do NOT reference FID anywhere.\n- **CLS** (Cumulative Layout Shift): target \u003C0.1\n- Evaluation uses 75th percentile of real user data\n- Use PageSpeed Insights API or CrUX data if MCP available\n\n### 7. Structured Data\n- Detection: JSON-LD (preferred), Microdata, RDFa\n- Validation against Google's supported types\n- See seo-schema skill for full analysis\n\n### 8. JavaScript Rendering\n- Check if content visible in initial HTML vs requires JS\n- Identify client-side rendered (CSR) vs server-side rendered (SSR)\n- Flag SPA frameworks (React, Vue, Angular) that may cause indexing issues\n- Verify dynamic rendering setup if applicable\n\n#### JavaScript SEO: Canonical & Indexing Guidance (December 2025)\n\nGoogle updated its JavaScript SEO documentation in December 2025 with critical clarifications:\n\n1. **Canonical conflicts:** If a canonical tag in raw HTML differs from one injected by JavaScript, Google may use EITHER one. Ensure canonical tags are identical between server-rendered HTML and JS-rendered output.\n2. **noindex with JavaScript:** If raw HTML contains `\u003Cmeta name=\"robots\" content=\"noindex\">` but JavaScript removes it, Google MAY still honor the noindex from raw HTML. Serve correct robots directives in the initial HTML response.\n3. **Non-200 status codes:** Google does NOT render JavaScript on pages returning non-200 HTTP status codes. Any content or meta tags injected via JS on error pages will be invisible to Googlebot.\n4. **Structured data in JavaScript:** Product, Article, and other structured data injected via JS may face delayed processing. For time-sensitive structured data (especially e-commerce Product markup), include it in the initial server-rendered HTML.\n\n**Best practice:** Serve critical SEO elements (canonical, meta robots, structured data, title, meta description) in the initial server-rendered HTML rather than relying on JavaScript injection.\n\n### 9. IndexNow Protocol\n- Check if site supports IndexNow for Bing, Yandex, Naver\n- Supported by search engines other than Google\n- Recommend implementation for faster indexing on non-Google engines\n\n## Output\n\n### Technical Score: XX\u002F100\n\n### Category Breakdown\n| Category | Status | Score |\n|----------|--------|-------|\n| Crawlability | pass\u002Fwarn\u002Ffail | XX\u002F100 |\n| Indexability | pass\u002Fwarn\u002Ffail | XX\u002F100 |\n| Security | pass\u002Fwarn\u002Ffail | XX\u002F100 |\n| URL Structure | pass\u002Fwarn\u002Ffail | XX\u002F100 |\n| Mobile | pass\u002Fwarn\u002Ffail | XX\u002F100 |\n| Core Web Vitals | pass\u002Fwarn\u002Ffail | XX\u002F100 |\n| Structured Data | pass\u002Fwarn\u002Ffail | XX\u002F100 |\n| JS Rendering | pass\u002Fwarn\u002Ffail | XX\u002F100 |\n| IndexNow | pass\u002Fwarn\u002Ffail | XX\u002F100 |\n\n### Critical Issues (fix immediately)\n### High Priority (fix within 1 week)\n### Medium Priority (fix within 1 month)\n### Low Priority (backlog)\n\n## DataForSEO Integration (Optional)\n\nIf DataForSEO MCP tools are available, use `on_page_instant_pages` for real page analysis (status codes, page timing, broken links, on-page checks), `on_page_lighthouse` for Lighthouse audits (performance, accessibility, SEO scores), and `domain_analytics_technologies_domain_technologies` for technology stack detection.\n\n## Error Handling\n\n| Scenario | Action |\n|----------|--------|\n| URL unreachable | Report connection error with status code. Suggest verifying URL, checking DNS resolution, and confirming the site is publicly accessible. |\n| robots.txt not found | Note that no robots.txt was detected at the root domain. Recommend creating one with appropriate directives. Continue audit on remaining categories. |\n| HTTPS not configured | Flag as a critical issue. Report whether HTTP is served without redirect, mixed content exists, or SSL certificate is missing\u002Fexpired. |\n| Core Web Vitals data unavailable | Note that CrUX data is not available (common for low-traffic sites). Suggest using Lighthouse lab data as a proxy and recommend increasing traffic before re-testing. |\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,94,784,"2026-05-16 13:40:02",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"写作研究","writing","mdi-pencil-outline","从学术写作到创意文案，让 AI 成为你的专属写作助手",1,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":25,"skillCount":32,"createdAt":26},"文章写作","article","mdi-file-document-edit-outline","博客、新闻稿、自媒体文章等",61,[34],{"id":35,"skillId":4,"version":36,"fileName":37,"fileSize":38,"filePath":39,"fileHash":40,"manifest":41,"createdAt":19},"e72eab10-3021-46f7-b157-ec155957ec46","1.0.0","seo-technical.zip",3922,"uploads\u002Fskills\u002F49e0e0fe-d4d8-4ee5-ad17-cffb980e26cd\u002Fseo-technical.zip","2f631dbdabe6e21615757eded5b0a74e183fa7cbb247a5d5ec295a64fbc58fcd","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":8651}]",{"code":43,"message":44,"data":45},200,"success",{"items":46,"stats":47,"page":50},[],{"averageRating":48,"totalRatings":48,"ratingCounts":49},0,[48,48,48,48,48],{"limit":51,"offset":48,"hasMore":52,"nextOffset":51,"ratedOnly":16},15,false]