Ahrefs problems

This commit is contained in:
knuthtimo-lab 2026-01-13 23:10:35 +01:00
parent ceb2ac40ec
commit 3e9daa648a
4 changed files with 22 additions and 58 deletions

View File

@ -1,33 +0,0 @@
🎯 Was du jetzt tun MUSST:
Option 1: Template nutzen (5 Minuten)
1. Öffne og-image-template.html im Browser
2. Screenshot vom Bild (1200x630px)
3. Speichere als og-image.png
4. Verschiebe nach /public/og-image.png
Option 2: Schnell selbst erstellen
- Canva: https://www.canva.com (Free)
- Figma: https://www.figma.com (Free)
- Größe: 1200 x 630 Pixel
- Text: "QR Master - Dynamic QR Codes with Analytics"
Option 3: Placeholder nutzen
Ich kann dir einen einfachen Platzhalter erstellen, bis du ein professionelles Design hast.
---
📊 Zusammenfassung:
┌────────────────────────────┬───────────────────────────────┐
│ Issue │ Status │
├────────────────────────────┼───────────────────────────────┤
│ Open Graph tags incomplete │ ✅ 4/6 gefixt, 2 übersprungen │
├────────────────────────────┼───────────────────────────────┤
│ Open Graph URL mismatch │ ✅ GEFIXT (/pricing) │
├────────────────────────────┼───────────────────────────────┤
│ Open Graph tags missing │ ✅ GEFIXT (/login, /signup) │
├────────────────────────────┼───────────────────────────────┤
│ Twitter card missing │ ✅ GEFIXT (/login, /signup) │
├────────────────────────────┼───────────────────────────────┤
│ og-image.png │ ❌ FEHLT NOCH │
└────────────────────────────┴───────────────────────────────┘
Nach dem Erstellen von og-image.png und Deploy → Alle Issues sind gelöst! 🚀

View File

@ -28,30 +28,10 @@ const nextConfig = {
permanent: true,
},
{
source: '/blog/vcard-qr-code-generator',
destination: '/tools/vcard-qr-code',
source: '/blog/bulk-qr-codes-excel',
destination: '/blog/bulk-qr-code-generator-excel',
permanent: true,
},
{
source: '/blog/qr-code-restaurant-menu',
destination: '/dynamic-qr-code-generator',
permanent: true,
},
{
source: '/blog/bulk-qr-code-generator',
destination: '/bulk-qr-code-generator',
permanent: true,
},
{
source: '/blog/qr-code-small-business',
destination: '/signup',
permanent: true,
},
{
source: '/analytics',
destination: '/signup',
permanent: false, // 307 Temporary Redirect as it requires auth eventually
},
];
},
};

View File

@ -55,7 +55,6 @@ const blogPosts = [
readTime: '12 Min',
category: 'Restaurant',
image: '/blog/restaurant-qr-menu.png',
link: '/tools/url-qr-code',
},
{
slug: 'vcard-qr-code-generator',
@ -65,7 +64,6 @@ const blogPosts = [
readTime: '10 Min',
category: 'Business Cards',
image: '/blog/vcard-qr-code.png',
link: '/tools/vcard-qr-code',
},
{
slug: 'qr-code-small-business',
@ -75,7 +73,6 @@ const blogPosts = [
readTime: '14 Min',
category: 'Business',
image: '/blog/small-business-qr.png',
link: '/signup',
},
{
slug: 'qr-code-print-size-guide',

View File

@ -26,6 +26,25 @@ export default function sitemap(): MetadataRoute.Sitemap {
'teams-qr-code',
];
// All blog posts
const blogPosts = [
'qr-code-restaurant-menu',
'vcard-qr-code-generator',
'qr-code-small-business',
'qr-code-print-size-guide',
'qr-code-tracking-guide-2025',
'dynamic-vs-static-qr-codes',
'bulk-qr-code-generator-excel',
'qr-code-analytics',
];
const blogPages = blogPosts.map((slug) => ({
url: `${baseUrl}/blog/${slug}`,
lastModified: new Date(),
changeFrequency: 'monthly' as const,
priority: 0.8,
}));
const toolPages = freeTools.map((slug) => ({
url: `${baseUrl}/tools/${slug}`,
lastModified: new Date(),
@ -107,6 +126,7 @@ export default function sitemap(): MetadataRoute.Sitemap {
priority: 0.4,
},
...toolPages,
...blogPages,
];
}