Meta data optimization
Skill thisisAhsanIqbal/nextjs-seo-audit/skills/meta-data-optimization
AI Agent Skills for SEO auditing , 11 SKILL.md files that teach Cursor, Claude Code, Copilot & more to perform comprehensive SEO audits. Zero dependencies.
npx -y skills add thisisAhsanIqbal/nextjs-seo-audit --skill meta-data-optimizationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Validates title tags, meta descriptions, Open Graph tags, and Twitter Cards. Use when auditing or fixing meta data for search engine and social media optimisation. For canonical URLs and robots directives, see the technical-seo skill.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
3.6 KB, as published. Nobody here has run it
Meta Data Optimization
Audit title, description, Open Graph, and Twitter Card meta tags.
Note: Canonical URLs, robots directives, and indexability checks are handled by the technical-seo skill. Do not duplicate those checks here.
1. Title tag
| Check | Rule | Status |
|---|---|---|
Missing <title> | Critical for SEO | ❌ FAIL |
| Title < 30 characters | Too short | ⚠️ WARN |
| Title > 60 characters | May be truncated in SERPs | ⚠️ WARN |
| Title 30–60 characters | Optimal length | ✅ PASS |
| Title is ALL CAPS (and > 5 chars) | Perceived as spammy | ⚠️ WARN |
Title quality checks
- Keyword at start (position 0): ✅ PASS "Best placement"
- Keyword near start (position ≤ 20): ✅ PASS
- Keyword late (position > 20): ⚠️ WARN "Place keyword earlier"
- Separator present (
|,-,–,—,:): ✅ PASS "Good brand + keyword pattern" - Power words (best, guide, ultimate, how to, tips, review, top, free, new, proven): ✅ PASS "May improve CTR"
- Contains number: ✅ PASS "Numbers in titles can boost CTR"
2. Meta description
| Check | Rule | Status |
|---|---|---|
Missing <meta name="description"> | Needs one for SERP snippets | ❌ FAIL |
| Description < 120 characters | Too short | ⚠️ WARN |
| Description > 160 characters | May be truncated | ⚠️ WARN |
| Description 120–160 characters | Optimal | ✅ PASS |
3. Character encoding
| Check | Status |
|---|---|
<meta charset="utf-8"> or <meta http-equiv="Content-Type"> present | ✅ PASS |
| Neither present | ⚠️ WARN "Add charset meta tag" |
4. Open Graph tags
Check for these required OG tags:
| Tag | Missing = |
|---|---|
og:title | ⚠️ WARN |
og:description | ⚠️ WARN |
og:image | ⚠️ WARN |
og:url | ⚠️ WARN |
og:type | ⚠️ WARN |
- All present → ✅ PASS "All required Open Graph tags present"
- All missing → ❌ FAIL "No Open Graph tags found — social sharing will use defaults"
OG image dimensions
If og:image exists, check for og:image:width and og:image:height:
- Both present → ✅ PASS
- Missing → ⚠️ WARN "Missing og:image:width / og:image:height"
5. Twitter Card tags
Check for these required tags:
| Tag | Missing = |
|---|---|
twitter:card | ⚠️ WARN |
twitter:title | ⚠️ WARN |
twitter:description | ⚠️ WARN |
- All present → ✅ PASS
- All missing → ⚠️ WARN "No Twitter Card tags found"
Note: Twitter tags can be in either <meta name="twitter:*"> or <meta property="twitter:*"> format.
Edge cases
- Next.js generates
<title>and meta tags via themetadataexport orgenerateMetadata()— audit the rendered HTML, not the source code - Some sites use
<meta property="title">instead of<title>— flag as ⚠️ WARN "Use standard<title>tag" - Duplicate
<title>tags in the document → ❌ FAIL "Only one<title>allowed" - If OG tags exist but
<title>/<meta description>are missing, flag both — OG tags do not substitute for standard meta tags - Twitter falls back to OG tags when
twitter:*tags are absent — note this but still recommend explicit Twitter tags for full control