SEO: Fix structured data validation errors, delete static sitemap, and update indexing scripts
This commit is contained in:
@@ -174,7 +174,7 @@ export const blogPosts: Record<string, BlogPostData> = {
|
||||
{
|
||||
name: 'Monitor Analytics Dashboard',
|
||||
text: 'Access your QR Master dashboard to view real-time scan data: total scans, unique users, geographic location, device types, and scan timestamps.',
|
||||
url: 'https://www.qrmaster.net/analytics',
|
||||
url: 'https://www.qrmaster.net/qr-code-tracking',
|
||||
},
|
||||
{
|
||||
name: 'Optimize Based on Data',
|
||||
@@ -1181,7 +1181,7 @@ const response = await fetch('https://api.qrmaster.net/v1/bulk', {
|
||||
{
|
||||
name: 'Track and Optimize',
|
||||
text: 'Monitor scan analytics in your QR Master dashboard to understand peak times and popular menu items.',
|
||||
url: 'https://www.qrmaster.net/analytics',
|
||||
url: 'https://www.qrmaster.net/qr-code-tracking',
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
@@ -59,19 +59,27 @@ export function getAllIndexableUrls(): string[] {
|
||||
// Blog posts
|
||||
const blogPages = blogPostList.map(post => `${baseUrl}/blog/${post.slug}`);
|
||||
|
||||
// Main pages
|
||||
// Main pages (synced with sitemap.ts)
|
||||
const mainPages = [
|
||||
baseUrl,
|
||||
`${baseUrl}/qr-code-erstellen`,
|
||||
`${baseUrl}/qr-code-tracking`,
|
||||
`${baseUrl}/pricing`,
|
||||
`${baseUrl}/bulk-qr-code-generator`,
|
||||
`${baseUrl}/dynamic-qr-code-generator`,
|
||||
`${baseUrl}/reprint-calculator`,
|
||||
`${baseUrl}/dynamic-qr-code-generator`,
|
||||
`${baseUrl}/bulk-qr-code-generator`,
|
||||
`${baseUrl}/custom-qr-code-generator`,
|
||||
`${baseUrl}/manage-qr-codes`,
|
||||
`${baseUrl}/pricing`,
|
||||
`${baseUrl}/tools`,
|
||||
`${baseUrl}/features`,
|
||||
`${baseUrl}/faq`,
|
||||
`${baseUrl}/blog`,
|
||||
`${baseUrl}/signup`,
|
||||
`${baseUrl}/login`,
|
||||
`${baseUrl}/privacy`,
|
||||
`${baseUrl}/guide/tracking-analytics`,
|
||||
`${baseUrl}/guide/bulk-qr-code-generation`,
|
||||
`${baseUrl}/guide/qr-code-best-practices`,
|
||||
];
|
||||
|
||||
return [...mainPages, ...freeTools, ...blogPages];
|
||||
|
||||
@@ -30,11 +30,7 @@ export function generateSoftwareAppSchema(
|
||||
priceCurrency: 'USD',
|
||||
availability: 'https://schema.org/InStock',
|
||||
},
|
||||
aggregateRating: {
|
||||
'@type': 'AggregateRating',
|
||||
ratingValue: '4.8',
|
||||
ratingCount: '1250',
|
||||
},
|
||||
|
||||
description,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ export function organizationSchema() {
|
||||
'@type': 'ContactPoint',
|
||||
contactType: 'Customer Support',
|
||||
email: 'support@qrmaster.net',
|
||||
availableLanguage: ['English', 'German'],
|
||||
availableLanguage: ['en', 'de'],
|
||||
},
|
||||
description: 'B2B SaaS platform for dynamic QR code generation with analytics, branding, and bulk generation for enterprise marketing campaigns.',
|
||||
slogan: 'Dynamic QR codes that work smarter',
|
||||
@@ -88,6 +88,7 @@ export function organizationSchema() {
|
||||
name: 'QR Master Free',
|
||||
applicationCategory: 'BusinessApplication',
|
||||
operatingSystem: 'Web Browser',
|
||||
image: 'https://www.qrmaster.net/static/og-image.png',
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -97,6 +98,7 @@ export function organizationSchema() {
|
||||
name: 'QR Master Pro',
|
||||
applicationCategory: 'BusinessApplication',
|
||||
operatingSystem: 'Web Browser',
|
||||
image: 'https://www.qrmaster.net/static/og-image.png',
|
||||
},
|
||||
},
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user