AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Seo Launchpad

skill-taltal190002-mov-seo-launchpad-seo-launchpad · by Taltal190002-mov

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 Conso…

No reviews yet
0 installs
22 views
0.0% view→install

Install

$ agentstack add skill-taltal190002-mov-seo-launchpad-seo-launchpad

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-taltal190002-mov-seo-launchpad-seo-launchpad)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Seo Launchpad? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

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:

  1. Code in their repo — committed files. Not advice. Not pseudo-code.
  2. 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:

  1. README.md, package.json, pyproject.toml — what stack
  2. next.config.*, astro.config.*, nuxt.config.* — framework specifics
  3. app/layout.*, pages/_app.*, index.html — current head/metadata
  4. app/sitemap.*, public/sitemap.xml, public/robots.txt — what exists
  5. 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 / marketplace

That 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.
  • lastModified is a date that means something — bump it only when content changes. Daily auto-bumps train Google to ignore it.
  • priority is a relative hint, not a vote. Homepage 1.0, hub pages 0.8-0.9, leaf pages 0.6-0.7.
  • changeFrequency is 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 `, `, 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=2 should canonical to itself if content differs, or to /products if 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

  1. One JSON-LD per type, per page. Multiple Organization blocks on the same page split the signal.
  2. Use @id to connect. Sitewide Organization gets @id: "https://site/#organization". Articles reference it via publisher: { "@id": "..." }. This makes Google build a real entity graph.
  3. Test every schema at https://search.google.com/test/rich-results before commit.
  4. Don't fake data. No aggregateRating without real reviews on the page. Google detects this and penalizes.
  5. Hebrew/RTL tip: all schema string values can be Hebrew, but URLs in url/@id must 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 `` per page. Includes the target keyword and location (for local) or target keyword and modifier (for everything else).
  • `` headings often phrased as questions — this is the #1 trick for AI Overview eligibility. "מה ההבדל בין X ל-Y?" beats "השוואה בין X ו-Y" for AI citation.
  • `` 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.jpg beats IMG_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 mistakes

This 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 / Physician
  • Restaurant / Cafe / Bakery
  • LegalService
  • AutoRepair / 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:

  1. Claim/verify https://business.google.com listing
  2. Match NAP (Name/Address/Phone) exactly to the site (whitespace, punctuation, parens — all of it)
  3. Add categories (primary + 2-3 secondary)
  4. Add 10+ photos
  5. 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/image for all images (auto-converts to WebP/AVIF, lazy loads, sets dimensions)
  • next/font for 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 ` and `
  • Use Suspense boundaries 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:

  1. Add property → URL prefix → enter https://domain.com
  2. Verify (HTML tag is easiest — give them the snippet to add)
  3. Submit sitemap (sitemap.xml)
  4. 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 thei

…

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [Taltal190002-mov](https://github.com/Taltal190002-mov)
- **Source:** [Taltal190002-mov/seo-launchpad](https://github.com/Taltal190002-mov/seo-launchpad)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.