Meta Tags Optimizer

Page metadata

by kostja94 · MIT license · ★ 1,006 on GitHub

Page metadata cover

When the user wants to optimize meta tags other than title, description, Open Graph, or Twitter Cards. Also use when the user mentions "hreflang," "meta robots," "viewport," "charset," "canonical meta," "other meta tags," "meta robots…

---
name: page-metadata
description: When the user wants to optimize meta tags other than title, description, Open Graph, or Twitter Cards. Also use when the user mentions "hreflang," "meta robots," "viewport," "charset," "canonical meta," "other meta tags," "meta robots noindex," "meta robots nofollow," "hreflang tags," "viewport meta," or "meta charset." For title tags, use title-tag. For meta descriptions, use meta-description. For Facebook/LinkedIn previews, use open-graph. For X previews, use twitter-cards.
metadata:
  version: 1.2.0
---

# SEO On-Page: Metadata (Other Meta Tags)

Guides optimization of meta tags beyond title, description, Open Graph, and Twitter Cards. Covers hreflang, robots, viewport, charset, and metadata completeness.

**When invoking**: On **first use**, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On **subsequent use** or when the user asks to skip, go directly to the main output.

## Scope (On-Page SEO)

- **Hreflang**: Language/region targeting for multilingual sites
- **Meta robots**: index/noindex, follow/nofollow (page-level)
- **Viewport**: Mobile responsiveness

Overview

Guides optimization of meta tags beyond title, description, Open Graph, and Twitter Cards. Covers hreflang, robots, viewport, charset, and metadata completeness.

What you get

  • hreflangsetup if multi-language
  • Meta robotsif noindex needed
  • Viewport/ charset if missing
Manual install (npx, ZIP)
Claude Codenpx skills add kostja94/marketing-skills --skill page-metadata -g -a claude-code
Claude Code (degit)npx degit kostja94/marketing-skills/skills/seo/on-page/metadata#main ~/.claude/skills/page-metadata
Claude.ai / desktopZip the folder and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md5.0 KB
Read SKILL.md here
kostja94/main1 file shown
SKILL.md
Show the full text121 lines

SEO On-Page: Metadata (Other Meta Tags)

Guides optimization of meta tags beyond title, description, Open Graph, and Twitter Cards. Covers hreflang, robots, viewport, charset, and metadata completeness.

When invoking: On first use, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On subsequent use or when the user asks to skip, go directly to the main output.

Scope (On-Page SEO)

  • Hreflang: Language/region targeting for multilingual sites
  • Meta robots: index/noindex, follow/nofollow (page-level)
  • Viewport: Mobile responsiveness
  • Charset: Character encoding
  • Metadata completeness: All pages have title + meta description (see title-tag, meta-description)

Initial Assessment

Project context: Read root contextus.md when present and load only the modules relevant to this task. Without Contextus, use available project material or user-provided facts and ask for missing information; do not create a parallel context system.

Identify:

  1. Multi-language: zh, en, x-default if applicable
  2. Indexing: Full index, noindex for specific pages
  3. Tech stack: Next.js, HTML, etc.

hreflang (Multi-language)

Three non-negotiables: (1) Self-referencing tags (each page links to itself), (2) Symmetric annotations (every version lists ALL others), (3) Valid ISO 639-1 or language-region codes (en, en-US, zh-CN).

Implementation methods: HTML <link> in head, XML sitemap (xhtml:link), or HTTP headers. For SPAs/JS-rendered pages, use sitemap-based hreflang as backup. See rendering-strategies for SSR/SSG/CSR.

Canonical alignment: Canonical URL must match the same regional version hreflang refers to. Misalignment causes Google to ignore hreflang.

x-default: Fallback for users whose language/location doesn't match any version. Point to default locale or language-selector page.

Next.js (App Router)
export const metadata = {
  alternates: {
    languages: {
      'en-US': '/en/page',
      'zh-CN': '/zh/page',
      'x-default': '/en/page',
    },
  },
};
HTML (generic)
<link rel="alternate" hreflang="en" href="https://example.com/en/page" />
<link rel="alternate" hreflang="zh" href="https://example.com/zh/page" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/page" />
Common Mistakes (Avoid)
  • Missing reciprocal references between language versions.
  • Canonical tag conflicting with hreflang.
  • Relying solely on machine translation without localization (see translation).
  • Ignoring mobile—hreflang must appear on both desktop and mobile.
  • Forgetting to update hreflang when page structure changes.

Meta Robots (Page-level)

Page-level control for indexing and link following. See indexing for which page types typically need noindex.

Directive Effect
noindex Exclude page from search results
nofollow Do not pass link equity through links on the page; does NOT prevent indexing
noindex,follow Exclude from SERP; allow crawlers to follow links (most common for thank-you, signup, legal)
noindex,nofollow Exclude + block link flow (login, staging, test pages)

Crawl vs index vs link equity: robots.txt = crawl control; noindex = index control; nofollow = link equity only. See robots-txt, indexing.

<meta name="robots" content="noindex, follow">

Next.js: metadata.robots = { index: false, follow: true }. Default is index: true, follow: true.

Viewport

<meta name="viewport" content="width=device-width, initial-scale=1">

Required for mobile-friendly pages; affects Core Web Vitals and mobile search. For full mobile-first indexing and mobile usability requirements, see mobile-friendly.

Charset

<meta charset="UTF-8">

Place in <head>; first child of <head> recommended.

Output Format

  • hreflang setup if multi-language
  • Meta robots if noindex needed
  • Viewport / charset if missing
  • title-tag, meta-description: Title and meta description
  • open-graph, twitter-cards: Social sharing; link previews
  • canonical-tag: Canonical + hreflang for multi-language
  • indexing: noindex page-type list; noindex vs nofollow
  • robots-txt: Crawl vs index; robots.txt vs noindex
  • mobile-friendly: Mobile-first indexing; viewport required
  • rendering-strategies: SSR, SSG, CSR; SPAs need sitemap-based hreflang
1---
2name: page-metadata
3description: When the user wants to optimize meta tags other than title, description, Open Graph, or Twitter Cards. Also use when the user mentions "hreflang," "meta robots," "viewport," "charset," "canonical meta," "other meta tags," "meta robots noindex," "meta robots nofollow," "hreflang tags," "viewport meta," or "meta charset." For title tags, use title-tag. For meta descriptions, use meta-description. For Facebook/LinkedIn previews, use open-graph. For X previews, use twitter-cards.
4metadata:
5 version: 1.2.0
6---
7 
8# SEO On-Page: Metadata (Other Meta Tags)
9 
10Guides optimization of meta tags beyond title, description, Open Graph, and Twitter Cards. Covers hreflang, robots, viewport, charset, and metadata completeness.
11 
12**When invoking**: On **first use**, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On **subsequent use** or when the user asks to skip, go directly to the main output.
13 
14## Scope (On-Page SEO)
15 
16- **Hreflang**: Language/region targeting for multilingual sites
17- **Meta robots**: index/noindex, follow/nofollow (page-level)
18- **Viewport**: Mobile responsiveness
19- **Charset**: Character encoding
20- **Metadata completeness**: All pages have title + meta description (see **title-tag**, **meta-description**)
21 
22## Initial Assessment
23 
24**Project context:** Read root `contextus.md` when present and load only the modules relevant to this task. Without Contextus, use available project material or user-provided facts and ask for missing information; do not create a parallel context system.
25 
26Identify:
271. **Multi-language**: zh, en, x-default if applicable
282. **Indexing**: Full index, noindex for specific pages
293. **Tech stack**: Next.js, HTML, etc.
30 
31## hreflang (Multi-language)
32 
33**Three non-negotiables**: (1) Self-referencing tags (each page links to itself), (2) Symmetric annotations (every version lists ALL others), (3) Valid ISO 639-1 or language-region codes (`en`, `en-US`, `zh-CN`).
34 
35**Implementation methods**: HTML `<link>` in head, XML sitemap (`xhtml:link`), or HTTP headers. For SPAs/JS-rendered pages, use sitemap-based hreflang as backup. See **rendering-strategies** for SSR/SSG/CSR.
36 
37**Canonical alignment**: Canonical URL must match the same regional version hreflang refers to. Misalignment causes Google to ignore hreflang.
38 
39**x-default**: Fallback for users whose language/location doesn't match any version. Point to default locale or language-selector page.
40 
41### Next.js (App Router)
42 
43```tsx
44export const metadata = {
45 alternates: {
46 languages: {
47 'en-US': '/en/page',
48 'zh-CN': '/zh/page',
49 'x-default': '/en/page',
50 },
51 },
52};
53```
54 
55### HTML (generic)
56 
57```html
58<link rel="alternate" hreflang="en" href="https://example.com/en/page" />
59<link rel="alternate" hreflang="zh" href="https://example.com/zh/page" />
60<link rel="alternate" hreflang="x-default" href="https://example.com/en/page" />
61```
62 
63### Common Mistakes (Avoid)
64 
65- Missing reciprocal references between language versions.
66- Canonical tag conflicting with hreflang.
67- Relying solely on machine translation without localization (see **translation**).
68- Ignoring mobile—hreflang must appear on both desktop and mobile.
69- Forgetting to update hreflang when page structure changes.
70 
71## Meta Robots (Page-level)
72 
73Page-level control for indexing and link following. See **indexing** for which page types typically need noindex.
74 
75| Directive | Effect |
76|-----------|--------|
77| `noindex` | Exclude page from search results |
78| `nofollow` | Do not pass link equity through links on the page; **does NOT prevent indexing** |
79| `noindex,follow` | Exclude from SERP; allow crawlers to follow links (most common for thank-you, signup, legal) |
80| `noindex,nofollow` | Exclude + block link flow (login, staging, test pages) |
81 
82**Crawl vs index vs link equity**: robots.txt = crawl control; noindex = index control; nofollow = link equity only. See **robots-txt**, **indexing**.
83 
84```html
85<meta name="robots" content="noindex, follow">
86```
87 
88Next.js: `metadata.robots = { index: false, follow: true }`. Default is `index: true, follow: true`.
89 
90## Viewport
91 
92```html
93<meta name="viewport" content="width=device-width, initial-scale=1">
94```
95 
96Required for mobile-friendly pages; affects Core Web Vitals and mobile search. For full mobile-first indexing and mobile usability requirements, see **mobile-friendly**.
97 
98## Charset
99 
100```html
101<meta charset="UTF-8">
102```
103 
104Place in `<head>`; first child of `<head>` recommended.
105 
106## Output Format
107 
108- **hreflang** setup if multi-language
109- **Meta robots** if noindex needed
110- **Viewport** / **charset** if missing
111 
112## Related Skills
113 
114- **title-tag, meta-description**: Title and meta description
115- **open-graph, twitter-cards**: Social sharing; link previews
116- **canonical-tag**: Canonical + hreflang for multi-language
117- **indexing**: noindex page-type list; noindex vs nofollow
118- **robots-txt**: Crawl vs index; robots.txt vs noindex
119- **mobile-friendly**: Mobile-first indexing; viewport required
120- **rendering-strategies**: SSR, SSG, CSR; SPAs need sitemap-based hreflang
121 
View all files on GitHub →

Details

License
MIT
Stars on the repo
★ 1,006
Checked
Source
kostja94/marketing-skills ↗
Creator
kostja94 · 106 listings
View creator

Similar skills

See all →
SkillAgent Browsing AuditorAgriciDaniel/claude-seo · by AgriciDanielAudit and fix agent readiness: the Lighthouse Agentic Browsing fraction, accessibility tree for agents, robots.txt and Content-Signal for AI agents, WAF treatment of agent traffic, llms.txt, Markdown delivery, ai-catalog.json, /.well-known discovery files, and WebMCP tools. Exclude AI citability and brand signals (seo-geo) and commerce protocol depth (seo-ecommerce).★ 17.4k GitHub starsSkillBacklink Profile AnalysisAgriciDaniel/claude-seo · by AgriciDanielBacklink profile analysis: referring domains, anchor text distribution, toxic link detection, competitor gap analysis. Works with free APIs (Moz, Bing Webmaster, Common Crawl) and DataForSEO extension. Use when user says backlinks, link profile, referring domains, anchor text, toxic links, link gap, link building, disavow, or backlink audit.★ 17.4k GitHub starsSkillCMS Configuration Helpernowork-studio/notfair-plugin · by nowork-studioConnect a CMS to notfair SEO tools. Guides users through configuring WordPress, Strapi, Contentful, or Ghost — tests the connection, and writes credentials to .env.local. Once set up, seo-analysis automatically cross- references CMS content against Google Search Console data. Use whenever the user says "connect my CMS", "set up WordPress", "configure Strapi", "add Contentful", "connect Ghost", or "CMS setup". Also trigger if the user asks why no CMS data appears in a seo-analysis report.★ 3.9k GitHub starsSkillBacklink Comparison ToolRyze-AI-Adgent/open-seo-mcp-skills · by Ryze-AI-AdgentBacklink profile for any domain — referring domains, authority, anchors, new/lost links, and a side-by-side vs a competitor. Use when asked "check my backlinks", "backlink profile of X", "who links to them", or "link gap vs competitor".★ 3.1k GitHub starsSkillWeb Vitals Auditoraddyosmani/web-quality-skills · by addyosmaniOptimize Core Web Vitals (LCP, INP, CLS) for better page experience using field and lab evidence. Use when asked to "improve Core Web Vitals", "fix LCP", "reduce CLS", "optimize INP", "page experience optimization", or "fix layout shifts".★ 2.8k GitHub starsSkillSEO Publishing Looptsingyuai/growth-lab · by tsingyuaiRun an SEO page observation-action-review loop with persistent Memory by coordinating demand research, page creation, adversarial review, image generation, IndexNow submission, and performance review. Use when taking an SEO page from opportunity discovery through publication, measurement, iteration, or continuing a previous SEO loop from Memory.★ 2k GitHub stars

More from kostja94

SkillAffiliate Marketing Strategykostja94/marketing-skills · by kostja94When the user wants to plan, implement, or optimize affiliate marketing strategy. Also use when the user mentions "affiliate marketing," "affiliate program strategy," "CPS model," "affiliate recruitment," "commission structure," "affiliate partners," "affiliate network," "affiliate tracking," "affiliate commission," or "partner marketing." For affiliate page, use affiliate-page-generator.★ 1k GitHub starsSkillAI Search Traffic Trackerkostja94/marketing-skills · by kostja94When the user wants to track AI search traffic in GA4 or GSC. Also use when the user mentions "AI traffic," "ChatGPT referral," "Perplexity traffic," "AI Overviews," "GA4 AI sources," "AI search analytics," "track AI referrals," "AI search traffic," "Claude traffic," or "how to track AI traffic." For AI SEO strategy, use generative-engine-optimization.★ 1k GitHub starsSkillGA4 Analytics Optimizerkostja94/marketing-skills · by kostja94When the user wants to set up, audit, or optimize analytics tracking (GA4, events, conversions). Also use when the user mentions "Google Analytics," "GA4," "event tracking," "conversions," "attribution model," "gtag," "data layer," "GA4 setup," "conversion tracking," "event setup," "User ID tracking," or "CTA attribution." For traffic insights, use traffic-analysis.★ 1k GitHub starsSkillMobile App Campaign Managerkostja94/marketing-skills · by kostja94When the user wants to run app install ads, user acquisition (UA), or promote mobile apps. Also use when the user mentions "app ads," "app install ads," "UA," "user acquisition," "Google App Campaigns," "Apple Search Ads," "ASA," "UAC," "App Store ads," "Play Store ads," "CPI," or "app promotion." For store listings, use distribution-channels.★ 1k GitHub starsSkillLong-Form Article Writerkostja94/marketing-skills · by kostja94When the user wants to write, generate, or create article body content—blog post body, long-form content, how-to guide, listicle. Also use when the user mentions "write article," "article content," "blog post content," "article body," "long-form content creation," "generate article," "article draft," "how-to guide content," "listicle content," "information gain," or "content density." For single post page structure, schema, and SEO metadata, use article-page-generator. For blog index/listing page, use blog-page-generator. For short ad, landing, or email copy, use copywriting.★ 1k GitHub starsSkillBacklink Profile Analyzerkostja94/marketing-skills · by kostja94When the user wants to analyze backlinks, audit link profile, or identify link issues. Also use when the user mentions "backlink analysis," "backlink audit," "referring domains," "toxic links," "link profile," or "disavow file." For acquisition, use link-building.★ 1k GitHub stars