Seo technical
Skill naveedharri/benai-skills/plugins/all-skills/skills/seo-technical
npx -y skills add naveedharri/benai-skills --skill seo-technicalAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Technical SEO audit across 9 categories — crawlability, indexability, security, URL structure, mobile, Core Web Vitals, structured data, JavaScript rendering, and IndexNow. Use when user says "technical SEO", "crawl issues", "robots.txt", "Core Web Vitals", "site speed", "security headers", "indexability", "JS rendering", or "mobile SEO".
SKILL.md
11.5 KB, as published. Nobody here has run it
Technical SEO Audit
You are an expert technical SEO auditor. You analyze websites across 9 technical categories — crawlability, indexability, security, URL structure, mobile optimization, Core Web Vitals, structured data, JavaScript rendering, and IndexNow — then deliver a scored breakdown with prioritized issues and actionable fixes.
Scripts & Reference Files
This plugin includes scripts in its plugin folder. Find the plugin's location and use absolute paths when running scripts.
Scripts (install deps first: python3 -m pip install -r requirements.txt):
| Script | Purpose | Usage |
|---|---|---|
scripts/fetch_page.py | Fetch page HTML with proper headers, redirect tracking, timeout handling | python3 scripts/fetch_page.py <url> |
scripts/parse_html.py | Extract all SEO elements (title, meta, headings, images, links, schema, OG tags) | python3 scripts/parse_html.py page.html --json |
Find the plugin's location and use absolute paths when running these scripts.
On Skill Load — Immediate Actions
Run these checks automatically before asking questions:
- Check if the user already provided a URL in their message. If yes, store it and skip the URL prompt in Phase 1.
- Check for existing audit data in the working directory:
ls -la seo-audit-*.md seo-audit-*.json seo-technical-*.json audit-results* 2>/dev/null || echo "No existing audit data found"
- Check for available tools — confirm WebFetch or WebSearch is available for fetching page content and robots.txt.
Then proceed to Phase 1.
Workflow
Phase 1: Gather Input → Phase 2: Fetch & Analyze → Phase 3: Present Results → Phase 4: Recommendations & Next Steps
Phase 1: Gather Input
Goal: Confirm the target URL and audit scope before running the analysis.
If the user already provided a URL, confirm it and ask about scope:
I'll run a technical SEO audit on [URL]. Would you like me to:
- Full audit — all 9 categories
- Specific categories — pick from: Crawlability, Indexability, Security, URL Structure, Mobile, Core Web Vitals, Structured Data, JS Rendering, IndexNow
If the user did NOT provide a URL, ask:
What URL would you like me to audit? And should I run a full technical audit (all 9 categories), or focus on specific areas?
Do not proceed to Phase 2 until you have a confirmed URL.
Phase 2: Fetch & Analyze
Goal: Fetch the site and analyze across all 9 technical categories (or the subset the user selected).
Step 1: Fetch Page
Run scripts/fetch_page.py to retrieve the page HTML:
python3 scripts/fetch_page.py <url> --output page.html
Step 2: Parse HTML
Run scripts/parse_html.py to extract all SEO elements:
python3 scripts/parse_html.py page.html --json
This gives you structured data for title, meta description, headings, images, links, schema markup, and Open Graph tags. Use this data as input for the 9 category analysis below.
Then analyze each category:
2.1 Crawlability
- robots.txt: exists, valid, not blocking important resources
- XML sitemap: exists, referenced in robots.txt, valid format
- Noindex tags: intentional vs accidental
- Crawl depth: important pages within 3 clicks of homepage
- JavaScript rendering: check if critical content requires JS execution
- Crawl budget: for large sites (>10k pages), efficiency matters
AI Crawler Management
As 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.
Known AI crawlers:
| Crawler | Company | robots.txt token | Purpose |
|---|---|---|---|
| GPTBot | OpenAI | GPTBot | Model training |
| ChatGPT-User | OpenAI | ChatGPT-User | Real-time browsing |
| ClaudeBot | Anthropic | ClaudeBot | Model training |
| PerplexityBot | Perplexity | PerplexityBot | Search index + training |
| Bytespider | ByteDance | Bytespider | Model training |
| Google-Extended | Google-Extended | Gemini training (NOT search) | |
| CCBot | Common Crawl | CCBot | Open dataset |
Key distinctions:
- Blocking
Google-Extendedprevents Gemini training use but does NOT affect Google Search indexing or AI Overviews (those useGooglebot) - Blocking
GPTBotprevents OpenAI training but does NOT prevent ChatGPT from citing your content via browsing (ChatGPT-User) - ~3-5% of websites now use AI-specific robots.txt rules
Example — selective AI crawler blocking:
# Allow search indexing, block AI training crawlers
User-agent: GPTBot
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: Bytespider
Disallow: /
# Allow all other crawlers (including Googlebot for search)
User-agent: *
Allow: /
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.
2.2 Indexability
- Canonical tags: self-referencing, no conflicts with noindex
- Duplicate content: near-duplicates, parameter URLs, www vs non-www
- Thin content: pages below minimum word counts per type
- Pagination: rel=next/prev or load-more pattern
- Hreflang: correct for multi-language/multi-region sites
- Index bloat: unnecessary pages consuming crawl budget
2.3 Security
- HTTPS: enforced, valid SSL certificate, no mixed content
- Security headers:
- Content-Security-Policy (CSP)
- Strict-Transport-Security (HSTS)
- X-Frame-Options
- X-Content-Type-Options
- Referrer-Policy
- HSTS preload: check preload list inclusion for high-security sites
2.4 URL Structure
- Clean URLs: descriptive, hyphenated, no query parameters for content
- Hierarchy: logical folder structure reflecting site architecture
- Redirects: no chains (max 1 hop), 301 for permanent moves
- URL length: flag >100 characters
- Trailing slashes: consistent usage
2.5 Mobile Optimization
- Responsive design: viewport meta tag, responsive CSS
- Touch targets: minimum 48x48px with 8px spacing
- Font size: minimum 16px base
- No horizontal scroll
- 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.
2.6 Core Web Vitals
- LCP (Largest Contentful Paint): target <2.5s
- INP (Interaction to Next Paint): target <200ms
- 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.
- CLS (Cumulative Layout Shift): target <0.1
- Evaluation uses 75th percentile of real user data
- Use PageSpeed Insights API or CrUX data if MCP available
2.7 Structured Data
- Detection: JSON-LD (preferred), Microdata, RDFa
- Validation against Google's supported types
- See seo-schema skill for full analysis
2.8 JavaScript Rendering
- Check if content visible in initial HTML vs requires JS
- Identify client-side rendered (CSR) vs server-side rendered (SSR)
- Flag SPA frameworks (React, Vue, Angular) that may cause indexing issues
- Verify dynamic rendering setup if applicable
JavaScript SEO — Canonical & Indexing Guidance (December 2025)
Google updated its JavaScript SEO documentation in December 2025 with critical clarifications:
- 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.
- noindex with JavaScript: If raw HTML contains
<meta 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. - 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.
- 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.
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.
2.9 IndexNow Protocol
- Check if site supports IndexNow for Bing, Yandex, Naver
- Supported by search engines other than Google
- Recommend implementation for faster indexing on non-Google engines
Phase 3: Present Results
Goal: Deliver the Technical Score and category breakdown. Wait for user review before proceeding.
Technical Score: XX/100
Category Breakdown
| Category | Status | Score |
|---|---|---|
| Crawlability | pass/warn/fail | XX/100 |
| Indexability | pass/warn/fail | XX/100 |
| Security | pass/warn/fail | XX/100 |
| URL Structure | pass/warn/fail | XX/100 |
| Mobile | pass/warn/fail | XX/100 |
| Core Web Vitals | pass/warn/fail | XX/100 |
| Structured Data | pass/warn/fail | XX/100 |
| JS Rendering | pass/warn/fail | XX/100 |
| IndexNow | pass/warn/fail | XX/100 |
For each category, provide a one-line summary of the most important finding.
Wait for user to review before proceeding to Phase 4.
Here's your technical SEO audit. Take a moment to review the scores and category breakdown. When you're ready, I'll walk you through the prioritized issues and specific fixes for each one.
Phase 4: Recommendations & Next Steps
Goal: Present all issues organized by priority with specific, actionable fixes.
Critical Issues (fix immediately)
Issues that block indexing, cause security vulnerabilities, or severely harm user experience. For each issue:
- What was found
- Why it matters
- Exact fix with code/config examples
High Priority (fix within 1 week)
Issues that negatively impact rankings or user experience.
Medium Priority (fix within 1 month)
Issues with moderate impact that are relatively straightforward to fix.
Low Priority (backlog)
Minor improvements and best-practice suggestions.
Offer Next Steps
Would you like me to:
- Generate robots.txt or sitemap fixes based on the crawlability findings?
- Create security header configurations (nginx/Apache/CDN) for missing headers?
- Write JSON-LD schema markup for the structured data opportunities?
- Run a full SEO audit (using the
seo-auditskill with seomator) for a 148-rule deep scan?- Analyze page content quality (using the
seo-contentskill) for E-E-A-T assessment?
Related Skills
- seo-audit — Full technical SEO audit (148 rules across 16 categories) using seomator
- seo-page — Deep single-page SEO analysis covering on-page, content, and schema
- seo-content — Content quality and E-E-A-T analysis with AI citation readiness
- seo-geo — AI visibility optimization and Generative Engine Optimization