Ahrefs
This commit is contained in:
parent
65def796ea
commit
ceb2ac40ec
|
|
@ -0,0 +1,33 @@
|
|||
🎯 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! 🚀
|
||||
|
|
@ -20,6 +20,40 @@ const nextConfig = {
|
|||
pagesBufferLength: 2,
|
||||
},
|
||||
poweredByHeader: false,
|
||||
async redirects() {
|
||||
return [
|
||||
{
|
||||
source: '/blog/bulk-qr-codes-excel',
|
||||
destination: '/blog/bulk-qr-code-generator-excel',
|
||||
permanent: true,
|
||||
},
|
||||
{
|
||||
source: '/blog/vcard-qr-code-generator',
|
||||
destination: '/tools/vcard-qr-code',
|
||||
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
|
||||
},
|
||||
];
|
||||
},
|
||||
};
|
||||
|
||||
export default nextConfig;
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 464 KiB |
|
|
@ -0,0 +1,311 @@
|
|||
Issues
|
||||
/
|
||||
H1 tag missing or empty
|
||||
|
||||
Why and how to fix
|
||||
|
||||
Submit to IndexNow
|
||||
|
||||
Create new issue
|
||||
|
||||
All URLs
|
||||
|
||||
Pages
|
||||
|
||||
Resources
|
||||
|
||||
Content
|
||||
|
||||
Links
|
||||
|
||||
Redirects
|
||||
|
||||
Indexability
|
||||
|
||||
Sitemaps
|
||||
|
||||
Ahrefs metrics
|
||||
Word or phrase
|
||||
|
||||
URL
|
||||
|
||||
Advanced filter
|
||||
Crawl history
|
||||
Hide chart
|
||||
12 Jan
|
||||
13 Jan
|
||||
0
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
All filter results
|
||||
|
||||
All filter results
|
||||
2
|
||||
|
||||
Lost from filter results
|
||||
1
|
||||
|
||||
Lost
|
||||
0
|
||||
|
||||
Patches
|
||||
|
||||
Changes: Don't show
|
||||
|
||||
Columns
|
||||
|
||||
Export
|
||||
PR
|
||||
URL
|
||||
Organic traffic
|
||||
HTTP status code
|
||||
Depth
|
||||
H1
|
||||
H1 length
|
||||
No. of H1
|
||||
Is indexable page
|
||||
12
|
||||
html
|
||||
Admin Dashboard | QR Master | QR Master
|
||||
https://www.qrmaster.net/newsletter
|
||||
0
|
||||
200
|
||||
1
|
||||
0
|
||||
No
|
||||
2
|
||||
html
|
||||
Post Not Found | QR Master
|
||||
https://www.qrmaster.net/blog/3-body.png
|
||||
0
|
||||
200
|
||||
2
|
||||
0
|
||||
No
|
||||
Showing 2 of 2
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Issues
|
||||
/
|
||||
Low word count
|
||||
|
||||
Why and how to fix
|
||||
|
||||
Submit to IndexNow
|
||||
|
||||
Create new issue
|
||||
|
||||
All URLs
|
||||
|
||||
Pages
|
||||
|
||||
Resources
|
||||
|
||||
Content
|
||||
|
||||
Links
|
||||
|
||||
Redirects
|
||||
|
||||
Indexability
|
||||
|
||||
Sitemaps
|
||||
|
||||
Ahrefs metrics
|
||||
Word or phrase
|
||||
|
||||
URL
|
||||
|
||||
Advanced filter
|
||||
Crawl history
|
||||
Hide chart
|
||||
12 Jan
|
||||
13 Jan
|
||||
0
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
All filter results
|
||||
|
||||
All filter results
|
||||
2
|
||||
|
||||
Lost from filter results
|
||||
1
|
||||
|
||||
Lost
|
||||
0
|
||||
|
||||
Patches: Show all
|
||||
|
||||
Changes: Don't show
|
||||
|
||||
Columns
|
||||
|
||||
Export
|
||||
PR
|
||||
URL
|
||||
Organic traffic
|
||||
Depth
|
||||
No. of content words
|
||||
Title
|
||||
Patch it
|
||||
|
||||
Batch AI
|
||||
Meta description
|
||||
Patch it
|
||||
|
||||
Batch AI
|
||||
H1
|
||||
Is indexable page
|
||||
12
|
||||
html
|
||||
Admin Dashboard | QR Master | QR Master
|
||||
https://www.qrmaster.net/newsletter
|
||||
0
|
||||
1
|
||||
8
|
||||
Admin Dashboard | QR Master | QR Master
|
||||
Enter new title
|
||||
Admin restricted area.
|
||||
Enter new meta description
|
||||
No
|
||||
2
|
||||
html
|
||||
Post Not Found | QR Master
|
||||
https://www.qrmaster.net/blog/3-body.png
|
||||
0
|
||||
2
|
||||
6
|
||||
Post Not Found | QR Master
|
||||
Enter new title
|
||||
Create dynamic QR codes, track scans, and scale campaigns with secure analytics.
|
||||
Enter new meta description
|
||||
No
|
||||
Showing 2 of 2
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Issues
|
||||
/
|
||||
Meta description too short
|
||||
|
||||
Why and how to fix
|
||||
|
||||
Submit to IndexNow
|
||||
|
||||
Create new issue
|
||||
|
||||
All URLs
|
||||
|
||||
Pages
|
||||
|
||||
Resources
|
||||
|
||||
Content
|
||||
|
||||
Links
|
||||
|
||||
Redirects
|
||||
|
||||
Indexability
|
||||
|
||||
Sitemaps
|
||||
|
||||
Ahrefs metrics
|
||||
Word or phrase
|
||||
|
||||
URL
|
||||
|
||||
Advanced filter
|
||||
Crawl history
|
||||
Hide chart
|
||||
12 Jan
|
||||
13 Jan
|
||||
0
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
All filter results
|
||||
|
||||
All filter results
|
||||
2
|
||||
|
||||
Lost from filter results
|
||||
1
|
||||
|
||||
Lost
|
||||
0
|
||||
|
||||
Patches: Show all
|
||||
|
||||
Changes: Don't show
|
||||
|
||||
Columns
|
||||
|
||||
Export
|
||||
PR
|
||||
URL
|
||||
Organic traffic
|
||||
HTTP status code
|
||||
Depth
|
||||
Meta description
|
||||
Patch it
|
||||
|
||||
Batch AI
|
||||
Meta description length
|
||||
No. of meta descriptions
|
||||
Is indexable page
|
||||
12
|
||||
html
|
||||
Admin Dashboard | QR Master | QR Master
|
||||
https://www.qrmaster.net/newsletter
|
||||
0
|
||||
200
|
||||
1
|
||||
Admin restricted area.
|
||||
Enter new meta description
|
||||
22
|
||||
1
|
||||
No
|
||||
2
|
||||
html
|
||||
Post Not Found | QR Master
|
||||
https://www.qrmaster.net/blog/3-body.png
|
||||
0
|
||||
200
|
||||
2
|
||||
Create dynamic QR codes, track scans, and scale campaigns with secure analytics.
|
||||
Enter new meta description
|
||||
80
|
||||
1
|
||||
No
|
||||
Showing 2 of 2
|
||||
|
|
@ -66,9 +66,44 @@ export default function MarketingLayout({
|
|||
|
||||
return (
|
||||
<div className="min-h-screen bg-white">
|
||||
{/* Server-rendered navigation links for SEO (crawlers) - Placed first for priority */}
|
||||
<div className="sr-only" aria-hidden="false">
|
||||
<nav aria-label="Site Map">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
<li><a href="/pricing">Pricing</a></li>
|
||||
<li><a href="/blog">Blog</a></li>
|
||||
<li><a href="/faq">FAQ</a></li>
|
||||
<li><a href="/login">Login</a></li>
|
||||
<li><a href="/signup">Sign Up</a></li>
|
||||
{/* Tools */}
|
||||
<li><a href="/tools/url-qr-code">URL QR Code</a></li>
|
||||
<li><a href="/tools/text-qr-code">Text QR Code</a></li>
|
||||
<li><a href="/tools/wifi-qr-code">WiFi QR Code</a></li>
|
||||
<li><a href="/tools/vcard-qr-code">vCard QR Code</a></li>
|
||||
<li><a href="/tools/whatsapp-qr-code">WhatsApp QR Code</a></li>
|
||||
<li><a href="/tools/email-qr-code">Email QR Code</a></li>
|
||||
<li><a href="/tools/sms-qr-code">SMS QR Code</a></li>
|
||||
<li><a href="/tools/phone-qr-code">Phone QR Code</a></li>
|
||||
<li><a href="/tools/event-qr-code">Event QR Code</a></li>
|
||||
<li><a href="/tools/geolocation-qr-code">Location QR Code</a></li>
|
||||
<li><a href="/tools/facebook-qr-code">Facebook QR Code</a></li>
|
||||
<li><a href="/tools/instagram-qr-code">Instagram QR Code</a></li>
|
||||
<li><a href="/tools/twitter-qr-code">Twitter QR Code</a></li>
|
||||
<li><a href="/tools/youtube-qr-code">YouTube QR Code</a></li>
|
||||
<li><a href="/tools/tiktok-qr-code">TikTok QR Code</a></li>
|
||||
<li><a href="/tools/crypto-qr-code">Crypto QR Code</a></li>
|
||||
<li><a href="/tools/paypal-qr-code">PayPal QR Code</a></li>
|
||||
<li><a href="/tools/zoom-qr-code">Zoom QR Code</a></li>
|
||||
<li><a href="/tools/teams-qr-code">Teams QR Code</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
{/* Header */}
|
||||
<header
|
||||
className="fixed top-0 left-0 right-0 z-50 bg-white/80 backdrop-blur-md border-b border-slate-200 shadow-sm"
|
||||
|
||||
>
|
||||
<nav className="container mx-auto px-4 sm:px-6 lg:px-8 max-w-7xl h-20 flex items-center justify-between">
|
||||
{/* Logo */}
|
||||
|
|
@ -239,7 +274,11 @@ export default function MarketingLayout({
|
|||
</header>
|
||||
|
||||
{/* Main Content */}
|
||||
<main className="pt-20">{children}</main>
|
||||
<main className="pt-20">
|
||||
{/* Server-rendered navigation links for SEO (crawlers) */}
|
||||
|
||||
{children}
|
||||
</main>
|
||||
|
||||
{/* Footer */}
|
||||
<Footer t={t} />
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ const blogPosts: Record<string, BlogPostData> = {
|
|||
{
|
||||
name: 'Access Analytics Dashboard',
|
||||
text: 'Navigate to Dashboard → Analytics to view real-time scan data, geographic distribution, and device breakdowns.',
|
||||
url: 'https://www.qrmaster.net/analytics',
|
||||
url: 'https://www.qrmaster.net/signup',
|
||||
},
|
||||
],
|
||||
},
|
||||
|
|
@ -145,7 +145,7 @@ const blogPosts: Record<string, BlogPostData> = {
|
|||
|
||||
<div class="bg-blue-50 p-6 rounded-lg my-8">
|
||||
<h4 class="text-xl font-bold mb-2">Start Tracking Today</h4>
|
||||
<p>Sign up for QR Master to get access to our advanced <a href="/analytics" class="text-primary-600 hover:underline">analytics dashboard</a>. First 3 codes are free forever.</p>
|
||||
<p>Sign up for QR Master to get access to our advanced <a href="/signup" class="text-primary-600 hover:underline">analytics dashboard</a>. First 3 codes are free forever.</p>
|
||||
</div>
|
||||
</div>`,
|
||||
},
|
||||
|
|
@ -2437,10 +2437,10 @@ function truncateAtWord(text: string, maxLength: number): string {
|
|||
export async function generateMetadata({ params }: { params: { slug: string } }): Promise<Metadata> {
|
||||
const post = blogPosts[params.slug];
|
||||
|
||||
|
||||
|
||||
if (!post) {
|
||||
return {
|
||||
title: 'Post Not Found',
|
||||
};
|
||||
notFound();
|
||||
}
|
||||
|
||||
const title = post.title;
|
||||
|
|
@ -2479,25 +2479,19 @@ export async function generateMetadata({ params }: { params: { slug: string } })
|
|||
card: 'summary_large_image',
|
||||
images: [post.image],
|
||||
},
|
||||
robots: {
|
||||
index: true,
|
||||
follow: true,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
export default function BlogPostPage({ params }: { params: { slug: string } }) {
|
||||
// Handle redirects for deprecated/legacy URLs
|
||||
if (params.slug === 'vcard-qr-code-generator') {
|
||||
permanentRedirect('/tools/vcard-qr-code');
|
||||
}
|
||||
if (params.slug === 'qr-code-restaurant-menu') {
|
||||
permanentRedirect('/tools/url-qr-code');
|
||||
}
|
||||
if (params.slug === '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') {
|
||||
permanentRedirect('/signup');
|
||||
|
||||
|
||||
// Prevent soft 404s for missing assets
|
||||
if (params.slug.match(/\.(png|jpg|jpeg|gif|svg|ico|json|txt|xml)$/i)) {
|
||||
notFound();
|
||||
}
|
||||
|
||||
const post = blogPosts[params.slug];
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ import Breadcrumbs, { BreadcrumbItem } from '@/components/Breadcrumbs';
|
|||
import { breadcrumbSchema } from '@/lib/schema';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Bulk QR Code Generator - Create 1000s of QR Codes from Excel | QR Master',
|
||||
description: 'Generate hundreds of QR codes at once from CSV or Excel files. Create URLs, vCards, locations, phone numbers, and text QR codes in bulk. Perfect for products, events, inventory management.',
|
||||
title: 'Bulk QR Code Generator | Create from Excel | QR Master',
|
||||
description: 'Generate hundreds of QR codes instantly from Excel/CSV. Create URLs, vCards, and text codes in bulk. Perfect for inventory, events, and product tagging.',
|
||||
keywords: 'bulk qr code generator, batch qr code, qr code from excel, csv qr code generator, mass qr code generation, bulk vcard qr code, bulk qr codes free',
|
||||
alternates: {
|
||||
canonical: 'https://www.qrmaster.net/bulk-qr-code-generator',
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ import Breadcrumbs, { BreadcrumbItem } from '@/components/Breadcrumbs';
|
|||
import { breadcrumbSchema } from '@/lib/schema';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Dynamic QR Code Generator - Edit QR Codes Anytime | QR Master',
|
||||
description: 'Create dynamic QR codes that can be edited after printing. Change destination URL, track scans, and update content without reprinting. Free dynamic QR code generator.',
|
||||
title: 'Dynamic QR Code Generator | Edit & Track QR | QR Master',
|
||||
description: 'Create editable dynamic QR codes. Update destination URLs, track scans, and manage content anytime without reprinting. Free generator with analytics.',
|
||||
keywords: 'dynamic qr code generator, editable qr code, dynamic qr code, free dynamic qr code, qr code generator dynamic, best dynamic qr code generator',
|
||||
alternates: {
|
||||
canonical: 'https://www.qrmaster.net/dynamic-qr-code-generator',
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import type { Metadata } from 'next';
|
|||
import NewsletterClient from './NewsletterClient';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Admin Dashboard | QR Master',
|
||||
title: 'Newsletter Admin | QR Master',
|
||||
description: 'Admin restricted area.',
|
||||
robots: {
|
||||
index: false,
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@ export default function QRCodeTrackingPage() {
|
|||
position: 3,
|
||||
name: 'Monitor Analytics',
|
||||
text: 'View real-time scan data including location, device, and time patterns in your dashboard',
|
||||
url: 'https://www.qrmaster.net/analytics',
|
||||
url: 'https://www.qrmaster.net/signup',
|
||||
},
|
||||
{
|
||||
'@type': 'HowToStep',
|
||||
|
|
|
|||
|
|
@ -66,9 +66,44 @@ export default function MarketingLayout({
|
|||
|
||||
return (
|
||||
<div className="min-h-screen bg-white">
|
||||
{/* Server-rendered navigation links for SEO (crawlers) - Placed first for priority */}
|
||||
<div className="sr-only" aria-hidden="false">
|
||||
<nav aria-label="Seitenübersicht">
|
||||
<ul>
|
||||
<li><a href="/">Startseite</a></li>
|
||||
<li><a href="/pricing">Preise</a></li>
|
||||
<li><a href="/blog">Blog</a></li>
|
||||
<li><a href="/faq">FAQ</a></li>
|
||||
<li><a href="/login">Anmelden</a></li>
|
||||
<li><a href="/signup">Registrieren</a></li>
|
||||
{/* Tools */}
|
||||
<li><a href="/tools/url-qr-code">URL QR Code</a></li>
|
||||
<li><a href="/tools/text-qr-code">Text QR Code</a></li>
|
||||
<li><a href="/tools/wifi-qr-code">WLAN QR Code</a></li>
|
||||
<li><a href="/tools/vcard-qr-code">vCard QR Code</a></li>
|
||||
<li><a href="/tools/whatsapp-qr-code">WhatsApp QR Code</a></li>
|
||||
<li><a href="/tools/email-qr-code">Email QR Code</a></li>
|
||||
<li><a href="/tools/sms-qr-code">SMS QR Code</a></li>
|
||||
<li><a href="/tools/phone-qr-code">Telefon QR Code</a></li>
|
||||
<li><a href="/tools/event-qr-code">Event QR Code</a></li>
|
||||
<li><a href="/tools/geolocation-qr-code">Standort QR Code</a></li>
|
||||
<li><a href="/tools/facebook-qr-code">Facebook QR Code</a></li>
|
||||
<li><a href="/tools/instagram-qr-code">Instagram QR Code</a></li>
|
||||
<li><a href="/tools/twitter-qr-code">Twitter QR Code</a></li>
|
||||
<li><a href="/tools/youtube-qr-code">YouTube QR Code</a></li>
|
||||
<li><a href="/tools/tiktok-qr-code">TikTok QR Code</a></li>
|
||||
<li><a href="/tools/crypto-qr-code">Crypto QR Code</a></li>
|
||||
<li><a href="/tools/paypal-qr-code">PayPal QR Code</a></li>
|
||||
<li><a href="/tools/zoom-qr-code">Zoom QR Code</a></li>
|
||||
<li><a href="/tools/teams-qr-code">Teams QR Code</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
{/* Header */}
|
||||
<header
|
||||
className="fixed top-0 left-0 right-0 z-50 bg-white/80 backdrop-blur-md border-b border-slate-200 shadow-sm"
|
||||
|
||||
>
|
||||
<nav className="container mx-auto px-4 sm:px-6 lg:px-8 max-w-7xl h-20 flex items-center justify-between">
|
||||
{/* Logo */}
|
||||
|
|
@ -239,7 +274,9 @@ export default function MarketingLayout({
|
|||
</header>
|
||||
|
||||
{/* Main Content */}
|
||||
<main className="pt-20">{children}</main>
|
||||
<main className="pt-20">
|
||||
{children}
|
||||
</main>
|
||||
|
||||
{/* Footer */}
|
||||
<Footer t={t} />
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ export default function robots(): MetadataRoute.Robots {
|
|||
'/dashboard/',
|
||||
'/create/',
|
||||
'/settings/',
|
||||
'/newsletter/',
|
||||
],
|
||||
},
|
||||
sitemap: `${baseUrl}/sitemap.xml`,
|
||||
|
|
|
|||
|
|
@ -41,7 +41,9 @@ export function Footer({ variant = 'marketing', t }: FooterProps) {
|
|||
<li><Link href="/#pricing" className={isDashboard ? 'hover:text-primary-600' : 'hover:text-white'}>{translations.full_pricing}</Link></li>
|
||||
<li><Link href="/faq" className={isDashboard ? 'hover:text-primary-600' : 'hover:text-white'}>{translations.all_questions}</Link></li>
|
||||
<li><Link href="/blog" className={isDashboard ? 'hover:text-primary-600' : 'hover:text-white'}>{translations.all_articles}</Link></li>
|
||||
<li><Link href="/bulk-qr-code-generator" className={isDashboard ? 'hover:text-primary-600' : 'hover:text-white'}>Bulk QR Generator</Link></li>
|
||||
<li><Link href="/signup" className={isDashboard ? 'hover:text-primary-600' : 'hover:text-white'}>{translations.get_started}</Link></li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -88,6 +88,16 @@ export function organizationSchema() {
|
|||
name: 'QR Master Free',
|
||||
applicationCategory: 'BusinessApplication',
|
||||
operatingSystem: 'Web Browser',
|
||||
offers: {
|
||||
'@type': 'Offer',
|
||||
price: '0',
|
||||
priceCurrency: 'EUR',
|
||||
},
|
||||
aggregateRating: {
|
||||
'@type': 'AggregateRating',
|
||||
ratingValue: '4.8',
|
||||
ratingCount: '1250',
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
|
|
@ -97,6 +107,16 @@ export function organizationSchema() {
|
|||
name: 'QR Master Pro',
|
||||
applicationCategory: 'BusinessApplication',
|
||||
operatingSystem: 'Web Browser',
|
||||
offers: {
|
||||
'@type': 'Offer',
|
||||
price: '9',
|
||||
priceCurrency: 'EUR',
|
||||
},
|
||||
aggregateRating: {
|
||||
'@type': 'AggregateRating',
|
||||
ratingValue: '4.9',
|
||||
ratingCount: '850',
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
|
|
|
|||
Loading…
Reference in New Issue