--- name: roier-seo description: Technical SEO auditor and fixer. Runs Lighthouse/PageSpeed audits on websites or local dev servers, analyzes SEO/performance/accessibility scores, and automatically implements fixes for meta tags, structured data, Core Web Vitals, and accessibility issues. version: 1.0.0 author: Kemeny Studio license: MIT tags: [SEO, Lighthouse, PageSpeed, Accessibility, Performance, Meta Tags, Structured Data, Core Web Vitals, WCAG, Next.js, React, Vue] dependencies: [lighthouse, chrome-launcher] --- # Roier SEO - Technical SEO Auditor & Fixer AI-powered SEO optimization skill that audits websites and automatically implements fixes. ## When to use this skill **Use Roier SEO when:** - User asks to "audit my site" or "check SEO" - User wants to "improve performance" or "fix SEO issues" - User mentions "lighthouse", "pagespeed", or "core web vitals" - User wants to add/fix meta tags, structured data, or accessibility - User has a local dev server and wants SEO analysis **Key features:** - **Full Audits**: Lighthouse audits on any URL (localhost or live) - **Auto-Fix**: Implements fixes directly in the codebase - **Framework Aware**: Detects Next.js, React, Vue, Nuxt, plain HTML - **Core Web Vitals**: Track FCP, LCP, TBT, CLS metrics - **Structured Data**: JSON-LD schemas for rich snippets - **Accessibility**: WCAG compliance fixes **Use alternatives instead:** - **React Best Practices**: For general React performance optimization - **Manual Lighthouse**: For one-off audits without auto-fixing ## Quick start ### Installation After installing the skill, install the audit dependencies: ```bash cd ~/.claude/skills/roier-seo/scripts npm install ``` ### Running an Audit For a **live website**: ```bash node ~/.claude/skills/roier-seo/scripts/audit.js https://example.com ``` For a **local dev server** (must be running): ```bash node ~/.claude/skills/roier-seo/scripts/audit.js http://localhost:3000 ``` Output formats: ```bash # JSON output (default, for programmatic use) node ~/.claude/skills/roier-seo/scripts/audit.js https://example.com # Human-readable summary node ~/.claude/skills/roier-seo/scripts/audit.js https://example.com --output=summary # Save to file node ~/.claude/skills/roier-seo/scripts/audit.js https://example.com --save=results.json ``` ## Audit categories The audit returns scores (0-100) for five categories: | Category | Description | Weight | |----------|-------------|--------| | **Performance** | Page load speed, Core Web Vitals | High | | **Accessibility** | WCAG compliance, screen reader support | High | | **Best Practices** | Security, modern web standards | Medium | | **SEO** | Search engine optimization, crawlability | High | | **PWA** | Progressive Web App compliance | Low | ## Technical SEO fix patterns ### Meta tags (HTML Head) #### Title tag ```html
```
### Color contrast
- **4.5:1** contrast ratio for normal text
- **3:1** contrast ratio for large text (18px+ or 14px+ bold)
### Form labels
```html
```
### Skip link
```html
Skip to main content
```
### Button accessibility
```html
```
## Framework-specific patterns
### Next.js (App Router)
```tsx
// app/layout.tsx
import type { Metadata } from 'next'
export const metadata: Metadata = {
title: {
default: 'Site Name',
template: '%s | Site Name'
},
description: 'Site description',
openGraph: {
title: 'Site Name',
description: 'Site description',
url: 'https://example.com',
siteName: 'Site Name',
type: 'website',
},
}
```
### Next.js (Pages Router)
```jsx
import Head from 'next/head';
export default function Page() {
return (
<>