Skip to content
Back to skills

Seo Ready

ASecurity

Make any Next.js page SEO-ready with metadata, structured data, sitemap, and accessibility best practices.

  • 24 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 29, 2026
ai-agentstypescriptbashnextjsgitdatabase

Works with

  • cli

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned May 29, 2026

npx -y skills add J-StaR-Films-Studios/VibeCode-Protocol-Suite --skill seo-ready --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Seo Ready?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Seo Ready
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/j-star-films-studios-seo-ready/badge)](https://www.skillsdirectory.com/skills/j-star-films-studios-seo-ready)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: seo-ready
description: Make any Next.js page SEO-ready with metadata, structured data, sitemap, and accessibility best practices.
---

# SEO Ready Skill

Transform Next.js pages into fully SEO-optimized pages.

## When to Use
- SEO optimization requests
- Before launching pages to production
- When asked about metadata or search visibility
- Accessibility audits

## Phase 1: Global Setup (Once Per Project)

### Check Root Metadata
```bash
head -50 src/app/layout.tsx
```

Required in `layout.tsx`:
```typescript
export const metadata: Metadata = {
  title: { default: "Site Name", template: "%s | Site Name" },
  description: "...",
  metadataBase: new URL("https://your-domain.com"),
  openGraph: { /* ... */ },
  twitter: { /* ... */ },
};
```

### Sitemap
```bash
ls src/app/sitemap.ts 2>/dev/null || echo "MISSING"
```

If missing, create `src/app/sitemap.ts`:
```typescript
import { MetadataRoute } from 'next'

export default function sitemap(): MetadataRoute.Sitemap {
  const baseUrl = 'https://your-domain.com'
  return [
    { url: baseUrl, lastModified: new Date(), changeFrequency: 'yearly', priority: 1 },
  ]
}
```

### Robots.txt
Create `src/app/robots.ts` if missing.

### Web Manifest (PWA)
Create `src/app/manifest.ts` if missing.

### Icons
Check: `src/app/icon.png`, `src/app/apple-icon.png`

### OpenGraph Image
Options:
- **Static**: `src/app/opengraph-image.png` (1200x630px)
- **Dynamic**: `src/app/opengraph-image.tsx`

### JSON-LD Structured Data
Add to `<body>` in layout:
```tsx
<script
  type="application/ld+json"
  dangerouslySetInnerHTML={{
    __html: JSON.stringify({
      "@context": "https://schema.org",
      "@type": "SoftwareApplication",
      "name": "Your App",
    })
  }}
/>
```

## Phase 2: Per-Page Optimization

### Server Component Check
If page starts with `'use client'`, refactor:
- Move client logic to `src/features/<feature>/components/`
- Page file becomes Server Component that imports client component

### Page Metadata
```typescript
import { Metadata } from 'next';

export const metadata: Metadata = {
  title: "Page Title",  // Becomes "Page Title | Site Name"
  description: "Specific description for this page.",
};
```

### Semantic HTML Audit
- `<main>` for primary content
- `<section>` with `id` for anchors
- `<article>` for standalone content
- Proper heading hierarchy (`<h1>` → `<h2>` etc.)

### Image Optimization
- Use `<Image>` component
- Required: `alt`, `width`, `height`

## Phase 3: Accessibility

- ARIA labels on interactive elements
- `<html lang="en">` set correctly
- Keyboard navigable

## Phase 4: Verification

```bash
pnpm build
pnpm dev
# Visit /sitemap.xml and /robots.txt
```

## Checklist
| Item | Status |
|------|--------|
| Root metadata | [ ] |
| sitemap.ts | [ ] |
| robots.ts | [ ] |
| manifest.ts | [ ] |
| Icons | [ ] |
| OpenGraph image | [ ] |
| JSON-LD | [ ] |
| Page metadata | [ ] |
| Semantic HTML | [ ] |
| Build passes | [ ] |

## References

Content writing patterns merged from [coreyhaines31/marketingskills](https://github.com/coreyhaines31/marketingskills):

- [AEO & GEO Patterns](references/aeo-geo-patterns.md): Content blocks optimized for answer engines and AI citation
- [AI Writing Detection](references/ai-writing-detection.md): Words and phrases to avoid (the "anti-slop" guide)

Files in this skill

  • SKILL.md3.2 KB
  • references/aeo-geo-patterns.md9.2 KB
  • references/ai-writing-detection.md6.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.