3 neue Blog post
This commit is contained in:
@@ -79,7 +79,7 @@ export default function BlogPage() {
|
||||
</div>
|
||||
|
||||
<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8 max-w-6xl mx-auto">
|
||||
{blogPostList.map((post: any) => (
|
||||
{blogPostList.map((post: any, index: number) => (
|
||||
<Link key={post.slug} href={post.link || `/blog/${post.slug}`}>
|
||||
<Card hover className="h-full overflow-hidden shadow-md hover:shadow-xl transition-all duration-300">
|
||||
<div className="relative h-56 overflow-hidden">
|
||||
@@ -89,6 +89,7 @@ export default function BlogPage() {
|
||||
width={800}
|
||||
height={600}
|
||||
className="w-full h-full object-cover transition-transform duration-500 hover:scale-110"
|
||||
priority={index < 3}
|
||||
/>
|
||||
</div>
|
||||
<CardHeader className="pb-3">
|
||||
|
||||
@@ -27,7 +27,7 @@ export const blogPosts: Record<string, BlogPostData> = {
|
||||
dateModified: '2025-10-16T09:00:00Z',
|
||||
readTime: '15 Min',
|
||||
category: 'Analytics',
|
||||
image: '/blog/qr-code-analytics-hero.webp',
|
||||
image: '/blog/qr-code-analytics-hero-v2.png',
|
||||
imageAlt: 'QR Code Analytics dashboard displaying scan metrics and user data',
|
||||
author: 'QR Master Team',
|
||||
authorUrl: 'https://www.qrmaster.net/about',
|
||||
@@ -88,7 +88,7 @@ export const blogPosts: Record<string, BlogPostData> = {
|
||||
<p>Measure downstream actions after the scan—form submissions, purchases, app downloads, or content engagement. Integrate with your CRM and marketing stack to attribute revenue to specific QR campaigns.</p>
|
||||
|
||||
<div class="my-8">
|
||||
<img src="/blog/qr-code-analytics-dashboard.png" alt="QR Code Analytics dashboard showing real-time scan data" class="rounded-lg shadow-lg w-full" />
|
||||
<img loading="lazy" src="/blog/qr-code-analytics-dashboard.png" alt="QR Code Analytics dashboard showing real-time scan data" class="rounded-lg shadow-lg w-full" />
|
||||
</div>
|
||||
|
||||
<h2>Advanced Campaign Tracking Strategies</h2>
|
||||
@@ -148,7 +148,7 @@ export const blogPosts: Record<string, BlogPostData> = {
|
||||
dateModified: '2025-10-18T09:00:00Z',
|
||||
readTime: '12 Min',
|
||||
category: 'Tracking & Analytics',
|
||||
image: '/blog/qr-code-tracking-guide-hero.webp',
|
||||
image: '/blog/qr-code-tracking-hero-v2.png',
|
||||
imageAlt: 'QR Code Tracking and analytics dashboard visualization',
|
||||
author: 'QR Master Team',
|
||||
authorUrl: 'https://www.qrmaster.net/about',
|
||||
@@ -349,7 +349,7 @@ app.get('/qr/:id', async (req, res) => {
|
||||
<p>Privacy Note: Always hash IP addresses, respect Do Not Track headers, and comply with GDPR when collecting scan data.</p>
|
||||
|
||||
<div class="my-8">
|
||||
<img src="/blog/qr-code-tracking-guide-body.png" alt="Person using QR Code Tracking on mobile device in office" class="rounded-lg shadow-lg w-full" />
|
||||
<img loading="lazy" src="/blog/qr-code-tracking-guide-body.png" alt="Person using QR Code Tracking on mobile device in office" class="rounded-lg shadow-lg w-full" />
|
||||
</div>
|
||||
|
||||
<h2>QR Code Tracking Tools Comparison</h2>
|
||||
@@ -674,7 +674,7 @@ app.get('/qr/:id', async (req, res) => {
|
||||
dateModified: '2025-10-17T09:00:00Z',
|
||||
readTime: '10 Min',
|
||||
category: 'QR Code Basics',
|
||||
image: '/blog/static-vs-dynamic-qr-codes-hero.png',
|
||||
image: '/blog/dynamic-vs-static-hero-v2.png',
|
||||
imageAlt: 'Comparison graphic showing features of static versus dynamic QR codes',
|
||||
author: 'QR Master Team',
|
||||
authorUrl: 'https://www.qrmaster.net/about',
|
||||
@@ -710,7 +710,7 @@ app.get('/qr/:id', async (req, res) => {
|
||||
</ul>
|
||||
|
||||
<div class="my-8">
|
||||
<img src="/blog/static-vs-dynamic-qr-codes-body.png" alt="Visual comparison of static and dynamic QR code patterns" class="rounded-lg shadow-lg w-full" />
|
||||
<img loading="lazy" src="/blog/static-vs-dynamic-qr-codes-body.png" alt="Visual comparison of static and dynamic QR code patterns" class="rounded-lg shadow-lg w-full" />
|
||||
</div>
|
||||
|
||||
<h2>Direct Comparison: Static vs Dynamic</h2>
|
||||
@@ -877,7 +877,7 @@ app.get('/qr/:id', async (req, res) => {
|
||||
<p>Go to the <a href="/signup">QR Master Bulk Dashboard</a> (requires Business plan). Click "Upload CSV" and select your file. The system will validate your rows to ensure no missing URLs.</p>
|
||||
|
||||
<div class="my-8">
|
||||
<img src="/blog/2-body.webp" alt="Screenshot of bulk CSV upload interface" class="rounded-lg shadow-lg w-full" />
|
||||
<img loading="lazy" src="/blog/2-body.webp" alt="Screenshot of bulk CSV upload interface" class="rounded-lg shadow-lg w-full" />
|
||||
</div>
|
||||
|
||||
<h3>Step 4: Customize Design</h3>
|
||||
@@ -1212,7 +1212,7 @@ const response = await fetch('https://api.qrmaster.net/v1/bulk', {
|
||||
<h2>Step 2: Create Your QR Code with QR Master</h2>
|
||||
|
||||
<div class="my-8">
|
||||
<img src="/blog/restaurant-qr-body.png" alt="Customer scanning QR code menu at restaurant" class="rounded-lg shadow-lg w-full" />
|
||||
<img loading="lazy" src="/blog/restaurant-qr-body.png" alt="Customer scanning QR code menu at restaurant" class="rounded-lg shadow-lg w-full" />
|
||||
</div>
|
||||
|
||||
<p>Using a <a href="/dynamic-qr-code-generator">dynamic QR code generator</a> is essential for restaurants. Unlike static codes, dynamic QR codes let you:</p>
|
||||
@@ -1354,7 +1354,7 @@ const response = await fetch('https://api.qrmaster.net/v1/bulk', {
|
||||
</ul>
|
||||
|
||||
<div class="my-8">
|
||||
<img src="/blog/vcard-qr-body.png" alt="Business professionals exchanging digital business cards" class="rounded-lg shadow-lg w-full" />
|
||||
<img loading="lazy" src="/blog/vcard-qr-body.png" alt="Business professionals exchanging digital business cards" class="rounded-lg shadow-lg w-full" />
|
||||
</div>
|
||||
|
||||
<h2>Information You Can Include in a vCard</h2>
|
||||
@@ -1480,7 +1480,7 @@ const response = await fetch('https://api.qrmaster.net/v1/bulk', {
|
||||
<p>QR codes have become essential tools for small businesses looking to bridge the gap between physical and digital experiences. From contactless payments to customer feedback, <strong>QR codes for small business</strong> offer affordable, versatile solutions that previously required expensive custom apps.</p>
|
||||
|
||||
<div class="my-8">
|
||||
<img src="/blog/small-business-body.png" alt="Customer scanning QR code at retail checkout" class="rounded-lg shadow-lg w-full" />
|
||||
<img loading="lazy" src="/blog/small-business-body.png" alt="Customer scanning QR code at retail checkout" class="rounded-lg shadow-lg w-full" />
|
||||
</div>
|
||||
|
||||
<h2>Top 10 QR Code Use Cases for Small Business</h2>
|
||||
@@ -1610,7 +1610,7 @@ const response = await fetch('https://api.qrmaster.net/v1/bulk', {
|
||||
</div>
|
||||
|
||||
<div class="my-8">
|
||||
<img src="/blog/qr-sizes-body.png" alt="Various QR code print sizes comparison" class="rounded-lg shadow-lg w-full" />
|
||||
<img loading="lazy" src="/blog/qr-sizes-body.png" alt="Various QR code print sizes comparison" class="rounded-lg shadow-lg w-full" />
|
||||
</div>
|
||||
|
||||
<h2>QR Code Sizes by Application</h2>
|
||||
|
||||
Reference in New Issue
Block a user