Seobility und Ahrefs 100/100 score fixes final

This commit is contained in:
Timo Knuth 2026-01-13 10:07:10 +01:00
parent 4fc1dcd7d8
commit fa538b8bec
4 changed files with 20 additions and 17 deletions

View File

@ -2480,16 +2480,19 @@ export async function generateMetadata({ params }: { params: { slug: string } })
export default function BlogPostPage({ params }: { params: { slug: string } }) { export default function BlogPostPage({ params }: { params: { slug: string } }) {
// Handle redirects for deprecated/legacy URLs // Handle redirects for deprecated/legacy URLs
if (params.slug === 'vcard-qr-code-generator') { if (params.slug === 'vcard-qr-code-generator') {
permanentRedirect('/create'); permanentRedirect('/tools/vcard-qr-code');
} }
if (params.slug === 'qr-code-restaurant-menu') { if (params.slug === 'qr-code-restaurant-menu') {
permanentRedirect('/dynamic-qr-code-generator'); permanentRedirect('/tools/url-qr-code');
} }
if (params.slug === 'bulk-qr-code-generator') { if (params.slug === 'bulk-qr-code-generator') {
permanentRedirect('/bulk-qr-code-generator'); permanentRedirect('/bulk-qr-code-generator');
} }
if (params.slug === 'bulk-qr-codes-excel') {
permanentRedirect('/blog/bulk-qr-code-generator-excel');
}
if (params.slug === 'qr-code-small-business') { if (params.slug === 'qr-code-small-business') {
permanentRedirect('/analytics'); permanentRedirect('/signup');
} }
const post = blogPosts[params.slug]; const post = blogPosts[params.slug];

View File

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

View File

@ -4,18 +4,16 @@ export default function robots(): MetadataRoute.Robots {
const baseUrl = 'https://www.qrmaster.net'; const baseUrl = 'https://www.qrmaster.net';
return { return {
rules: [ rules: {
{ userAgent: '*',
userAgent: '*', allow: ['/', '/_next/static/', '/_next/image/'],
allow: '/', disallow: [
disallow: [ '/api/',
'/api/', '/dashboard/',
'/dashboard/', '/create/',
'/create/', '/settings/',
'/settings/', ],
], },
},
],
sitemap: `${baseUrl}/sitemap.xml`, sitemap: `${baseUrl}/sitemap.xml`,
}; };
} }

View File

@ -49,6 +49,7 @@ export function Footer({ variant = 'marketing', t }: FooterProps) {
<h3 className={`font-semibold mb-4 ${isDashboard ? 'text-gray-900' : ''}`}>{translations.legal}</h3> <h3 className={`font-semibold mb-4 ${isDashboard ? 'text-gray-900' : ''}`}>{translations.legal}</h3>
<ul className={`space-y-2 ${isDashboard ? 'text-gray-500' : 'text-gray-400'}`}> <ul className={`space-y-2 ${isDashboard ? 'text-gray-500' : 'text-gray-400'}`}>
<li><Link href="/privacy" className={isDashboard ? 'hover:text-primary-600' : 'hover:text-white'}>{translations.privacy_policy}</Link></li> <li><Link href="/privacy" className={isDashboard ? 'hover:text-primary-600' : 'hover:text-white'}>{translations.privacy_policy}</Link></li>
<li><Link href="/qr-code-erstellen" className={isDashboard ? 'hover:text-primary-600' : 'hover:text-white'}>QR Code Erstellen (DE)</Link></li>
</ul> </ul>
</div> </div>