Use when writing, reviewing, or optimizing blog posts, landing pages, meta tags, titles, descriptions, headings, URLs, or any user-facing web content for search engines. Triggers on SEO questions, content audits, structured data, Open Graph tags, schema markup, or on-page optimization. Also use for German-language SEO specifics (umlauts, hreflang, Flesch DE).
Installation
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Use when writing, reviewing, or optimizing blog posts, landing pages, meta tags, titles, descriptions, headings, URLs, or any user-facing web content for search engines. Triggers on SEO questions, content audits, structured data, Open Graph tags, schema markup, or on-page optimization. Also use for German-language SEO specifics (umlauts, hreflang, Flesch DE).
On-Page SEO — Blog & Content Reference
Concrete limits, rules, and checklists for on-page SEO. All numbers reflect Google's current SERP rendering (2025-2026).
Title Tag
Property
Limit
Notes
Desktop pixel width
580 px (max ~600 px)
Proportional font — W/M wider than i/l
Mobile pixel width
~920 px (smaller font)
More room on mobile
Character guideline
50-60 characters
Covers ~90% of desktop SERPs
Keyword placement
Primary keyword near the beginning
Natural language, no keyword stuffing
Uniqueness
One unique title per page
Never duplicate across pages
Brand
Append brand after separator if space allows
Primary Keyword — Brand
Quick check: If your title exceeds 55 characters, verify pixel width with a SERP preview tool.
Meta Description
Property
Limit
Notes
Desktop pixel width
~920 px
Desktop characters
150-160 characters
Google sometimes shows up to 300
Mobile characters
~120 characters
Shorter display on mobile
Safe cross-device
120-158 characters
Most important message within first 120
Focus keyword
Must appear in the description
Natural einbauen, nicht erzwingen
CTA
Include a call-to-action
"Jetzt lesen", "Erfahre mehr"
Uniqueness
One unique description per page
Never duplicate
Rule: Front-load the value proposition into the first 120 characters — everything after may be truncated on mobile.
Never use heading tags for visual styling; use CSS classes
Subheading distribution
Max 300 words between two subheadings; long text blocks without heading kill readability and SEO
URL / Slug
Rule
Detail
Length
3-5 words (~50-60 characters)
Separator
Hyphens (-), never underscores
Case
Always lowercase
Keyword
Main keyword at the beginning
No dates
/blog/seo-leitfaden/ not /blog/2026/03/seo-leitfaden/
Depth
Max 2-3 levels; avoid deep nesting
Umlauts
Replace: ä→ae, ö→oe, ü→ue, ß→ss (never just drop the dots)
Stop words
Remove unnecessary filler words (und, der, die, das)
Image SEO
Rule
Detail
Alt text length
80-140 characters (5-15 words)
Alt text content
Descriptive, keyword-relevant, unique per image
Decorative images
alt="" (empty, not omitted)
File naming
Descriptive, hyphen-separated: blaues-leder-etui.webp not IMG_4521.jpg
Format priority
AVIF → WebP → JPEG/PNG fallback; use <picture> element
Dimensions
Always set width and height attributes (prevents CLS)
Lazy loading
loading="lazy" for below-fold; loading="eager" + fetchpriority="high" for hero/LCP
Responsive
Use srcset for responsive serving
Internal Linking
Rule
Detail
Density
2-5 contextual links per 1,000 words
Total per page
Keep under 150 links
Click depth
Key pages within 3 clicks of homepage
Anchor text
Descriptive, varied; mix exact-match and topically related
Outbound links
1-2 autoritäre externe Links pro Beitrag (Quellenangaben, Referenzen)
Topic clusters
Pillar pages + supporting content
Orphan pages
Jede Seite braucht mind. einen internen Link, der auf sie zeigt
Table of contents
Add for posts >1,000 words; anchor links matching H2/H3
Content Structure & Length
Content Type
Word Count
Quick-answer post
300-500 words
Standard blog post
1,500-2,500 words
How-to guide
1,700-2,500 words
Pillar / ultimate guide
3,000-5,000+ words
Rule
Detail
Featured snippets
Answer-first: direct answer in 40-60 words right after the heading
List snippets
6-10 items for list snippets
Table snippets
4-6 columns, 5-10 rows
Early content
44% of AI citations come from the first 30% of page content
Keyword in first paragraph
Focus keyword must appear within the first 10% of the text (ideally first sentence)
Keyword density
1-2% as rough guideline; focus on natural language, not frequency
Keyword cannibalization
Each post targets a unique focus keyword — never optimize two pages for the same keyword
Thin content
Pages with <300 words are flagged as thin content by Google; always exceed this minimum
Readability (DE)
Flesch-Index 50-60 for German texts (see German SEO section)
Passive voice
Max 10% passive sentences; active voice ranks and reads better
Transition words (DE)
Mind. 30% der Sätze mit Übergangswörtern (allerdings, deshalb, beispielsweise, daher, außerdem)
Open Graph & Social Meta Tags
Tag
Specification
og:title
Under 60 characters
og:type
"article" for blog posts
og:image
1200×630 px (1.9:1); JPEG/PNG; absolute HTTPS URL
og:url
Canonical URL of the page
og:description
130-160 characters (safe range)
og:image:alt
Required if og:image is set
twitter:card
"summary_large_image"
OG uses property attribute, Twitter uses name attribute. Set both and keep in sync.
Canonical URL
Rule
Detail
Self-referencing
Every page gets a self-referencing canonical, even without duplicates
Absolute URLs
Always use full https:// URLs
One per page
Multiple canonicals cause confusion
Paginated pages
Each page gets its own self-referencing canonical
XML Sitemap
Rule
Detail
Blog posts
Every published blog post must be included in the XML sitemap
lastmod
Set <lastmod> to the actual last modification date (ISO 8601)
Excluded pages
noindex pages, redirects, and error pages must NOT be in the sitemap
Auto-generation
Use CMS or plugin to auto-generate; never maintain manually
Submit
Reference sitemap in robots.txt via Sitemap: https://example.de/sitemap.xml
Content Freshness
Rule
Detail
"Zuletzt aktualisiert"
Visible date on the page when content was last reviewed
dateModified
Must match the visible date in Schema.org JSON-LD
Review cycle
Audit content at least annually; YMYL topics more frequently
Outdated statistics
Update numbers, percentages, and year references when refreshing
Schema.org / Structured Data (BlogPosting)
Use BlogPosting type with JSON-LD format for blog content:
{"@context":"https://schema.org","@type":"BlogPosting","headline":"Titel des Beitrags","image":["https://example.de/bild-16x9.webp","https://example.de/bild-4x3.webp","https://example.de/bild-1x1.webp"],"datePublished":"2026-06-04T10:00:00+02:00","dateModified":"2026-06-04T12:00:00+02:00","author":{"@type":"Person","name":"Autorenname","url":"https://example.de/ueber-uns/"},"publisher":{"@type":"Organization","name":"Firmenname","url":"https://example.de/"}}
Property
Notes
headline
Same as title tag content
image
Multiple aspect ratios (1x1, 4x3, 16x9); min 1200 px wide
datePublished / dateModified
ISO 8601 with timezone
author.url
Link to author bio page (strongly recommended)
Additional Schema Types
BreadcrumbList
Use on every page for navigation path display in SERPs:
Use when the post contains a dedicated FAQ section with question-answer pairs:
{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Wie lang sollte ein Title-Tag sein?","acceptedAnswer":{"@type":"Answer","text":"50-60 Zeichen bzw. max 580 Pixel Breite."}}]}
Combine multiple schema types on one page by wrapping them in a @graph array.
E-E-A-T Signals
Dimension
How to Signal
Experience
Author bios, original photos, real examples, first-person accounts
Kein Widerspruch: Die Copywriter-Skills bestimmen Stimme, Rhythmus und Struktur. Dieser Skill bestimmt die technischen Limits (Zeichenlängen, Pixel, Heading-Hierarchie, Schema). Beide ergänzen sich.
Wichtig: Die H1 auf der Seite darf emotionaler und länger sein als der Title-Tag. Der Title-Tag ist für die SERPs optimiert (50-60 Zeichen), die H1 für den Leser auf der Seite.
Blog Post SEO Checklist
Use this checklist when writing or reviewing a blog post:
Content & Keywords:
Focus keyword appears in title, H1, meta description, URL slug, and first paragraph
Focus keyword is unique to this post (no keyword cannibalization)
Keyword density 1-2%, naturally distributed
Content length appropriate for type (see table above), minimum 300 words
Featured snippet paragraph (40-60 words) after key heading
Structure & Readability:
One H1 per page, heading hierarchy sequential (H1→H2→H3)
Max 300 words between subheadings
Flesch-Index 50-60 for German texts
Max 10% passive voice
Mind. 30% of sentences with transition words
Sentence length varies visibly
Meta & SERP:
Title: 50-60 characters, primary keyword near beginning, ≤580 px
Meta description: 120-158 characters, focus keyword included, CTA, value in first 120 chars