11 seo pages

This commit is contained in:
2026-07-06 21:50:34 +02:00
committed by Timo
parent 192c186027
commit 68b2ac0089
139 changed files with 30953 additions and 56321 deletions

View File

@@ -1,45 +1,45 @@
# Codex Automation System
This folder defines reusable Codex workflows for QRMaster and GreenLens Pro.
Use these as operating playbooks when asking Codex to run growth, SEO, content,
or app-store work.
## Active Automations
### QRMaster
1. `qrmaster-pr-seo-review.md`
- Purpose: review every SEO, landing page, and conversion change before it is merged.
- Primary plugins/tools: GitHub, Codex.
- Primary skills: `ai-seo`, `content-strategy`, `careful`, `qa`.
2. `qrmaster-seo-sprint-machine.md`
- Purpose: plan and produce a weekly SEO sprint from keyword backlog to PR-ready work.
- Primary plugins/tools: GitHub, Coupler or CSV exports, Codex.
- Primary skills: `content-strategy`, `ai-seo`, `copywriting`, `qa`.
3. `qrmaster-broken-link-cta-checker.md`
- Purpose: catch broken internal links and broken CTAs after direct `main`
branch changes.
- Primary plugins/tools: Codex, GitHub Actions or local npm script.
- Primary skills: `qa`, `ai-seo`.
### GreenLens Pro
1. `greenlens-pain-mining-machine.md`
- Purpose: turn reviews, comments, competitor messaging, and search questions into
product, ASO, and content opportunities.
- Primary plugins/tools: Codex, Gmail, Coupler or CSV exports.
- Primary skills: `app-store-aso`, `content-strategy`, `copywriting`.
2. `greenlens-viral-slideshow-machine.md`
- Purpose: turn validated plant pains into TikTok, Instagram, and Canva-ready
slideshow assets.
- Primary plugins/tools: Canva, Codex, Gmail/Fyxer for creator briefs.
- Primary skills: `content-strategy`, `copywriting`, `ad-creative`, `app-store-aso`.
## Operating Rule
Do not automate publishing directly. Automate drafts, PRs, reviews, and packaged
outputs first. A human should approve live SEO pages, store metadata, influencer
messages, and paid/conversion changes.
# Codex Automation System
This folder defines reusable Codex workflows for QRMaster and GreenLens Pro.
Use these as operating playbooks when asking Codex to run growth, SEO, content,
or app-store work.
## Active Automations
### QRMaster
1. `qrmaster-pr-seo-review.md`
- Purpose: review every SEO, landing page, and conversion change before it is merged.
- Primary plugins/tools: GitHub, Codex.
- Primary skills: `ai-seo`, `content-strategy`, `careful`, `qa`.
2. `qrmaster-seo-sprint-machine.md`
- Purpose: plan and produce a weekly SEO sprint from keyword backlog to PR-ready work.
- Primary plugins/tools: GitHub, Coupler or CSV exports, Codex.
- Primary skills: `content-strategy`, `ai-seo`, `copywriting`, `qa`.
3. `qrmaster-broken-link-cta-checker.md`
- Purpose: catch broken internal links and broken CTAs after direct `main`
branch changes.
- Primary plugins/tools: Codex, GitHub Actions or local npm script.
- Primary skills: `qa`, `ai-seo`.
### GreenLens Pro
1. `greenlens-pain-mining-machine.md`
- Purpose: turn reviews, comments, competitor messaging, and search questions into
product, ASO, and content opportunities.
- Primary plugins/tools: Codex, Gmail, Coupler or CSV exports.
- Primary skills: `app-store-aso`, `content-strategy`, `copywriting`.
2. `greenlens-viral-slideshow-machine.md`
- Purpose: turn validated plant pains into TikTok, Instagram, and Canva-ready
slideshow assets.
- Primary plugins/tools: Canva, Codex, Gmail/Fyxer for creator briefs.
- Primary skills: `content-strategy`, `copywriting`, `ad-creative`, `app-store-aso`.
## Operating Rule
Do not automate publishing directly. Automate drafts, PRs, reviews, and packaged
outputs first. A human should approve live SEO pages, store metadata, influencer
messages, and paid/conversion changes.

View File

@@ -1,160 +1,160 @@
# GreenLens Pro Pain Mining Machine
## Goal
Turn real plant-owner pains into content, ASO, influencer, landing page, and
product opportunities.
## Why This Exists
GreenLens Pro should be driven by what users actually worry about:
yellow leaves, brown spots, root rot, overwatering, underwatering, pests,
curling leaves, and not knowing what to do next.
## Plugins And Skills
| Need | Use |
|---|---|
| Review/comment exports | Coupler, CSV exports, Codex |
| App Store optimization | `app-store-aso` skill |
| Content clustering | `content-strategy` skill |
| Copy and hooks | `copywriting` skill |
| Support/outreach drafting | Gmail/Fyxer plugin |
| Product issue creation | GitHub plugin |
## Data Sources
Use any available source, but label the source for every pain:
- App Store competitor reviews
- Google Play competitor reviews
- Reddit plant-care threads
- TikTok or Instagram comments
- Google autocomplete or People Also Ask exports
- Support emails or user feedback
- Existing GreenLens analytics or onboarding responses
## Pain Taxonomy
Cluster each item into one primary category:
- Yellow leaves
- Brown spots
- Root rot
- Overwatering
- Underwatering
- Curling leaves
- Drooping leaves
- Pests
- Light problems
- Soil and repotting
- Beginner confusion
- Diagnosis trust
- Price/paywall objection
- App usability issue
## Scoring Model
Score each pain from 0-100:
| Factor | Weight |
|---|---:|
| User urgency | 30 |
| App fit | 25 |
| Content virality | 20 |
| ASO/search value | 15 |
| Product learning value | 10 |
Prioritize urgent, visual, diagnosis-driven pains where GreenLens can credibly
help the user decide what to check next.
## Weekly Output
Produce:
1. Top 20 pains.
2. Top 10 social hooks.
3. Top 5 ASO keyword opportunities.
4. Top 5 blog or landing page ideas.
5. Top 5 product issues or feature hypotheses.
6. Top 10 influencer angles.
## Codex Pain Mining Prompt
```text
Run the GreenLens Pro Pain Mining Machine.
Use:
- docs/automations/greenlens-pain-mining-machine.md
- app-store-aso skill
- content-strategy skill
Input source: [reviews/comments/export/pasted text]
Market: [US / DE / global]
Platform focus: [iOS / Android / both]
Tasks:
1. Extract raw plant-owner pains.
2. Cluster them into the GreenLens pain taxonomy.
3. Score each pain by urgency, app fit, virality, ASO value, and product learning.
4. Convert winners into:
- social hooks
- ASO keyword ideas
- blog/landing page ideas
- product issues
- influencer outreach angles
Do not invent source quotes. If evidence is weak, label it as hypothesis.
```
## Output Template
```markdown
# GreenLens Pain Mining Report
## Source Summary
## Top Pains
| Rank | Pain | Source | Score | Why it matters |
|---|---|---|---:|---|
## Hook Backlog
## ASO Opportunities
## Product Issues
## Influencer Angles
## Next Actions
```
## Product Issue Template
```markdown
Title: [Feature or improvement]
User pain:
[What the user is struggling with]
Hypothesis:
If GreenLens [change], users will [outcome].
Acceptance criteria:
- [criterion]
- [criterion]
- [criterion]
Measurement:
- activation
- scan completion
- paywall conversion
- retention
```
## Success Criteria
- Every recommendation traces back to a real pain or explicitly marked hypothesis.
- Top pains can feed both ASO and social content.
- Product issues are concrete enough for GitHub.
# GreenLens Pro Pain Mining Machine
## Goal
Turn real plant-owner pains into content, ASO, influencer, landing page, and
product opportunities.
## Why This Exists
GreenLens Pro should be driven by what users actually worry about:
yellow leaves, brown spots, root rot, overwatering, underwatering, pests,
curling leaves, and not knowing what to do next.
## Plugins And Skills
| Need | Use |
|---|---|
| Review/comment exports | Coupler, CSV exports, Codex |
| App Store optimization | `app-store-aso` skill |
| Content clustering | `content-strategy` skill |
| Copy and hooks | `copywriting` skill |
| Support/outreach drafting | Gmail/Fyxer plugin |
| Product issue creation | GitHub plugin |
## Data Sources
Use any available source, but label the source for every pain:
- App Store competitor reviews
- Google Play competitor reviews
- Reddit plant-care threads
- TikTok or Instagram comments
- Google autocomplete or People Also Ask exports
- Support emails or user feedback
- Existing GreenLens analytics or onboarding responses
## Pain Taxonomy
Cluster each item into one primary category:
- Yellow leaves
- Brown spots
- Root rot
- Overwatering
- Underwatering
- Curling leaves
- Drooping leaves
- Pests
- Light problems
- Soil and repotting
- Beginner confusion
- Diagnosis trust
- Price/paywall objection
- App usability issue
## Scoring Model
Score each pain from 0-100:
| Factor | Weight |
|---|---:|
| User urgency | 30 |
| App fit | 25 |
| Content virality | 20 |
| ASO/search value | 15 |
| Product learning value | 10 |
Prioritize urgent, visual, diagnosis-driven pains where GreenLens can credibly
help the user decide what to check next.
## Weekly Output
Produce:
1. Top 20 pains.
2. Top 10 social hooks.
3. Top 5 ASO keyword opportunities.
4. Top 5 blog or landing page ideas.
5. Top 5 product issues or feature hypotheses.
6. Top 10 influencer angles.
## Codex Pain Mining Prompt
```text
Run the GreenLens Pro Pain Mining Machine.
Use:
- docs/automations/greenlens-pain-mining-machine.md
- app-store-aso skill
- content-strategy skill
Input source: [reviews/comments/export/pasted text]
Market: [US / DE / global]
Platform focus: [iOS / Android / both]
Tasks:
1. Extract raw plant-owner pains.
2. Cluster them into the GreenLens pain taxonomy.
3. Score each pain by urgency, app fit, virality, ASO value, and product learning.
4. Convert winners into:
- social hooks
- ASO keyword ideas
- blog/landing page ideas
- product issues
- influencer outreach angles
Do not invent source quotes. If evidence is weak, label it as hypothesis.
```
## Output Template
```markdown
# GreenLens Pain Mining Report
## Source Summary
## Top Pains
| Rank | Pain | Source | Score | Why it matters |
|---|---|---|---:|---|
## Hook Backlog
## ASO Opportunities
## Product Issues
## Influencer Angles
## Next Actions
```
## Product Issue Template
```markdown
Title: [Feature or improvement]
User pain:
[What the user is struggling with]
Hypothesis:
If GreenLens [change], users will [outcome].
Acceptance criteria:
- [criterion]
- [criterion]
- [criterion]
Measurement:
- activation
- scan completion
- paywall conversion
- retention
```
## Success Criteria
- Every recommendation traces back to a real pain or explicitly marked hypothesis.
- Top pains can feed both ASO and social content.
- Product issues are concrete enough for GitHub.

View File

@@ -1,139 +1,139 @@
# GreenLens Pro Viral Slideshow Machine
## Goal
Convert validated plant pains into TikTok, Instagram, and Canva-ready slideshow
assets that drive awareness and app downloads.
## Plugins And Skills
| Need | Use |
|---|---|
| Creative generation | Canva plugin |
| Hook and caption writing | `copywriting`, `ad-creative` skills |
| Content planning | `content-strategy` skill |
| ASO alignment | `app-store-aso` skill |
| Creator briefs and outreach | Gmail/Fyxer plugin |
## Required Input
Use outputs from `greenlens-pain-mining-machine.md`:
- pain cluster
- urgency score
- source evidence
- target audience
- desired CTA
- app positioning angle
## Content Pillars
- Diagnosis before guessing
- Overwatering mistakes
- Yellow leaves
- Brown spots
- Root rot warnings
- Beginner plant rescue
- Plant symptoms explained
- "Do not water yet" warnings
- App scan/use-case demos
## Slideshow Formula
1. Hook: direct warning, contradiction, or curiosity.
2. Problem: show the common wrong assumption.
3. Explanation: simple plant-care reason.
4. Check: what the user should inspect first.
5. Risk: what happens if they guess.
6. GreenLens bridge: scan or diagnose before acting.
7. CTA: download, scan, or save.
## Hook Patterns
- "Do not water your plant before checking this."
- "Yellow leaves do not always mean your plant is thirsty."
- "Brown spots can mean more than sunburn."
- "Your plant was warning you before it started dying."
- "Overwatering often looks like underwatering."
- "Scan before you guess."
## Canva Direction
Use GreenLens as a calm diagnosis-first plant app:
- natural plant photography or close-up symptom imagery
- clear readable overlay text
- botanical but not decorative-only
- show symptoms clearly
- app screenshot or phone mockup only when it explains the action
- avoid vague wellness aesthetics that do not show the plant problem
## Codex Slideshow Prompt
```text
Run the GreenLens Pro Viral Slideshow Machine.
Use:
- docs/automations/greenlens-pain-mining-machine.md
- docs/automations/greenlens-viral-slideshow-machine.md
- app-store-aso skill
- content-strategy skill
- copywriting/ad-creative skills
Input pain cluster: [pain]
Audience: [beginner plant owners / plant rescue followers / houseplant collectors]
CTA: [Download GreenLens Pro / Scan your plant / Save this checklist]
Channel: [TikTok / Instagram / both]
Quantity: [number]
Return for each concept:
1. hook
2. 5-7 slide script
3. visual direction per slide
4. Canva prompt
5. caption
6. hashtags
7. ASO keyword tie-in
8. creator brief version
Rules:
- Keep claims educational, not medical/certain beyond evidence.
- Do not promise perfect diagnosis.
- Make the symptom visually inspectable.
- The app CTA should feel like the next practical step, not a hard sell.
```
## Output Template
```markdown
# GreenLens Slideshow Pack: [Pain Cluster]
## Concept 1: [Hook]
### Slides
1. [text] -- [visual]
2. [text] -- [visual]
3. [text] -- [visual]
4. [text] -- [visual]
5. [text] -- [visual]
6. [text] -- [visual]
7. [text] -- [visual]
### Canva Prompt
### Caption
### Hashtags
### ASO Tie-In
### Creator Brief
```
## Quality Bar
- The first slide must be understandable in under 2 seconds.
- Every slide should be shorter than 12 words when possible.
- The visual must show the symptom or action, not just a plant mood shot.
- The final CTA should match the pain: scan, check, save, or download.
# GreenLens Pro Viral Slideshow Machine
## Goal
Convert validated plant pains into TikTok, Instagram, and Canva-ready slideshow
assets that drive awareness and app downloads.
## Plugins And Skills
| Need | Use |
|---|---|
| Creative generation | Canva plugin |
| Hook and caption writing | `copywriting`, `ad-creative` skills |
| Content planning | `content-strategy` skill |
| ASO alignment | `app-store-aso` skill |
| Creator briefs and outreach | Gmail/Fyxer plugin |
## Required Input
Use outputs from `greenlens-pain-mining-machine.md`:
- pain cluster
- urgency score
- source evidence
- target audience
- desired CTA
- app positioning angle
## Content Pillars
- Diagnosis before guessing
- Overwatering mistakes
- Yellow leaves
- Brown spots
- Root rot warnings
- Beginner plant rescue
- Plant symptoms explained
- "Do not water yet" warnings
- App scan/use-case demos
## Slideshow Formula
1. Hook: direct warning, contradiction, or curiosity.
2. Problem: show the common wrong assumption.
3. Explanation: simple plant-care reason.
4. Check: what the user should inspect first.
5. Risk: what happens if they guess.
6. GreenLens bridge: scan or diagnose before acting.
7. CTA: download, scan, or save.
## Hook Patterns
- "Do not water your plant before checking this."
- "Yellow leaves do not always mean your plant is thirsty."
- "Brown spots can mean more than sunburn."
- "Your plant was warning you before it started dying."
- "Overwatering often looks like underwatering."
- "Scan before you guess."
## Canva Direction
Use GreenLens as a calm diagnosis-first plant app:
- natural plant photography or close-up symptom imagery
- clear readable overlay text
- botanical but not decorative-only
- show symptoms clearly
- app screenshot or phone mockup only when it explains the action
- avoid vague wellness aesthetics that do not show the plant problem
## Codex Slideshow Prompt
```text
Run the GreenLens Pro Viral Slideshow Machine.
Use:
- docs/automations/greenlens-pain-mining-machine.md
- docs/automations/greenlens-viral-slideshow-machine.md
- app-store-aso skill
- content-strategy skill
- copywriting/ad-creative skills
Input pain cluster: [pain]
Audience: [beginner plant owners / plant rescue followers / houseplant collectors]
CTA: [Download GreenLens Pro / Scan your plant / Save this checklist]
Channel: [TikTok / Instagram / both]
Quantity: [number]
Return for each concept:
1. hook
2. 5-7 slide script
3. visual direction per slide
4. Canva prompt
5. caption
6. hashtags
7. ASO keyword tie-in
8. creator brief version
Rules:
- Keep claims educational, not medical/certain beyond evidence.
- Do not promise perfect diagnosis.
- Make the symptom visually inspectable.
- The app CTA should feel like the next practical step, not a hard sell.
```
## Output Template
```markdown
# GreenLens Slideshow Pack: [Pain Cluster]
## Concept 1: [Hook]
### Slides
1. [text] -- [visual]
2. [text] -- [visual]
3. [text] -- [visual]
4. [text] -- [visual]
5. [text] -- [visual]
6. [text] -- [visual]
7. [text] -- [visual]
### Canva Prompt
### Caption
### Hashtags
### ASO Tie-In
### Creator Brief
```
## Quality Bar
- The first slide must be understandable in under 2 seconds.
- Every slide should be shorter than 12 words when possible.
- The visual must show the symptom or action, not just a plant mood shot.
- The final CTA should match the pain: scan, check, save, or download.

View File

@@ -1,57 +1,57 @@
# QRMaster Broken Link + CTA Checker
## Goal
Catch broken internal links and broken conversion CTAs on `main`, especially
after direct edits without a pull request.
## What It Checks
- Static internal `href` values in source files.
- Static `router.push("/...")` destinations.
- Internal links against known Next.js app routes and files in `public/`.
- CTA-like links such as "Get started", "Create QR", "Start free",
"Generate QR", "Pricing", and "Upgrade".
- Pages that appear to have no obvious CTA link.
## Command
```bash
npm run check:links
```
The command prints a JSON report. It exits with a non-zero status if broken
internal links or broken CTA links are found.
## Known Limits
- Dynamic CMS/blog slugs are allowed by prefix and not fully validated.
- Runtime-only links built from variables are skipped.
- External links are not checked by this local script.
- This is a fast safety check, not a full crawl of the deployed website.
## Codex Automation Prompt
```text
Run the QRMaster Broken Link + CTA Checker.
Use:
- docs/automations/qrmaster-broken-link-cta-checker.md
- scripts/check-links-and-ctas.js
Run npm run check:links. Review the JSON report and summarize:
1. broken internal links
2. broken CTA links
3. important pages without obvious CTAs
4. concrete fixes with file paths
If the script fails, inspect the listed files and propose the smallest safe fix.
Do not modify production configuration automatically.
```
## Success Criteria
- No broken internal links.
- No broken CTA links.
- Important marketing, tool, and pricing pages have a clear CTA.
# QRMaster Broken Link + CTA Checker
## Goal
Catch broken internal links and broken conversion CTAs on `main`, especially
after direct edits without a pull request.
## What It Checks
- Static internal `href` values in source files.
- Static `router.push("/...")` destinations.
- Internal links against known Next.js app routes and files in `public/`.
- CTA-like links such as "Get started", "Create QR", "Start free",
"Generate QR", "Pricing", and "Upgrade".
- Pages that appear to have no obvious CTA link.
## Command
```bash
npm run check:links
```
The command prints a JSON report. It exits with a non-zero status if broken
internal links or broken CTA links are found.
## Known Limits
- Dynamic CMS/blog slugs are allowed by prefix and not fully validated.
- Runtime-only links built from variables are skipped.
- External links are not checked by this local script.
- This is a fast safety check, not a full crawl of the deployed website.
## Codex Automation Prompt
```text
Run the QRMaster Broken Link + CTA Checker.
Use:
- docs/automations/qrmaster-broken-link-cta-checker.md
- scripts/check-links-and-ctas.js
Run npm run check:links. Review the JSON report and summarize:
1. broken internal links
2. broken CTA links
3. important pages without obvious CTAs
4. concrete fixes with file paths
If the script fails, inspect the listed files and propose the smallest safe fix.
Do not modify production configuration automatically.
```
## Success Criteria
- No broken internal links.
- No broken CTA links.
- Important marketing, tool, and pricing pages have a clear CTA.

View File

@@ -1,163 +1,163 @@
# QRMaster PR SEO Review
## Goal
Catch SEO, conversion, content-quality, and technical issues before a QRMaster
page change is merged.
## Use When
- A PR changes landing pages, tool pages, comparison pages, blog posts, metadata,
schema, sitemap behavior, internal links, pricing copy, or CTAs.
- Codex generated new SEO pages from `marketing/programmatic-seo-top-50.md`.
- Existing pages were refreshed from Google Search Console or keyword data.
## Plugins And Skills
| Need | Use |
|---|---|
| Diff and PR review | GitHub plugin |
| Code/content inspection | Codex |
| SEO/AEO review | `ai-seo` skill |
| Content intent and cluster fit | `content-strategy` skill |
| Build/lint verification | GitHub Actions, `qa` skill |
| Careful merge decision | `careful` skill |
## Review Checklist
### 1. Technical SEO
- Exactly one H1 on the rendered page.
- Meta title exists and is specific to the page intent.
- Meta title places the primary keyword near the start where natural.
- Meta title stays under roughly 60 characters unless there is a clear reason.
- Meta description exists and promises the right outcome.
- Meta description includes the target keyword naturally, states the user benefit,
and stays concise enough to avoid likely truncation.
- Canonical URL is correct.
- Page is not accidentally noindexed.
- FAQ, Article, Product, Breadcrumb, or HowTo schema is valid where used.
- Sitemap and internal routing include the page where required.
- No broken internal links or CTA links.
- Language and locale are consistent.
- URL slug is short, descriptive, hyphenated, and does not include stale dates.
- Meaningful images have descriptive alt text and useful filenames where local
image handling allows it.
- Large visual assets are compressed or already optimized.
- Mobile layout is readable and CTAs are tappable.
- The page does not introduce obvious Core Web Vitals risks.
- Robots rules do not block important pages or desired AI/search crawlers.
### 2. Search Intent
- The first screen makes it obvious the page answers the target query.
- The opening paragraph states the problem directly.
- The page matches one primary intent only.
- The content is not a generic rewrite of another QRMaster page.
- The page includes concrete examples for its audience or use case.
- The target keyword intent is labeled as informational, commercial,
transactional, or navigational.
- The page covers the related subtopics a search or AI system would fan out to
for the main query.
- Each H2/H3 section answers the heading directly in the first sentence before
adding background or nuance.
### 3. QRMaster Conversion Fit
- Primary CTA is visible early.
- CTA copy matches the use case, not just generic "Get started".
- The page explains why dynamic QR codes matter when links change after printing.
- Scan analytics or tracking is mentioned when relevant.
- Privacy/GDPR positioning is included where tracking is discussed.
- The copy avoids unsupported claims.
### 4. Internal Linking
- New page links to the relevant money page:
- `/dynamic-qr-code-generator`
- `/qr-code-tracking`
- `/bulk-qr-code-generator`
- `/pricing`
- relevant `/tools/...` page
- Existing related pages should link back to the new page.
- Anchor text is natural and varied.
### 5. AI Search Extractability
- Important answer blocks are self-contained.
- Comparison content uses tables where useful.
- FAQ questions are written in natural user language.
- Definitions answer the query in 40-60 words when possible.
- Claims that need evidence include a source or are framed as product positioning.
- Sections are focused on one question or subtopic at a time.
- Bullet lists, tables, and short paragraphs are used where they improve
extraction and scanning.
- The page can be cited by AI systems without relying on surrounding context.
### 6. E-E-A-T And Quality
- Content is accurate, current, and not copied from competitors.
- Any competitor, pricing, legal, privacy, or compliance claim is verified or
clearly avoided.
- The page adds QRMaster-specific value, examples, workflows, or product context.
- The tone stays direct, useful, and trustworthy.
## Codex Review Prompt
```text
Review this QRMaster PR as an SEO, conversion, and technical quality gate.
Use:
- docs/automations/qrmaster-pr-seo-review.md
- .agents/product-marketing-context.md
- marketing/programmatic-seo-top-50.md
Check the diff for:
1. technical SEO issues
2. search intent mismatch
3. weak or missing CTA
4. duplicate/thin content
5. missing internal links
6. invalid or missing schema
7. weak AI/agentic-search extractability
8. missing visual/mobile/performance considerations
9. build/lint risks
Return findings ordered by severity. For each finding include:
- file path
- exact line if possible
- why it matters
- concrete fix
Also include:
- merge recommendation: approve / request changes
- required follow-up tasks
```
## Review Output Format
```markdown
## QRMaster PR SEO Review
Decision: Request changes
### Findings
1. [High] Missing internal link to `/dynamic-qr-code-generator`
2. [Medium] CTA is too generic for the target intent
3. [Low] FAQ question overlaps with another page
### Required Fixes
- Add contextual link from the "after printing" section to `/dynamic-qr-code-generator`.
- Change CTA from "Get started" to "Create an editable QR code for your flyer".
### Verification
- Build:
- Lint:
- Link/schema check:
```
## Success Criteria
- No high-severity SEO or conversion findings remain.
- Build and lint pass.
- The PR has a clear human approval before merge.
# QRMaster PR SEO Review
## Goal
Catch SEO, conversion, content-quality, and technical issues before a QRMaster
page change is merged.
## Use When
- A PR changes landing pages, tool pages, comparison pages, blog posts, metadata,
schema, sitemap behavior, internal links, pricing copy, or CTAs.
- Codex generated new SEO pages from `marketing/programmatic-seo-top-50.md`.
- Existing pages were refreshed from Google Search Console or keyword data.
## Plugins And Skills
| Need | Use |
|---|---|
| Diff and PR review | GitHub plugin |
| Code/content inspection | Codex |
| SEO/AEO review | `ai-seo` skill |
| Content intent and cluster fit | `content-strategy` skill |
| Build/lint verification | GitHub Actions, `qa` skill |
| Careful merge decision | `careful` skill |
## Review Checklist
### 1. Technical SEO
- Exactly one H1 on the rendered page.
- Meta title exists and is specific to the page intent.
- Meta title places the primary keyword near the start where natural.
- Meta title stays under roughly 60 characters unless there is a clear reason.
- Meta description exists and promises the right outcome.
- Meta description includes the target keyword naturally, states the user benefit,
and stays concise enough to avoid likely truncation.
- Canonical URL is correct.
- Page is not accidentally noindexed.
- FAQ, Article, Product, Breadcrumb, or HowTo schema is valid where used.
- Sitemap and internal routing include the page where required.
- No broken internal links or CTA links.
- Language and locale are consistent.
- URL slug is short, descriptive, hyphenated, and does not include stale dates.
- Meaningful images have descriptive alt text and useful filenames where local
image handling allows it.
- Large visual assets are compressed or already optimized.
- Mobile layout is readable and CTAs are tappable.
- The page does not introduce obvious Core Web Vitals risks.
- Robots rules do not block important pages or desired AI/search crawlers.
### 2. Search Intent
- The first screen makes it obvious the page answers the target query.
- The opening paragraph states the problem directly.
- The page matches one primary intent only.
- The content is not a generic rewrite of another QRMaster page.
- The page includes concrete examples for its audience or use case.
- The target keyword intent is labeled as informational, commercial,
transactional, or navigational.
- The page covers the related subtopics a search or AI system would fan out to
for the main query.
- Each H2/H3 section answers the heading directly in the first sentence before
adding background or nuance.
### 3. QRMaster Conversion Fit
- Primary CTA is visible early.
- CTA copy matches the use case, not just generic "Get started".
- The page explains why dynamic QR codes matter when links change after printing.
- Scan analytics or tracking is mentioned when relevant.
- Privacy/GDPR positioning is included where tracking is discussed.
- The copy avoids unsupported claims.
### 4. Internal Linking
- New page links to the relevant money page:
- `/dynamic-qr-code-generator`
- `/qr-code-tracking`
- `/bulk-qr-code-generator`
- `/pricing`
- relevant `/tools/...` page
- Existing related pages should link back to the new page.
- Anchor text is natural and varied.
### 5. AI Search Extractability
- Important answer blocks are self-contained.
- Comparison content uses tables where useful.
- FAQ questions are written in natural user language.
- Definitions answer the query in 40-60 words when possible.
- Claims that need evidence include a source or are framed as product positioning.
- Sections are focused on one question or subtopic at a time.
- Bullet lists, tables, and short paragraphs are used where they improve
extraction and scanning.
- The page can be cited by AI systems without relying on surrounding context.
### 6. E-E-A-T And Quality
- Content is accurate, current, and not copied from competitors.
- Any competitor, pricing, legal, privacy, or compliance claim is verified or
clearly avoided.
- The page adds QRMaster-specific value, examples, workflows, or product context.
- The tone stays direct, useful, and trustworthy.
## Codex Review Prompt
```text
Review this QRMaster PR as an SEO, conversion, and technical quality gate.
Use:
- docs/automations/qrmaster-pr-seo-review.md
- .agents/product-marketing-context.md
- marketing/programmatic-seo-top-50.md
Check the diff for:
1. technical SEO issues
2. search intent mismatch
3. weak or missing CTA
4. duplicate/thin content
5. missing internal links
6. invalid or missing schema
7. weak AI/agentic-search extractability
8. missing visual/mobile/performance considerations
9. build/lint risks
Return findings ordered by severity. For each finding include:
- file path
- exact line if possible
- why it matters
- concrete fix
Also include:
- merge recommendation: approve / request changes
- required follow-up tasks
```
## Review Output Format
```markdown
## QRMaster PR SEO Review
Decision: Request changes
### Findings
1. [High] Missing internal link to `/dynamic-qr-code-generator`
2. [Medium] CTA is too generic for the target intent
3. [Low] FAQ question overlaps with another page
### Required Fixes
- Add contextual link from the "after printing" section to `/dynamic-qr-code-generator`.
- Change CTA from "Get started" to "Create an editable QR code for your flyer".
### Verification
- Build:
- Lint:
- Link/schema check:
```
## Success Criteria
- No high-severity SEO or conversion findings remain.
- Build and lint pass.
- The PR has a clear human approval before merge.

View File

@@ -1,158 +1,158 @@
# QRMaster SEO Sprint: Tracking and Analytics
Run date: 2026-05-11
Automation: QRMaster SEO Sprint Machine
Status: Recommendation package only; do not publish without human approval.
## Input Notes
- Used `docs/automations/qrmaster-seo-sprint-machine.md`, `docs/automations/qrmaster-pr-seo-review.md`, `.agents/product-marketing-context.md`, `marketing/programmatic-seo-top-50.md`, `seo-plan-april.md`, and `seo-keywords.csv`.
- `marketing/keyword-strategy-seo-plan.md` was not present in this worktree. `seo-plan-april.md` appears to be the local keyword strategy fallback and includes the same cluster-level keyword data.
- Existing routing redirects selected legacy `/guide/...` paths to `/learn/...`, so this sprint should avoid creating duplicate guide URLs without a clear canonical/routing decision.
## Cluster Scoring
| Cluster | Product fit /30 | Commercial intent /25 | Differentiation /15 | Cluster leverage /10 | Winability /10 | Effort /10 | Score | Decision |
|---|---:|---:|---:|---:|---:|---:|---:|---|
| Tracking and analytics | 29 | 24 | 15 | 10 | 8 | 8 | 94 | Select |
| Dynamic QR buying decision | 30 | 24 | 13 | 10 | 7 | 7 | 91 | Next best |
| Bulk QR generation | 27 | 19 | 14 | 8 | 9 | 8 | 85 | Hold for later |
| Commercial alternatives | 22 | 25 | 12 | 8 | 6 | 5 | 78 | Needs current competitor verification |
| Restaurant/menu QR | 25 | 16 | 12 | 8 | 7 | 7 | 75 | Good vertical support, weaker immediate demand |
| Custom/design QR | 20 | 18 | 9 | 8 | 8 | 8 | 71 | Tool-led, less differentiated |
| Print reliability | 21 | 13 | 10 | 7 | 9 | 8 | 68 | Useful support content, weaker commercial pull |
## Rationale
Tracking and analytics is the highest-fit weekly cluster because it maps directly to QRMaster's differentiators: dynamic QR redirects, scan analytics, placement comparison, and privacy-first reporting. The keyword set includes `qr code tracking` at 1k-10k monthly volume with +900% 3-month YoY trend, `track qr code scans` with +900% 3-month trend, and `trackable qr code` with the highest CPC ceiling in the file at EUR 34.25. The cluster also has strong internal-link leverage into `/dynamic-qr-code-generator`, `/qr-code-analytics`, `/qr-code-tracking`, `/qr-code-for-marketing-campaigns`, pricing, and use-case pages.
## Selected Work
| Type | URL | Score | Reason |
|---|---|---:|---|
| Refresh | `/qr-code-tracking` | 94 | Money page for `qr code tracking`, `track qr code scans`, and `trackable qr code`; already has schema but should strengthen privacy and placement examples. |
| Refresh | `/qr-code-analytics` | 90 | Needs clearer separation from tracking: analytics should own dashboard interpretation, ROI, and performance insights. |
| Refresh | `/blog/trackable-qr-codes` | 88 | Existing support article should capture `trackable qr code` and link strongly to `/qr-code-tracking`. |
| Refresh | `/blog/utm-parameter-qr-codes` | 86 | Existing support article should capture fan-out intent around GA4, UTM naming, placement comparison, and offline attribution. |
| New support page | `/use-cases/qr-codes-for-review-collection` | 86 | Existing backlog item with natural tracking CTA; use as a measurable review funnel page, not a generic Google reviews tool duplicate. |
## Keyword Intent And Fan-Out
| URL | Primary keyword | Intent | Fan-out subtopics |
|---|---|---|---|
| `/qr-code-tracking` | `qr code tracking` | Commercial | What can be tracked, static vs dynamic tracking, scan count vs unique scans, device/location/time context, privacy/GDPR, placement comparison, UTM pairing, dashboard workflow, pricing limits. |
| `/qr-code-analytics` | `qr code analytics` | Commercial | Analytics dashboard, ROI interpretation, campaign attribution, useful metrics vs vanity metrics, offline-to-online measurement, reporting cadence, route naming, export/share needs. |
| `/blog/trackable-qr-codes` | `trackable qr code` | Informational-commercial | Definition, how tracking works, dynamic redirect layer, privacy limits, examples by placement, pros/cons, setup checklist, when not to track. |
| `/blog/utm-parameter-qr-codes` | `qr code UTM tracking` | Informational | GA4 source/medium/campaign/content conventions, examples for flyers/events/packaging, common mistakes, naming templates, QR destination testing. |
| `/use-cases/qr-codes-for-review-collection` | `QR codes for review collection` | Commercial | Google review link workflow, in-store placement, happy-path routing, feedback triage, scan tracking, QR privacy, dynamic destination updates. |
## 2026 On-Page And Agentic-Search Rules
- Titles/H1s should put the target keyword near the start:
- `/qr-code-tracking`: `QR Code Tracking: Track QR Code Scans`
- `/qr-code-analytics`: `QR Code Analytics: Measure Offline Campaigns`
- `/blog/trackable-qr-codes`: `Trackable QR Codes: What You Can Measure`
- `/blog/utm-parameter-qr-codes`: `QR Code UTM Tracking: GA4 Setup Guide`
- `/use-cases/qr-codes-for-review-collection`: `QR Codes for Review Collection`
- Each H2 should start with a direct answer in the first sentence.
- Add compact tables for `static vs dynamic`, `tracking vs analytics`, and `UTM examples by placement`.
- Add FAQ schema to refreshed informational pages where the existing blog system supports it; preserve SoftwareApplication and HowTo schema on money pages.
- Use self-contained answer blocks of roughly 40-60 words for definitions and "can you track..." questions.
- Visuals should be meaningful: dashboard screenshot/mockup, placement comparison example, UTM naming table, and review-flow diagram.
- Robots/indexing: current `robots.ts` allows major search/AI crawlers and disallows private app/API paths. Keep these pages indexed, sitemap-included, and canonicalized to their final URLs.
- Mobile/speed risks: avoid heavy dashboard imagery; use compressed static images and keep tables horizontally readable on mobile.
## Recommended New Page
### `/use-cases/qr-codes-for-review-collection`
Purpose: Create a commercially useful support page for restaurants, cafes, retail, hotels, and service businesses that want measurable review capture.
Required sections:
1. Direct answer: a review-collection QR code sends satisfied customers to the right review or feedback flow and lets teams measure which physical prompts get scanned.
2. Workflow: in-store sign, receipt, table card, counter card, packaging insert.
3. Dynamic vs static: use dynamic if the review platform, routing rule, or offer changes.
4. Tracking angle: compare scan volume by placement, store, or campaign.
5. Privacy note: describe scan analytics without promising personally identifiable tracking.
6. CTA: `Create a trackable review QR code` to `/qr-code-tracking` or `/signup`.
7. Internal links: `/tools/google-review-qr-code`, `/qr-code-tracking`, `/dynamic-qr-code-generator`, `/restaurants`, `/use-cases/feedback-qr-codes`.
8. Schema: FAQPage + BreadcrumbList; consider HowTo if step-by-step content is included.
## Recommended Page Refreshes
### `/qr-code-tracking`
- Strengthen first-screen answer: "QR code tracking uses a dynamic redirect to record scan time, device context, and approximate location before sending the scanner to the final destination."
- Add a privacy-first section explaining hashed/anonymized IP positioning from QRMaster.
- Add a table: "What QRMaster tracks / what it does not track."
- Add examples for flyer, menu, event booth, packaging, and review collection.
- Link to `/qr-code-analytics`, `/blog/utm-parameter-qr-codes`, `/reprint-calculator`, `/pricing`, and the new review-collection page.
### `/qr-code-analytics`
- Separate from tracking: tracking collects scan events; analytics helps interpret placement and campaign performance.
- Add an "analytics questions" table: which placement worked, when scans peaked, which destination converted, what to reprint.
- Add a section on useful metrics vs vanity metrics.
- Link back to `/qr-code-tracking`, `/qr-code-for-marketing-campaigns`, `/use-cases/flyer-qr-codes`, `/use-cases/packaging-qr-codes`, and `/pricing`.
### `/blog/trackable-qr-codes`
- Refresh title/meta around `trackable qr code`.
- Add a 40-60 word definition block near the top.
- Update FAQ to include "Can a static QR code be tracked?", "Are trackable QR codes GDPR-friendly?", and "Do trackable QR codes need a redirect?"
- Link early to `/qr-code-tracking` with anchor `track QR code scans`.
### `/blog/utm-parameter-qr-codes`
- Add a QR-specific UTM template table by placement.
- Add GA4 naming convention examples.
- Clarify when to use separate QR codes versus one QR with different `utm_content` values.
- Link to `/qr-code-analytics` and `/qr-code-tracking`.
## Internal-Link Plan
| Source | Destination | Anchor |
|---|---|---|
| `/dynamic-qr-code-generator` | `/qr-code-tracking` | `track QR code scans` |
| `/dynamic-qr-code-generator` | `/qr-code-analytics` | `QR code analytics dashboard` |
| `/qr-code-tracking` | `/qr-code-analytics` | `interpret QR scan analytics` |
| `/qr-code-tracking` | `/blog/utm-parameter-qr-codes` | `use UTMs with QR codes` |
| `/qr-code-analytics` | `/qr-code-tracking` | `collect QR scan data` |
| `/qr-code-analytics` | `/qr-code-for-marketing-campaigns` | `measure offline QR campaigns` |
| `/blog/trackable-qr-codes` | `/qr-code-tracking` | `QR code tracking` |
| `/blog/utm-parameter-qr-codes` | `/qr-code-analytics` | `QR code analytics` |
| `/use-cases/feedback-qr-codes` | `/use-cases/qr-codes-for-review-collection` | `review collection QR codes` |
| `/tools/google-review-qr-code` | `/use-cases/qr-codes-for-review-collection` | `review collection workflow` |
## PR Plan
1. Add the new review-collection use-case content in the existing use-case page data/routing pattern.
2. Refresh copy, FAQ, metadata, and link sections on `/qr-code-tracking` and `/qr-code-analytics`.
3. Refresh the two support blog entries without creating duplicate `/guide/...` pages.
4. Add internal links in both directions from money pages, blog support pages, and relevant use-case/tool pages.
5. Update sitemap data only if the new page is not automatically included by the existing use-case sitemap mapping.
6. Run the PR SEO review using `docs/automations/qrmaster-pr-seo-review.md`.
## Verification Checklist
- One H1 per rendered page.
- Primary keyword appears naturally in title, H1, intro, and metadata.
- Canonical URL points to the final public URL.
- Page is public in middleware and included in sitemap.
- No duplicate `/guide/...` URL is introduced without canonical strategy.
- FAQ/schema validates where used.
- Internal links resolve and use natural anchor text.
- Each section begins with a direct answer.
- Mobile tables do not overflow unreadably.
- Visual assets are compressed and include descriptive alt text.
- Robots rules continue to allow target pages and desired search/AI crawlers.
- Build/lint pass before PR.
## Social And Outreach Follow-Up
- LinkedIn post: "Most QR campaigns fail because teams only count scans. The useful question is which printed placement created action."
- X thread: "QR tracking setup in 5 steps: dynamic QR, placement naming, UTM convention, dashboard review, reprint decision."
- Short demo video: show flyer A vs flyer B scan comparison and a destination update without reprinting.
- Outreach angle for marketing newsletters: "Offline attribution checklist for QR campaigns."
- Community answer target: questions around "Can I track a static QR code?" and "How do I track QR codes in GA4?"
# QRMaster SEO Sprint: Tracking and Analytics
Run date: 2026-05-11
Automation: QRMaster SEO Sprint Machine
Status: Recommendation package only; do not publish without human approval.
## Input Notes
- Used `docs/automations/qrmaster-seo-sprint-machine.md`, `docs/automations/qrmaster-pr-seo-review.md`, `.agents/product-marketing-context.md`, `marketing/programmatic-seo-top-50.md`, `seo-plan-april.md`, and `seo-keywords.csv`.
- `marketing/keyword-strategy-seo-plan.md` was not present in this worktree. `seo-plan-april.md` appears to be the local keyword strategy fallback and includes the same cluster-level keyword data.
- Existing routing redirects selected legacy `/guide/...` paths to `/learn/...`, so this sprint should avoid creating duplicate guide URLs without a clear canonical/routing decision.
## Cluster Scoring
| Cluster | Product fit /30 | Commercial intent /25 | Differentiation /15 | Cluster leverage /10 | Winability /10 | Effort /10 | Score | Decision |
|---|---:|---:|---:|---:|---:|---:|---:|---|
| Tracking and analytics | 29 | 24 | 15 | 10 | 8 | 8 | 94 | Select |
| Dynamic QR buying decision | 30 | 24 | 13 | 10 | 7 | 7 | 91 | Next best |
| Bulk QR generation | 27 | 19 | 14 | 8 | 9 | 8 | 85 | Hold for later |
| Commercial alternatives | 22 | 25 | 12 | 8 | 6 | 5 | 78 | Needs current competitor verification |
| Restaurant/menu QR | 25 | 16 | 12 | 8 | 7 | 7 | 75 | Good vertical support, weaker immediate demand |
| Custom/design QR | 20 | 18 | 9 | 8 | 8 | 8 | 71 | Tool-led, less differentiated |
| Print reliability | 21 | 13 | 10 | 7 | 9 | 8 | 68 | Useful support content, weaker commercial pull |
## Rationale
Tracking and analytics is the highest-fit weekly cluster because it maps directly to QRMaster's differentiators: dynamic QR redirects, scan analytics, placement comparison, and privacy-first reporting. The keyword set includes `qr code tracking` at 1k-10k monthly volume with +900% 3-month YoY trend, `track qr code scans` with +900% 3-month trend, and `trackable qr code` with the highest CPC ceiling in the file at EUR 34.25. The cluster also has strong internal-link leverage into `/dynamic-qr-code-generator`, `/qr-code-analytics`, `/qr-code-tracking`, `/qr-code-for-marketing-campaigns`, pricing, and use-case pages.
## Selected Work
| Type | URL | Score | Reason |
|---|---|---:|---|
| Refresh | `/qr-code-tracking` | 94 | Money page for `qr code tracking`, `track qr code scans`, and `trackable qr code`; already has schema but should strengthen privacy and placement examples. |
| Refresh | `/qr-code-analytics` | 90 | Needs clearer separation from tracking: analytics should own dashboard interpretation, ROI, and performance insights. |
| Refresh | `/blog/trackable-qr-codes` | 88 | Existing support article should capture `trackable qr code` and link strongly to `/qr-code-tracking`. |
| Refresh | `/blog/utm-parameter-qr-codes` | 86 | Existing support article should capture fan-out intent around GA4, UTM naming, placement comparison, and offline attribution. |
| New support page | `/use-cases/qr-codes-for-review-collection` | 86 | Existing backlog item with natural tracking CTA; use as a measurable review funnel page, not a generic Google reviews tool duplicate. |
## Keyword Intent And Fan-Out
| URL | Primary keyword | Intent | Fan-out subtopics |
|---|---|---|---|
| `/qr-code-tracking` | `qr code tracking` | Commercial | What can be tracked, static vs dynamic tracking, scan count vs unique scans, device/location/time context, privacy/GDPR, placement comparison, UTM pairing, dashboard workflow, pricing limits. |
| `/qr-code-analytics` | `qr code analytics` | Commercial | Analytics dashboard, ROI interpretation, campaign attribution, useful metrics vs vanity metrics, offline-to-online measurement, reporting cadence, route naming, export/share needs. |
| `/blog/trackable-qr-codes` | `trackable qr code` | Informational-commercial | Definition, how tracking works, dynamic redirect layer, privacy limits, examples by placement, pros/cons, setup checklist, when not to track. |
| `/blog/utm-parameter-qr-codes` | `qr code UTM tracking` | Informational | GA4 source/medium/campaign/content conventions, examples for flyers/events/packaging, common mistakes, naming templates, QR destination testing. |
| `/use-cases/qr-codes-for-review-collection` | `QR codes for review collection` | Commercial | Google review link workflow, in-store placement, happy-path routing, feedback triage, scan tracking, QR privacy, dynamic destination updates. |
## 2026 On-Page And Agentic-Search Rules
- Titles/H1s should put the target keyword near the start:
- `/qr-code-tracking`: `QR Code Tracking: Track QR Code Scans`
- `/qr-code-analytics`: `QR Code Analytics: Measure Offline Campaigns`
- `/blog/trackable-qr-codes`: `Trackable QR Codes: What You Can Measure`
- `/blog/utm-parameter-qr-codes`: `QR Code UTM Tracking: GA4 Setup Guide`
- `/use-cases/qr-codes-for-review-collection`: `QR Codes for Review Collection`
- Each H2 should start with a direct answer in the first sentence.
- Add compact tables for `static vs dynamic`, `tracking vs analytics`, and `UTM examples by placement`.
- Add FAQ schema to refreshed informational pages where the existing blog system supports it; preserve SoftwareApplication and HowTo schema on money pages.
- Use self-contained answer blocks of roughly 40-60 words for definitions and "can you track..." questions.
- Visuals should be meaningful: dashboard screenshot/mockup, placement comparison example, UTM naming table, and review-flow diagram.
- Robots/indexing: current `robots.ts` allows major search/AI crawlers and disallows private app/API paths. Keep these pages indexed, sitemap-included, and canonicalized to their final URLs.
- Mobile/speed risks: avoid heavy dashboard imagery; use compressed static images and keep tables horizontally readable on mobile.
## Recommended New Page
### `/use-cases/qr-codes-for-review-collection`
Purpose: Create a commercially useful support page for restaurants, cafes, retail, hotels, and service businesses that want measurable review capture.
Required sections:
1. Direct answer: a review-collection QR code sends satisfied customers to the right review or feedback flow and lets teams measure which physical prompts get scanned.
2. Workflow: in-store sign, receipt, table card, counter card, packaging insert.
3. Dynamic vs static: use dynamic if the review platform, routing rule, or offer changes.
4. Tracking angle: compare scan volume by placement, store, or campaign.
5. Privacy note: describe scan analytics without promising personally identifiable tracking.
6. CTA: `Create a trackable review QR code` to `/qr-code-tracking` or `/signup`.
7. Internal links: `/tools/google-review-qr-code`, `/qr-code-tracking`, `/dynamic-qr-code-generator`, `/restaurants`, `/use-cases/feedback-qr-codes`.
8. Schema: FAQPage + BreadcrumbList; consider HowTo if step-by-step content is included.
## Recommended Page Refreshes
### `/qr-code-tracking`
- Strengthen first-screen answer: "QR code tracking uses a dynamic redirect to record scan time, device context, and approximate location before sending the scanner to the final destination."
- Add a privacy-first section explaining hashed/anonymized IP positioning from QRMaster.
- Add a table: "What QRMaster tracks / what it does not track."
- Add examples for flyer, menu, event booth, packaging, and review collection.
- Link to `/qr-code-analytics`, `/blog/utm-parameter-qr-codes`, `/reprint-calculator`, `/pricing`, and the new review-collection page.
### `/qr-code-analytics`
- Separate from tracking: tracking collects scan events; analytics helps interpret placement and campaign performance.
- Add an "analytics questions" table: which placement worked, when scans peaked, which destination converted, what to reprint.
- Add a section on useful metrics vs vanity metrics.
- Link back to `/qr-code-tracking`, `/qr-code-for-marketing-campaigns`, `/use-cases/flyer-qr-codes`, `/use-cases/packaging-qr-codes`, and `/pricing`.
### `/blog/trackable-qr-codes`
- Refresh title/meta around `trackable qr code`.
- Add a 40-60 word definition block near the top.
- Update FAQ to include "Can a static QR code be tracked?", "Are trackable QR codes GDPR-friendly?", and "Do trackable QR codes need a redirect?"
- Link early to `/qr-code-tracking` with anchor `track QR code scans`.
### `/blog/utm-parameter-qr-codes`
- Add a QR-specific UTM template table by placement.
- Add GA4 naming convention examples.
- Clarify when to use separate QR codes versus one QR with different `utm_content` values.
- Link to `/qr-code-analytics` and `/qr-code-tracking`.
## Internal-Link Plan
| Source | Destination | Anchor |
|---|---|---|
| `/dynamic-qr-code-generator` | `/qr-code-tracking` | `track QR code scans` |
| `/dynamic-qr-code-generator` | `/qr-code-analytics` | `QR code analytics dashboard` |
| `/qr-code-tracking` | `/qr-code-analytics` | `interpret QR scan analytics` |
| `/qr-code-tracking` | `/blog/utm-parameter-qr-codes` | `use UTMs with QR codes` |
| `/qr-code-analytics` | `/qr-code-tracking` | `collect QR scan data` |
| `/qr-code-analytics` | `/qr-code-for-marketing-campaigns` | `measure offline QR campaigns` |
| `/blog/trackable-qr-codes` | `/qr-code-tracking` | `QR code tracking` |
| `/blog/utm-parameter-qr-codes` | `/qr-code-analytics` | `QR code analytics` |
| `/use-cases/feedback-qr-codes` | `/use-cases/qr-codes-for-review-collection` | `review collection QR codes` |
| `/tools/google-review-qr-code` | `/use-cases/qr-codes-for-review-collection` | `review collection workflow` |
## PR Plan
1. Add the new review-collection use-case content in the existing use-case page data/routing pattern.
2. Refresh copy, FAQ, metadata, and link sections on `/qr-code-tracking` and `/qr-code-analytics`.
3. Refresh the two support blog entries without creating duplicate `/guide/...` pages.
4. Add internal links in both directions from money pages, blog support pages, and relevant use-case/tool pages.
5. Update sitemap data only if the new page is not automatically included by the existing use-case sitemap mapping.
6. Run the PR SEO review using `docs/automations/qrmaster-pr-seo-review.md`.
## Verification Checklist
- One H1 per rendered page.
- Primary keyword appears naturally in title, H1, intro, and metadata.
- Canonical URL points to the final public URL.
- Page is public in middleware and included in sitemap.
- No duplicate `/guide/...` URL is introduced without canonical strategy.
- FAQ/schema validates where used.
- Internal links resolve and use natural anchor text.
- Each section begins with a direct answer.
- Mobile tables do not overflow unreadably.
- Visual assets are compressed and include descriptive alt text.
- Robots rules continue to allow target pages and desired search/AI crawlers.
- Build/lint pass before PR.
## Social And Outreach Follow-Up
- LinkedIn post: "Most QR campaigns fail because teams only count scans. The useful question is which printed placement created action."
- X thread: "QR tracking setup in 5 steps: dynamic QR, placement naming, UTM convention, dashboard review, reprint decision."
- Short demo video: show flyer A vs flyer B scan comparison and a destination update without reprinting.
- Outreach angle for marketing newsletters: "Offline attribution checklist for QR campaigns."
- Community answer target: questions around "Can I track a static QR code?" and "How do I track QR codes in GA4?"

View File

@@ -1,211 +1,211 @@
# QRMaster SEO Sprint Machine
## Goal
Run a weekly controlled SEO sprint that chooses the right pages, creates or
updates them, adds internal links, and ships through a reviewed PR.
## Why This Exists
QRMaster should not publish random daily content. The goal is to build
commercially useful SEO clusters around dynamic QR codes, tracking, tool pages,
comparison pages, and industry workflows.
## Plugins And Skills
| Need | Use |
|---|---|
| Repository changes and PRs | GitHub plugin |
| Keyword and performance imports | Coupler, CSV exports, Google Search Console export |
| Page creation and refactors | Codex |
| SEO/content planning | `content-strategy`, `ai-seo` skills |
| Copy generation | `copywriting` skill |
| Verification | GitHub Actions, `qa` skill |
## Weekly Inputs
- Current keyword backlog:
- `marketing/programmatic-seo-top-50.md`
- `marketing/keyword-strategy-seo-plan.md`
- `seo-keywords.csv`
- Existing product positioning:
- `.agents/product-marketing-context.md`
- Performance data when available:
- Google Search Console export
- signup/conversion report
- top landing pages by traffic
- Sprint focus:
- Dynamic QR
- Tracking/analytics
- Restaurant/menu QR
- Print marketing
- Bulk QR
- Comparison/alternatives
## Scoring Model
Score each candidate from 0-100:
| Factor | Weight |
|---|---:|
| Product fit | 30 |
| Commercial intent | 25 |
| Differentiation potential | 15 |
| Cluster leverage | 10 |
| Search winability | 10 |
| Production effort | 10 |
Do not select pages only because they have volume. Prefer pages where QRMaster
can naturally sell dynamic QR, scan tracking, bulk creation, or privacy-first
analytics.
## On-Page And Agentic Search Rules
Every new or refreshed page must follow these checks before review:
- Identify the primary keyword and intent type: informational, commercial,
transactional, or navigational.
- Cover the query fan-out: list the related subtopics an AI/search system would
need to answer the query well.
- Put the primary keyword naturally near the start of the title tag and H1.
- Keep title tags under roughly 60 characters when possible.
- Keep meta descriptions concise, benefit-led, and naturally keyword-aligned.
- Use one clear H1 and a logical H2/H3 hierarchy.
- Start each section with a direct answer to the heading.
- Use short paragraphs, bullets, and comparison tables where they improve
scanning and AI extraction.
- Add descriptive internal links with natural anchor text.
- Add useful visuals, screenshots, or examples where the page needs them.
- Add schema when the page type supports it.
- Check mobile readability, CTA tap targets, and obvious speed risks.
- Verify robots/indexing assumptions for important SEO pages.
## Default Weekly Sprint
1. Select one cluster.
2. Create 3 new pages.
3. Refresh 2 existing pages with impressions, weak CTR, or position 8-20.
4. Add internal links in both directions.
5. Create one GitHub PR.
6. Run `qrmaster-pr-seo-review.md`.
7. Produce social and outreach drafts after the PR is ready.
## Page Types
### Tool Pages
Examples:
- `/tools/pdf-qr-code`
- `/tools/vcard-qr-code`
- `/tools/wifi-qr-code`
- `/tools/menu-qr-code`
- `/tools/google-review-qr-code`
Must include:
- direct tool-oriented hero
- use cases
- dynamic vs static guidance
- FAQ
- CTA into the app
- internal links to related use cases
### Industry Workflow Pages
Examples:
- `/qr-code-for/restaurants/menu-updates`
- `/qr-code-for/events/check-in`
- `/qr-code-for/real-estate/open-house-flyers`
Must include:
- specific audience pain
- example workflow
- print-risk or tracking angle
- CTA matching the industry
### Comparison Pages
Examples:
- `/compare/dynamic-vs-static-qr-codes`
- `/compare/free-vs-paid-qr-code-generator`
- `/compare/flowcode-alternative`
Must include:
- comparison table
- fair positioning
- current facts verified before publishing
- "who this is best for" section
- CTA to the best-fit QRMaster feature
## Codex Sprint Prompt
```text
Run the QRMaster SEO Sprint Machine.
Use:
- docs/automations/qrmaster-seo-sprint-machine.md
- docs/automations/qrmaster-pr-seo-review.md
- .agents/product-marketing-context.md
- marketing/programmatic-seo-top-50.md
- marketing/keyword-strategy-seo-plan.md
Sprint focus: [cluster]
Target output: 3 new SEO/tool pages, 2 page refreshes, internal links, and one PR-ready diff.
Rules:
- Follow existing code and page patterns.
- Do not invent competitor pricing or claims.
- Prioritize dynamic QR, edit-after-print, analytics, bulk, and privacy-first messaging.
- Add metadata, FAQ/schema where local patterns support it.
- Apply the on-page and agentic search rules from the automation doc.
- Keep pages specific enough to avoid thin programmatic content.
- Run build/lint or explain why not.
Return:
1. selected pages and scoring
2. target keyword, intent, and fan-out subtopics per page
3. files changed
4. internal links added
5. PR summary
6. SEO review status
7. follow-up social/outreach package
```
## Sprint Output Template
```markdown
# QRMaster SEO Sprint: [Cluster]
## Selected Work
| Type | URL | Score | Reason |
|---|---|---:|---|
## Keyword Intent And Fan-Out
| URL | Primary keyword | Intent | Fan-out subtopics |
|---|---|---|---|
## New Pages
## Updated Pages
## Internal Links
## PR Summary
## Verification
## Social/Outreach Follow-Up
```
## Success Criteria
- Each new page has clear commercial intent or cluster leverage.
- Refreshed pages have a measurable reason for the update.
- Internal links support money pages.
- PR SEO Review passes before merge.
# QRMaster SEO Sprint Machine
## Goal
Run a weekly controlled SEO sprint that chooses the right pages, creates or
updates them, adds internal links, and ships through a reviewed PR.
## Why This Exists
QRMaster should not publish random daily content. The goal is to build
commercially useful SEO clusters around dynamic QR codes, tracking, tool pages,
comparison pages, and industry workflows.
## Plugins And Skills
| Need | Use |
|---|---|
| Repository changes and PRs | GitHub plugin |
| Keyword and performance imports | Coupler, CSV exports, Google Search Console export |
| Page creation and refactors | Codex |
| SEO/content planning | `content-strategy`, `ai-seo` skills |
| Copy generation | `copywriting` skill |
| Verification | GitHub Actions, `qa` skill |
## Weekly Inputs
- Current keyword backlog:
- `marketing/programmatic-seo-top-50.md`
- `marketing/keyword-strategy-seo-plan.md`
- `seo-keywords.csv`
- Existing product positioning:
- `.agents/product-marketing-context.md`
- Performance data when available:
- Google Search Console export
- signup/conversion report
- top landing pages by traffic
- Sprint focus:
- Dynamic QR
- Tracking/analytics
- Restaurant/menu QR
- Print marketing
- Bulk QR
- Comparison/alternatives
## Scoring Model
Score each candidate from 0-100:
| Factor | Weight |
|---|---:|
| Product fit | 30 |
| Commercial intent | 25 |
| Differentiation potential | 15 |
| Cluster leverage | 10 |
| Search winability | 10 |
| Production effort | 10 |
Do not select pages only because they have volume. Prefer pages where QRMaster
can naturally sell dynamic QR, scan tracking, bulk creation, or privacy-first
analytics.
## On-Page And Agentic Search Rules
Every new or refreshed page must follow these checks before review:
- Identify the primary keyword and intent type: informational, commercial,
transactional, or navigational.
- Cover the query fan-out: list the related subtopics an AI/search system would
need to answer the query well.
- Put the primary keyword naturally near the start of the title tag and H1.
- Keep title tags under roughly 60 characters when possible.
- Keep meta descriptions concise, benefit-led, and naturally keyword-aligned.
- Use one clear H1 and a logical H2/H3 hierarchy.
- Start each section with a direct answer to the heading.
- Use short paragraphs, bullets, and comparison tables where they improve
scanning and AI extraction.
- Add descriptive internal links with natural anchor text.
- Add useful visuals, screenshots, or examples where the page needs them.
- Add schema when the page type supports it.
- Check mobile readability, CTA tap targets, and obvious speed risks.
- Verify robots/indexing assumptions for important SEO pages.
## Default Weekly Sprint
1. Select one cluster.
2. Create 3 new pages.
3. Refresh 2 existing pages with impressions, weak CTR, or position 8-20.
4. Add internal links in both directions.
5. Create one GitHub PR.
6. Run `qrmaster-pr-seo-review.md`.
7. Produce social and outreach drafts after the PR is ready.
## Page Types
### Tool Pages
Examples:
- `/tools/pdf-qr-code`
- `/tools/vcard-qr-code`
- `/tools/wifi-qr-code`
- `/tools/menu-qr-code`
- `/tools/google-review-qr-code`
Must include:
- direct tool-oriented hero
- use cases
- dynamic vs static guidance
- FAQ
- CTA into the app
- internal links to related use cases
### Industry Workflow Pages
Examples:
- `/qr-code-for/restaurants/menu-updates`
- `/qr-code-for/events/check-in`
- `/qr-code-for/real-estate/open-house-flyers`
Must include:
- specific audience pain
- example workflow
- print-risk or tracking angle
- CTA matching the industry
### Comparison Pages
Examples:
- `/compare/dynamic-vs-static-qr-codes`
- `/compare/free-vs-paid-qr-code-generator`
- `/compare/flowcode-alternative`
Must include:
- comparison table
- fair positioning
- current facts verified before publishing
- "who this is best for" section
- CTA to the best-fit QRMaster feature
## Codex Sprint Prompt
```text
Run the QRMaster SEO Sprint Machine.
Use:
- docs/automations/qrmaster-seo-sprint-machine.md
- docs/automations/qrmaster-pr-seo-review.md
- .agents/product-marketing-context.md
- marketing/programmatic-seo-top-50.md
- marketing/keyword-strategy-seo-plan.md
Sprint focus: [cluster]
Target output: 3 new SEO/tool pages, 2 page refreshes, internal links, and one PR-ready diff.
Rules:
- Follow existing code and page patterns.
- Do not invent competitor pricing or claims.
- Prioritize dynamic QR, edit-after-print, analytics, bulk, and privacy-first messaging.
- Add metadata, FAQ/schema where local patterns support it.
- Apply the on-page and agentic search rules from the automation doc.
- Keep pages specific enough to avoid thin programmatic content.
- Run build/lint or explain why not.
Return:
1. selected pages and scoring
2. target keyword, intent, and fan-out subtopics per page
3. files changed
4. internal links added
5. PR summary
6. SEO review status
7. follow-up social/outreach package
```
## Sprint Output Template
```markdown
# QRMaster SEO Sprint: [Cluster]
## Selected Work
| Type | URL | Score | Reason |
|---|---|---:|---|
## Keyword Intent And Fan-Out
| URL | Primary keyword | Intent | Fan-out subtopics |
|---|---|---|---|
## New Pages
## Updated Pages
## Internal Links
## PR Summary
## Verification
## Social/Outreach Follow-Up
```
## Success Criteria
- Each new page has clear commercial intent or cluster leverage.
- Refreshed pages have a measurable reason for the update.
- Internal links support money pages.
- PR SEO Review passes before merge.