Seobility und Ahrefs 100/100 score fixes
This commit is contained in:
@@ -2,7 +2,7 @@ import React from 'react';
|
||||
import type { Metadata } from 'next';
|
||||
import Link from 'next/link';
|
||||
import Image from 'next/image';
|
||||
import { notFound } from 'next/navigation';
|
||||
import { notFound, permanentRedirect } from 'next/navigation';
|
||||
import SeoJsonLd from '@/components/SeoJsonLd';
|
||||
import Breadcrumbs, { BreadcrumbItem } from '@/components/Breadcrumbs';
|
||||
import { blogPostingSchema, breadcrumbSchema, howToSchema } from '@/lib/schema';
|
||||
@@ -30,7 +30,7 @@ interface BlogPostData {
|
||||
const blogPosts: Record<string, BlogPostData> = {
|
||||
'qr-code-analytics': {
|
||||
slug: 'qr-code-analytics',
|
||||
title: 'QR Code Analytics: Track, Measure & Optimize',
|
||||
title: 'QR Code Analytics: Track & Measure',
|
||||
excerpt: 'Master scan analytics, campaign tracking & dashboard insights to maximize QR ROI with dynamic codes.',
|
||||
date: 'October 16, 2025',
|
||||
datePublished: '2025-10-16T09:00:00Z',
|
||||
@@ -146,14 +146,14 @@ const blogPosts: Record<string, BlogPostData> = {
|
||||
},
|
||||
'qr-code-tracking-guide-2025': {
|
||||
slug: 'qr-code-tracking-guide-2025',
|
||||
title: 'QR Code Tracking: Complete Guide 2025 (Free Tools & Best Practices)',
|
||||
title: 'QR Code Tracking: Complete Guide 2025',
|
||||
excerpt: 'Learn how to track QR code scans with real-time analytics. Compare free vs paid tracking tools, setup Google Analytics, and measure ROI. Complete guide 2025.',
|
||||
date: 'October 18, 2025',
|
||||
datePublished: '2025-10-18T09:00:00Z',
|
||||
dateModified: '2025-10-18T09:00:00Z',
|
||||
readTime: '12 Min',
|
||||
category: 'Tracking & Analytics',
|
||||
image: '/blog/1-hero.png',
|
||||
image: '/blog/1-boy.webp',
|
||||
imageAlt: 'QR code tracking and analytics visualization',
|
||||
author: 'QR Master Team',
|
||||
authorUrl: 'https://www.qrmaster.net/about',
|
||||
@@ -672,22 +672,20 @@ app.get('/qr/:id', async (req, res) => {
|
||||
},
|
||||
'dynamic-vs-static-qr-codes': {
|
||||
slug: 'dynamic-vs-static-qr-codes',
|
||||
title: 'Dynamic vs Static QR Codes: Which Should You Use? Complete Comparison 2025',
|
||||
excerpt: 'Understand the difference between static and dynamic QR codes. Learn when to use each type, pros/cons, and how dynamic QR codes save money. Expert guide 2025.',
|
||||
title: 'Dynamic vs Static QR Codes: Complete Guide',
|
||||
excerpt: 'Detailed comparison of static vs dynamic QR codes. Learn which type is right for your business, marketing campaign, or personal use.',
|
||||
date: 'October 17, 2025',
|
||||
datePublished: '2025-10-17T09:00:00Z',
|
||||
dateModified: '2025-10-17T09:00:00Z',
|
||||
readTime: '10 Min',
|
||||
category: 'QR Code Basics',
|
||||
image: '/blog/2-hero.png',
|
||||
image: '/blog/2-body.webp',
|
||||
imageAlt: 'Two QR codes side by side showing static and dynamic comparison',
|
||||
author: 'QR Master Team',
|
||||
authorUrl: 'https://www.qrmaster.net/about',
|
||||
answer: 'Static QR codes encode data directly and cannot be edited after creation, while dynamic QR codes contain a short redirect URL that can be updated anytime. Dynamic QR codes also provide tracking analytics, making them ideal for marketing campaigns. Static QR codes work forever without subscriptions, perfect for permanent content like contact cards or fixed URLs.',
|
||||
answer: 'Static QR codes are permanent and cannot be edited or tracked. Dynamic QR codes can be edited after printing and provide scan tracking. Use static QR codes for permanent links like personal vCards or Wi-Fi access. Use dynamic QR codes for marketing, business cards, and any application where you might need to change the destination URL or measure performance.',
|
||||
content: `<div class="blog-content">
|
||||
<p>Choosing between static and dynamic QR codes is one of the most important decisions when implementing a QR code strategy. According to <a href="https://en.wikipedia.org/wiki/QR_code" target="_blank" rel="noopener">Wikipedia</a>, QR codes were invented in 1994 by Masahiro Hara at Denso Wave for automotive part tracking. Today, QR codes have evolved into sophisticated marketing tools, with dynamic QR codes offering features unimaginable in their original static form.</p>
|
||||
|
||||
<p>This comprehensive guide explains the critical differences between static and dynamic QR codes, helping you choose the right type for your specific needs. Whether you're deploying QR codes on business cards, product packaging, or marketing campaigns, understanding these differences will save you time, money, and potential headaches.</p>
|
||||
<p>The choice between static and dynamic QR codes is the most important decision when starting a QR code campaign. According to <a href="https://en.wikipedia.org/wiki/QR_code" target="_blank" rel="noopener">Wikipedia</a>, the QR code system was designed to be scanned quickly, but modern applications require more flexibility. In this guide, we'll compare both types to help you choose the right solution for your needs.</p>
|
||||
|
||||
<h2>What is a Static QR Code?</h2>
|
||||
|
||||
@@ -1189,7 +1187,7 @@ Will the destination URL ever change?
|
||||
},
|
||||
'bulk-qr-code-generator-excel': {
|
||||
slug: 'bulk-qr-code-generator-excel',
|
||||
title: 'How to Generate Bulk QR Codes from Excel: Complete Tutorial 2025',
|
||||
title: 'Bulk QR Codes from Excel: 2025 Guide',
|
||||
excerpt: 'Generate hundreds of QR codes from Excel or CSV files in minutes. Step-by-step guide with templates, best practices, and free tools. Perfect for products, events, inventory.',
|
||||
date: 'October 16, 2025',
|
||||
datePublished: '2025-10-16T10:00:00Z',
|
||||
@@ -1846,7 +1844,7 @@ const response = await fetch('https://api.qrmaster.net/v1/bulk', {
|
||||
|
||||
'qr-code-restaurant-menu': {
|
||||
slug: 'qr-code-restaurant-menu',
|
||||
title: 'How to Create a QR Code for Restaurant Menu: Complete 2025 Guide',
|
||||
title: 'Restaurant Menu QR Codes: 2025 Guide',
|
||||
excerpt: 'Step-by-step guide to creating digital menu QR codes for your restaurant. Learn best practices for touchless menus, placement tips, and tracking.',
|
||||
date: 'January 5, 2026',
|
||||
datePublished: '2026-01-05T09:00:00Z',
|
||||
@@ -2006,7 +2004,7 @@ const response = await fetch('https://api.qrmaster.net/v1/bulk', {
|
||||
|
||||
'vcard-qr-code-generator': {
|
||||
slug: 'vcard-qr-code-generator',
|
||||
title: 'Free vCard QR Code Generator: Digital Business Cards Made Easy',
|
||||
title: 'Free vCard QR Generator: Digital Cards',
|
||||
excerpt: 'Create professional vCard QR codes for digital business cards. Share contact info instantly with a scan—includes templates and best practices.',
|
||||
date: 'January 5, 2026',
|
||||
datePublished: '2026-01-05T10:00:00Z',
|
||||
@@ -2165,7 +2163,7 @@ const response = await fetch('https://api.qrmaster.net/v1/bulk', {
|
||||
|
||||
'qr-code-small-business': {
|
||||
slug: 'qr-code-small-business',
|
||||
title: 'Best QR Code Generator for Small Business: 2025 Complete Guide',
|
||||
title: 'Best QR Code Generator for Small Business 2025',
|
||||
excerpt: 'Find the best QR code solution for your small business. Compare features, pricing, and use cases for marketing, payments, and operations.',
|
||||
date: 'January 5, 2026',
|
||||
datePublished: '2026-01-05T11:00:00Z',
|
||||
@@ -2480,6 +2478,20 @@ export async function generateMetadata({ params }: { params: { slug: string } })
|
||||
}
|
||||
|
||||
export default function BlogPostPage({ params }: { params: { slug: string } }) {
|
||||
// Handle redirects for deprecated/legacy URLs
|
||||
if (params.slug === 'vcard-qr-code-generator') {
|
||||
permanentRedirect('/create');
|
||||
}
|
||||
if (params.slug === 'qr-code-restaurant-menu') {
|
||||
permanentRedirect('/dynamic-qr-code-generator');
|
||||
}
|
||||
if (params.slug === 'bulk-qr-code-generator') {
|
||||
permanentRedirect('/bulk-qr-code-generator');
|
||||
}
|
||||
if (params.slug === 'qr-code-small-business') {
|
||||
permanentRedirect('/analytics');
|
||||
}
|
||||
|
||||
const post = blogPosts[params.slug];
|
||||
|
||||
if (!post) {
|
||||
|
||||
Reference in New Issue
Block a user