Files
QR-master/src/app/(main)/(marketing)/page.tsx
Timo Knuth 4774f4d51e SEO
2026-05-18 16:00:24 +02:00

127 lines
4.0 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import React from 'react';
import type { Metadata } from 'next';
import SeoJsonLd from '@/components/SeoJsonLd';
import {
organizationSchema,
websiteSchema,
softwareApplicationSchema,
reviewSchema,
aggregateRatingSchema,
} from '@/lib/schema';
import {
getFeaturedTestimonials,
getAggregateRating,
} from '@/lib/testimonial-data';
import HomePageClient from '@/components/marketing/HomePageClient';
function truncateAtWord(text: string, maxLength: number): string {
if (text.length <= maxLength) return text;
const truncated = text.slice(0, maxLength);
const lastSpace = truncated.lastIndexOf(' ');
return lastSpace > 0 ? truncated.slice(0, lastSpace) : truncated;
}
export async function generateMetadata(): Promise<Metadata> {
const title = truncateAtWord('QR Master Free QR Code Generator with Analytics', 60);
const description = truncateAtWord(
'QR Master is a free QR code generator with scan analytics, dynamic QR codes, custom branding, and bulk creation. No signup required for static codes.',
160
);
return {
title,
description,
keywords: [
'qr generator',
'free qr code generator',
'custom qr code generator',
'qr code maker',
'online qr code generator',
'dynamic qr code',
'qr code with logo',
'barcode generator',
'free barcode generator',
],
alternates: {
canonical: 'https://www.qrmaster.net/',
languages: {
'x-default': 'https://www.qrmaster.net/',
en: 'https://www.qrmaster.net/',
de: 'https://www.qrmaster.net/qr-code-erstellen',
},
},
openGraph: {
title,
description,
url: 'https://www.qrmaster.net/',
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: {
title,
description,
},
};
}
export default function HomePage() {
const featuredTestimonials = getFeaturedTestimonials();
const aggregateRating = getAggregateRating();
const reviewSchemas = featuredTestimonials.map((t) => reviewSchema(t));
return (
<>
<SeoJsonLd
data={[
websiteSchema(),
organizationSchema(),
softwareApplicationSchema(aggregateRating),
aggregateRatingSchema(aggregateRating),
...reviewSchemas,
]}
/>
{/* Server-rendered SEO content for crawlers */}
<div className="sr-only" aria-hidden="false">
<p>
Create professional QR codes for your business with QR Master. Our
dynamic QR code generator lets you create trackable QR codes, edit
destinations anytime, and view detailed analytics. Perfect for
restaurants, retail, events, and marketing campaigns.
</p>
<p>
Features include: Dynamic QR codes with real-time tracking, bulk QR
code generation from Excel/CSV, custom branding with colors and logos,
advanced scan analytics showing device types and locations, vCard QR
codes for digital business cards, restaurant menu QR codes, and a free{' '}
<a href="/tools/barcode-generator">barcode generator</a> for EAN-13,
UPC-A, and Code 128 barcodes.
</p>
<p>
Popular QR Master workflows include the{' '}
<a href="/dynamic-qr-code-generator">
free dynamic QR code generator
</a>
, <a href="/qr-code-tracking">QR code tracking</a>, and the{' '}
<a href="/custom-qr-code-generator">custom QR code generator</a> for
branded print campaigns.
</p>
<p>
Start free with 3 active dynamic QR codes and unlimited static codes.
Upgrade to Pro for 50 codes with advanced analytics, or Business for
500 codes with bulk creation and priority support.
</p>
</div>
<HomePageClient />
</>
);
}