.fyi
SkillsMCPPluginsSubagents

Browse by category

DevOps & CI/CD SkillsProductivity & Workflow SkillsOther SkillsProduct & Project Management SkillsDocumentation & Knowledge SkillsCode Review & Refactor SkillsBackend & APIs SkillsAgent Meta & Communication SkillsResearch SkillsSecurity SkillsUX UI & Design SkillsTesting & QA SkillsSee all →

Every Claude Code skill, MCP server, plugin and subagent in one directory. Searchable, comparable, and one command from installed. Live stats from GitHub, npm and PyPI.

We're on Product HuntYour agent's app storeCheck it out →
Agent SkillsMCP ServersPluginsSubagentsCoding Agents
CollectionsOfficial publishersGlossaryFAQBlogSearchSavedFeedback
PrivacyTermsllms.txtSitemap

made with ♥ · © 2026 aaaa.fyi

Independent project · real data from public registries

…/web-quality-skills/seo
home/skills/addyosmani/web-quality-skills/seo
addyosmani avatar

seo

byaddyosmani· 31 skills

Installs

36k

Stars

2.5k

Forks

231

Category

Marketing & SEO

View on GitHub

TL;DR

Optimize for search engine visibility and ranking. Use when asked to "improve SEO", "optimize for search", "fix meta tags", "add structured data", "sitemap optimization", or "search engine optimization".

How to install seo?

addyosmani/web-quality-skills/seo
$npx -y skills add addyosmani/web-quality-skills --skill seo

Installs into the current project.

›Prefer a prompt? Paste this to your agent

Use this skill

Run `npx skills use "https://github.com/addyosmani/web-quality-skills" --skill "addyosmani/web-quality-skills/seo"` and follow the generated skill instructions now. Read its complete output, redirecting it to a temporary file first if necessary. Resolve relative paths from the supporting-files directory it provides.

Use the whole pack

Use the skills in "https://github.com/addyosmani/web-quality-skills" that are relevant to the current task. Run `npx skills add "https://github.com/addyosmani/web-quality-skills"` and select the relevant skills, then follow their instructions.

Files · 1

View on GitHub
SKILL.md
1# SEO optimization
2 
3Search engine optimization based on Lighthouse SEO audits and Google Search guidelines. Focus on technical SEO, on-page optimization, and structured data.
4 
5## SEO fundamentals
6 
7Search ranking factors (approximate influence):
8 
9| Factor | Influence | This Skill |
10|--------|-----------|------------|
11| Content quality & relevance | ~40% | Partial (structure) |
12| Backlinks & authority | ~25% | ✗ |
13| Technical SEO | ~15% | ✓ |
14| Page experience (Core Web Vitals) | ~10% | See [Core Web Vitals](../core-web-vitals/SKILL.md) |
15| On-page SEO | ~10% | ✓ |
16 
17---
18 
19## Technical SEO
20 
21### Crawlability
22 
23**robots.txt:**
24```text
25# /robots.txt
26User-agent: *
27Allow: /
28 
29# Block admin/private areas
30Disallow: /admin/
31Disallow: /api/
32Disallow: /private/
33 
34# Don't block resources needed for rendering
35# ❌ Disallow: /static/
36 
37Sitemap: https://example.com/sitemap.xml
38```
39 
40**Meta robots:**
41```html
42<!-- Default: indexable, followable -->
43<meta name="robots" content="index, follow">
44 
45<!-- Noindex specific pages -->
46<meta name="robots" content="noindex, nofollow">
47 
48<!-- Indexable but don't follow links -->
49<meta name="robots" content="index, nofollow">
50 
51<!-- Control snippets -->
52<meta name="robots" content="max-snippet:150, max-image-preview:large">
53```
54 
55**Canonical URLs:**
56```html
57<!-- Prevent duplicate content issues -->
58<link rel="canonical" href="https://example.com/page">
59 
60<!-- Self-referencing canonical (recommended) -->
61<link rel="canonical" href="https://example.com/current-page">
62 
63<!-- For paginated content -->
64<link rel="canonical" href="https://example.com/products">
65<!-- Or use rel="prev" / rel="next" for explicit pagination -->
66```
67 
68### XML sitemap
69 
70```xml
71<?xml version="1.0" encoding="UTF-8"?>
72<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
73 <url>
74 <loc>https://example.com/</loc>
75 <lastmod>2024-01-15</lastmod>
76 <changefreq>daily</changefreq>
77 <priority>1.0</priority>
78 </url>
79 <url>
80 <loc>https://example.com/products</loc>
81 <lastmod>2024-01-14</lastmod>
82 <changefreq>weekly</changefreq>
83 <priority>0.8</priority>
84 </url>
85</urlset>
86```
87 
88**Sitemap best practices:**
89- Maximum 50,000 URLs or 50MB per sitemap
90- Use sitemap index for larger sites
91- Include only canonical, indexable URLs
92- Update `lastmod` when content changes
93- Submit to Google Search Console
94 
95### URL structure
96 
97```
98✅ Good URLs:
99https://example.com/products/blue-widget
100https://example.com/blog/how-to-use-widgets
101 
102❌ Poor URLs:
103https://example.com/p?id=12345
104https://example.com/products/item/category/subcategory/blue-widget-2024-sale-discount
105```
106 
107**URL guidelines:**
108- Use hyphens, not underscores
109- Lowercase only
110- Keep short (< 75 characters)
111- Include target keywords naturally
112- Avoid parameters when possible
113- Use HTTPS always
114 
115### HTTPS & security
116 
117```html
118<!-- Ensure all resources use HTTPS -->
119<img src="https://example.com/image.jpg">
120 
121<!-- Not: -->
122<img src="http://example.com/image.jpg">
123```
124 
125**Security headers for SEO trust signals:**
126```
127Strict-Transport-Security: max-age=31536000; includeSubDomains
128X-Content-Type-Options: nosniff
129X-Frame-Options: DENY
130```
131 
132---
133 
134## On-page SEO
135 
136### Title tags
137 
138```html
139<!-- ❌ Missing or generic -->
140<title>Page</title>
141<title>Home</title>
142 
143<!-- ✅ Descriptive with primary keyword -->
144<title>Blue Widgets for Sale | Premium Quality | Example Store</title>
145```
146 
147**Title tag guidelines:**
148- 50-60 characters (Google truncates ~60)
149- Primary keyword near the beginning
150- Unique for every page
151- Brand name at end (unless homepage)
152- Action-oriented when appropriate
153 
154### Meta descriptions
155 
156```html
157<!-- ❌ Missing or duplicate -->
158<meta name="description" content="">
159 
160<!-- ✅ Compelling and unique -->
161<meta name="description" content="Shop premium blue widgets with free shipping. 30-day returns. Rated 4.9/5 by 10,000+ customers. Order today and save 20%.">
162```
163 
164**Meta description guidelines:**
165- 150-160 characters
166- Include primary keyword naturally
167- Compelling call-to-action
168- Unique for every page
169- Matches page content
170 
171### Heading structure
172 
173```html
174<!-- ❌ Poor structure -->
175<h2>Welcome to Our Store</h2>
176<h4>Products</h4>
177<h1>Contact Us</h1>
178 
179<!-- ✅ Proper hierarchy -->
180<h1>Blue Widgets - Premium Quality</h1>
181 <h2>Product Features</h2>
182 <h3>Durability</h3>
183 <h3>Design</h3>
184 <h2>Customer Reviews</h2>
185 <h2>Pricing</h2>
186```
187 
188**Heading guidelines:**
189- Single `<h1>` per page (the main topic)
190- Logical hierarchy (don't skip levels)
191- Include keywords naturally
192- Descriptive, not generic
193 
194### Image SEO
195 
196```html
197<!-- ❌ Poor image SEO -->
198<img src="IMG_12345.jpg">
199 
200<!-- ✅ Optimized image -->
201<img src="blue-widget-product-photo.webp"
202 alt="Blue widget with chrome finish, side view showing control panel"
203 width="800"
204 height="600"
205 loading="lazy">
206```
207 
208**Image guidelines:**
209- Descriptive filenames with keywords
210- Alt text describes the image content
211- Compressed and properly sized
212- WebP/AVIF with fallbacks
213- Lazy load below-fold images
214 
215### Internal linking
216 
217```html
218<!-- ❌ Non-descriptive -->
219<a href="/products">Click here</a>
220<a href="/widgets">Read more</a>
221 
222<!-- ✅ Descriptive anchor text -->
223<a href="/products/blue-widgets">Browse our blue widget collection</a>
224<a href="/guides/widget-maintenance">Learn how to maintain your widgets</a>
225```
226 
227**Linking guidelines:**
228- Descriptive anchor text with keywords
229- Link to relevant internal pages
230- Reasonable number of links per page
231- Fix broken links promptly
232- Use breadcrumbs for hierarchy
233 
234---
235 
236## Structured data (JSON-LD)
237 
238### Organization
239 
240```html
241<script type="application/ld+json">
242{
243 "@context": "https://schema.org",
244 "@type": "Organization",
245 "name": "Example Company",
246 "url": "https://example.com",
247 "logo": "https://example.com/logo.png",
248 "sameAs": [
249 "https://twitter.com/example",
250 "https://linkedin.com/company/example"
251 ],
252 "contactPoint": {
253 "@type": "ContactPoint",
254 "telephone": "+1-555-123-4567",
255 "contactType": "customer service"
256 }
257}
258</script>
259```
260 
261### Article
262 
263```html
264<script type="application/ld+json">
265{
266 "@context": "https://schema.org",
267 "@type": "Article",
268 "headline": "How to Choose the Right Widget",
269 "description": "Complete guide to selecting widgets for your needs.",
270 "image": "https://example.com/article-image.jpg",
271 "author": {
272 "@type": "Person",
273 "name": "Jane Smith",
274 "url": "https://example.com/authors/jane-smith"
275 },
276 "publisher": {
277 "@type": "Organization",
278 "name": "Example Blog",
279 "logo": {
280 "@type": "ImageObject",
281 "url": "https://example.com/logo.png"
282 }
283 },
284 "datePublished": "2024-01-15",
285 "dateModified": "2024-01-20"
286}
287</script>
288```
289 
290### Product
291 
292```html
293<script type="application/ld+json">
294{
295 "@context": "https://schema.org",
296 "@type": "Product",
297 "name": "Blue Widget Pro",
298 "image": "https://example.com/blue-widget.jpg",
299 "description": "Premium blue widget with advanced features.",
300 "brand": {
301 "@type": "Brand",
302 "name": "WidgetCo"
303 },
304 "offers": {
305 "@type": "Offer",
306 "price": "49.99",
307 "priceCurrency": "USD",
308 "availability": "https://schema.org/InStock",
309 "url": "https://example.com/products/blue-widget"
310 },
311 "aggregateRating": {
312 "@type": "AggregateRating",
313 "ratingValue": "4.8",
314 "reviewCount": "1250"
315 }
316}
317</script>
318```
319 
320### FAQ
321 
322```html
323<script type="application/ld+json">
324{
325 "@context": "https://schema.org",
326 "@type": "FAQPage",
327 "mainEntity": [
328 {
329 "@type": "Question",
330 "name": "What colors are available?",
331 "acceptedAnswer": {
332 "@type": "Answer",
333 "text": "Our widgets come in blue, red, and green."
334 }
335 },
336 {
337 "@type": "Question",
338 "name": "What is the warranty?",
339 "acceptedAnswer": {
340 "@type": "Answer",
341 "text": "All widgets include a 2-year warranty."
342 }
343 }
344 ]
345}
346</script>
347```
348 
349### Breadcrumbs
350 
351```html
352<script type="application/ld+json">
353{
354 "@context": "https://schema.org",
355 "@type": "BreadcrumbList",
356 "itemListElement": [
357 {
358 "@type": "ListItem",
359 "position": 1,
360 "name": "Home",
361 "item": "https://example.com"
362 },
363 {
364 "@type": "ListItem",
365 "position": 2,
366 "name": "Products",
367 "item": "https://example.com/products"
368 },
369 {
370 "@type": "ListItem",
371 "position": 3,
372 "name": "Blue Widgets",
373 "item": "https://example.com/products/blue-widgets"
374 }
375 ]
376}
377</script>
378```
379 
380### Validation
381 
382Test structured data at:
383- [Google Rich Results Test](https://search.google.com/test/rich-results)
384- [Schema.org Validator](https://validator.schema.org/)
385 
386---
387 
388## AI search visibility (emerging)
389 
390A class of AI search engines (ChatGPT search, Perplexity, Gemini Overviews) cite web pages from their training and retrieval pipelines, not from the classic ranked results. As of 2026 this is an unstable area — there are no confirmed ranking signals — but a few things are low-cost and won't hurt:
391 
392- **Don't block AI crawlers wholesale.** `OAI-SearchBot`, `PerplexityBot`, `GoogleOther`, `Google-Extended`, `ClaudeBot`, etc. each have separate `robots.txt` user-agents. Decide per-bot rather than blanket-blocking — a `Disallow` removes you from that bot's citations.
393- **Lean on schema.org `Article`/`Product`/`FAQPage`.** AI summarizers parse structured data more reliably than they parse prose layouts. The structured-data examples above are the same ones that help here.
394- **Make first-paragraph answers self-contained.** Both featured snippets and AI summaries pull short, coherent passages. A definition or direct answer in the first 1-2 sentences is more extractable than the same content buried under marketing prose.
395 
396### `llms.txt` — emerging, unproven
397 
398[`llms.txt`](https://llmstxt.org/) is a proposed convention (a Markdown index of your site's important pages, served at `/llms.txt`) for LLMs to consume. As of mid-2026 adoption is ~0.015% of sites and **no major AI vendor has confirmed they read it**. Treat it as a 5-minute speculative add for content sites — not a meaningful ranking or citation factor — and don't reorganize content around it.
399 
400---
401 
402## Mobile SEO
403 
404### Responsive design
405 
406```html
407<!-- ❌ Not mobile-friendly -->
408<meta name="viewport" content="width=1024">
409 
410<!-- ✅ Responsive viewport -->
411<meta name="viewport" content="width=device-width, initial-scale=1">
412```
413 
414### Tap targets
415 
416```css
417/* ❌ Too small for mobile */
418.small-link {
419 padding: 4px;
420 font-size: 12px;
421}
422 
423/* ✅ Adequate tap target */
424.mobile-friendly-link {
425 padding: 12px;
426 font-size: 16px;
427 min-height: 48px;
428 min-width: 48px;
429}
430```
431 
432### Font sizes
433 
434```css
435/* ❌ Too small on mobile */
436body {
437 font-size: 10px;
438}
439 
440/* ✅ Readable without zooming */
441body {
442 font-size: 16px;
443 line-height: 1.5;
444}
445```
446 
447---
448 
449## International SEO
450 
451### Hreflang tags
452 
453```html
454<!-- For multi-language sites -->
455<link rel="alternate" hreflang="en" href="https://example.com/page">
456<link rel="alternate" hreflang="es" href="https://example.com/es/page">
457<link rel="alternate" hreflang="fr" href="https://example.com/fr/page">
458<link rel="alternate" hreflang="x-default" href="https://example.com/page">
459```
460 
461### Language declaration
462 
463```html
464<html lang="en">
465<!-- or -->
466<html lang="es-MX">
467```
468 
469---
470 
471## SEO audit checklist
472 
473### Critical
474- [ ] HTTPS enabled
475- [ ] robots.txt allows crawling
476- [ ] No `noindex` on important pages
477- [ ] Title tags present and unique
478- [ ] Single `<h1>` per page
479 
480### High priority
481- [ ] Meta descriptions present
482- [ ] Sitemap submitted
483- [ ] Canonical URLs set
484- [ ] Mobile-responsive
485- [ ] Core Web Vitals passing
486 
487### Medium priority
488- [ ] Structured data implemented
489- [ ] Internal linking strategy
490- [ ] Image alt text
491- [ ] Descriptive URLs
492- [ ] Breadcrumb navigation
493 
494### Ongoing
495- [ ] Fix crawl errors in Search Console
496- [ ] Update sitemap when content changes
497- [ ] Monitor ranking changes
498- [ ] Check for broken links
499- [ ] Review Search Console insights
500 
501---
502 
503## Tools
504 
505| Tool | Use |
506|------|-----|
507| Google Search Console | Monitor indexing, fix issues |
508| Google PageSpeed Insights | Performance + Core Web Vitals |
509| Rich Results Test | Validate structured data |
510| Lighthouse | Full SEO audit |
511| Screaming Frog | Crawl analysis |
512 
513## References
514 
515- [Google Search Central](https://developers.google.com/search)
516- [Schema.org](https://schema.org/)
517- [Core Web Vitals](../core-web-vitals/SKILL.md)
518- [Web Quality Audit](../web-quality-audit/SKILL.md)

Security

Passed

  • Gen Agent Trust Hubpass
  • Socketpass
  • Snykpass
  • Runlayerpass
  • ZeroLeakspass

Preview

addyosmani/web-quality-skillsaddyosmani/web-quality-skills

$ npx -y skills add addyosmani/web-quality-skills --skill seo

▸ installing to .claude/skills…

✓ seo ready

Repoaddyosmani/web-quality-skills
TypeSkills
CategoryMarketing & SEO
ForMarketerProduct Manager
UpdatedJun 2026
License—
First seenJul 26, 2026

Tags

Skill

Related

6 picks
Type
  1. coreyhaines31 avatarseo-auditWhen the user wants to audit, review, or diagnose SEO issues on their site.SkillsJul 2026173k42k
  2. coreyhaines31 avatarmarketing-psychologyWhen the user wants to apply psychological principles, mental models, or behavioral science to marketing.SkillsJul 2026119k42k
  3. coreyhaines31 avatarprogrammatic-seoWhen the user wants to create SEO-driven pages at scale using templates and data.SkillsJul 2026110k42k
  4. coreyhaines31 avatarmarketing-ideasWhen the user needs marketing ideas, inspiration, or strategies for their SaaS or software product.SkillsJul 2026107k42k
  5. coreyhaines31 avatarai-seoWhen the user wants to optimize content for AI search engines, get cited by LLMs, or appear in AI-generated answers.SkillsJul 202699k42k
  6. coreyhaines31 avatarad-creativeWhen the user wants to generate, iterate, or scale ad creative — headlines, descriptions, primary text, or full ad variations — for any paid advertising…SkillsJul 202689k42k