Atom eve seo
This commit is contained in:
@@ -1049,6 +1049,11 @@ export const useCasePageContent: Record<string, UseCasePageContent> = {
|
||||
description:
|
||||
'Compare table cards, receipts, packaging inserts, and counter displays to see where customers actually respond.',
|
||||
},
|
||||
{
|
||||
title: 'Employee and event feedback',
|
||||
description:
|
||||
'Use break-room posters, badge inserts, or post-event handouts to collect internal or attendee feedback anonymously — without email lists or logins.',
|
||||
},
|
||||
],
|
||||
checklistTitle: 'Feedback QR checklist',
|
||||
checklist: [
|
||||
@@ -1105,6 +1110,21 @@ export const useCasePageContent: Record<string, UseCasePageContent> = {
|
||||
answer:
|
||||
'Place it where the customer can act right after the experience, such as on table cards, receipts, counters, packaging inserts, or post-service handouts.',
|
||||
},
|
||||
{
|
||||
question: 'Should feedback be anonymous or personalized?',
|
||||
answer:
|
||||
'Anonymous forms get more honest responses and work well for employee or in-store feedback. Personalized flows (with an order or table number in the destination URL) let you follow up on specific experiences. The QR code itself works the same either way — the difference is the form it points to.',
|
||||
},
|
||||
{
|
||||
question: 'Can I use feedback QR codes for events?',
|
||||
answer:
|
||||
'Yes. Print the code on badges, programs, or exit signage so attendees respond while the session is still fresh. With a dynamic QR code you can switch the destination from a pre-event survey to a post-event one without reprinting.',
|
||||
},
|
||||
{
|
||||
question: 'Can I use QR codes for employee feedback?',
|
||||
answer:
|
||||
'Yes. Break rooms, notice boards, and shift handout sheets are common placements. An anonymous form behind the QR code lowers the barrier for honest internal feedback — no login, no email trail.',
|
||||
},
|
||||
],
|
||||
heroImage: '/marketing/use-cases/feedback-qr-codes.png',
|
||||
heroImageAlt: 'Feedback QR counter card with receipt QR and smartphone review feed preview',
|
||||
|
||||
@@ -5,6 +5,8 @@ import { pillarMeta } from '../lib/pillar-data';
|
||||
import { authors } from '../lib/author-data';
|
||||
import { publishedUseCases } from '../lib/growth-pages';
|
||||
import { useCasePagesDe } from '../lib/growth-pages-de';
|
||||
import { industryPages } from '../lib/industry-pages';
|
||||
import { publishedComparisonPages, publishedGuidePages } from '../lib/pseo-published-pages';
|
||||
|
||||
dotenv.config();
|
||||
|
||||
@@ -84,6 +86,7 @@ export function getAllIndexableUrls(): string[] {
|
||||
`${baseUrl}/qr-code-tracking`,
|
||||
`${baseUrl}/reprint-calculator`,
|
||||
`${baseUrl}/dynamic-qr-code-generator`,
|
||||
`${baseUrl}/dynamic-barcode-generator`,
|
||||
`${baseUrl}/bulk-qr-code-generator`,
|
||||
`${baseUrl}/custom-qr-code-generator`,
|
||||
`${baseUrl}/manage-qr-codes`,
|
||||
@@ -94,6 +97,41 @@ export function getAllIndexableUrls(): string[] {
|
||||
`${baseUrl}/blog`,
|
||||
`${baseUrl}/privacy`,
|
||||
`${baseUrl}/newsletter`,
|
||||
`${baseUrl}/cookie-policy`,
|
||||
`${baseUrl}/terms`,
|
||||
`${baseUrl}/restaurants`,
|
||||
`${baseUrl}/qr-code-analytics`,
|
||||
`${baseUrl}/qr-code-print-size-guide`,
|
||||
];
|
||||
|
||||
// Alternatives & comparison hub pages
|
||||
const alternativesPages = [
|
||||
`${baseUrl}/alternatives`,
|
||||
`${baseUrl}/alternatives/beaconstac`,
|
||||
`${baseUrl}/alternatives/bitly`,
|
||||
`${baseUrl}/alternatives/flowcode`,
|
||||
`${baseUrl}/alternatives/qr-code-generator`,
|
||||
`${baseUrl}/vs`,
|
||||
`${baseUrl}/vs/beaconstac`,
|
||||
];
|
||||
|
||||
// pSEO comparison & guide pages (published subset)
|
||||
const pseoPages = [
|
||||
...publishedComparisonPages.map(page => `${baseUrl}${page.canonicalPath}`),
|
||||
...publishedGuidePages.map(page => `${baseUrl}${page.canonicalPath}`),
|
||||
];
|
||||
|
||||
// Standalone guide pages (not part of the pSEO [slug] route)
|
||||
const guidePages = [
|
||||
`${baseUrl}/guide/bulk-qr-code-generation`,
|
||||
`${baseUrl}/guide/qr-code-best-practices`,
|
||||
`${baseUrl}/guide/tracking-analytics`,
|
||||
];
|
||||
|
||||
// Industry landing pages
|
||||
const industryHubPages = [
|
||||
`${baseUrl}/qr-code-for`,
|
||||
...industryPages.map(industry => `${baseUrl}/qr-code-for/${industry.slug}`),
|
||||
];
|
||||
|
||||
// Learn hub and pillar pages
|
||||
@@ -105,7 +143,19 @@ export function getAllIndexableUrls(): string[] {
|
||||
// Author pages
|
||||
const authorPages = authors.map(author => `${baseUrl}/authors/${author.slug}`);
|
||||
|
||||
return [...mainPages, ...freeTools, ...useCasePages, ...germanPages, ...blogPages, ...learnPages, ...authorPages];
|
||||
return [
|
||||
...mainPages,
|
||||
...freeTools,
|
||||
...useCasePages,
|
||||
...germanPages,
|
||||
...blogPages,
|
||||
...learnPages,
|
||||
...authorPages,
|
||||
...alternativesPages,
|
||||
...pseoPages,
|
||||
...guidePages,
|
||||
...industryHubPages,
|
||||
];
|
||||
}
|
||||
|
||||
// If run directly
|
||||
|
||||
Reference in New Issue
Block a user