Skip to content
Back to skills

Meta Data Optimization

ASecurity

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.

  • 7 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added June 2, 2026
content-marketinggonextjsgit

Security analysis

A100/100

Scanned June 2, 2026

npx -y skills add thisisAhsanIqbal/nextjs-seo-audit --skill meta-data-optimization --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Meta Data Optimization?

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

Security grade badge for Meta Data Optimization
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/thisisahsaniqbal-meta-data-optimization/badge)](https://www.skillsdirectory.com/skills/thisisahsaniqbal-meta-data-optimization)

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: meta-data-optimization
description: >
  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.
license: MIT
metadata:
  author: Muhammad Ahsan Iqbal (https://muhammadahsaniqbal.com)
  linkedin: https://www.linkedin.com/in/ahsan-iqbal-digitalmarketingexpert/
  version: "1.0"
---

# 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](../technical-seo/SKILL.md) 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 the `metadata` export or `generateMetadata()` — 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

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.