seo + press V2

This commit is contained in:
2026-07-29 16:35:56 +02:00
parent e73075cdbc
commit 914e312a1b
18 changed files with 1030 additions and 739 deletions

View File

@@ -5,7 +5,8 @@ import { Type, Shield, Zap, Smartphone, FileText, QrCode, Download, Share2 } fro
import { QRCodeSVG } from 'qrcode.react';
import { ToolBreadcrumb } from '@/components/seo/BreadcrumbSchema';
import { RelatedTools } from '@/components/marketing/RelatedTools';
import { generateSoftwareAppSchema, generateFaqSchema } from '@/lib/schema-utils';
import sanitizeHtml from 'sanitize-html';
import { generateSoftwareAppSchema } from '@/lib/schema-utils';
// SEO Optimized Metadata
export const metadata: Metadata = {
@@ -35,6 +36,36 @@ export const metadata: Metadata = {
},
};
// Single source of truth for FAQs: rendered on the page AND emitted as
// FAQPage schema. Google requires every marked-up Q&A to be visible to the
// user on the source page, so never add one without the other.
const faqItems = [
{
question: 'Is there a character limit?',
answer: 'Yes, we recommend keeping it under 300 characters for optimal scanning. While QR codes can hold more, more text makes the code denser and harder to scan.',
},
{
question: 'Do I need internet to scan a Text QR code?',
answer: 'No. Text QR codes work completely offline. The text content is embedded directly into the QR code pattern.',
},
{
question: 'Is my text private?',
answer: 'Yes. This generator runs 100% in your browser. We do not store or see the text you type.',
},
{
question: 'How do I scan a text QR code?',
answer: 'Open your phone camera or a QR scanner app and point it at the code. The text will appear on your screen automatically.',
},
{
question: 'Can I edit the text later?',
answer: 'No, this is a static QR code. The text is permanent. If you need to change it, you must create a new QR code.',
},
{
question: 'Can I change the text after printing?',
answer: 'No. Static QR codes are permanent. If you need to change the text later, you must generate a new QR code. For editable content, you would need a Dynamic QR Code (which we also offer).',
},
];
// JSON-LD Structured Data
const jsonLd = {
'@context': 'https://schema.org',
@@ -82,28 +113,18 @@ const jsonLd = {
],
totalTime: 'PT30S',
},
generateFaqSchema({
'Is there a character limit?': {
question: 'Is there a character limit?',
answer: 'Yes, we recommend keeping it under 300 characters for optimal scanning. While QR codes can hold more, more text makes the code denser and harder to scan.',
},
'Do I need internet to scan a Text QR code?': {
question: 'Do I need internet to scan a Text QR code?',
answer: 'No. Text QR codes work completely offline. The text content is embedded directly into the QR code pattern.',
},
'Is my text private?': {
question: 'Is my text private?',
answer: 'Yes. This generator runs 100% in your browser. We do not store or see the text you type.',
},
'How do I scan a text QR code?': {
question: 'How do I scan a text QR code?',
answer: 'Open your phone camera or a QR scanner app and point it at the code. The text will appear on your screen automatically.',
},
'Can I edit the text later?': {
question: 'Can I edit the text later?',
answer: 'No, this is a static QR code. The text is permanent. If you need to change it, you must create a new QR code.',
},
}),
{
'@type': 'FAQPage',
'@id': 'https://www.qrmaster.net/tools/text-qr-code#faq',
mainEntity: faqItems.map((item) => ({
'@type': 'Question',
name: item.question,
acceptedAnswer: {
'@type': 'Answer',
text: item.answer.replace(/<[^>]+>/g, ''),
},
})),
},
],
};
@@ -276,26 +297,13 @@ export default function TextQRCodePage() {
</p>
<div className="space-y-4">
<FaqItem
question="How do I scan a text QR code?"
answer="Open your phone camera or a QR scanner app and point it at the code. The text will appear on your screen automatically."
/>
<FaqItem
question="Is there a character limit?"
answer="We recommend keeping it under 300 characters for the best scanning experience. Theoretically, QR codes can hold up to 4,296 characters, but the code becomes very complex and harder to scan with standard phone cameras."
/>
<FaqItem
question="Do I need internet to scan a Text QR code?"
answer="No. Text QR codes are 'static' codes, meaning the data is encoded directly into the image pattern. You can scan and read them completely offline, making them perfect for remote locations or secure environments."
/>
<FaqItem
question="Is my text private?"
answer="Yes. We prioritize your privacy. The generation process happens entirely in your browser using JavaScript. Your text data is never sent to our servers or stored anywhere."
/>
<FaqItem
question="Can I change the text after printing?"
answer="No. Static QR codes are permanent. If you need to change the text later, you must generate a new QR code. For editable content, you would need a Dynamic QR Code (which we also offer)."
/>
{faqItems.map((item) => (
<FaqItem
key={item.question}
question={item.question}
answer={item.answer}
/>
))}
</div>
</div>
</section>
@@ -316,9 +324,14 @@ function FaqItem({ question, answer }: { question: string; answer: string }) {
</svg>
</span>
</summary>
<div className="text-slate-600 px-5 pb-5 pt-0 leading-relaxed text-sm">
{answer}
</div>
<div className="text-slate-600 px-5 pb-5 pt-0 leading-relaxed text-sm [&_a]:text-indigo-600 [&_a]:underline"
dangerouslySetInnerHTML={{
__html: sanitizeHtml(answer, {
allowedTags: ['p', 'strong', 'em', 'ul', 'ol', 'li', 'a', 'br', 'code'],
allowedAttributes: { a: ['href'] },
}),
}}
/>
</details>
);
}