seo-launchpad
Skill1 starsChanged 6 months agoMITView on GitHub
Build production-grade SEO infrastructure for any web project (Next.js / Astro / Nuxt / plain HTML / WordPress) and teach the owner how to maintain rankings month-over-month. Triggered when the user says "set up SEO", "improve SEO", "SEO audit", "SEO checklist", "make my site rank", "תקן SEO", "תשתית SEO", "שיפור SEO", "להופיע בגוגל", "GEO", "AI search optimization", or pastes Google Search Console screenshots. Outputs concrete files (robots, sitemap, JSON-LD schemas, llms.txt, manifest, OG metadata) and a 12-week growth playbook the owner can run without an SEO agency.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- Taltal190002-mov/claude-skillsword for word, first seen May 18, 2026
Other versions1 project uses a version of this.
Word for word · 1
- Taltal190002-mov/claude-skills★ 2100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
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 repositoryOne other file it gives its agents.
- templates/llms.txtllms.txt
The file
Show its rules and text
We split this skill into the rules it gives an agent
26 rules. About 0 are common, 19 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈19
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
Run it when the user says any of:
- Distinctive: line 30
Do NOT run it for:
- Very specific: line 91
Every public page needs unique <title>, <meta description>, canonical, OG, Twitter.
- Distinctive: line 119
Every page has exactly one canonical URL.
- Very specific: line 158
Hebrew/RTL tip: all schema string values can be Hebrew, but URLs in url/@id must be ASCII-clean.
- Distinctive: line 162
Always-include trio for any site:
- Distinctive: line 258
Don't invent FAQs. Mine them.
- Very specific: line 291
Add geo (lat/long), priceRange, image, hasMap, areaServed for max signal.
- Distinctive: line 298
Add categories (primary + 2-3 secondary)
- Very specific: line 306
If real reviews exist (on GBP, on the site, on Trustpilot, etc.), reflect them with Review and AggregateRating schema on the site.
- Very specific: line 308
If no real reviews — DON'T fake aggregateRating.
- Distinctive: line 324
Remove render-blocking third-party scripts.
- Very specific: line 327
Use Suspense boundaries around heavy below-the-fold components
- Very specific: line 338
Add property → URL prefix → enter https://domain.com
- Distinctive: line 339
Verify (HTML tag is easiest — give them the snippet to add)
- Distinctive: line 341
Use URL Inspection tool to request indexing for top 5 pages
- Distinctive: line 355
Don't recommend Google Analytics 4 unless asked.
- Distinctive: line 400
Always end the run with this structure (in their language — match Hebrew with Hebrew):
- Distinctive: line 442
Quote exact code: When pointing out a problem, paste the line.
- Distinctive: line 443
Write the file, don't describe it: Use Edit/Write tools. Don't end a run with "you should add a sitemap".
- Distinctive: line 452
Not a substitute for human content writing (you can't fake expertise)
- Distinctive: line 453
Not legal/compliance review (privacy policy needs a lawyer for some jurisdictions)
- Distinctive: line 454
Not a guarantee of #1 rankings (rankings depend on competition, authority, time)
- Distinctive: line 455
Not a paid backlink service (don't recommend buying links — Google penalizes)
- Distinctive: line 456
Not a substitute for Google Business Profile work (manual, owner-only)
- Distinctive: line 467
If this skill helped your project rank, a star on GitHub or a mention is appreciated, never required.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
SEO Launchpad
Built by LogicFlow — bootstrap SEO that actually ranks, in a single session.
The job of this skill is to take any web project from "Google barely sees it" to "every page is crawl-ready, schema-complete, AI-Overview-eligible" — and to leave the owner with a maintenance playbook they can actually run.
Two outputs at the end of every run:
- Code in their repo — committed files. Not advice. Not pseudo-code.
- A 1-page summary in their language — what changed, why, what to do this month, what to do every month.
When this skill triggers
Run it when the user says any of:
- "build SEO from scratch / set up SEO"
- "improve SEO / SEO audit / SEO sweep"
- "I want to rank for X" / "make me rank #1"
- "תקן SEO" / "תשתית SEO" / "שיפור SEO" / "להופיע בגוגל" / "אין לי favicon בגוגל"
- pastes a Google Search Console screenshot
- mentions AI Overviews / ChatGPT / Perplexity citations / GEO / llms.txt
Do NOT run it for:
- "rewrite my homepage" (content task, not SEO)
- "fix this metadata bug" (single-file fix, not infrastructure)
- "redirect from X to Y" (routing task)
Phase 0 — Read before you build (5 minutes, not skippable)
Skip this and you'll write the wrong schema for the wrong business. Pull, in order:
README.md,package.json,pyproject.toml— what stacknext.config.*,astro.config.*,nuxt.config.*— framework specificsapp/layout.*,pages/_app.*,index.html— current head/metadataapp/sitemap.*,public/sitemap.xml,public/robots.txt— what exists- Any obvious page (
app/page.tsx,pages/index.tsx,index.html) — current H1, copy, intent
Then write a 3-line summary at the top of your output:
Stack: Next.js 16 App Router + Tailwind / Astro 5 / WordPress / static HTML
Audience: he-IL / en-US / multilingual / global
Business: local service (clinic) / e-commerce / SaaS / portfolio / blog / marketplaceThat triple drives every decision below. A SaaS doesn't need LocalBusiness schema. A clinic doesn't need Product schema. A blog needs Article. Don't generic-blast.
Phase 1 — Foundation (always)
These four files exist on every site, regardless of stack. If any is missing, generate it. If present, audit and patch.
1.1 robots.txt
Block private routes (admin, api/admin), allow image bots explicitly, point to the sitemap. One line per directive, no wildcards in the wrong place (this is where 50% of robots.txt are broken).
Template: see templates/robots.txt. Adapt the Disallow: paths to the actual project.
Common mistakes to fix on first encounter:
Disallow: /left over from staging — nukes the entire site from Google- Missing
Sitemap:line — Google can find it but indirectly - Blocking CSS/JS folders — Google needs them to render the page
1.2 sitemap (XML)
For Next.js App Router: src/app/sitemap.ts returning MetadataRoute.Sitemap.
For Astro: @astrojs/sitemap plugin.
For static HTML: hand-written XML committed to public/sitemap.xml.
Rules:
- One entry per public, indexable URL. No noindex pages.
lastModifiedis a date that means something — bump it only when content changes. Daily auto-bumps train Google to ignore it.priorityis a relative hint, not a vote. Homepage 1.0, hub pages 0.8-0.9, leaf pages 0.6-0.7.changeFrequencyis a hint. Honest: weekly for homepage, monthly for content, yearly for legal pages.
Template: see templates/sitemap.ts (Next.js).
1.3 Metadata strategy (per-page)
Every public page needs unique <title>, <meta description>, canonical, OG, Twitter. The default-fallback-via-template pattern in Next.js 15+ is the right shape:
// layout.tsx
title: { default: "...", template: "%s | Brand" }Per page:
export const metadata: Metadata = {
title: "Specific keyword-led title",
description: "120-155 chars with action + value",
alternates: { canonical: "https://canonical/page" },
};Title formula (this matters — it's the #1 CTR lever):
- Local:
[Service] [in City] — [Differentiator] | [Brand]→ "מיקרובליידינג בנתניה — מומחית מוסמכת | M.L Beautique" - E-commerce:
[Product] — [Key Feature] | [Brand] - SaaS:
[Job to be done] — [Brand](verb-led) - Article:
[Headline](let the article title speak)
Length: titles ≤ 60 chars (or they truncate in SERP), descriptions 120-155 chars.
Template: see templates/nextjs-metadata-helpers.ts.
1.4 Canonical URLs (often forgotten)
Every page has exactly one canonical URL. Including:
- pagination —
?page=2should canonical to itself if content differs, or to/productsif it's a thin slice - query strings —
?utm_source=...canonical to base URL - protocol — always https
- trailing slash — pick one (most modern sites: no trailing slash) and stick with it across the site
In Next.js metadata API, alternates: { canonical: "..." } handles this. Don't rely on next.config.js redirects alone — they don't fix the canonical inside HTML.
Phase 2 — Schema.org (JSON-LD) — the biggest leverage point
In 2026, structured data drives:
- Rich results in regular Google search
- Eligibility for AI Overviews (Position Zero)
- Citation in ChatGPT/Perplexity/Claude AI answers
- Knowledge panel formation for the brand
Pick the schemas that match the business type, not the ones that look impressive. A wrong schema (claiming Product on a service page) is a trust hit.
Pick by business type
| Business | Required | Recommended | Optional |
| Local service (clinic, salon, gym, restaurant) | LocalBusiness (specific subtype: BeautySalon, Restaurant, etc), Organization, WebSite | Service per offering, BreadcrumbList, FAQPage | Review, AggregateRating (only if real reviews) |
| E-commerce | Organization, Product, Offer, BreadcrumbList | Review, AggregateRating, FAQPage per product | VideoObject for product videos |
| SaaS | Organization, WebSite, SoftwareApplication, FAQPage | BreadcrumbList, HowTo for tutorials | VideoObject for demos |
| Blog / publication | Organization, WebSite, Article (or BlogPosting), Person (author) | BreadcrumbList, FAQPage per post | VideoObject, Recipe, HowTo |
| Portfolio / agency | Organization, WebSite, Person | Project/CreativeWork, BreadcrumbList | VideoObject |
| Marketplace | Organization, WebSite, BreadcrumbList, per-listing Product or Service | FAQPage, Review |
Templates for each: templates/schemas.ts.
Critical implementation rules
- One JSON-LD per type, per page. Multiple
Organizationblocks on the same page split the signal. - Use
@idto connect. SitewideOrganizationgets@id: "https://site/#organization". Articles reference it viapublisher: { "@id": "..." }. This makes Google build a real entity graph. - Test every schema at https://search.google.com/test/rich-results before commit.
- Don't fake data. No
aggregateRatingwithout real reviews on the page. Google detects this and penalizes. - Hebrew/RTL tip: all schema string values can be Hebrew, but URLs in
url/@idmust be ASCII-clean.
The "boring schemas that quietly help"
Always-include trio for any site:
[
{"@type": "Organization", "name": "...", "url": "...", "logo": "..."},
{"@type": "WebSite", "name": "...", "url": "...", "publisher": {"@id": "...#organization"}},
{"@type": "BreadcrumbList", "itemListElement": [...]}
]These three give Google the entity, the site, and the navigation context. They're not dramatic, but they're the foundation everything else builds on.
Phase 3 — Content SEO
Schema gets you in the door. Content keeps you on page 1.
Headings
- One
<h1>per page. Includes the target keyword and location (for local) or target keyword and modifier (for everything else). <h2>headings often phrased as questions — this is the #1 trick for AI Overview eligibility. "מה ההבדל בין X ל-Y?" beats "השוואה בין X ו-Y" for AI citation.<h3>for sub-points. Don't go to h4 unless it's a long article.
Body copy
The first 50-70 words after the H1 are critical for AI Overviews. Lead with a direct, citable answer to the implied query. Example for "מיקרובליידינג נתניה":
Bad H1 + intro: "מיקרובליידינג. הטיפול שכולן מדברות עליו. זה מהפכני." Good: "מיקרובליידינג בנתניה הוא טכניקת איפור קבוע אומנותית שיוצרת משיכות שיער דקות בגבות. התוצאה נשמרת 1-3 שנים. ב-M.L Beautique המחיר 1,400 ₪ כולל תיקון."
The good version answers price + duration + brand + location in 30 words. AI engines love this; humans skim it; Google's snippet selector picks it up verbatim.
Word count
There's no magic number. Pages that rank #1 for competitive queries average 800-1500 words, but only because that's how long it takes to actually answer the question. Pad to hit a number = anti-pattern.
Internal linking
- Anchor text matters more than people remember. Don't write "click here". Write "מיקרובליידינג בנתניה" as the link text — that's a vote for that keyword.
- Aim for 3-5 internal links per content page, pointing to related deep pages.
- Hub-and-spoke: every leaf page links back to its hub; hub links to all leaves.
Images
- Filenames matter —
microblading-natanya-after.jpgbeatsIMG_2034.jpg. - Alt text in the language of the audience, descriptive (not keyword-stuffed):
"גבות אחרי טיפול מיקרובליידינג ב-M.L Beautique נתניה". - WebP or AVIF, lazy-loaded outside the fold.
- Width/height attributes set to prevent CLS.
Phase 4 — AI search & GEO (the new layer)
GEO = Generative Engine Optimization. Optimizing not for "rank #1 in Google search" but for "be cited in ChatGPT / Perplexity / Google AI Overview answers". Roughly 40% of the work overlaps with traditional SEO; 60% is new.
llms.txt — give AI crawlers a map
A markdown file at /llms.txt that summarizes the site for LLM crawlers. Proposed by Jeremy Howard (fast.ai) Sept 2024, now widely supported.
Format (strict):
# Brand Name
> One-paragraph summary of what the brand/site is about. 1-3 sentences.
## Key pages
- [Homepage](https://site.com/): What the brand offers
- [Services](https://site.com/services): All services with prices
- [Contact](https://site.com/contact): Address, phone, hours
## Articles
- [Article 1](https://site.com/blog/x): What it covers
## Optional
(Section with `Optional` heading marks links AI can SKIP if context is short.)
- [Privacy Policy](https://site.com/privacy)Template: templates/llms.txt.
For Next.js, place app/llms.txt/route.ts to serve it. For static, drop in /public.
There's also llms-full.txt — same idea but with the full body content of key pages inlined. Useful for documentation sites where you want the AI to read the actual text without crawling page-by-page.
FAQ + HowTo schema for AI Overviews
FAQPage schema is the single highest-leverage thing for AI Overview eligibility. Every content page should have 3-7 FAQs, each phrased as a real question users ask, with clear 1-3 sentence answers.
Mining sources for real questions:
- Google "People also ask"
- Google Search Console — Performance → Queries (real questions your audience already searches)
- Reddit / community forums in the niche
- Customer support inbox
Don't invent FAQs. Mine them.
Question-led H2 / Listicle structure
AI engines extract from listicles and Q&A formats more reliably than from prose. When the content allows, structure as:
H1: How to do X
H2: What you need
H2: Step 1 — ...
H2: Step 2 — ...
H2: Common mistakesThis is also the structure for HowTo schema. Use both together.
Phase 5 — Local SEO (only if applicable)
Skip this section if the project isn't a local business.
LocalBusiness schema (the right subtype)
Generic LocalBusiness is fine but a specific subtype is better. Pick from:
BeautySalon(clinic, hair, nails, makeup)MedicalClinic/Dentist/PhysicianRestaurant/Cafe/BakeryLegalServiceAutoRepair/Plumber/Electrician- See https://schema.org/LocalBusiness for full list
Required fields: name, address (with streetAddress, addressLocality, addressCountry), telephone, url, openingHoursSpecification.
Add geo (lat/long), priceRange, image, hasMap, areaServed for max signal.
Google Business Profile (the off-site half)
The site can be perfect and still not rank in the Map Pack without GBP. The owner needs to:
- Claim/verify https://business.google.com listing
- Match NAP (Name/Address/Phone) exactly to the site (whitespace, punctuation, parens — all of it)
- Add categories (primary + 2-3 secondary)
- Add 10+ photos
- Solicit reviews (this is the dominant ranking factor for Map Pack)
The skill should not try to do GBP setup itself — it's manual. But it should generate a GBP setup checklist (see guides/google-business-profile.md) and emphasize that without GBP, local SEO is half-built.
Reviews
If real reviews exist (on GBP, on the site, on Trustpilot, etc.), reflect them with Review and AggregateRating schema on the site. Not just GBP. This adds star ratings to organic SERP listings.
If no real reviews — DON'T fake aggregateRating. Google detects this. Skip the schema until reviews exist.
Phase 6 — Performance (Core Web Vitals)
Targets:
- LCP (Largest Contentful Paint) ≤ 2.5s
- CLS (Cumulative Layout Shift) ≤ 0.1
- INP (Interaction to Next Paint) ≤ 200ms
These are ranking factors. They're also what Google AI Overview selectors use to decide which pages to summarize.
Quick wins to apply on first audit:
next/imagefor all images (auto-converts to WebP/AVIF, lazy loads, sets dimensions)next/fontfor all custom fonts (no FOIT, no FOUT, no CLS)- Remove render-blocking third-party scripts; defer or load async
- Preconnect to fonts.googleapis.com if using
- Set explicit width/height on every
<img>and<iframe> - Use
Suspenseboundaries around heavy below-the-fold components
Measure with PageSpeed Insights (https://pagespeed.web.dev/) — desktop AND mobile. Mobile is the one that matters for ranking.
Phase 7 — Monitoring (set this up; don't skip)
Google Search Console (mandatory)
Walk the user through:
- Add property → URL prefix → enter
https://domain.com - Verify (HTML tag is easiest — give them the snippet to add)
- Submit sitemap (
sitemap.xml) - Use URL Inspection tool to request indexing for top 5 pages
See guides/google-search-console-setup.md for the full walkthrough.
Google Business Profile (if local)
See above.
Optional but valuable
- Plausible / Umami / Fathom — privacy-friendly traffic analytics (GDPR-clean, no cookie banner needed)
- Microsoft Clarity — free heatmaps + session recordings
- Ahrefs Webmaster Tools — free, gives backlink data GSC doesn't
Don't recommend Google Analytics 4 unless asked. It triggers cookie consent obligations and most small sites don't need its complexity.
Phase 8 — The 12-week growth playbook
This is what you give the owner at the end. A printable plan they can run without hiring an SEO agency.
Week 1-2 — Foundation
☐ All Phase 1-7 deployed
☐ GSC verified, sitemap submitted
☐ GBP claimed (if local)
☐ Top 5 pages: indexing requested
Week 3-4 — First measurement
☐ Open GSC Performance, set last 28 days
☐ Note top 10 queries that get impressions but few clicks → write down
☐ Run PageSpeed on top 3 pages → fix any red metric
Week 5-8 — Content depth
☐ For each impression-getting query without a dedicated page → create one
☐ For each existing page ranking #6-15 → expand body to 800+ words
☐ Add FAQ schema to top 5 pages (mine real questions)
☐ Add 1 internal link from homepage to a struggling deep page
Week 9-12 — Authority
☐ List the brand on 5 industry-relevant directories (with NAP match)
☐ Reach out to 3 partners/suppliers for backlinks (link from their "partners" page)
☐ Publish 1 long-form article (1500+ words) targeting a non-branded query
☐ Solicit 5 customer reviews (GBP if local, Trustpilot if e-commerce)
Every month forever
☐ GSC review (check Performance trend, fix any new errors)
☐ Update sitemap lastModified ONLY for pages that genuinely changed
☐ Add 1 new piece of content
☐ Refresh 1 old page (new info, expanded answers, new image)Customize this list to the user's industry. Save the customized version to seo-playbook.md in their project root.
Output format — what to give the user at the end
Always end the run with this structure (in their language — match Hebrew with Hebrew):
# 🚀 SEO Launchpad — [Project] — [Date]
## ✅ Files created/changed
- robots.txt
- src/app/sitemap.ts
- src/app/layout.tsx (added 3 JSON-LD schemas + manifest.icons + meta)
- src/app/manifest.ts
- src/app/llms.txt/route.ts
- src/app/[business-page]/page.tsx (rewrote H1/title/intro)
- public/icon.png (resized) + apple-icon.png
## 🎯 What this gets you
- [Specific outcome 1]
- [Specific outcome 2]
- [Specific outcome 3]
## 🔧 Manual steps you need to do (15 min)
1. Add to Vercel env vars: NEXT_PUBLIC_BASE_URL=https://...
2. Verify Google Search Console (snippet attached)
3. Submit sitemap.xml
4. Request indexing for top 5 pages: [list]
## 📅 12-week playbook
[paste customized version]
## 📈 What to expect
- Week 1-2: Google starts crawling
- Week 3-4: First impressions data in GSC
- Week 6-8: First ranking improvements visible
- Week 12: First non-branded organic traffic
Run by [seo-launchpad](https://github.com/.../seo-launchpad) by LogicFlow.Style rules (don't break)
- Match the user's language. Hebrew in → Hebrew out. English in → English out.
- Quote exact code. When pointing out a problem, paste the line. "There might be a missing tag" is noise.
- Write the file, don't describe it. Use Edit/Write tools. Don't end a run with "you should add a sitemap".
- One H1 per output page. Clean structure.
- No emoji vomit. A few section markers are fine. Sentences without emojis.
- Pick one option, explain the trade. "Use Resend over SendGrid because..." — not "you could use Resend, SendGrid, Postmark, AWS SES, Mailgun".
What this skill is NOT
- Not a substitute for human content writing (you can't fake expertise)
- Not legal/compliance review (privacy policy needs a lawyer for some jurisdictions)
- Not a guarantee of #1 rankings (rankings depend on competition, authority, time)
- Not a paid backlink service (don't recommend buying links — Google penalizes)
- Not a substitute for Google Business Profile work (manual, owner-only)
The skill catches the technical 70% that gets sites stuck on page 3. The remaining 30% is content quality + time + authority — that's the owner's job, and the playbook teaches it.
Credits & attribution
Built and maintained by LogicFlow — turning founder-mode side projects into production-grade web infra.
License: MIT (see LICENSE in the repo). Free to fork, use, modify, redistribute. If this skill helped your project rank, a star on GitHub or a mention is appreciated, never required.
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.

