brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
seo-auditAudit a website or page for SEO issues: technical SEO, on-page optimization, content quality, backlink profile, and keyword strategy. TRIGGER when: user says /seo-audit, "SEO review", "audit my site", "check SEO", "search optimization".
Independent GitHub snapshot · Automated classification · Original documentation governs
Perform a structured SEO audit covering technical health, on-page optimization, content quality, backlink profile, and keyword strategy. Produces a prioritized list of findings with actionable recommendations.
Determine the scope of the audit before beginning.
| Input | Required? | Notes |
|---|---|---|
| URL or domain | Yes | Single page, subdomain, or full domain |
| Target keywords | Recommended | 5-20 primary keywords to evaluate against |
| Competitor domains | Optional | 2-3 competitors for benchmarking |
| Google Search Console data | Optional | Crawl errors, indexing stats, query data |
| Google Analytics / traffic data | Optional | Organic traffic trends, landing pages |
| Current sitemap URL | Optional | Usually at /sitemap.xml |
| robots.txt URL | Optional | Usually at /robots.txt |
If the user provides only a URL, proceed with what can be inferred and note where additional data would strengthen the audit.
Evaluate the technical foundation that search engines need to crawl and index the site.
| Check | What to Look For | Severity |
|---|---|---|
| Crawlability | robots.txt blocking important pages, noindex tags on key pages | Critical |
| Indexation | Pages missing from index, duplicate content indexed, index bloat | Critical |
| Site speed | Core Web Vitals (LCP > 2.5s, FID > 100ms, CLS > 0.1) | High |
| Mobile-friendliness | Viewport meta tag, responsive layout, tap target sizing | High |
| HTTPS | Mixed content warnings, HTTP pages, certificate issues | High |
| XML Sitemap | Missing, outdated, includes non-200 URLs, exceeds 50K URLs | Medium |
| Canonical tags | Missing, self-referencing, conflicting with other signals | Medium |
| Structured data | Missing schema markup, validation errors | Medium |
| Hreflang | Incorrect language/region codes, missing return tags | Medium (if international) |
| Redirect chains | More than 2 hops, redirect loops, 302 instead of 301 | Medium |
| 404 errors | Broken internal links, high-authority pages returning 404 | Medium |
| URL structure | Non-descriptive URLs, excessive parameters, duplicate paths | Low |
For each issue found, record:
Evaluate how well individual pages are optimized for their target keywords.
| Element | Best Practice | Common Issues |
|---|---|---|
| Title tag | 50-60 chars, primary keyword near front, unique per page | Too long, duplicate across pages, missing keyword |
| Meta description | 150-160 chars, includes keyword, compelling CTA | Missing, duplicate, no call to action |
| H1 tag | One per page, includes primary keyword, matches search intent | Multiple H1s, missing H1, generic text |
| Header hierarchy | Logical H2-H6 nesting, keywords in H2s | Skipped levels, keyword stuffing |
| URL slug | Short, descriptive, hyphenated, includes keyword | Long parameter strings, underscores, no keyword |
| Image alt text | Descriptive, includes keyword where natural | Missing, generic ("image1.jpg"), keyword-stuffed |
| Internal linking | Relevant anchor text, links to related pages, reasonable count | Orphan pages, generic anchors ("click here") |
| Keyword placement | In first 100 words, naturally distributed, semantic variants | Keyword stuffing, missing from body entirely |
| Content length | Competitive with top-ranking pages for target query | Thin content (< 300 words for informational queries) |
Evaluate content against what search engines reward.
| Factor | Evaluation Criteria |
|---|---|
| Search intent match | Does the content format match what ranks? (listicle vs. guide vs. tool vs. product page) |
| E-E-A-T signals | Author bylines, credentials, citations, first-hand experience, editorial standards |
| Freshness | Last updated date, outdated statistics or references, stale examples |
| Comprehensiveness | Covers subtopics that top-ranking competitors cover, answers related questions |
| Uniqueness | Original research, unique angle, not just rewritten competitor content |
| Readability | Short paragraphs, clear headings, bullet points, appropriate reading level |
| Multimedia | Relevant images, videos, diagrams, interactive elements |
| User engagement signals | Bounce rate, time on page, scroll depth (if analytics available) |
Assess the quantity, quality, and risk of the site's backlink profile.
| Metric | What to Evaluate |
|---|---|
| Total referring domains | Trend over time (growing, flat, declining) |
| Domain authority / rating | Compared to competitors |
| Link quality distribution | % from high-authority vs. low-quality domains |
| Anchor text distribution | Over-optimized exact-match vs. natural/branded mix |
| Toxic / spammy links | Links from PBNs, link farms, irrelevant foreign-language sites |
| Lost links | Recently lost high-value links that could be reclaimed |
| Competitor link gap | Domains linking to competitors but not to the audited site |
| Content linkability | Does the site have assets that naturally attract links? |
Recommended anchor text distribution for a healthy profile:
| Anchor Type | Healthy Range |
|---|---|
| Branded (company name) | 30-50% |
| URL / naked link | 15-25% |
| Generic ("click here", "learn more") | 10-20% |
| Topical / partial match | 10-20% |
| Exact match keyword | 1-5% |
Evaluate the current keyword targeting approach.
| Analysis | Method |
|---|---|
| Keyword coverage | Map existing pages to target keywords — identify gaps and cannibalization |
| Search intent alignment | For each target keyword, verify the page type matches SERP intent (informational, commercial, transactional, navigational) |
| Keyword difficulty vs. authority | Flag keywords where site authority is too low to realistically compete |
| Quick wins | Pages ranking positions 4-20 that could move up with optimization |
| Cannibalization | Multiple pages targeting the same keyword, diluting authority |
| Long-tail opportunities | Related queries with lower competition and clear intent |
| SERP feature opportunities | Featured snippets, People Also Ask, image packs the site could capture |
Structure the audit report as follows:
Use an Impact vs. Effort matrix to help the user prioritize:
| Low Effort | Medium Effort | High Effort | |
|---|---|---|---|
| High Impact | DO FIRST | PLAN NEXT | STRATEGIC BET |
| Medium Impact | QUICK WIN | SCHEDULE | CONSIDER |
| Low Impact | IF TIME ALLOWS | BACKLOG | SKIP |