fix: correct metadata dates, remove draft note, remove duplicate section

- Fixed all 'undefined NaN, NaN' dates in metadata divs across all 22 posts
- Removed draft instruction from qr-code-scan-statistics-2026
- Removed duplicate 'Trackable / dynamic QR code' section from trackable-qr-codes
- All posts now have proper 'Last updated' dates showing January 26, 2026
This commit is contained in:
Timo Knuth
2026-03-06 16:01:01 +01:00
parent 7d5d142156
commit 76bde71585
41 changed files with 3640 additions and 397 deletions

View File

@@ -1,15 +1,18 @@
import React from 'react';
import type { Metadata } from 'next';
import Link from 'next/link';
import { Button } from '@/components/ui/Button';
import { Card } from '@/components/ui/Card';
import SeoJsonLd from '@/components/SeoJsonLd';
import Breadcrumbs, { BreadcrumbItem } from '@/components/Breadcrumbs';
import { breadcrumbSchema } from '@/lib/schema';
import { Button } from '@/components/ui/Button';
import { Card } from '@/components/ui/Card';
import SeoJsonLd from '@/components/SeoJsonLd';
import Breadcrumbs, { BreadcrumbItem } from '@/components/Breadcrumbs';
import { breadcrumbSchema } from '@/lib/schema';
import { GrowthLinksSection } from '@/components/marketing/GrowthLinksSection';
import { MarketingPageTracker } from '@/components/marketing/MarketingAnalytics';
import { featuredUseCases } from '@/lib/growth-pages';
export const metadata: Metadata = {
title: {
absolute: 'Bulk QR Code Generator - Create 1000s from Excel',
absolute: 'Bulk QR Code Generator - Create Bulk QR Codes from Excel',
},
description: 'Generate hundreds of QR codes at once from Excel/CSV. Create URLs, vCards, and more in bulk with custom branding. Perfect for products and events.',
keywords: 'bulk qr code generator, batch qr code, qr code from excel, csv qr code generator, mass qr code generation, bulk vcard qr code, bulk qr codes free',
@@ -21,14 +24,14 @@ export const metadata: Metadata = {
},
},
openGraph: {
title: 'Bulk QR Code Generator - Create 1000s from Excel',
title: 'Bulk QR Code Generator - Create Bulk QR Codes from Excel',
description: 'Generate hundreds of QR codes at once from Excel/CSV. Create URLs, vCards, and more in bulk with custom branding.',
url: 'https://www.qrmaster.net/bulk-qr-code-generator',
type: 'website',
images: ['/og-image.png'],
},
twitter: {
title: 'Bulk QR Code Generator - Create 1000s from Excel',
title: 'Bulk QR Code Generator - Create Bulk QR Codes from Excel',
description: 'Generate hundreds of QR codes at once from Excel/CSV. Create URLs, vCards, and more in bulk with custom branding.',
},
};
@@ -280,15 +283,43 @@ export default function BulkQRCodeGeneratorPage() {
],
};
const breadcrumbItems: BreadcrumbItem[] = [
{ name: 'Home', url: '/' },
{ name: 'Bulk QR Code Generator', url: '/bulk-qr-code-generator' },
];
return (
<>
<SeoJsonLd data={[softwareSchema, howToSchema, faqSchema, breadcrumbSchema(breadcrumbItems)]} />
<div className="min-h-screen bg-white">
const breadcrumbItems: BreadcrumbItem[] = [
{ name: 'Home', url: '/' },
{ name: 'Bulk QR Code Generator', url: '/bulk-qr-code-generator' },
];
const relatedUseCaseLinks = [
{
href: '/qr-code-for-marketing-campaigns',
title: 'QR Codes for Marketing Campaigns',
description: 'Use bulk generation when campaign placement or print distribution needs multiple trackable codes.',
ctaLabel: 'Create a trackable campaign QR',
},
{
href: featuredUseCases[2].href,
title: featuredUseCases[2].title,
description: featuredUseCases[2].summary,
ctaLabel: featuredUseCases[2].ctaLabel,
},
{
href: '/use-cases',
title: 'Explore the use-case hub',
description: 'See where bulk creation fits into broader QR workflows and commercial parents.',
ctaLabel: 'Explore QR code use cases',
},
{
href: '/custom-qr-code-generator',
title: 'Custom QR Code Generator',
description: 'Pair bulk creation with stronger print presentation when brand consistency matters.',
ctaLabel: 'Design a custom QR code',
},
];
return (
<>
<SeoJsonLd data={[softwareSchema, howToSchema, faqSchema, breadcrumbSchema(breadcrumbItems)]} />
<MarketingPageTracker pageType="commercial" cluster="bulk-qr" />
<div className="min-h-screen bg-white">
{/* Hero Section */}
<section className="relative overflow-hidden bg-gradient-to-br from-green-50 via-white to-blue-50 py-20">
<div className="container mx-auto px-4 sm:px-6 lg:px-8 max-w-7xl">
@@ -297,7 +328,7 @@ export default function BulkQRCodeGeneratorPage() {
<div className="space-y-8">
<div className="inline-flex items-center space-x-2 bg-green-100 text-green-800 px-4 py-2 rounded-full text-sm font-semibold">
<span></span>
<span>Generate 1000s in Minutes</span>
<span>CSV and Excel workflows</span>
</div>
<h1 className="text-5xl lg:text-6xl font-bold text-gray-900 leading-tight">
@@ -347,7 +378,7 @@ export default function BulkQRCodeGeneratorPage() {
<div className="bg-gray-50 border-2 border-dashed border-gray-300 rounded-lg p-8 text-center mb-4">
<div className="text-4xl mb-2">📊</div>
<p className="text-gray-600 font-medium mb-1">products.xlsx</p>
<p className="text-sm text-gray-500">1,247 rows ready</p>
<p className="text-sm text-gray-500">Bulk-ready file</p>
</div>
<div className="flex items-center justify-center mb-4">
<svg className="w-6 h-6 text-green-500" fill="none" stroke="currentColor" viewBox="0 0 24 24">
@@ -362,11 +393,11 @@ export default function BulkQRCodeGeneratorPage() {
))}
</div>
<p className="text-center text-sm text-gray-600 mt-4">
+ 1,239 more codes
Continue with a full batch import
</p>
</Card>
<div className="absolute -top-4 -right-4 bg-green-500 text-white px-4 py-2 rounded-full text-sm font-semibold shadow-lg">
1000s at Once!
Bulk import
</div>
</div>
</div>
@@ -631,14 +662,23 @@ Product C,https://example.com/product-c,Budget Widget,electronics,sale`}
</Card>
))}
</div>
</div>
</section>
{/* CTA Section */}
<section className="py-20 bg-gradient-to-r from-green-600 to-blue-600 text-white">
</div>
</section>
<GrowthLinksSection
eyebrow="Bulk-ready workflows"
title="Where bulk QR creation becomes operationally useful"
description="Bulk generation is strongest when one spreadsheet feeds a real deployment workflow across campaigns, events, labels, or repeated placements."
links={relatedUseCaseLinks}
pageType="commercial"
cluster="bulk-qr"
/>
{/* CTA Section */}
<section className="py-20 bg-gradient-to-r from-green-600 to-blue-600 text-white">
<div className="container mx-auto px-4 sm:px-6 lg:px-8 max-w-4xl text-center">
<h2 className="text-4xl font-bold mb-6">
Generate 1000s of QR Codes in Minutes
Generate bulk QR codes without one-by-one setup
</h2>
<p className="text-xl mb-8 text-green-100">
Save hours of manual work. Upload your file and get all QR codes ready instantly.