---
name: etsy-listing-optimizer
description: Audits an existing live Etsy listing against 2026 SEO best practices and outputs a diff of suggested improvements. Use when the user wants to optimize an Etsy listing, improve listing SEO, fix tag gaps, rewrite a title or description, audit a slow-converting listing, or run an Etsy SEO check. Outputs ready-to-apply diff. Never auto-applies — operator must approve.
---

# Etsy Listing Optimizer

You audit Etsy listings against Etsy's 2026 search-ranking signals and output structured improvement suggestions. You never modify a listing without explicit operator approval — your job is to produce a diff and explain the rationale.

## When to invoke

- User says "optimize my Etsy listing" / "audit this listing" / "improve listing SEO"
- User pastes an Etsy listing URL or ID and asks for SEO feedback
- User says "this listing isn't getting views" / "low conversion on listing X"
- User wants to compare a listing to top-ranking competitors

## Required inputs

1. **Listing URL or ID** — the listing to audit
2. **Optional: target keyword(s)** — primary buyer-intent phrases (e.g., "dnd notebook," "campaign journal")
3. **Optional: top-3 competing listing URLs** — for SERP comparison

## Etsy 2026 ranking signals (in order of weight)

Based on Etsy's published seller documentation and the 2024-2026 algorithm updates:

1. **Query–listing relevance** — title + tags + category alignment with search phrase
2. **Listing quality score** — conversion rate, click-through rate, view-to-favorite ratio
3. **Recency** — newly listed or recently renewed items get a temporary boost
4. **Shop quality** — review average, response time, on-time shipping rate
5. **Personalization** — buyer's past behavior, location, purchase history
6. **Translation quality** — if shop serves non-English markets

The optimizer audits the first 4 (signals 5 + 6 are buyer-side or shop-level, not per-listing actionable).

## Audit checklist

For each listing, score (0-5) and explain:

### Title (weight: 30%)
- ✅ First 60 chars contain primary keyword (front-loading rule)
- ✅ Total length 95-140 chars (Etsy's sweet spot per their 2025 seller research)
- ✅ Contains buyer-intent modifiers (gift for X, perfect for Y, made for Z)
- ✅ No keyword stuffing (each keyword appears ≤2 times)
- ✅ Title is readable as English, not just SEO soup

### Tags (weight: 25%)
- ✅ All 13 tags used (Etsy's max — wasting tag slots is wasting search visibility)
- ✅ Each tag is 2-4 words (single-word tags lose to multi-word in 2026 algorithm)
- ✅ Long-tail tags dominate (e.g., "dnd campaign journal" not "journal")
- ✅ No duplicate or near-duplicate tags
- ✅ No category-name tags (Etsy already knows the category from the taxonomy ID — wasted slot)
- ✅ Mix of buyer-intent + product-feature + niche-audience tags

### Description (weight: 15%)
- ✅ ≥160 chars (Etsy SEO floor)
- ✅ Primary keyword in first 160 chars (search snippet)
- ✅ Structured: opener → specs → use cases → CTA
- ✅ Scannable: short paragraphs, line breaks, no walls of text
- ✅ Includes related searches (e.g., a "dnd notebook" listing also mentions "campaign journal," "dungeon master gift," "ttrpg accessory")

### Photos (weight: 15%)
- ✅ ≥5 photos used (Etsy's analytics show 5+ converts 30% better than <5)
- ✅ Photo 1: clean product shot on white or neutral background
- ✅ Photo 2: lifestyle / in-use shot
- ✅ Photo 3: scale shot (hand holding, on desk, near book)
- ✅ Photo 4: detail close-up (texture, binding, foil stamp)
- ✅ Photo 5: variants / colorway grid
- ✅ All photos ≥2000px on longest edge
- ✅ Video added if applicable (3-15 sec, demo or rotation)

### Pricing + variants (weight: 10%)
- ✅ Price aligns with shop's brand positioning (premium ≠ $9.99 charm pricing)
- ✅ Variants logical (size/color/format), not 50+ overwhelming options
- ✅ Quantity tracking enabled if low-stock psychology applies

### Shop signals (weight: 5%)
- ✅ Section assignment (not "Default Section")
- ✅ Featured listing on shop home page if it's a hero SKU
- ✅ Linked to shop About story

## Output format

```
=== ETSY LISTING AUDIT ===

Listing: {title}
URL: https://www.etsy.com/listing/{id}/
Audited against: "{target_keyword}" (if provided)

OVERALL SCORE: 67/100

┌─ Title (18/30) ────────────────────────────────────┐
│ ⚠ First 60 chars miss primary keyword              │
│ ⚠ Length 87 chars — bump toward 120 for SEO        │
│ ✓ No keyword stuffing                              │
│                                                    │
│ Current:                                           │
│   "Premium D&D Notebook — Hardcover"                │
│ Suggested:                                         │
│   "DnD Campaign Journal Premium Hardcover Notebook │
│   for Dungeon Masters & Storytellers Gift"         │
└────────────────────────────────────────────────────┘

┌─ Tags (15/25) ─────────────────────────────────────┐
│ ⚠ Only 9/13 tags used (4 slots wasted)             │
│ ⚠ "journal" too generic — use "campaign journal"   │
│                                                    │
│ Current tags:                                      │
│   notebook, journal, dnd, dungeon master,          │
│   hardcover, gift, rpg, tabletop, fantasy          │
│ Suggested replacement set (13/13):                 │
│   1. dnd campaign journal                          │
│   2. dungeon master gift                           │
│   3. ttrpg notebook                                │
│   4. hardcover dnd journal                         │
│   5. dungeon master notebook                       │
│   6. lorekeeper notebook                           │
│   7. session zero journal                          │
│   8. premium dnd journal                           │
│   9. tabletop rpg accessory                        │
│   10. d20 storyteller gift                         │
│   11. character journal                            │
│   12. worldbuilder notebook                        │
│   13. fantasy journal hardcover                    │
└────────────────────────────────────────────────────┘

┌─ Description (10/15) ──────────────────────────────┐
│ ✓ ≥160 chars                                       │
│ ⚠ Primary keyword not in first 160 chars           │
│ ⚠ No CTA at end                                    │
│                                                    │
│ Suggested rewrite: [see attached]                  │
└────────────────────────────────────────────────────┘

┌─ Photos (12/15) ───────────────────────────────────┐
│ ✓ 5 photos used                                    │
│ ⚠ No video — add 5-sec rotation                    │
└────────────────────────────────────────────────────┘

┌─ Pricing + variants (8/10) ────────────────────────┐
│ ✓ $44 aligns with premium positioning              │
│ ⚠ No variant for cream vs onyx — losing AOV        │
└────────────────────────────────────────────────────┘

┌─ Shop signals (4/5) ───────────────────────────────┐
│ ✓ Section assigned                                 │
│ ⚠ Not featured on shop home page                   │
└────────────────────────────────────────────────────┘

=== PRIORITY FIXES (in order) ===

1. [HIGH] Rewrite title — front-load "dnd campaign journal"
2. [HIGH] Fill 4 empty tag slots
3. [MEDIUM] Rewrite first paragraph of description
4. [MEDIUM] Add cream/onyx variant
5. [LOW] Add 5-sec product rotation video
6. [LOW] Feature on shop home page

Apply these changes? (y/N for each, or 'all'):
```

## Strict rules

- **Never auto-apply** — always output the diff and wait for explicit per-change approval
- **Don't suggest more than 6 changes** per audit — operator decision fatigue is real
- **Cite the ranking signal** for every suggestion ("front-loading primary keyword improves query-listing relevance, weight 30%")
- **Don't suggest things the operator already does well** — only flag gaps
- **If the listing is already 85+/100, say so** and recommend no further changes (over-optimization is a real failure mode)

## Related skills

- `etsy-listing-publisher` — publishes after optimization approved
- `etsy-ai-disclosure-auditor` — runs alongside for compliance
- `etsy-shop-doctor` — shop-wide version of this audit
- `keepr-dnd-skills/dnd-listing-writer` — generates the copy this optimizer audits
