import React from 'react'; import type { Metadata } from 'next'; import ZoomGenerator from './ZoomGenerator'; import { Video, Shield, Zap, Smartphone, Users, Download, Share2 } from 'lucide-react'; import { QRCodeSVG } from 'qrcode.react'; import { ToolBreadcrumb } from '@/components/seo/BreadcrumbSchema'; import { RelatedTools } from '@/components/marketing/RelatedTools'; import sanitizeHtml from 'sanitize-html'; import { generateSoftwareAppSchema } from '@/lib/schema-utils'; // SEO Optimized Metadata export const metadata: Metadata = { title: { absolute: 'Zoom Meeting QR Code Generator - Scan to Join, Free', }, description: 'Turn any Zoom meeting link into a QR code. Attendees scan and join - no typing meeting IDs. Print it for conference rooms, invites and event signage.', keywords: ['zoom qr code', 'zoom meeting qr', 'join zoom qr code', 'meeting room qr', 'zoom invitation qr', 'conference qr code', 'zoom qr code erstellen', 'zoom meeting qr code', 'video konferenz qr', 'zoom beitreten qr'], alternates: { canonical: 'https://www.qrmaster.net/tools/zoom-qr-code', }, openGraph: { title: 'Zoom Meeting QR Code Generator - Scan to Join, Free', description: 'Attendees scan and join. No typing meeting IDs. Print it for conference rooms and invites.', type: 'website', url: 'https://www.qrmaster.net/tools/zoom-qr-code', images: [{ url: '/og-zoom-generator.png', width: 1200, height: 630 }], }, twitter: { card: 'summary_large_image', title: 'Zoom Meeting QR Code Generator - Scan to Join, Free', description: 'Attendees scan and join. No typing meeting IDs. Print it for conference rooms and invites.', }, robots: { index: true, follow: true, }, }; // 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: 'What happens when someone scans the QR code?', answer: 'The Zoom app opens directly with your meeting ID and passcode pre-filled. They just tap "Join" to enter the meeting.', }, { question: 'Does it work for recurring meetings?', answer: 'Yes! If your recurring meeting uses a fixed Personal Meeting ID (PMI), the QR code will work for all sessions.', }, { question: 'What if the meeting ID changes?', answer: 'Static QR codes cannot be updated. You\\\'ll need to generate a new code. For changeable meetings, consider our Dynamic QR Codes.', }, { question: 'Does it work on all devices?', answer: 'Yes. The QR code works on iOS, Android, and can also open Zoom on desktop computers if the Zoom app is installed.', }, { question: 'Does it work without the Zoom app installed?', answer: 'If \'Open Zoom app directly\' is unchecked, the QR links to join.zoom.us which works in any browser.', }, ]; // JSON-LD Structured Data const jsonLd = { '@context': 'https://schema.org', '@graph': [ generateSoftwareAppSchema( 'Zoom QR Code Generator', 'Generate QR codes that let people join your Zoom meeting with one scan.', '/og-zoom-generator.png', 'BusinessApplication' ), { '@type': 'HowTo', name: 'How to Create a Zoom QR Code', description: 'Create a QR code for joining Zoom meetings.', step: [ { '@type': 'HowToStep', position: 1, name: 'Enter Meeting ID', text: 'Copy the 10-11 digit meeting ID from your Zoom invitation.', }, { '@type': 'HowToStep', position: 2, name: 'Add Passcode', text: 'If your meeting has a passcode, enter it to include in the QR.', }, { '@type': 'HowToStep', position: 3, name: 'Choose Link Type', text: 'Select whether to open Zoom app directly or use a web link.', }, { '@type': 'HowToStep', position: 4, name: 'Download', text: 'Download your QR code and display it in your meeting room or invitation.', }, ], totalTime: 'PT30S', }, { '@type': 'FAQPage', '@id': 'https://www.qrmaster.net/tools/zoom-qr-code#faq', mainEntity: faqItems.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer.replace(/<[^>]+>/g, ''), }, })), }, ], }; export default function ZoomQRCodePage() { return ( <>