Copy overhaul + qr designs
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { getAggregateRating } from '@/lib/testimonial-data';
|
||||
import { getAggregateRating } from '@/lib/testimonial-data';
|
||||
import React from 'react';
|
||||
import type { Metadata } from 'next';
|
||||
import { Button } from '@/components/ui/Button';
|
||||
@@ -16,7 +16,7 @@ import {
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: {
|
||||
absolute: 'Dynamic Barcode Generator – Trackable, Editable Barcodes',
|
||||
absolute: 'Dynamic Barcode Generator - Trackable, Editable Barcodes',
|
||||
},
|
||||
description:
|
||||
'Generate dynamic barcodes you can update after printing. Change the redirect URL anytime, track every scan, and manage all barcodes in one dashboard. Free to start.',
|
||||
@@ -30,17 +30,17 @@ export const metadata: Metadata = {
|
||||
},
|
||||
},
|
||||
openGraph: {
|
||||
title: 'Dynamic Barcode Generator – Trackable, Editable Barcodes',
|
||||
title: 'Dynamic Barcode Generator - Trackable, Editable Barcodes',
|
||||
description:
|
||||
'Generate dynamic barcodes that redirect to any URL — and can be updated after printing. Track every scan with device, time, and location data.',
|
||||
'Generate dynamic barcodes that redirect to any URL - and can be updated after printing. Track every scan with device, time, and location data.',
|
||||
url: 'https://www.qrmaster.net/dynamic-barcode-generator',
|
||||
type: 'website',
|
||||
images: ['/og-image.png'],
|
||||
},
|
||||
twitter: {
|
||||
title: 'Dynamic Barcode Generator – Trackable, Editable Barcodes',
|
||||
title: 'Dynamic Barcode Generator - Trackable, Editable Barcodes',
|
||||
description:
|
||||
'Generate dynamic barcodes that redirect to any URL — and can be updated after printing. Track every scan with device, time, and location data.',
|
||||
'Generate dynamic barcodes that redirect to any URL - and can be updated after printing. Track every scan with device, time, and location data.',
|
||||
},
|
||||
};
|
||||
|
||||
@@ -53,7 +53,7 @@ const featureCards = [
|
||||
{
|
||||
title: 'Track every smartphone scan',
|
||||
description:
|
||||
'See device type, time, country, and referrer for every scan — in the same dashboard as your QR codes.',
|
||||
'See device type, time, country, and referrer for every scan - in the same dashboard as your QR codes.',
|
||||
},
|
||||
{
|
||||
title: 'CODE128 and CODE39 supported',
|
||||
@@ -111,28 +111,28 @@ const useCases = [
|
||||
description:
|
||||
'Print CODE128 barcodes on event badges that link to personalized schedules, session recordings, or attendee portals. Update the destination as content changes.',
|
||||
example:
|
||||
'Conference badges with a dynamic barcode redirect to an attendee agenda page — updated in real time as the schedule changes. Scanned with smartphone cameras at check-in kiosks.',
|
||||
'Conference badges with a dynamic barcode redirect to an attendee agenda page - updated in real time as the schedule changes. Scanned with smartphone cameras at check-in kiosks.',
|
||||
},
|
||||
{
|
||||
title: 'Packaging inserts & product cards',
|
||||
description:
|
||||
'Link physical inserts inside product boxes to setup guides, how-to videos, or support pages. Update the destination when content moves — no reprint needed.',
|
||||
'Link physical inserts inside product boxes to setup guides, how-to videos, or support pages. Update the destination when content moves - no reprint needed.',
|
||||
example:
|
||||
'A hardware brand updates the setup guide URL six months post-launch to a new video format — without reprinting a single insert.',
|
||||
'A hardware brand updates the setup guide URL six months post-launch to a new video format - without reprinting a single insert.',
|
||||
},
|
||||
{
|
||||
title: 'Digital signage & screens',
|
||||
description:
|
||||
'Display a CODE128 barcode on screens or monitors. Visitors scan with their smartphone and land on a current URL — updated from the dashboard without changing the display.',
|
||||
'Display a CODE128 barcode on screens or monitors. Visitors scan with their smartphone and land on a current URL - updated from the dashboard without changing the display.',
|
||||
example:
|
||||
'A trade-show monitor shows a barcode linking to the current product demo page — redirected to a post-show recording after the event.',
|
||||
'A trade-show monitor shows a barcode linking to the current product demo page - redirected to a post-show recording after the event.',
|
||||
},
|
||||
{
|
||||
title: 'Internal asset tracking (browser-based)',
|
||||
description:
|
||||
'Use CODE128 barcodes on internal assets where staff scan with smartphones to open web-based inventory or maintenance forms. URLs update as systems change.',
|
||||
example:
|
||||
'IT tags company laptops with dynamic barcodes. Staff scan to open the current helpdesk form — URL updated when the ticketing system moves.',
|
||||
'IT tags company laptops with dynamic barcodes. Staff scan to open the current helpdesk form - URL updated when the ticketing system moves.',
|
||||
},
|
||||
];
|
||||
|
||||
@@ -140,12 +140,12 @@ const faqItems = [
|
||||
{
|
||||
question: 'What is a dynamic barcode?',
|
||||
answer:
|
||||
'A dynamic barcode (CODE128 or CODE39) encodes a short redirect URL. When scanned with a smartphone camera, it opens a browser and routes through QR Master to your current destination — which you can update without changing the printed barcode. Note: it requires a smartphone scan, not a POS laser scanner.',
|
||||
'A dynamic barcode (CODE128 or CODE39) encodes a short redirect URL. When scanned with a smartphone camera, it opens a browser and routes through QR Master to your current destination - which you can update without changing the printed barcode. Note: it requires a smartphone scan, not a POS laser scanner.',
|
||||
},
|
||||
{
|
||||
question: 'How is a dynamic barcode different from a static one?',
|
||||
answer:
|
||||
'A static barcode directly encodes a fixed value — a number, URL, or product code — that cannot be changed after printing. A dynamic barcode encodes a redirect link so the final destination can be updated at any time from your dashboard.',
|
||||
'A static barcode directly encodes a fixed value - a number, URL, or product code - that cannot be changed after printing. A dynamic barcode encodes a redirect link so the final destination can be updated at any time from your dashboard.',
|
||||
},
|
||||
{
|
||||
question:
|
||||
@@ -166,7 +166,7 @@ const faqItems = [
|
||||
{
|
||||
question: 'Can I change a barcode destination after printing?',
|
||||
answer:
|
||||
'Yes — that is the core value of a dynamic barcode. Log in to your dashboard, find the barcode, and update the redirect URL. Scanners immediately reach the new destination.',
|
||||
'Yes - that is the core value of a dynamic barcode. Log in to your dashboard, find the barcode, and update the redirect URL. Scanners immediately reach the new destination.',
|
||||
},
|
||||
{
|
||||
question: 'Do I need to reprint if the linked page changes?',
|
||||
@@ -186,13 +186,13 @@ const softwareSchema = {
|
||||
'@type': 'SoftwareApplication',
|
||||
'@id': 'https://www.qrmaster.net/dynamic-barcode-generator#software',
|
||||
name: 'QR Master - Dynamic Barcode Generator',
|
||||
applicationCategory: 'BusinessApplication',
|
||||
aggregateRating: {
|
||||
'@type': 'AggregateRating',
|
||||
ratingValue: getAggregateRating().ratingValue,
|
||||
reviewCount: getAggregateRating().reviewCount,
|
||||
bestRating: getAggregateRating().bestRating,
|
||||
worstRating: getAggregateRating().worstRating,
|
||||
applicationCategory: 'BusinessApplication',
|
||||
aggregateRating: {
|
||||
'@type': 'AggregateRating',
|
||||
ratingValue: getAggregateRating().ratingValue,
|
||||
reviewCount: getAggregateRating().reviewCount,
|
||||
bestRating: getAggregateRating().bestRating,
|
||||
worstRating: getAggregateRating().worstRating,
|
||||
},
|
||||
operatingSystem: 'Web Browser',
|
||||
offers: {
|
||||
@@ -225,7 +225,7 @@ const howToSchema = {
|
||||
url: 'https://www.qrmaster.net/authors/timo',
|
||||
},
|
||||
description:
|
||||
'Create a dynamic barcode that redirects to a URL you can update anytime — without reprinting the label.',
|
||||
'Create a dynamic barcode that redirects to a URL you can update anytime - without reprinting the label.',
|
||||
totalTime: 'PT3M',
|
||||
step: [
|
||||
{
|
||||
@@ -252,7 +252,7 @@ const howToSchema = {
|
||||
'@type': 'HowToStep',
|
||||
position: 4,
|
||||
name: 'Update anytime',
|
||||
text: 'Change the destination URL from your dashboard whenever needed — no reprint required.',
|
||||
text: 'Change the destination URL from your dashboard whenever needed - no reprint required.',
|
||||
},
|
||||
],
|
||||
};
|
||||
@@ -281,14 +281,14 @@ const relatedLinks = [
|
||||
href: '/dynamic-qr-code-generator',
|
||||
title: 'Dynamic QR Code Generator',
|
||||
description:
|
||||
'The same redirect-and-track approach for 2D QR codes — ideal for consumer-facing print materials scanned by smartphones.',
|
||||
'The same redirect-and-track approach for 2D QR codes - ideal for consumer-facing print materials scanned by smartphones.',
|
||||
ctaLabel: 'Create dynamic QR codes',
|
||||
},
|
||||
{
|
||||
href: '/bulk-qr-code-generator',
|
||||
title: 'Bulk Barcode & QR Generator',
|
||||
description:
|
||||
'Upload a CSV and generate hundreds of dynamic barcodes or QR codes in one batch — with tracking for every code.',
|
||||
'Upload a CSV and generate hundreds of dynamic barcodes or QR codes in one batch - with tracking for every code.',
|
||||
ctaLabel: 'Generate codes in bulk',
|
||||
},
|
||||
{
|
||||
@@ -316,7 +316,7 @@ const relatedLinks = [
|
||||
href: '/tools/barcode-generator',
|
||||
title: 'Free Static Barcode Generator',
|
||||
description:
|
||||
'Need a one-time barcode with no redirect? Use the free static barcode generator — no account required.',
|
||||
'Need a one-time barcode with no redirect? Use the free static barcode generator - no account required.',
|
||||
ctaLabel: 'Generate a static barcode',
|
||||
},
|
||||
];
|
||||
@@ -454,17 +454,17 @@ export default function DynamicBarcodeGeneratorPage() {
|
||||
<p className="text-[18px] font-[300] leading-[1.6] text-black max-w-lg">
|
||||
Create CODE128 or CODE39 barcodes that encode a redirect
|
||||
URL. When scanned with a smartphone, they open a browser and
|
||||
redirect to your destination — which you can update anytime
|
||||
redirect to your destination - which you can update anytime
|
||||
without reprinting.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div className="space-y-4 pt-2">
|
||||
{[
|
||||
'Scanned by smartphone cameras — redirect opens in the browser',
|
||||
'Scanned by smartphone cameras - redirect opens in the browser',
|
||||
'Update the destination from your dashboard without touching the label',
|
||||
'Track every scan — device, country, time, and UTM data',
|
||||
'Free plan includes 3 active dynamic barcodes — no credit card required',
|
||||
'Track every scan - device, country, time, and UTM data',
|
||||
'Free plan includes 3 active dynamic barcodes - no credit card required',
|
||||
].map((feature) => (
|
||||
<div key={feature} className="flex items-start gap-3">
|
||||
<div className="mt-1 flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-full bg-[#15be53]/20 border border-[#15be53]/40">
|
||||
@@ -513,7 +513,7 @@ export default function DynamicBarcodeGeneratorPage() {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Hero visual — barcode mockup */}
|
||||
{/* Hero visual - barcode mockup */}
|
||||
<div className="relative mt-8 lg:mt-0">
|
||||
<div className="rounded-[8px] border border-[#e5edf5] bg-white p-8 shadow-[0_30px_45px_-30px_rgba(50,50,93,0.25),0_18px_36px_-18px_rgba(0,0,0,0.1)]">
|
||||
{/* Simulated barcode SVG */}
|
||||
@@ -948,7 +948,7 @@ export default function DynamicBarcodeGeneratorPage() {
|
||||
How to Create a Dynamic Barcode
|
||||
</h2>
|
||||
<AnswerFirstBlock
|
||||
whatIsIt="A dynamic barcode encodes a short redirect URL into a standard linear format (CODE128, EAN-13, etc.). When scanned, it routes through QR Master — logging the scan and forwarding to your chosen destination, which you can update anytime from the dashboard."
|
||||
whatIsIt="A dynamic barcode encodes a short redirect URL into a standard linear format (CODE128, EAN-13, etc.). When scanned, it routes through QR Master - logging the scan and forwarding to your chosen destination, which you can update anytime from the dashboard."
|
||||
whenToUse={[
|
||||
'Event badges, access passes, or conference materials scanned by smartphone cameras',
|
||||
'Product packaging inserts or cards where visitors scan with their phone to reach a web page',
|
||||
@@ -981,7 +981,7 @@ export default function DynamicBarcodeGeneratorPage() {
|
||||
'Create a QR Master account and open the Create dashboard',
|
||||
'Select "Barcode" as the content type, pick a format, and enter your destination URL',
|
||||
'Download the barcode as SVG or PNG and apply it to your label or packaging',
|
||||
'Update the redirect URL anytime from your dashboard — no reprint required',
|
||||
'Update the redirect URL anytime from your dashboard - no reprint required',
|
||||
],
|
||||
}}
|
||||
/>
|
||||
@@ -1042,7 +1042,7 @@ export default function DynamicBarcodeGeneratorPage() {
|
||||
: 'text-[20px] text-[#ea2261]'
|
||||
}
|
||||
>
|
||||
{item.static ? '✓' : '—'}
|
||||
{item.static ? '✓' : '-'}
|
||||
</span>
|
||||
</div>
|
||||
))}
|
||||
@@ -1066,7 +1066,7 @@ export default function DynamicBarcodeGeneratorPage() {
|
||||
: 'text-[20px] text-[#ea2261]'
|
||||
}
|
||||
>
|
||||
{item.dynamic ? '✓' : '—'}
|
||||
{item.dynamic ? '✓' : '-'}
|
||||
</span>
|
||||
</div>
|
||||
))}
|
||||
@@ -1085,7 +1085,7 @@ export default function DynamicBarcodeGeneratorPage() {
|
||||
</h2>
|
||||
<p className="mx-auto max-w-3xl text-[18px] font-[300] leading-[1.6] text-[#64748d]">
|
||||
The same redirect-and-track infrastructure that powers QR
|
||||
Master's dynamic QR codes — now available for standard linear
|
||||
Master's dynamic QR codes - now available for standard linear
|
||||
barcode formats.
|
||||
</p>
|
||||
</div>
|
||||
@@ -1177,7 +1177,7 @@ export default function DynamicBarcodeGeneratorPage() {
|
||||
</h2>
|
||||
<p className="text-[18px] font-[300] leading-[1.6] text-[rgba(255,255,255,0.7)]">
|
||||
Static barcodes are a liability when the page or document
|
||||
behind them changes. Dynamic barcodes eliminate that risk —
|
||||
behind them changes. Dynamic barcodes eliminate that risk -
|
||||
and add scan intelligence to every label.
|
||||
</p>
|
||||
</div>
|
||||
@@ -1243,7 +1243,7 @@ export default function DynamicBarcodeGeneratorPage() {
|
||||
Which barcode format works dynamically?
|
||||
</h2>
|
||||
<p className="text-[18px] font-[300] leading-[1.6] text-[#64748d] max-w-2xl mx-auto">
|
||||
Dynamic barcodes must encode a URL — so only formats that
|
||||
Dynamic barcodes must encode a URL - so only formats that
|
||||
support full ASCII strings work. Numeric-only formats like
|
||||
EAN-13, UPC, and ITF-14 cannot embed a redirect URL and are
|
||||
available as <strong>static barcodes only</strong>.
|
||||
@@ -1297,7 +1297,7 @@ export default function DynamicBarcodeGeneratorPage() {
|
||||
|
||||
<div>
|
||||
<h3 className="text-[14px] font-[400] text-[#64748d] uppercase tracking-wider mb-6 text-center md:text-left">
|
||||
Static only — numeric formats
|
||||
Static only - numeric formats
|
||||
</h3>
|
||||
<div className="grid gap-4 sm:grid-cols-2 lg:grid-cols-4">
|
||||
{[
|
||||
@@ -1353,7 +1353,7 @@ export default function DynamicBarcodeGeneratorPage() {
|
||||
<GrowthLinksSection
|
||||
eyebrow="Best next workflows"
|
||||
title="See where dynamic barcodes fit your stack"
|
||||
description="Dynamic barcodes work best alongside QR codes, bulk generation, and unified analytics — all available in the same QR Master dashboard."
|
||||
description="Dynamic barcodes work best alongside QR codes, bulk generation, and unified analytics - all available in the same QR Master dashboard."
|
||||
links={relatedLinks}
|
||||
pageType="commercial"
|
||||
cluster="dynamic-barcode"
|
||||
|
||||
Reference in New Issue
Block a user