seo-review
Perform a focused SEO audit on JavaScript concept pages to maximize search visibility, featured snippet optimization, and ranking potential
Install
mkdir -p .claude/skills/seo-review && curl -L -o skill.zip "https://mcp.directory/api/skills/download/561" && unzip -o skill.zip -d .claude/skills/seo-review && rm skill.zipInstalls to .claude/skills/seo-review
About this skill
Skill: SEO Audit for Concept Pages
Use this skill to perform a focused SEO audit on concept documentation pages for the 33 JavaScript Concepts project. The goal is to maximize search visibility for JavaScript developers.
When to Use
- Before publishing a new concept page
- When optimizing underperforming pages
- Periodic content audits
- After major content updates
- When targeting new keywords
Goal
Each concept page should rank for searches like:
- "what is [concept] in JavaScript"
- "how does [concept] work in JavaScript"
- "[concept] JavaScript explained"
- "[concept] JavaScript tutorial"
- "[concept] JavaScript example"
SEO Audit Methodology
Follow these five steps for a complete SEO audit.
Step 1: Identify Target Keywords
Before auditing, identify the keyword cluster for the concept.
Keyword Cluster Template
| Type | Pattern | Example (Closures) |
|---|---|---|
| Primary | [concept] JavaScript | closures JavaScript |
| What is | what is [concept] in JavaScript | what is a closure in JavaScript |
| How does | how does [concept] work | how do closures work |
| How to | how to use/create [concept] | how to use closures |
| Why | why use [concept] | why use closures JavaScript |
| Examples | [concept] examples | closure examples JavaScript |
| vs | [concept] vs [related] | closures vs scope |
| Interview | [concept] interview questions | closure interview questions |
Step 2: On-Page SEO Audit
Check all on-page SEO elements systematically.
Step 3: Featured Snippet Optimization
Verify content is structured to win featured snippets.
Step 4: Internal Linking Audit
Check the internal link structure.
Step 5: Generate Report
Document findings using the report template.
Keyword Clusters by Concept
Use these pre-built keyword clusters for each concept.
<AccordionGroup> <Accordion title="Call Stack"> | Type | Keywords | |------|----------| | Primary | JavaScript call stack, call stack JavaScript | | What is | what is the call stack in JavaScript | | How does | how does the call stack work | | Error | maximum call stack size exceeded, stack overflow JavaScript | | Visual | call stack visualization, call stack explained | | Interview | call stack interview questions JavaScript | </Accordion> <Accordion title="Primitive Types"> | Type | Keywords | |------|----------| | Primary | JavaScript primitive types, primitives in JavaScript | | What are | what are primitive types in JavaScript | | List | JavaScript data types, types in JavaScript | | vs | primitives vs objects JavaScript | | typeof | typeof JavaScript, JavaScript typeof operator | | Interview | JavaScript types interview questions | </Accordion> <Accordion title="Value vs Reference Types"> | Type | Keywords | |------|----------| | Primary | JavaScript value vs reference, pass by reference JavaScript | | What is | what is pass by value in JavaScript | | How does | how does JavaScript pass objects | | Comparison | value types vs reference types JavaScript | | Copy | how to copy objects JavaScript, deep copy JavaScript | </Accordion> <Accordion title="Type Coercion"> | Type | Keywords | |------|----------| | Primary | JavaScript type coercion, type conversion JavaScript | | What is | what is type coercion in JavaScript | | How does | how does type coercion work | | Implicit | implicit type conversion JavaScript | | Explicit | explicit type conversion JavaScript | | Interview | type coercion interview questions | </Accordion> <Accordion title="Equality Operators"> | Type | Keywords | |------|----------| | Primary | JavaScript equality, == vs === JavaScript | | What is | what is the difference between == and === | | Comparison | loose equality vs strict equality JavaScript | | Best practice | when to use == vs === | | Interview | JavaScript equality interview questions | </Accordion> <Accordion title="Scope and Closures"> | Type | Keywords | |------|----------| | Primary | JavaScript closures, JavaScript scope | | What is | what is a closure in JavaScript, what is scope | | How does | how do closures work, how does scope work | | Types | types of scope JavaScript, lexical scope | | Use cases | closure use cases, why use closures | | Interview | closure interview questions JavaScript | </Accordion> <Accordion title="Event Loop"> | Type | Keywords | |------|----------| | Primary | JavaScript event loop, event loop JavaScript | | What is | what is the event loop in JavaScript | | How does | how does the event loop work | | Visual | event loop visualization, event loop explained | | Related | call stack event loop, task queue JavaScript | | Interview | event loop interview questions | </Accordion> <Accordion title="Promises"> | Type | Keywords | |------|----------| | Primary | JavaScript Promises, Promises in JavaScript | | What is | what is a Promise in JavaScript | | How to | how to use Promises, how to chain Promises | | Methods | Promise.all, Promise.race, Promise.allSettled | | Error | Promise error handling, Promise catch | | vs | Promises vs callbacks, Promises vs async await | </Accordion> <Accordion title="async/await"> | Type | Keywords | |------|----------| | Primary | JavaScript async await, async await JavaScript | | What is | what is async await in JavaScript | | How to | how to use async await, async await tutorial | | Error | async await error handling, try catch async | | vs | async await vs Promises | | Interview | async await interview questions | </Accordion> <Accordion title="this Keyword"> | Type | Keywords | |------|----------| | Primary | JavaScript this keyword, this in JavaScript | | What is | what is this in JavaScript | | How does | how does this work in JavaScript | | Binding | call apply bind JavaScript, this binding | | Arrow | this in arrow functions | | Interview | this keyword interview questions | </Accordion> <Accordion title="Prototypes"> | Type | Keywords | |------|----------| | Primary | JavaScript prototype, prototype chain JavaScript | | What is | what is a prototype in JavaScript | | How does | how does prototype inheritance work | | Chain | prototype chain explained | | vs | prototype vs class JavaScript | | Interview | prototype interview questions JavaScript | </Accordion> <Accordion title="DOM"> | Type | Keywords | |------|----------| | Primary | JavaScript DOM, DOM manipulation JavaScript | | What is | what is the DOM in JavaScript | | How to | how to manipulate DOM JavaScript | | Methods | getElementById, querySelector JavaScript | | Events | DOM events JavaScript, event listeners | | Performance | DOM performance, virtual DOM vs DOM | </Accordion> <Accordion title="Higher-Order Functions"> | Type | Keywords | |------|----------| | Primary | JavaScript higher order functions, higher order functions | | What are | what are higher order functions | | Examples | map filter reduce JavaScript | | How to | how to use higher order functions | | Interview | higher order functions interview | </Accordion> <Accordion title="Recursion"> | Type | Keywords | |------|----------| | Primary | JavaScript recursion, recursion in JavaScript | | What is | what is recursion in JavaScript | | How to | how to write recursive functions | | Examples | recursion examples JavaScript | | vs | recursion vs iteration JavaScript | | Interview | recursion interview questions | </Accordion> </AccordionGroup>Audit Checklists
Title Tag Checklist (4 points)
| # | Check | Points | How to Verify |
|---|---|---|---|
| 1 | Length 50-60 characters | 1 | Count characters in title frontmatter |
| 2 | Primary keyword in first half | 1 | Concept name appears early |
| 3 | Ends with "in JavaScript" | 1 | Check title ending |
| 4 | Contains compelling hook | 1 | Promises value/benefit to reader |
Scoring:
- 4/4: ✅ Excellent
- 3/4: ⚠️ Good, minor improvements possible
- 0-2/4: ❌ Needs significant work
Title Formula:
[Concept]: [What You'll Understand] in JavaScript
Good Examples:
| Concept | Title (with character count) |
|---|---|
| Closures | "Closures: How Functions Remember Their Scope in JavaScript" (58 chars) |
| Event Loop | "Event Loop: How Async Code Actually Runs in JavaScript" (54 chars) |
| Promises | "Promises: Handling Async Operations in JavaScript" (49 chars) |
| DOM | "DOM: How Browsers Represent Web Pages in JavaScript" (51 chars) |
Bad Examples:
| Issue | Bad Title | Better Title |
|---|---|---|
| Too short | "Closures" | "Closures: How Functions Remember Their Scope in JavaScript" |
| Too long | "Understanding JavaScript Closures and How They Work with Examples" (66 chars) | "Closures: How Functions Remember Their Scope in JavaScript" (58 chars) |
| No hook | "JavaScript Closures" | "Closures: How Functions Remember Their Scope in JavaScript" |
| Missing "JavaScript" | "Understanding Closures and Scope" | Add "in JavaScript" at end |
Meta Description Checklist (4 points)
| # | Check | Points | How to Verify |
|---|---|---|---|
| 1 | Length 150-160 characters | 1 | Count characters in description frontmatter |
| 2 | Starts with action word | 1 | "Learn", "Understand", "Discover" (NOT "Master") |
| 3 | Contains primary keyword | 1 | Concept name + "JavaScript" present |
| 4 | Promises specific value | 1 | Lists what reader will learn |
Description Formula:
[Action word] [
---
*Content truncated.*
More by leonardomso
View all skills by leonardomso →You might also like
flutter-development
aj-geddes
Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.
ui-ux-pro-max
nextlevelbuilder
"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."
drawio-diagrams-enhanced
jgtolentino
Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.
godot
bfollington
This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.
nano-banana-pro
garg-aayush
Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.
pdf-to-markdown
aliceisjustplaying
Convert entire PDF documents to clean, structured Markdown for full context loading. Use this skill when the user wants to extract ALL text from a PDF into context (not grep/search), when discussing or analyzing PDF content in full, when the user mentions "load the whole PDF", "bring the PDF into context", "read the entire PDF", or when partial extraction/grepping would miss important context. This is the preferred method for PDF text extraction over page-by-page or grep approaches.
Related MCP Servers
Browse all serversBoost AI coding agents with Ref Tools—efficient documentation access for faster, smarter code generation than GitHub Cop
Get expert React Native software guidance with tools for component analysis, performance, debugging, and migration betwe
Quickly test website accessibility and fix issues using A11y, an advanced web accessibility checker powered by axe-core
Analyze JavaScript, TypeScript, and Python projects with Code Context Provider—advanced static code analysis and source
Scan your website for viruses and vulnerabilities with Code Audit (Ollama). Get a comprehensive site scanner virus check
AI-driven control of live Chrome via Chrome DevTools: browser automation, debugging, performance analysis and network mo
Stay ahead of the MCP ecosystem
Get weekly updates on new skills and servers.