seo-technical
Skill9 starsChanged 8 months agoMITView on GitHub
Technical SEO best practices for site architecture, crawlability, Core Web Vitals, and structured data. Use when auditing or improving technical SEO.
38 other projects use a version of this.
Adopted by
Most recently taken up by
- alpit-patel/seo-aeo-geo-kittheir own version, first seen Nov 8, 2026
- zhtyyx/codex-seotheir own version, first seen Nov 1, 2026
- Maudeunfledged834/startup-founder-skillstheir own version, first seen Oct 25, 2026
- joaoguirunas/team-ostheir own version, first seen Oct 21, 2026
- DoddleHQ/doddle-seo-geo-skillstheir own version, first seen Oct 20, 2026
- susantedit/claude-skillstheir own version, first seen Oct 20, 2026
Used with
Projects with it also use seo-agentic, seo-maps and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
AgriciDanielSkillseo-agentic
Audit and fix agent readiness: the Lighthouse Agentic Browsing fraction, accessibility tree for agents, robots.txt and Content-Signal for AI agents, WAF treatment of agent traffic, llms.txt, Markdown delivery, ai-catalog.json, /.well-known discovery files, and WebMCP tools. Use when the user asks whether AI agents can use or browse the site, or about llms.txt or WebMCP. Exclude AI citability and brand signals (seo-geo) and commerce protocol depth (seo-ecommerce).
Also in 5 projects that use this
timruebenachSkillseo-maps
Maps intelligence for local SEO — geo-grid rank tracking, GBP profile auditing via API, review intelligence across Google/Tripadvisor/Trustpilot, cross-platform NAP verification (Google/Bing/Apple/OSM), competitor radius mapping, and LocalBusiness schema generation from API data. Three-tier capability: free (Overpass + Geoapify), DataForSEO (full intelligence), DataForSEO + Google (maximum coverage). Use when user says "maps", "geo-grid", "rank tracking", "GBP audit", "review velocity", "competitor radius", "maps analysis", "local rank tracking", "Share of Local Voice", or "SoLV".
Also in 17 projects that use this
megastepSkillseo-sitemap
Analyze existing XML sitemaps or generate new ones with industry templates. Validates format, URLs, and structure. Use when user says "sitemap", "generate sitemap", "sitemap issues", or "XML sitemap".
Also in 29 projects that use this
timruebenachSkillseo-ecommerce
E-commerce SEO analysis: Google Shopping visibility, Amazon marketplace intelligence, product schema validation, competitor pricing analysis, and marketplace keyword gaps. Combines on-page product SEO with marketplace data from DataForSEO Merchant API. Use when user says "ecommerce SEO", "product SEO", "Google Shopping", "marketplace SEO", "product schema", "Amazon SEO", "product listings", "shopping ads", or "merchant SEO".
Also in 17 projects that use this
megastepSkillseo-images
Image optimization analysis for SEO and performance. Checks alt text, file sizes, formats, responsive images, lazy loading, and CLS prevention. Use when user says "image optimization", "alt text", "image SEO", "image size", or "image audit".
Also in 25 projects that use this
mangollcSkillseo-backlinks
Backlink analysis and link building strategy: competitor backlink profiling, outreach plan generation, monthly SEO reporting framework, toxic link identification, link opportunity scoring, and unlinked mention discovery.
Also in 18 projects that use this
- +3 more from timruebenach
- +3 more from megastep
Other versions38 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 38
- AgriciDaniel/claude-seo★ 20ksame name
- shawnpang/startup-founder-skills★ 331same name
- zhtyyx/codex-seo★ 152same name
- ronaldships/foundvia-discovery★ 29same name
- Thibaultbm/claude-seo-geo★ 18same name
- coopersimson96/ai-content-system★ 17same name
- ZachArticulateV/designer-pro-and-seo★ 10same name
- Maudeunfledged834/startup-founder-skills★ 8same name
- YepAPI/skills★ 8same name
- joaoguirunas/team-os★ 6same name
28 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository73 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- ab-testingSkill
- analytics-attributionSkill
- analytics-dashboardsSkill
- cohort-analysisSkill
- marketing-reportingSkill
- brand-architectureSkill
- brand-guidelinesSkill
- brand-positioningSkill
- brand-voiceSkill
- competitive-positioningSkill
- visual-identitySkill
- community-strategySkill
- blog-seo-writingSkill
- content-auditSkill
- content-pillarsSkill
- content-repurposingSkill
- editorial-calendarSkill
- storytelling-frameworksSkill
- thought-leadershipSkill
- ugc-strategySkill
- ad-copySkill
- copywriting-frameworksSkill
- cta-optimizationSkill
- headline-formulasSkill
- landing-page-copySkill
- microcopy-uxSkill
- sales-page-copySkill
- campaign-conceptsSkill
- cro-frameworksSkill
- funnel-designSkill
- landing-page-optimizationSkill
- email-automationSkill
- email-copywritingSkill
- email-deliverabilitySkill
- email-segmentationSkill
- email-sequencesSkill
- growth-loopsSkill
- plg-strategiesSkill
- referral-programsSkill
- viral-mechanicsSkill
- influencer-outreachSkill
- influencer-roiSkill
- martech-stackSkill
- utm-trackingSkill
- ad-creative-testingSkill
- budget-allocationSkill
- google-adsSkill
- linkedin-adsSkill
- meta-adsSkill
- retargetingSkill
- crisis-communicationSkill
- media-pitchingSkill
- competitive-analysisSkill
- go-to-marketSkill
- launch-playbookSkill
- product-positioningSkill
- press-releasesSkill
- customer-interviewsSkill
- The first 60 shown.
The file
Show its rules and text
We split this skill into the rules it gives an agent
26 rules. 0 are common, 17 are distinctive, and 9 are very specific to this project.
0
Common
Most of the 35 edited versions we read keep these.
17
Distinctive
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 11
Use this skill when auditing a website's technical SEO health, diagnosing crawl or indexing issues, optimizing Core Web Vitals, …
- Very specific: line 30
Place at domain root: https://example.com/robots.txt
- Distinctive: line 31
Never block CSS or JavaScript files (Googlebot needs them to render pages)
- Distinctive: line 51
Not updating robots.txt after URL structure changes
- Distinctive: line 85
Every page should have a self-referencing canonical tag
- Distinctive: line 88
Don't canonical across different domains unless you intend to consolidate ranking signals
- Very specific: line 102
Every hreflang set must include x-default (fallback)
- Distinctive: line 104
Use ISO 639-1 language codes and ISO 3166-1 Alpha 2 country codes
- Very specific: line 127
Use font-display: swap for web fonts
- Very specific: line 139
Use requestAnimationFrame for visual updates
- Distinctive: line 141
Use web workers for heavy computation
- Very specific: line 154
Always set width and height attributes on images and videos
- Very specific: line 156
Use font-display: optional to prevent layout shift from font loading
- Distinctive: line 157
Avoid inserting content above existing content after page load
- Distinctive: line 223
Test with Google's Rich Results Test: https://search.google.com/test/rich-results
- Distinctive: line 225
Use JSON-LD format (Google's preferred implementation)
- Very specific: line 226
Place in the <head> or <body> of the page
- Distinctive: line 233
Use a CDN (Cloudflare, Fastly, AWS CloudFront)
- Distinctive: line 235
Use HTTP/2 or HTTP/3
- Very specific: line 243
Use responsive images with srcset and sizes attributes
- Distinctive: line 244
Remove unused CSS and JavaScript
- Very specific: line 250
Use <picture> element for format fallbacks
- Distinctive: line 284
Avoid for any page that needs to rank in search
- Distinctive: line 285
If unavoidable, implement dynamic rendering as a fallback
- Distinctive: line 288
Use "URL Inspection" in Google Search Console to see how Googlebot renders the page
- Distinctive: line 290
Check that metadata, headings, and body content are present in the rendered version
“Common” is measured: kept by at least 6 in 10 of the 35 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Technical SEO
When to Activate
Use this skill when auditing a website's technical SEO health, diagnosing crawl or indexing issues, optimizing Core Web Vitals, implementing structured data, or planning site architecture. Also use when migrating a site, launching a new domain, or troubleshooting ranking drops that aren't content-related.
First Questions
- What CMS/framework is the site built on? (WordPress, Next.js, Shopify, custom — each has different technical SEO considerations)
- What's the current state? (new site, established site with issues, migration in progress)
- What triggered this audit? (ranking drop, new site launch, performance issues, indexing problems)
- Do you have access to Google Search Console and server logs?
- What's the site size? (100 pages vs. 100,000 pages — crawl budget matters at scale)
Crawlability and Indexing
Robots.txt
The robots.txt file controls which crawlers can access which parts of your site.
Best practices:
- Place at domain root:
https://example.com/robots.txt - Never block CSS or JavaScript files (Googlebot needs them to render pages)
- Block admin pages, staging environments, internal search results, and duplicate parameter URLs
- Reference your XML sitemap:
Sitemap: https://example.com/sitemap.xml
Template:
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /staging/
Disallow: /search?
Disallow: /*?sort=
Disallow: /*?filter=
Sitemap: https://example.com/sitemap.xmlCommon mistakes:
- Accidentally blocking the entire site (
Disallow: /) after a staging-to-production migration - Blocking JavaScript/CSS files that Googlebot needs for rendering
- Not updating robots.txt after URL structure changes
XML Sitemaps
Sitemaps tell search engines which pages exist and which are most important.
Best practices:
- Include only indexable, canonical pages (200 status, no noindex)
- Maximum 50,000 URLs per sitemap file; use sitemap index for larger sites
- Include
<lastmod>with accurate dates (not today's date on every page) - Submit sitemap in Google Search Console
- Auto-generate sitemaps (don't maintain manually)
- Separate sitemaps by content type for large sites:
sitemap-blog.xml,sitemap-products.xml
Don't include in sitemaps:
- Pages with
noindextags - Non-canonical URLs
- Redirecting URLs
- Pages returning 4xx or 5xx errors
- Thin content or duplicate pages
Canonical Tags
Canonical tags tell search engines which version of a page is the "original" when duplicates exist.
When to use:
- URL parameter variations:
?sort=price,?color=blue - HTTP vs. HTTPS versions
- www vs. non-www versions
- Paginated content (canonical to page 1 or self-referencing)
- Syndicated content (canonical to the original)
- Mobile vs. desktop URLs (if separate)
Rules:
- Every page should have a self-referencing canonical tag
- Canonical URL must return a 200 status code
- Canonical should point to the exact URL (including protocol and trailing slash)
- Don't canonical across different domains unless you intend to consolidate ranking signals
Hreflang (International SEO)
For sites targeting multiple languages or regions:
<link rel="alternate" hreflang="en-us" href="https://example.com/page" />
<link rel="alternate" hreflang="en-gb" href="https://example.co.uk/page" />
<link rel="alternate" hreflang="de" href="https://example.de/seite" />
<link rel="alternate" hreflang="x-default" href="https://example.com/page" />Rules:
- Every hreflang set must include
x-default(fallback) - Hreflang must be reciprocal (Page A points to Page B, and Page B points back to Page A)
- Use ISO 639-1 language codes and ISO 3166-1 Alpha 2 country codes
- Can be implemented in HTML head, HTTP headers, or XML sitemap
Core Web Vitals
Google's page experience signals. Directly affect rankings, especially on mobile.
LCP (Largest Contentful Paint) — Target: < 2.5 seconds
Measures when the largest visible element finishes loading.
Common causes of poor LCP:
- Large, unoptimized hero images
- Slow server response time (TTFB)
- Render-blocking CSS/JavaScript
- Web fonts causing layout shifts
Fixes:
- Serve images in WebP/AVIF format with proper sizing
- Implement server-side caching and CDN
- Preload the LCP image:
<link rel="preload" as="image" href="hero.webp"> - Inline critical CSS, defer non-critical CSS
- Use
font-display: swapfor web fonts
INP (Interaction to Next Paint) — Target: < 200ms
Replaced FID in 2024. Measures responsiveness to all user interactions throughout the page lifecycle.
Common causes of poor INP:
- Long JavaScript tasks blocking the main thread
- Heavy event handlers (click, scroll, keypress)
- Third-party scripts (analytics, chat widgets, ads)
Fixes:
- Break long tasks into smaller chunks using
requestIdleCallbackorsetTimeout - Use
requestAnimationFramefor visual updates - Defer non-essential third-party scripts
- Use web workers for heavy computation
- Implement
content-visibility: autofor off-screen content
CLS (Cumulative Layout Shift) — Target: < 0.1
Measures visual stability — how much the page layout shifts during loading.
Common causes of poor CLS:
- Images without width/height attributes
- Ads, embeds, or iframes without reserved space
- Dynamically injected content above the fold
- Web fonts causing text reflow (FOIT/FOUT)
Fixes:
- Always set
widthandheightattributes on images and videos - Reserve space for ads and dynamic content with CSS
aspect-ratioormin-height - Use
font-display: optionalto prevent layout shift from font loading - Avoid inserting content above existing content after page load
Structured Data (Schema Markup)
Structured data helps search engines understand your content and can trigger rich results.
Priority Schema Types
Article — Blog posts, news articles
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How to Improve Your Technical SEO",
"author": {"@type": "Person", "name": "Sarah Chen"},
"datePublished": "2026-01-15",
"dateModified": "2026-03-10",
"image": "https://example.com/images/technical-seo.webp"
}FAQ — Frequently asked questions (can trigger FAQ rich results)
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "What is technical SEO?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Technical SEO involves optimizing..."
}
}]
}Product — eCommerce product pages
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Premium Running Shoes",
"image": "https://example.com/shoes.webp",
"offers": {
"@type": "Offer",
"price": "129.99",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "2341"
}
}HowTo — Step-by-step guides LocalBusiness — Local business pages BreadcrumbList — Navigation breadcrumbs Organization — Company information
Validation
- Test with Google's Rich Results Test: https://search.google.com/test/rich-results
- Monitor in Search Console under "Enhancements"
- Use JSON-LD format (Google's preferred implementation)
- Place in the
<head>or<body>of the page
Site Speed Optimization
Server-Side
- Use a CDN (Cloudflare, Fastly, AWS CloudFront)
- Enable server-side caching (Redis, Varnish)
- Use HTTP/2 or HTTP/3
- Compress responses with Brotli (preferred) or Gzip
- Optimize TTFB to under 200ms
Front-End
- Minify HTML, CSS, and JavaScript
- Lazy load images and videos below the fold:
loading="lazy" - Preload critical resources: fonts, hero images, above-the-fold CSS
- Use responsive images with
srcsetandsizesattributes - Remove unused CSS and JavaScript
- Self-host fonts instead of loading from Google Fonts
Image Optimization
- WebP for photos, SVG for icons and illustrations, AVIF for maximum compression
- Serve appropriate sizes (don't load a 2000px image in a 400px container)
- Use
<picture>element for format fallbacks - Compress to 80-85% quality (imperceptible to humans)
Mobile-First Indexing
Google indexes the mobile version of your site first. Ensure:
- Mobile and desktop content are identical (no hiding content on mobile)
- Structured data is present on the mobile version
- Meta robots, canonical, and hreflang tags are on the mobile version
- Mobile pages load fast (especially on 3G connections)
- Touch targets are at least 48x48px with 8px spacing
- Text is readable without zooming (16px minimum base font)
JavaScript Rendering and SEO
For JavaScript-heavy sites (React, Next.js, Vue, Angular):
Server-Side Rendering (SSR)
Best for SEO. Pages are fully rendered on the server before being sent to the browser.
- Next.js:
getServerSidePropsor App Router with server components - Nuxt.js: Universal mode
Static Site Generation (SSG)
Pre-builds pages at build time. Best for content that doesn't change frequently.
- Next.js:
getStaticProps+getStaticPaths - Ideal for blog posts, documentation, landing pages
Client-Side Rendering (CSR)
Worst for SEO. Google can render JavaScript, but it's slower and less reliable.
- Avoid for any page that needs to rank in search
- If unavoidable, implement dynamic rendering as a fallback
Testing JavaScript SEO
- Use "URL Inspection" in Google Search Console to see how Googlebot renders the page
- Compare the rendered HTML with the source HTML
- Check that metadata, headings, and body content are present in the rendered version
Technical SEO Audit Checklist
Crawlability
- Robots.txt allows access to all important pages and resources
- XML sitemap is submitted to Search Console and contains only indexable URLs
- No orphan pages (every important page is linked from at least one other page)
- Redirect chains are under 3 hops (ideally 1)
- No redirect loops
- 404 pages return proper 404 status codes (not soft 404s)
Indexing
- Important pages are indexed (check Search Console Coverage report)
- No unintentional
noindextags on important pages - Canonical tags are correct and consistent
- Duplicate content is resolved via canonicals, redirects, or consolidation
- Parameter URLs are handled (robots.txt block, canonical, or Search Console parameter tool)
Performance
- LCP < 2.5s on mobile
- INP < 200ms on mobile
- CLS < 0.1 on mobile
- TTFB < 200ms
- Page size < 3MB (ideally < 1.5MB)
Structured Data
- Schema markup is valid (tested with Rich Results Test)
- Article, Product, FAQ, or other relevant schema types are implemented
- BreadcrumbList schema matches the visual breadcrumbs
- No structured data errors or warnings in Search Console
Security and Protocols
- HTTPS is enforced (HTTP redirects to HTTPS)
- SSL certificate is valid and not expiring soon
- Mixed content warnings are resolved
- HTTP/2 or HTTP/3 is enabled
Mobile
- Mobile-friendly test passes
- Content parity between mobile and desktop
- Touch targets meet size requirements (48x48px)
- No horizontal scrolling on mobile
Quality Gate
- All critical crawl and index issues are identified and prioritized
- Core Web Vitals are measured with real user data (CrUX), not just lab data
- Structured data is validated and error-free
- Recommendations are prioritized by impact (crawlability > indexing > performance > schema)
- Changes are documented with expected impact and measurement plan
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

