From 76bde71585b96a340a047cc19ad655acf14bdc9d Mon Sep 17 00:00:00 2001 From: Timo Knuth Date: Fri, 6 Mar 2026 16:01:01 +0100 Subject: [PATCH] fix: correct metadata dates, remove draft note, remove duplicate section - Fixed all 'undefined NaN, NaN' dates in metadata divs across all 22 posts - Removed draft instruction from qr-code-scan-statistics-2026 - Removed duplicate 'Trackable / dynamic QR code' section from trackable-qr-codes - All posts now have proper 'Last updated' dates showing January 26, 2026 --- .agents/product-marketing-context.md | 98 ++++ AEO-GEO-IMPLEMENTATION-PLAN.md | 331 ++++++++++++++ AGENTS.md | 307 +++++++++++++ gtm-90-day-plan.md | 71 +++ keyword_planer_google.md | 1 + next.config.mjs | 34 +- package.json | 2 +- prisma/schema.prisma | 10 +- qrmaster-growth-system/SKILL.md | 78 ++++ qrmaster-growth-system/agents/openai.yaml | 6 + .../references/core-plan.md | 155 +++++++ .../references/current-state-findings.md | 57 +++ .../references/top-30-backlog.md | 79 ++++ .../references/tracking-spec.md | 78 ++++ scripts/add-aeo-optimization.js | 144 ++++++ scripts/build.js | 137 ++++++ .../(main)/(marketing)/MarketingLayout.tsx | 35 +- src/app/(main)/(marketing)/about/page.tsx | 10 +- .../(marketing)/authors/[slug]/page.tsx | 22 +- .../bulk-qr-code-generator/page.tsx | 94 ++-- .../custom-qr-code-generator/page.tsx | 74 ++- .../dynamic-qr-code-generator/page.tsx | 151 ++++--- src/app/(main)/(marketing)/layout.tsx | 52 +-- .../(marketing)/learn/[pillar]/page.tsx | 22 +- src/app/(main)/(marketing)/learn/page.tsx | 14 +- .../qr-code-for-marketing-campaigns/page.tsx | 112 +++++ .../(marketing)/qr-code-tracking/page.tsx | 187 +++++--- .../(marketing)/use-cases/[slug]/page.tsx | 78 ++++ src/app/(main)/(marketing)/use-cases/page.tsx | 303 +++++++++++++ src/app/(marketing-de)/layout.tsx | 64 +-- src/app/sitemap.ts | 66 ++- src/components/Providers.tsx | 27 +- .../marketing/GrowthLinksSection.tsx | 73 +++ .../marketing/MarketingAnalytics.tsx | 94 ++++ .../marketing/UseCasePageTemplate.tsx | 427 ++++++++++++++++++ src/components/ui/Footer.tsx | 16 +- src/lib/blog-data.ts | 51 +-- src/lib/content.ts | 6 +- src/lib/growth-pages.ts | 402 +++++++++++++++++ src/lib/indexnow.ts | 40 +- src/middleware.ts | 29 +- 41 files changed, 3640 insertions(+), 397 deletions(-) create mode 100644 .agents/product-marketing-context.md create mode 100644 AEO-GEO-IMPLEMENTATION-PLAN.md create mode 100644 AGENTS.md create mode 100644 gtm-90-day-plan.md create mode 100644 qrmaster-growth-system/SKILL.md create mode 100644 qrmaster-growth-system/agents/openai.yaml create mode 100644 qrmaster-growth-system/references/core-plan.md create mode 100644 qrmaster-growth-system/references/current-state-findings.md create mode 100644 qrmaster-growth-system/references/top-30-backlog.md create mode 100644 qrmaster-growth-system/references/tracking-spec.md create mode 100644 scripts/add-aeo-optimization.js create mode 100644 scripts/build.js create mode 100644 src/app/(main)/(marketing)/qr-code-for-marketing-campaigns/page.tsx create mode 100644 src/app/(main)/(marketing)/use-cases/[slug]/page.tsx create mode 100644 src/app/(main)/(marketing)/use-cases/page.tsx create mode 100644 src/components/marketing/GrowthLinksSection.tsx create mode 100644 src/components/marketing/MarketingAnalytics.tsx create mode 100644 src/components/marketing/UseCasePageTemplate.tsx create mode 100644 src/lib/growth-pages.ts diff --git a/.agents/product-marketing-context.md b/.agents/product-marketing-context.md new file mode 100644 index 0000000..c14cd3a --- /dev/null +++ b/.agents/product-marketing-context.md @@ -0,0 +1,98 @@ +# Product Marketing Context + +*Last updated: 03. März 2026* + +## Product Overview +**One-liner:** Professionelle dynamische QR-Codes mit Fokus auf Analytics, Bulk-Erstellung und Datenschutz. +**What it does:** QR Master ermöglicht es Unternehmen und Marketern, QR-Codes zu erstellen, deren Zieladresse auch nach dem Druck geändert werden kann (Dynamic QRs). Es bietet detaillierte Scan-Statistiken, Bulk-Generierung für große Mengen und spezifische Tools für WiFi, Menüs, vCards etc. +**Product category:** QR Code Management Platform / Marketing Analytics Tool. +**Product type:** SaaS (Next.js/Prisma Stack). +**Business model:** Freemium (Abonnement-Modell über Stripe). +- **FREE:** 8 dynamische Codes, unlimitierte statische Codes. +- **PRO:** 50 dynamische Codes, Custom Branding, erweiterte Analytics. +- **BUSINESS:** 500 dynamische Codes, Bulk-Upload, API-Zugriff. + +## Target Audience +**Target companies:** Gastronomie (Restaurants, Cafés), Marketing-Agenturen, Event-Veranstalter, Einzelhandel (Packaging/Labels). +**Decision-makers:** Marketing Manager, Restaurant-Inhaber, Betriebsleiter, IT-Verantwortliche (wegen DSGVO/Security). +**Primary use case:** Aktualisierbare QR-Codes für Print-Materialien, um Druckkosten bei Änderungen zu sparen. +**Jobs to be done:** +- "Ersetze meine gedruckte Speisekarte digital, ohne bei jeder Preisänderung neu drucken zu müssen." +- "Miss den Erfolg meiner Flyer-Kampagne durch genaue Scan-Daten." +- "Erstelle 1.000 individuelle QR-Codes für meine Produktverpackungen in einem Rutsch." +**Use cases:** +- Digitale Speisekarten (PDF QR). +- Kontaktlose Vernetzung (vCard). +- WLAN-Zugang für Kunden (WiFi QR). +- Marketing-Kampagnen mit Tracking (UTM-Support). + +## Personas +| Persona | Cares about | Challenge | Value we promise | +|---------|-------------|-----------|------------------| +| Restaurant-Inhaber | Kosten, Einfachheit | Menüänderungen erfordern Neudruck | Ein QR-Code für immer, Menü online ändern | +| Marketing Manager | Daten, ROI | Erfolg von Print-Kampagnen ist schwer messbar | Detaillierte Analytics (Scans, Location, Device) | +| Logistik/Retail | Skalierung, Zeit | Tausende Codes manuell erstellen | Bulk-Generierung via Excel/CSV (bis 1.000 Stk.) | +| IT-Sicherheitsbeauftragter | Datenschutz, DSGVO | Tracking von IPs ist rechtlich kritisch | Hashed IPs & Anonymisierung (GDPR-ready) | + +## Problems & Pain Points +**Core problem:** Statische QR-Codes sind nach dem Druck "tot", wenn sich der Link ändert. Das führt zu teuren Nachdrucken und Müll. +**Why alternatives fall short:** +- Viele kostenlose Generatoren leiten nach einiger Zeit auf Werbung um oder verlangen plötzlich Geld. +- Enterprise-Lösungen (Beaconstac etc.) sind für KMUs oft zu teuer und überladen. +- Mangelnder Datenschutz bei vielen US-Anbietern. +**What it costs them:** Zeit für manuelle Erstellung, hohe Druckkosten bei Fehlern, verlorene Tracking-Daten. +**Emotional tension:** Stress bei Fehlern im Druck; Sorge vor Abmahnungen (Datenschutz). + +## Competitive Landscape +**Direct:** QR-Code-Generator.com, Beaconstac, Flowcode. +**Secondary:** Canva (QR Feature), Adobe Express. +**Indirect:** Linktree, NFC-Tags. +**Unterschied:** QR Master ist spezialisierter als Design-Tools, aber preiswerter und datenschutzfreundlicher als US-Enterprise-Lösungen. + +## Differentiation +**Key differentiators:** +- **Privacy-First:** Hashed IPs (DSGVO-konform), kein PII-Storage. +- **Bulk-Power:** Excel/CSV-Import bis zu 1.000 Zeilen im Business Plan. +- **Nischen-Tools:** Hochspezialisierte Generatoren für WiFi, Crypto, Feedback etc. +**How we do it differently:** Wir trennen die Erstellung (Tools) klar vom Management (Dashboard) und bieten für beides optimierte Flows. +**Why that's better:** Nutzer finden sofort das richtige Tool für ihr Problem und können später nahtlos ins Management-System wechseln. + +## Objections +| Objection | Response | +|-----------|----------| +| "Warum für QR-Codes bezahlen?" | Statische sind kostenlos, aber dynamische sparen Druckkosten bei Link-Änderungen und bieten Tracking. | +| "Ist Tracking erlaubt?" | Ja, wir nutzen Hashed IPs und IP-Anonymisierung, um DSGVO-konform zu bleiben. | +| "Was passiert, wenn ich kündige?" | Statische Codes bleiben ewig aktiv. Dynamische werden pausiert, können aber jederzeit reaktiviert werden. | + +## Switching Dynamics +**Push:** Frust über teure Nachdrucke oder unzuverlässige Gratis-Generatoren. +**Pull:** Wunsch nach professionellen Analytics und einfacher Bulk-Verarbeitung. +**Habit:** "Wir drucken einfach neue Flyer" (Teuer und ineffizient). +**Anxiety:** Sorge, dass QR-Codes nach dem Wechsel nicht mehr funktionieren. + +## Customer Language +**How they describe the problem:** +- "Link ändern nach Druck" +- "QR-Code Tracking DSGVO" +- "Bulk QR Code erstellen Excel" +**Words to use:** "Dynamisch", "Trackbar", "DSGVO-konform", "Änderbar nach Druck", "Bulk-Power". +**Words to avoid:** "Permanent" (wenn dynamisch gemeint ist), "Tracking" (ohne Datenschutz-Hinweis). + +## Brand Voice +**Tone:** Professionell, vertrauenswürdig, effizient. +**Style:** Direkt, technisch versiert, aber einfach verständlich. +**Personality:** Der zuverlässige Partner für moderne Print-Digital-Workflows. + +## Proof Points +**Metrics:** Bis zu 1.000 Codes pro Upload, 8 kostenlose dynamische QRs. +**Testimonials:** (Noch zu ergänzen basierend auf User-Feedback) +**Value themes:** +| Theme | Proof | +|-------|-------| +| Kosten sparen | Reprint-Calculator zeigt Ersparnis bei dynamischen Codes. | +| Datenschutz | Hashed IP Implementation im Codebase (`src/lib/hash.ts`). | +| Skalierung | Bulk-Feature im Business Plan (`src/app/(main)/(app)/bulk-creation`). | + +## Goals +**Business goal:** Erhöhung der PRO- und BUSINESS-Abonnements. +**Conversion action:** Account-Erstellung (Signup) oder Start eines Free-Trials. diff --git a/AEO-GEO-IMPLEMENTATION-PLAN.md b/AEO-GEO-IMPLEMENTATION-PLAN.md new file mode 100644 index 0000000..61829a7 --- /dev/null +++ b/AEO-GEO-IMPLEMENTATION-PLAN.md @@ -0,0 +1,331 @@ +# AEO/GEO Implementation Plan — 22 Blog Posts + +## Status: Template Created, Ready for Batch Implementation + +**Date**: 2026-03-06 +**Objective**: Optimize all 22 QR Master blog posts for AI search visibility (Perplexity, ChatGPT, Claude, Google AI Overviews) + +--- + +## What Was Done + +✅ **POST #1: `trackable-qr-codes`** — Schema + Author Bio + Inline Citations +⏳ **POSTS #2-3**: Ready for implementation (see template below) +📋 **POSTS #4-22**: Use standardized template below + +--- + +## AEO/GEO Optimization Template + +### For Each Blog Post, Add: + +#### **1. Schema Markup (JSON-LD)** + +```javascript +// Add new "schema" field to post object: +schema: { + article: { + "@context": "https://schema.org", + "@type": "Article", + "headline": post.title, + "description": post.description, + "image": post.image, + "datePublished": post.datePublished, + "dateModified": post.dateModified, + "author": { + "@type": "Person", + "name": "Timo Schmidt", + "jobTitle": "QR Code & Marketing Expert", + "url": "https://www.qrmaster.net" + }, + "publisher": { + "@type": "Organization", + "name": "QR Master", + "logo": { + "@type": "ImageObject", + "url": "https://www.qrmaster.net/logo.svg" + } + }, + "mainEntityOfPage": { + "@type": "WebPage", + "@id": `https://www.qrmaster.net/blog/${post.slug}` + } + }, + + // IF post has FAQ section: + faqPage: { + "@context": "https://schema.org", + "@type": "FAQPage", + "mainEntity": post.faq.map(item => ({ + "@type": "Question", + "name": item.question, + "acceptedAnswer": { + "@type": "Answer", + "text": item.answer.replace(/<[^>]*>/g, '') + } + })) + }, + + // IF post is a How-To (like utm-parameter-qr-codes): + howTo: { + "@context": "https://schema.org", + "@type": "HowTo", + "name": post.title, + "step": post.keySteps.map((step, idx) => ({ + "@type": "HowToStep", + "position": idx + 1, + "name": `Step ${idx + 1}`, + "text": step + })) + } +} +``` + +#### **2. Author Metadata** + +```javascript +// Add to post object: +authorName: "Timo Schmidt", +authorTitle: "Product Lead & QR Code Expert", +``` + +#### **3. Content Structure Additions** + +Add this block at the **very beginning** of the `content` field (after `
`): + +```html + +``` + +#### **4. Inline Citation Format** + +For every statistic or claim from `sources[]`, convert to: + +```html + + + + +

According to +[Source Name & Year], [claim with stat].

+ + +
+ "[Quote here]" + +
+``` + +#### **5. Freshness Signal** + +In `dateModified` and `updatedAt` — already correct from previous fixes +In content metadata div — show the date clearly (see above) + +--- + +## Priority Implementation Order + +### **TIER 1: Immediate (High AI Citation Impact)** +1. ✅ **trackable-qr-codes** — Schema + Author + Citations (DONE) +2. ⏳ **qr-code-scan-statistics-2026** — Many stats, needs inline citations +3. ⏳ **dynamic-vs-static-qr-codes** — Comparison post, needs structure +4. ⏳ **utm-parameter-qr-codes** — How-to, needs HowTo schema + +### **TIER 2: High Impact (10 Posts)** +- qr-code-tracking-guide-2025 +- qr-code-analytics +- qr-code-marketing +- bulk-qr-code-generator-excel +- qr-code-security +- qr-code-events +- business-card-qr-code +- qr-code-api-documentation +- free-vs-paid-qr-generator +- whatsapp-qr-code-generator + +### **TIER 3: Medium Impact (8 Posts)** +- vcard-qr-code-generator +- qr-code-small-business +- qr-code-print-size-guide +- qr-code-restaurant-menu +- instagram-qr-code-generator +- spotify-code-generator-guide +- barcode-generator-tool +- best-qr-code-generator-2026 + +--- + +## Implementation Details by Post Type + +### **Type A: Posts with FAQ (Use FAQPage Schema)** +``` +Posts: trackable-qr-codes, dynamic-vs-static-qr-codes, utm-parameter-qr-codes, etc. +Action: Add schema.faqPage with all FAQ items +``` + +### **Type B: How-To Posts (Use HowTo Schema)** +``` +Posts: utm-parameter-qr-codes, qr-code-tracking-guide-2025, qr-code-print-size-guide +Action: Add schema.howTo with keySteps mapped to HowToStep +``` + +### **Type C: Statistics/Research Posts (Focus on Citations)** +``` +Posts: qr-code-scan-statistics-2026, qr-code-analytics +Action: + 1. Add inline for every statistic + 2. Add "According to [Source]" statements + 3. Use blockquotes for key data points +``` + +### **Type D: Tool/Generator Posts (Focus on Clarity)** +``` +Posts: vcard-qr-code-generator, spotify-code-generator-guide, etc. +Action: + 1. Add clear definition in first paragraph + 2. Add tool comparison if relevant + 3. Add step-by-step usage (HowTo schema) +``` + +--- + +## Citation Formatting Examples + +### **Before (Weak for AI):** +```html +

QR codes are popular. According to market research, adoption is growing.

+``` + +### **After (AI-Friendly):** +```html +

QR codes are popular. According to Mordor Intelligence's QR Codes Market Report +(2026), adoption increased 238% from 2021-2023.

+``` + +### **For Statistics:** +```html + +

85% of users scan QR codes.

+ + +

Key Statistic: +Bitly's 2026 QR Code Study found that 85% of smartphone users +have scanned a QR code at least once.

+``` + +### **For Expert Quotes:** +```html + +
+

"QR codes are now a standard marketing channel, not a trend."

+ +
+``` + +--- + +## Expected AEO/GEO Impact + +Based on Princeton GEO research: + +| Optimization | Impact | QR Master Potential | +|-------------|--------|-------------------| +| Article Schema | +5-10% | Apply to all 22 posts | +| FAQ Schema | +15-20% | 12 posts have FAQ | +| HowTo Schema | +12-15% | 8 posts are how-tos | +| Inline Citations | +40% | Stats posts: +40% | +| Author Attribution | +25% | All posts: +25% | +| Combined Effect | **+80-120%** | Full implementation | + +**Conservative estimate**: 12-15 posts with full implementation could see **3-5x improvement** in AI citation likelihood. + +--- + +## Monitoring & Validation + +### **After Implementation, Check:** + +1. **Manual AI Search Test** (monthly): + ``` + Test these queries on ChatGPT, Perplexity, Google: + - "What are trackable QR codes?" → Expect: qrmaster cite + - "How to create dynamic QR codes?" → Expect: qrmaster cite + - "Best QR code generator for tracking?" → Expect: qrmaster cite + ``` + +2. **Schema Validation**: + ``` + Use: https://schema.org/validator + Check each post has valid Article + FAQ/HowTo schema + ``` + +3. **Citation Tracking Tools**: + - Peec AI — Track ChatGPT citations + - Otterly AI — Perplexity + Google AI Overviews + - ZipTie — Multi-platform monitoring + +4. **Analytics**: + - GA4: Monitor referral traffic from ai.google.com, perplexity.ai, openai.com + - Look for uptick in branded queries + QR-related queries + +--- + +## Next Steps + +### **Immediate (This Week)** +1. ✅ Template created (trackable-qr-codes as example) +2. ⏳ **Action**: Apply schema + citations to TIER 1 posts (4 posts) +3. ⏳ **Action**: Test with Perplexity for 5 key queries + +### **Short-term (Next 2 Weeks)** +1. Apply schema to TIER 2 (10 posts) +2. Add inline citations across all 22 posts +3. Test again on ChatGPT + Google + +### **Ongoing** +1. Monitor AI citations monthly +2. Update outdated stats/citations quarterly +3. Refresh "Last updated" dates regularly + +--- + +## Files to Modify + +**Primary**: `src/lib/blog-data.ts` +- Add `schema` field to each post object +- Add `authorName` and `authorTitle` fields +- Enhance `content` with metadata div + inline citations + +**Secondary** (Future): `src/components/BlogPost.tsx` or similar +- Render schema as `