seoskills.sh
Catalog/seoskills/internal

Title & Meta Pixel Optimizer

Crawls titles and meta descriptions, measures rendered pixel width for truncation, checks primary-keyword placement, an…

0 installs

Use this skill

$ npx skills add seoskills.sh/title-meta-optimizer
Category
Repository
seoskills/internal
GitHub stars
License

SKILL.md

---
name: Title & Meta Pixel Optimizer
description: Crawls titles and meta descriptions, measures rendered pixel width for truncation, checks primary-keyword placement, and detects site-wide duplicates, then recommends rewrites that fit the pixel budget. Use when the user wants title-tag and meta-description optimization, truncation checks, or to find duplicate or missing metadata at scale.
category: on-page-seo
---

# Title & Meta Pixel Optimizer

AGENT ROLE: Autonomous metadata-optimization agent. Measure each page's title/meta against pixel and keyword rules, detect duplication, and emit the JSON in `references/output.schema.json`.

## OBJECTIVE
Find titles and meta descriptions that truncate in the SERP, bury or omit the primary keyword, or duplicate other pages — and recommend length-safe rewrites, prioritized by search demand when GSC is connected.

## INPUTS
- `urls` (REQUIRED string[]) OR `sitemap_url`.
- `target_keywords` (OPTIONAL): map `url → primary_keyword`.
- `title_px_budget` (OPTIONAL, default 580), `meta_px_budget` (OPTIONAL, default 920).
- `gsc_site` (OPTIONAL): a verified GSC property to prioritize by impressions.

## AUTHENTICATION / RUNTIME
- Crawl: keyless HTTPS GET, UA `seoskills-title-meta/1.0`, honor robots.
- `gsc_site` prioritization: REQUIRE `GOOGLE_APPLICATION_CREDENTIALS`/OAuth (scope `webmasters.readonly`). IF absent THEN skip prioritization and note `priority_basis="none"`.

## EXPECTED TOOL CALLS
- Run `scripts/title_meta.py --urls a,b,c [--gsc sc-domain:example.com]`.
- Per URL: GET; extract `<title>` and `<meta name="description">`. IF `gsc_site` set: one `searchAnalytics` call for page-level impressions.

## PROCEDURE (deterministic, per page)
STEP 1 — EXTRACT title + meta description text.
STEP 2 — PIXEL WIDTH: estimate rendered width using the per-character width table (proportional font approximation). Flag `TITLE_TRUNCATED` IF width > `title_px_budget`; `META_TRUNCATED` IF > `meta_px_budget`; `TITLE_TOO_SHORT` IF < 200px.
STEP 3 — PRESENCE: `TITLE_MISSING` / `META_MISSING` when absent or empty.
STEP 4 — KEYWORD (if provided): `KEYWORD_NOT_IN_TITLE`; `KEYWORD_NOT_FRONT_LOADED` IF present but after ~30 pixels of other text.
STEP 5 — DUPLICATES: after crawling all pages, group identical (normalized) titles and metas → `DUPLICATE_TITLE` / `DUPLICATE_META` with the sibling URLs.
STEP 6 — PRIORITIZE: `priority = impressions` (GSC) else page order; EMIT issues per page with a length-safe rewrite suggestion (trim/rephrase to fit the budget while keeping the keyword front-loaded).

## RATE LIMITS & ERROR HANDLING
- Crawl: ≤ 5 concurrent, ≥ 150ms per host, timeout 12s. Per-URL failure → `{url, status:"unreachable"}`, continue.
- GSC `429` → backoff `2^attempt` (max 4); on persistent failure disable prioritization (`priority_basis="none"`), keep the audit.

## MISSING / INSUFFICIENT DATA
- Pixel width is an ESTIMATE (real rendering varies by font/locale) — always return both `char_count` and `estimated_px`, and label estimates as such.
- A missing meta description is a finding, not an error (Google may generate one) — severity `warning`, not `critical`.
- Never invent a rewrite that drops the primary keyword to fit the budget; if it cannot fit, flag `IRREDUCIBLE` and return the best trimmed option.

## OUTPUT
One JSON object per `references/output.schema.json`. No prose.

## FILES
- `scripts/title_meta.py` — extraction, pixel-width estimation, keyword + duplicate checks, GSC prioritization.
- `references/output.schema.json` — output contract.

Not using the CLI? Copy the SKILL.md and paste it straight into ChatGPT, Claude, or any agent.

Embed a badge

seoskills.sh install badge

More in On-Page SEO

On-Page SEOcoreyhaines31/marketingskills

schema

When the user wants to add, fix, or optimize schema markup and structured data on their site. Also use when the user mentions "schema markup," "structured data," "JSON-LD," "rich snippets," "schema.org," "FAQ schema," "product schema," "review schema," "breadcrumb schema," "Google rich results," "knowledge panel," "star ratings in search," or "add structured data." Use this whenever someone wants their pages to show enhanced results in Google. For broader SEO issues, see seo-audit. For AI search optimization, see ai-seo.

59.2K installs
On-Page SEOcoreyhaines31/marketingskills

schema-markup

When the user wants to add, fix, or optimize schema markup and structured data on their site. Also use when the user mentions "schema markup," "structured data," "JSON-LD," "rich snippets," "schema.org," "FAQ schema," "product schema," "review schema," "breadcrumb schema," "Google rich results," "knowledge panel," "star ratings in search," or "add structured data." Use this whenever someone wants their pages to show enhanced results in Google. For broader SEO issues, see seo-audit. For AI search optimization, see ai-seo.

56.2K installs
On-Page SEOagricidaniel/claude-seo

seo-schema

Detect, validate, and generate Schema.org structured data. JSON-LD format preferred. Use when user says "schema", "structured data", "rich results", "JSON-LD", or "markup".

5.6K installs
On-Page SEOagricidaniel/claude-seo

seo-images

Image optimization analysis for SEO and performance. Checks alt text, file sizes, formats, responsive images, lazy loading, CLS prevention, image SERP rankings (via DataForSEO), and image file optimization (WebP/AVIF conversion, IPTC/XMP metadata injection). Use when user says "image optimization", "alt text", "image SEO", "image size", "image audit", "optimize images", "image metadata", "image SERP", "convert to webp", or "image file optimize".

5.4K installs
On-Page SEOagricidaniel/claude-seo

seo-image-gen

AI image generation for SEO assets: OG/social preview images, blog hero images, schema images, product photography, infographics. Powered by Gemini via nanobanana-mcp. Requires banana extension installed. Use when user says \"generate image\", \"OG image\", \"social preview\", \"hero image\", \"blog image\", \"product photo\", \"infographic\", \"seo image\", \"create visual\", \"image-gen\", \"favicon\", \"schema image\", \"pinterest pin\", \"generate visual\", \"banner\", or \"thumbnail\".

4.8K installs
On-Page SEOagricidaniel/claude-seo

seo-drift

SEO drift monitoring: capture baselines of SEO-critical elements, detect changes, and track regressions over time. Git for SEO: baseline, diff, and track changes to your on-page SEO. Use when user says "SEO drift", "baseline", "track changes", "did anything break", "SEO regression", "compare SEO", "before and after", "monitor SEO changes", or "deployment check".

4.4K installs