This commit is contained in:
Timo Knuth 2026-01-25 15:43:38 +01:00
parent 30c1e57eab
commit 9040e50837
12 changed files with 46 additions and 7 deletions

View File

@ -7,6 +7,9 @@ export const metadata: Metadata = {
alternates: { alternates: {
canonical: 'https://www.qrmaster.net/signup', canonical: 'https://www.qrmaster.net/signup',
}, },
openGraph: {
url: 'https://www.qrmaster.net/signup',
},
}; };
export default function SignupPage() { export default function SignupPage() {

View File

@ -37,6 +37,7 @@ export async function generateMetadata(): Promise<Metadata> {
description, description,
url: 'https://www.qrmaster.net/blog', url: 'https://www.qrmaster.net/blog',
type: 'website', type: 'website',
images: ['/og-image.png'],
}, },
twitter: { twitter: {
title, title,

View File

@ -25,6 +25,7 @@ export const metadata: Metadata = {
description: 'Generate hundreds of QR codes at once from Excel/CSV. Create URLs, vCards, and more in bulk with custom branding.', 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', url: 'https://www.qrmaster.net/bulk-qr-code-generator',
type: 'website', type: 'website',
images: ['/og-image.png'],
}, },
twitter: { twitter: {
title: 'Bulk QR Code Generator - Create 1000s from Excel', title: 'Bulk QR Code Generator - Create 1000s from Excel',

View File

@ -25,6 +25,7 @@ export const metadata: Metadata = {
description: 'Create dynamic QR codes that can be edited after printing. Change URLs, track scans, and update content anytime.', description: 'Create dynamic QR codes that can be edited after printing. Change URLs, track scans, and update content anytime.',
url: 'https://www.qrmaster.net/dynamic-qr-code-generator', url: 'https://www.qrmaster.net/dynamic-qr-code-generator',
type: 'website', type: 'website',
images: ['/og-image.png'],
}, },
twitter: { twitter: {
title: 'Dynamic QR Code Generator - Edit Anytime', title: 'Dynamic QR Code Generator - Edit Anytime',

View File

@ -34,6 +34,22 @@ export async function generateMetadata(): Promise<Metadata> {
description, description,
url: 'https://www.qrmaster.net/faq', url: 'https://www.qrmaster.net/faq',
type: 'website', type: 'website',
images: [
{
url: 'https://www.qrmaster.net/og-image.png',
width: 1200,
height: 630,
alt: 'QR Master - Dynamic QR Code Generator and Analytics Platform',
},
],
images: [
{
url: 'https://www.qrmaster.net/og-image.png',
width: 1200,
height: 630,
alt: 'QR Master - Dynamic QR Code Generator and Analytics Platform',
},
],
}, },
twitter: { twitter: {
title, title,

View File

@ -6,8 +6,8 @@ export const metadata: Metadata = {
title: 'Newsletter Admin | QR Master', title: 'Newsletter Admin | QR Master',
description: 'Administrative access for QR Master newsletter management. This area is restricted to authorized personnel only.', description: 'Administrative access for QR Master newsletter management. This area is restricted to authorized personnel only.',
robots: { robots: {
index: false, index: true,
follow: false, follow: true,
}, },
alternates: { alternates: {
canonical: 'https://www.qrmaster.net/newsletter', canonical: 'https://www.qrmaster.net/newsletter',

View File

@ -35,6 +35,14 @@ export async function generateMetadata(): Promise<Metadata> {
description, description,
url: 'https://www.qrmaster.net/', url: 'https://www.qrmaster.net/',
type: 'website', type: 'website',
images: [
{
url: 'https://www.qrmaster.net/og-image.png',
width: 1200,
height: 630,
alt: 'QR Master - Dynamic QR Code Generator and Analytics Platform',
},
],
}, },
twitter: { twitter: {
title, title,

View File

@ -5,6 +5,13 @@ import { ObfuscatedMailto } from '@/components/ui/ObfuscatedMailto';
export const metadata = { export const metadata = {
title: 'Privacy Policy | QR Master', title: 'Privacy Policy | QR Master',
description: 'Read our Privacy Policy to understand how QR Master collects, uses, and protects your data. We are GDPR compliant and committed to user privacy and security.', description: 'Read our Privacy Policy to understand how QR Master collects, uses, and protects your data. We are GDPR compliant and committed to user privacy and security.',
openGraph: {
title: 'Privacy Policy | QR Master',
description: 'Read our Privacy Policy to understand how QR Master collects, uses, and protects your data. We are GDPR compliant and committed to user privacy and security.',
url: 'https://www.qrmaster.net/privacy',
type: 'website',
images: ['/og-image.png'],
},
}; };
export default function PrivacyPage() { export default function PrivacyPage() {

View File

@ -25,6 +25,7 @@ export const metadata: Metadata = {
description: 'Track QR code scans with real-time analytics. Monitor location, device, time, and user behavior.', description: 'Track QR code scans with real-time analytics. Monitor location, device, time, and user behavior.',
url: 'https://www.qrmaster.net/qr-code-tracking', url: 'https://www.qrmaster.net/qr-code-tracking',
type: 'website', type: 'website',
images: ['/og-image.png'],
}, },
twitter: { twitter: {
title: 'QR Code Tracking & Analytics - Track Every Scan', title: 'QR Code Tracking & Analytics - Track Every Scan',

View File

@ -26,7 +26,6 @@ export default function sitemap(): MetadataRoute.Sitemap {
'zoom-qr-code', 'zoom-qr-code',
'teams-qr-code', 'teams-qr-code',
'barcode-generator', 'barcode-generator',
'website-qr-code-generator',
]; ];
// All blog posts // All blog posts

View File

@ -31,10 +31,10 @@
"view_full_pricing": "Alle Preisdetails ansehen →" "view_full_pricing": "Alle Preisdetails ansehen →"
}, },
"trust": { "trust": {
"users": "10.000+ Aktive Nutzer", "users": "Aktive Nutzer",
"codes": "500.000+ QR-Codes erstellt", "codes": "QR-Codes erstellt",
"scans": "50M+ Scans verfolgt", "scans": "Scans verfolgt",
"countries": "120+ Länder" "countries": "Länder"
}, },
"industries": { "industries": {
"restaurant": "Restaurant-Kette", "restaurant": "Restaurant-Kette",

View File

@ -15,6 +15,8 @@ export function middleware(req: NextRequest) {
'/privacy', '/privacy',
'/newsletter', '/newsletter',
'/tools', '/tools',
'/features',
'/guide',
'/qr-code-erstellen', '/qr-code-erstellen',
'/dynamic-qr-code-generator', '/dynamic-qr-code-generator',
'/bulk-qr-code-generator', '/bulk-qr-code-generator',