diff --git a/docs/automations/qrmaster-seo-sprint-2026-05-11.md b/docs/automations/qrmaster-seo-sprint-2026-05-11.md new file mode 100644 index 0000000..de63f7e --- /dev/null +++ b/docs/automations/qrmaster-seo-sprint-2026-05-11.md @@ -0,0 +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?" diff --git a/public/images/review-collection-qr-hero.png b/public/images/review-collection-qr-hero.png new file mode 100644 index 0000000..5bbefba Binary files /dev/null and b/public/images/review-collection-qr-hero.png differ diff --git a/src/app/(main)/(marketing)/dynamic-qr-code-generator/page.tsx b/src/app/(main)/(marketing)/dynamic-qr-code-generator/page.tsx index ef28e7a..419ccdd 100644 --- a/src/app/(main)/(marketing)/dynamic-qr-code-generator/page.tsx +++ b/src/app/(main)/(marketing)/dynamic-qr-code-generator/page.tsx @@ -379,6 +379,13 @@ const relatedUseCaseLinks = [ 'See device, time, and location context for every scan. Understand which placements drive real activity.', ctaLabel: 'Track your QR scans', }, + { + href: '/qr-code-analytics', + title: 'QR Code Analytics Dashboard', + description: + 'Interpret scan data by placement, timing, and campaign route before the next print run.', + ctaLabel: 'Review QR analytics', + }, { href: '/reprint-calculator', title: 'QR Code Reprint Cost Calculator', diff --git a/src/app/(main)/(marketing)/qr-code-analytics/page.tsx b/src/app/(main)/(marketing)/qr-code-analytics/page.tsx index 1cd860b..51fd019 100644 --- a/src/app/(main)/(marketing)/qr-code-analytics/page.tsx +++ b/src/app/(main)/(marketing)/qr-code-analytics/page.tsx @@ -1,179 +1,227 @@ -import type { Metadata } from "next"; - -import { - buildUseCaseMetadata, - UseCasePageTemplate, -} from "@/components/marketing/UseCasePageTemplate"; -import { GrowthLinksSection } from "@/components/marketing/GrowthLinksSection"; - -export const metadata: Metadata = buildUseCaseMetadata({ - title: "QR Code Analytics", - description: - "Measure QR code scans by placement, timing, device context, and campaign route so offline workflows become reportable.", - canonicalPath: "/qr-code-analytics", -}); - -const softwareSchema = { - "@context": "https://schema.org", - "@type": "SoftwareApplication", - "@id": "https://www.qrmaster.net/qr-code-analytics#software", - name: "QR Master - QR Code Analytics", - applicationCategory: "BusinessApplication", - operatingSystem: "Web Browser", - offers: { - "@type": "Offer", - price: "0", - priceCurrency: "USD", - availability: "https://schema.org/InStock", - }, - description: - "QR analytics software for measuring scans by placement, timing, device context, and offline campaign routing.", - featureList: [ - "Placement-level scan reporting", - "Device and timing context", - "Offline-to-online campaign attribution", - "Scan visibility across print workflows", - "Destination updates without reprinting", - ], -}; - -export default function QRCodeAnalyticsPage() { - return ( - <> - - - - ); -} +import type { Metadata } from 'next'; + +import { + buildUseCaseMetadata, + UseCasePageTemplate, +} from '@/components/marketing/UseCasePageTemplate'; +import { GrowthLinksSection } from '@/components/marketing/GrowthLinksSection'; + +export const metadata: Metadata = buildUseCaseMetadata({ + title: 'QR Code Analytics: Measure Offline Campaigns', + description: + 'Use QR code analytics to interpret scan data, compare placements, measure offline campaigns, and decide what to update or reprint next.', + canonicalPath: '/qr-code-analytics', +}); + +const softwareSchema = { + '@context': 'https://schema.org', + '@type': 'SoftwareApplication', + '@id': 'https://www.qrmaster.net/qr-code-analytics#software', + name: 'QR Master - QR Code Analytics', + applicationCategory: 'BusinessApplication', + operatingSystem: 'Web Browser', + offers: { + '@type': 'Offer', + price: '0', + priceCurrency: 'USD', + availability: 'https://schema.org/InStock', + }, + description: + 'QR analytics software for measuring scans by placement, timing, device context, and offline campaign routing.', + featureList: [ + 'Placement-level scan reporting', + 'Device and timing context', + 'Offline-to-online campaign attribution', + 'Scan visibility across print workflows', + 'Destination updates without reprinting', + ], +}; + +export default function QRCodeAnalyticsPage() { + return ( + <> + + + + ); +} diff --git a/src/app/(main)/(marketing)/qr-code-tracking/page.tsx b/src/app/(main)/(marketing)/qr-code-tracking/page.tsx index 4ae2fb9..e164c85 100644 --- a/src/app/(main)/(marketing)/qr-code-tracking/page.tsx +++ b/src/app/(main)/(marketing)/qr-code-tracking/page.tsx @@ -15,10 +15,10 @@ import { export const metadata: Metadata = { title: { - absolute: 'QR Code Tracking - Track QR Code Scans Free', + absolute: 'QR Code Tracking: Track QR Code Scans', }, description: - 'Track QR code scans for free with QR code tracking and analytics. See time, device, and location context for printed campaigns and dynamic QR codes.', + 'Track QR code scans with dynamic QR tracking. See scan time, device, location context, placements, and privacy-aware analytics for printed campaigns.', keywords: 'qr code tracking, qr code analytics, track qr scans, dynamic qr tracking, qr scan analytics', alternates: { @@ -29,7 +29,7 @@ export const metadata: Metadata = { }, }, openGraph: { - title: 'QR Code Tracking - Track QR Code Scans Free', + title: 'QR Code Tracking: Track QR Code Scans', description: 'Track QR code scans with analytics for time, device, and location context. Use dynamic QR codes to measure placements and campaigns.', url: 'https://www.qrmaster.net/qr-code-tracking', @@ -130,6 +130,34 @@ const trackingComparison = [ }, ]; +const trackingLimits = [ + { + label: 'Scan timestamp', + tracked: 'Yes', + note: 'Useful for campaign timing, service windows, and event-day patterns.', + }, + { + label: 'Device context', + tracked: 'Yes', + note: 'Useful for checking whether post-scan pages are mostly mobile traffic.', + }, + { + label: 'Approximate location context', + tracked: 'Yes', + note: 'Useful for city, region, or country-level placement review.', + }, + { + label: 'Exact personal identity', + tracked: 'No', + note: 'QR scan analytics should not be framed as individual user identification.', + }, + { + label: 'Static QR scan history', + tracked: 'No', + note: 'A static QR code has no managed redirect layer for QR Master to measure.', + }, +]; + const faqItems = [ { question: 'Can I track a static QR code?', @@ -141,6 +169,16 @@ const faqItems = [ answer: 'QR Master reports scan activity including time of scan, device type (mobile vs. desktop), and location context (country, city). You can also compare total scans vs. unique scans.', }, + { + question: 'Is QR code tracking GDPR-friendly?', + answer: + 'QR tracking can be used in a privacy-aware way when scan reporting avoids personally identifiable profiles. QR Master is positioned around hashed IP handling, anonymized context, and aggregate placement reporting rather than individual user surveillance.', + }, + { + question: 'Can I track review collection QR codes?', + answer: + 'Yes. A trackable review QR setup can show which table cards, receipts, counters, or packaging inserts get scanned. The actual review submission still happens on the destination platform or form.', + }, { question: 'Why does tracking use a dynamic QR code?', answer: @@ -265,6 +303,13 @@ const relatedUseCaseLinks = [ 'Measure which service surfaces and follow-up prompts actually generate customer responses.', ctaLabel: 'Create your feedback QR code', }, + { + href: '/use-cases/qr-codes-for-review-collection', + title: 'QR Codes for Review Collection', + description: + 'Compare table cards, receipts, counters, and packaging inserts as measurable review-request placements.', + ctaLabel: 'Create a trackable review QR', + }, { href: '/use-cases/coupon-qr-codes', title: 'Coupon QR Codes', @@ -279,6 +324,13 @@ const relatedUseCaseLinks = [ 'Go deeper into placement-level reporting and offline campaign attribution.', ctaLabel: 'Explore QR analytics', }, + { + href: '/blog/utm-parameter-qr-codes', + title: 'UTM Parameters with QR Codes', + description: + 'Pair QR scan data with GA4 campaign attribution so offline traffic can be reviewed after the scan.', + ctaLabel: 'Use UTMs with QR codes', + }, { href: '/reprint-calculator', title: 'QR Code Reprint Cost Calculator', @@ -462,6 +514,58 @@ export default function QRCodeTrackingPage() { /> +
+
+
+

+ Privacy-aware scan data +

+

+ What QR Master tracks and what it does not +

+

+ QR code tracking should answer placement and campaign questions, + not create a personally identifiable profile of every scanner. + Treat scan analytics as aggregate context for better print, + routing, and campaign decisions. +

+
+ + +
+ + + + + + + + + + {trackingLimits.map((row) => ( + + + + + + ))} + +
+ Data point + + QR Master tracking + + Practical use +
+ {row.label} + + {row.tracked} + {row.note}
+
+
+
+
+
diff --git a/src/app/(main)/(marketing)/tools/google-review-qr-code/page.tsx b/src/app/(main)/(marketing)/tools/google-review-qr-code/page.tsx index 148e278..2ce2733 100644 --- a/src/app/(main)/(marketing)/tools/google-review-qr-code/page.tsx +++ b/src/app/(main)/(marketing)/tools/google-review-qr-code/page.tsx @@ -9,411 +9,578 @@ import { GrowthLinksSection } from '@/components/marketing/GrowthLinksSection'; import { generateSoftwareAppSchema } from '@/lib/schema-utils'; export const metadata: Metadata = { - title: { - absolute: 'Google Review QR Code Generator — Free | QR Master', - }, - description: 'Create a QR code for your Google Reviews in seconds. Customers scan once and land directly on your review form. Free, no signup required.', - keywords: ['qr code for google reviews', 'qr code generator for google reviews', 'google review qr code', 'google maps review qr code', 'get more google reviews'], - alternates: { - canonical: 'https://www.qrmaster.net/tools/google-review-qr-code', - languages: { - 'x-default': 'https://www.qrmaster.net/tools/google-review-qr-code', - en: 'https://www.qrmaster.net/tools/google-review-qr-code', - }, - }, - openGraph: { - title: 'Google Review QR Code Generator — Free | QR Master', - description: 'Create a QR code that takes customers directly to your Google review form. More reviews, less friction.', - type: 'website', - url: 'https://www.qrmaster.net/tools/google-review-qr-code', - }, - twitter: { - card: 'summary_large_image', - title: 'Google Review QR Code Generator — Free', - description: 'Create a QR code that takes customers directly to your Google review form.', - }, - robots: { - index: true, - follow: true, + title: { + absolute: 'Google Review QR Code Generator — Free | QR Master', + }, + description: + 'Create a QR code for your Google Reviews in seconds. Customers scan once and land directly on your review form. Free, no signup required.', + keywords: [ + 'qr code for google reviews', + 'qr code generator for google reviews', + 'google review qr code', + 'google maps review qr code', + 'get more google reviews', + ], + alternates: { + canonical: 'https://www.qrmaster.net/tools/google-review-qr-code', + languages: { + 'x-default': 'https://www.qrmaster.net/tools/google-review-qr-code', + en: 'https://www.qrmaster.net/tools/google-review-qr-code', }, + }, + openGraph: { + title: 'Google Review QR Code Generator — Free | QR Master', + description: + 'Create a QR code that takes customers directly to your Google review form. More reviews, less friction.', + type: 'website', + url: 'https://www.qrmaster.net/tools/google-review-qr-code', + }, + twitter: { + card: 'summary_large_image', + title: 'Google Review QR Code Generator — Free', + description: + 'Create a QR code that takes customers directly to your Google review form.', + }, + robots: { + index: true, + follow: true, + }, }; const jsonLd = { - '@context': 'https://schema.org', - '@graph': [ - generateSoftwareAppSchema( - 'Google Review QR Code Generator', - 'Generate a QR code that links directly to your Google review form. Customers scan once and can leave a review immediately.', - '/og-image.png' - ), + '@context': 'https://schema.org', + '@graph': [ + generateSoftwareAppSchema( + 'Google Review QR Code Generator', + 'Generate a QR code that links directly to your Google review form. Customers scan once and can leave a review immediately.', + '/og-image.png' + ), + { + '@type': 'HowTo', + name: 'How to Create a Google Review QR Code', + datePublished: '2024-01-01', + dateModified: '2026-04-27', + author: { + '@type': 'Person', + name: 'Timo Knuth', + url: 'https://www.qrmaster.net/authors/timo', + }, + description: + 'Generate a QR code that sends customers directly to your Google review form.', + step: [ { - '@type': 'HowTo', - name: 'How to Create a Google Review QR Code', - datePublished: '2024-01-01', - dateModified: '2026-04-27', - author: { - '@type': 'Person', - name: 'Timo Knuth', - url: 'https://www.qrmaster.net/authors/timo', - }, - description: 'Generate a QR code that sends customers directly to your Google review form.', - step: [ - { - '@type': 'HowToStep', - position: 1, - name: 'Find your Google Review link', - text: 'Open Google Maps, search for your business, click Share → Copy link. Or use Google Business Profile → Get more reviews.', - }, - { - '@type': 'HowToStep', - position: 2, - name: 'Paste the link into the generator', - text: 'Paste your Google review URL into the field above. The generator accepts g.page, google.com, and maps.app.goo.gl links.', - }, - { - '@type': 'HowToStep', - position: 3, - name: 'Customize and download', - text: 'Choose a color and frame label (e.g. "Leave a Review"), then download as PNG or SVG.', - }, - { - '@type': 'HowToStep', - position: 4, - name: 'Display the QR code', - text: 'Print the code on receipts, table cards, packaging, or your window. Customers scan once to review.', - }, - ], - totalTime: 'PT60S', + '@type': 'HowToStep', + position: 1, + name: 'Find your Google Review link', + text: 'Open Google Maps, search for your business, click Share → Copy link. Or use Google Business Profile → Get more reviews.', }, { - '@type': 'FAQPage', - mainEntity: [ - { - '@type': 'Question', - name: 'How do I find my Google Review link?', - acceptedAnswer: { - '@type': 'Answer', - text: 'Open Google Maps → search for your business → click Share → Copy link. Alternatively, go to your Google Business Profile dashboard → click "Get more reviews" — this gives you a direct review shortlink.', - }, - }, - { - '@type': 'Question', - name: 'Does this Google Review QR code expire?', - acceptedAnswer: { - '@type': 'Answer', - text: 'No. This is a static QR code that directly encodes your Google review URL. It will work as long as your Google Business Profile is active.', - }, - }, - { - '@type': 'Question', - name: 'Can I track how many people scanned the QR code?', - acceptedAnswer: { - '@type': 'Answer', - text: 'Not with a static QR code. If you need scan analytics (device, location, time), create a dynamic QR code with tracking through QR Master.', - }, - }, - { - '@type': 'Question', - name: 'What happens when a customer scans the QR code?', - acceptedAnswer: { - '@type': 'Answer', - text: 'They are taken directly to your Google review form. If they are logged into a Google account on their phone, they can leave a review immediately with no extra steps.', - }, - }, - { - '@type': 'Question', - name: 'Where should I display the Google Review QR code?', - acceptedAnswer: { - '@type': 'Answer', - text: 'Best placements: receipts, table tent cards (restaurants), checkout counters, packaging inserts, and your shop window. The moment after a positive experience is the best time to ask for a review.', - }, - }, - ], + '@type': 'HowToStep', + position: 2, + name: 'Paste the link into the generator', + text: 'Paste your Google review URL into the field above. The generator accepts g.page, google.com, and maps.app.goo.gl links.', }, { - '@type': 'BreadcrumbList', - itemListElement: [ - { '@type': 'ListItem', position: 1, name: 'Home', item: 'https://www.qrmaster.net' }, - { '@type': 'ListItem', position: 2, name: 'QR Code Tools', item: 'https://www.qrmaster.net/tools' }, - { '@type': 'ListItem', position: 3, name: 'Google Review QR Code Generator', item: 'https://www.qrmaster.net/tools/google-review-qr-code' }, - ], + '@type': 'HowToStep', + position: 3, + name: 'Customize and download', + text: 'Choose a color and frame label (e.g. "Leave a Review"), then download as PNG or SVG.', }, - ], + { + '@type': 'HowToStep', + position: 4, + name: 'Display the QR code', + text: 'Print the code on receipts, table cards, packaging, or your window. Customers scan once to review.', + }, + ], + totalTime: 'PT60S', + }, + { + '@type': 'FAQPage', + mainEntity: [ + { + '@type': 'Question', + name: 'How do I find my Google Review link?', + acceptedAnswer: { + '@type': 'Answer', + text: 'Open Google Maps → search for your business → click Share → Copy link. Alternatively, go to your Google Business Profile dashboard → click "Get more reviews" — this gives you a direct review shortlink.', + }, + }, + { + '@type': 'Question', + name: 'Does this Google Review QR code expire?', + acceptedAnswer: { + '@type': 'Answer', + text: 'No. This is a static QR code that directly encodes your Google review URL. It will work as long as your Google Business Profile is active.', + }, + }, + { + '@type': 'Question', + name: 'Can I track how many people scanned the QR code?', + acceptedAnswer: { + '@type': 'Answer', + text: 'Not with a static QR code. If you need scan analytics (device, location, time), create a dynamic QR code with tracking through QR Master.', + }, + }, + { + '@type': 'Question', + name: 'What happens when a customer scans the QR code?', + acceptedAnswer: { + '@type': 'Answer', + text: 'They are taken directly to your Google review form. If they are logged into a Google account on their phone, they can leave a review immediately with no extra steps.', + }, + }, + { + '@type': 'Question', + name: 'Where should I display the Google Review QR code?', + acceptedAnswer: { + '@type': 'Answer', + text: 'Best placements: receipts, table tent cards (restaurants), checkout counters, packaging inserts, and your shop window. The moment after a positive experience is the best time to ask for a review.', + }, + }, + ], + }, + { + '@type': 'BreadcrumbList', + itemListElement: [ + { + '@type': 'ListItem', + position: 1, + name: 'Home', + item: 'https://www.qrmaster.net', + }, + { + '@type': 'ListItem', + position: 2, + name: 'QR Code Tools', + item: 'https://www.qrmaster.net/tools', + }, + { + '@type': 'ListItem', + position: 3, + name: 'Google Review QR Code Generator', + item: 'https://www.qrmaster.net/tools/google-review-qr-code', + }, + ], + }, + ], }; export default function GoogleReviewQRCodePage() { - return ( - <> -