diff --git a/firecrawl-config.json b/firecrawl-config.json
new file mode 100644
index 0000000..e259409
--- /dev/null
+++ b/firecrawl-config.json
@@ -0,0 +1,14 @@
+{
+ "mcpServers": {
+ "firecrawl": {
+ "command": "npx",
+ "args": [
+ "-y",
+ "firecrawl-mcp"
+ ],
+ "env": {
+ "FIRECRAWL_API_KEY": "fc-268826f038ad4bf0a38c48690ba9c1fa"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/next-sitemap.config.js b/next-sitemap.config.js
deleted file mode 100644
index 9441a1f..0000000
--- a/next-sitemap.config.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/** @type {import('next-sitemap').IConfig} */
-module.exports = {
- siteUrl: 'https://www.qrmaster.net',
- generateRobotsTxt: true,
- robotsTxtOptions: {
- policies: [
- {
- userAgent: '*',
- allow: '/',
- },
- ],
- },
- transform: async (config, path) => {
- // Custom priority and changefreq based on path
- let priority = 0.7;
- let changefreq = 'weekly';
-
- if (path === '/') {
- priority = 0.9;
- changefreq = 'daily';
- } else if (path === '/blog') {
- priority = 0.7;
- changefreq = 'daily';
- } else if (path === '/pricing') {
- priority = 0.8;
- changefreq = 'weekly';
- } else if (path === '/faq') {
- priority = 0.6;
- changefreq = 'weekly';
- } else if (path.startsWith('/blog/')) {
- priority = 0.6;
- changefreq = 'weekly';
- }
-
- return {
- loc: path,
- changefreq,
- priority,
- lastmod: new Date().toISOString(),
- };
- },
-};
diff --git a/next.config.mjs b/next.config.mjs
index 2f48bb5..ee5fa64 100644
--- a/next.config.mjs
+++ b/next.config.mjs
@@ -27,11 +27,7 @@ const nextConfig = {
destination: '/blog/bulk-qr-code-generator-excel',
permanent: true,
},
- {
- source: '/blog/bulk-qr-codes-excel',
- destination: '/blog/bulk-qr-code-generator-excel',
- permanent: true,
- },
+
];
},
};
diff --git a/package.json b/package.json
index a4b0c9d..224e04d 100644
--- a/package.json
+++ b/package.json
@@ -6,6 +6,7 @@
"scripts": {
"dev": "next dev -p 3050",
"build": "prisma generate && next build",
+ "submit:indexnow": "tsx scripts/submit-indexnow.ts",
"start": "next start",
"lint": "next lint",
"db:generate": "prisma generate",
@@ -85,4 +86,4 @@
"engines": {
"node": ">=18.0.0"
}
-}
+}
\ No newline at end of file
diff --git a/public/1234567890abcdef.txt b/public/1234567890abcdef.txt
new file mode 100644
index 0000000..912fece
Binary files /dev/null and b/public/1234567890abcdef.txt differ
diff --git a/public/blog/qr-code-tracking-guide-body.png b/public/blog/qr-code-tracking-guide-body.png
index e609eac..6cd8809 100644
Binary files a/public/blog/qr-code-tracking-guide-body.png and b/public/blog/qr-code-tracking-guide-body.png differ
diff --git a/public/robots.txt b/public/robots.txt
deleted file mode 100644
index ff48580..0000000
--- a/public/robots.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-# QR Master - robots.txt
-# Allow all search engines to crawl all pages
-
-User-agent: *
-Allow: /
-
-# Sitemap location
-Sitemap: https://www.qrmaster.net/sitemap.xml
-
-# Crawl-delay (optional, be nice to servers)
-Crawl-delay: 1
-
-# Disallow admin/api routes
-Disallow: /api/
-Disallow: /dashboard/
-Disallow: /_next/
-
-# Allow all free tools explicitly
-Allow: /tools/
diff --git a/public/sitemap.xml b/public/sitemap.xml
deleted file mode 100644
index d3ac98c..0000000
--- a/public/sitemap.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
- https://www.qrmaster.net/
- 2025-10-16T00:00:00Z
- daily
- 0.9
-
-
- https://www.qrmaster.net/blog
- 2025-10-16T00:00:00Z
- daily
- 0.7
-
-
- https://www.qrmaster.net/pricing
- 2025-10-16T00:00:00Z
- weekly
- 0.8
-
-
- https://www.qrmaster.net/faq
- 2025-10-16T00:00:00Z
- weekly
- 0.6
-
-
- https://www.qrmaster.net/blog/qr-code-analytics
- 2025-10-16T00:00:00Z
- weekly
- 0.6
-
-
diff --git a/scripts/submit-indexnow.ts b/scripts/submit-indexnow.ts
new file mode 100644
index 0000000..7dcd70a
--- /dev/null
+++ b/scripts/submit-indexnow.ts
@@ -0,0 +1,80 @@
+
+import { blogPostList } from '../src/lib/blog-data';
+import fs from 'fs';
+import path from 'path';
+
+const HOST = 'www.qrmaster.net';
+const KEY = '1234567890abcdef';
+const KEY_LOCATION = `https://${HOST}/${KEY}.txt`;
+const INDEXNOW_ENDPOINT = 'https://api.indexnow.org/indexnow';
+
+async function submitIndexNow() {
+ console.log('🚀 Starting IndexNow submission...');
+
+ // 1. Gather all URLs
+ const baseUrl = `https://${HOST}`;
+ const staticPages = [
+ '',
+ '/pricing',
+ '/faq',
+ '/blog',
+ '/signup',
+ '/login',
+ '/privacy',
+ '/qr-code-erstellen',
+ '/qr-code-tracking',
+ '/dynamic-qr-code-generator',
+ '/bulk-qr-code-generator',
+ '/newsletter',
+ ];
+
+ // Dynamically get tool slugs from directory
+ const toolsDir = path.join(process.cwd(), 'src/app/(marketing)/tools');
+ let freeTools: string[] = [];
+
+ try {
+ freeTools = fs.readdirSync(toolsDir).filter(file => {
+ return fs.statSync(path.join(toolsDir, file)).isDirectory();
+ });
+ } catch (e) {
+ console.warn('⚠️ Could not read tools directory:', e);
+ }
+
+ const toolTypeUrls = freeTools.map(slug => `/tools/${slug}`);
+ const blogUrls = blogPostList.map(post => `/blog/${post.slug}`);
+
+ const allPaths = [...staticPages, ...toolTypeUrls, ...blogUrls];
+ const urlList = allPaths.map(path => `${baseUrl}${path}`);
+
+ console.log(`📝 Found ${urlList.length} URLs to submit.`);
+
+ // 2. Prepare payload
+ const payload = {
+ host: HOST,
+ key: KEY,
+ keyLocation: KEY_LOCATION,
+ urlList: urlList,
+ };
+
+ try {
+ // 3. Send Request
+ const response = await fetch(INDEXNOW_ENDPOINT, {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json; charset=utf-8',
+ },
+ body: JSON.stringify(payload),
+ });
+
+ if (response.status === 200 || response.status === 202) {
+ console.log('✅ IndexNow submission successful!');
+ } else {
+ console.error(`❌ IndexNow submission failed. Status: ${response.status}`);
+ console.error(await response.text());
+ }
+ } catch (error) {
+ console.error('❌ Error submitting to IndexNow:', error);
+ }
+}
+
+submitIndexNow();
diff --git a/seo_issues_new.md b/seo_issues_new.md
index 962bec1..ff5fc2e 100644
--- a/seo_issues_new.md
+++ b/seo_issues_new.md
@@ -1,311 +1,742 @@
-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
\ No newline at end of file
+
+Other
+Structured data has schema.org validation error
+38
+4
+3
+1
+0
+0
+
+
+Pages to submit to IndexNow
+5
+25
+—
+—
+—
+—
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Issues
+/
+Structured data has schema.org validation error
+
+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
+13 Jan
+14 Jan
+0
+10
+20
+30
+40
+All filter results
+
+All filter results
+38
+
+Lost from filter results
+0
+
+Lost
+0
+
+Patches
+
+Changes: Don't show
+
+Columns
+
+Export
+PR
+URL
+Organic traffic
+Schema items
+Structured data issues
+Is indexable page
+40
+html
+QR Master: Dynamic QR Generator
+https://www.qrmaster.net/
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+36
+html
+QR Code Erstellen – Kostenlos | QR Master
+https://www.qrmaster.net/qr-code-erstellen
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+35
+html
+Free SMS QR Code Generator | SMS QR Code Erstellen | QR Master
+https://www.qrmaster.net/tools/sms-qr-code
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+35
+html
+Free Twitter (X) QR Code Generator | Follow & Connect | QR Master
+https://www.qrmaster.net/tools/twitter-qr-code
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+35
+html
+Free WhatsApp QR Code Generator | Start Chats Instantly | QR Master
+https://www.qrmaster.net/tools/whatsapp-qr-code
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+35
+html
+QR Insights: Latest QR Strategies | QR Master
+https://www.qrmaster.net/blog
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+35
+html
+Free Event QR Code Generator | Termin & Kalender QR | QR Master
+https://www.qrmaster.net/tools/event-qr-code
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+35
+html
+Free WiFi QR Code Generator | WLAN QR Code | QR Master
+https://www.qrmaster.net/tools/wifi-qr-code
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+35
+html
+Privacy Policy | QR Master | QR Master
+https://www.qrmaster.net/privacy
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+35
+html
+Free YouTube QR Code Generator | Get Views & Subscribers | QR Master
+https://www.qrmaster.net/tools/youtube-qr-code
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+35
+html
+Pricing Plans | QR Master
+https://www.qrmaster.net/pricing
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+35
+html
+Free Zoom QR Code Generator | Join Meetings Instantly | QR Master
+https://www.qrmaster.net/tools/zoom-qr-code
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+35
+html
+Bulk QR Code Generator | Create from Excel | QR Master | QR Master
+https://www.qrmaster.net/bulk-qr-code-generator
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+35
+html
+Bulk QR Codes from Excel: 2025 Guide | QR Master
+https://www.qrmaster.net/blog/bulk-qr-code-generator-excel
+0
+BlogPosting
+BreadcrumbList
+HowTo
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+35
+html
+QR Master FAQ: Dynamic & Bulk QR | QR Master
+https://www.qrmaster.net/faq
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+35
+html
+Free Geolocation QR Code Generator | Standort & Map Links | QR Master
+https://www.qrmaster.net/tools/geolocation-qr-code
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+35
+html
+Free TikTok QR Code Generator | Get Followers | QR Master
+https://www.qrmaster.net/tools/tiktok-qr-code
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+35
+html
+Free Instagram QR Code Generator | Get More Followers | QR Master
+https://www.qrmaster.net/tools/instagram-qr-code
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+35
+html
+Free Phone QR Code Generator | Anruf & Telefon QR | QR Master
+https://www.qrmaster.net/tools/phone-qr-code
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+35
+html
+Free Facebook QR Code Generator | Get Likes & Follows | QR Master
+https://www.qrmaster.net/tools/facebook-qr-code
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+35
+html
+Free Microsoft Teams QR Code Generator | Join Meetings | QR Master
+https://www.qrmaster.net/tools/teams-qr-code
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+35
+html
+Free PayPal QR Code Generator | Accept Payments Instantly | QR Master
+https://www.qrmaster.net/tools/paypal-qr-code
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+35
+html
+Free URL QR Code Generator | Link to Any Website | QR Master
+https://www.qrmaster.net/tools/url-qr-code
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+35
+html
+Free Email QR Code Generator | Email QR Code Erstellen | QR Master
+https://www.qrmaster.net/tools/email-qr-code
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+35
+html
+Free vCard QR Code Generator | Digitale Visitenkarte Erstellen | QR Master
+https://www.qrmaster.net/tools/vcard-qr-code
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+35
+html
+Free Text QR Code Generator | Text zu QR Code | QR Master
+https://www.qrmaster.net/tools/text-qr-code
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+35
+html
+Free Crypto QR Code Generator | Krypto QR Code Erstellen | QR Master
+https://www.qrmaster.net/tools/crypto-qr-code
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+33
+html
+Free vCard QR Generator: Digital Cards | QR Master
+https://www.qrmaster.net/blog/vcard-qr-code-generator
+0
+BlogPosting
+BreadcrumbList
+HowTo
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+33
+html
+Restaurant Menu QR Codes: 2025 Guide | QR Master
+https://www.qrmaster.net/blog/qr-code-restaurant-menu
+0
+BlogPosting
+BreadcrumbList
+HowTo
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+33
+html
+QR Code Analytics: The Complete Guide | QR Master
+https://www.qrmaster.net/blog/qr-code-analytics
+0
+BlogPosting
+BreadcrumbList
+HowTo
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+33
+html
+Static vs Dynamic QR Codes: The Ultimate Guide (2025) | QR Master
+https://www.qrmaster.net/blog/dynamic-vs-static-qr-codes
+0
+BlogPosting
+BreadcrumbList
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+33
+html
+QR Code Print Size Guide: Minimum Sizes for Every Use Case | QR Master
+https://www.qrmaster.net/blog/qr-code-print-size-guide
+0
+BlogPosting
+BreadcrumbList
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+33
+html
+Best QR Code Generator for Small Business 2025 | QR Master
+https://www.qrmaster.net/blog/qr-code-small-business
+0
+BlogPosting
+BreadcrumbList
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+33
+html
+QR Code Tracking: Complete Guide 2025 | QR Master
+https://www.qrmaster.net/blog/qr-code-tracking-guide-2025
+0
+BlogPosting
+BreadcrumbList
+HowTo
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+27
+html
+Dynamic QR Code Generator | Edit & Track QR | QR Master | QR Master
+https://www.qrmaster.net/dynamic-qr-code-generator
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+22
+html
+QR Code Tracking & Analytics - Track Every Scan | QR Master | QR Master
+https://www.qrmaster.net/qr-code-tracking
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+Yes
+15
+html
+Newsletter Admin | QR Master | QR Master
+https://www.qrmaster.net/newsletter
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+No
+2
+html
+QR Master – Smart QR Generator & Analytics
+https://www.qrmaster.net/blog/3-body.png
+0
+Organization
+WebSite
+Schema.org validation error
+View issues
+No
+Showing 38 of 38
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Issues
+/
+Pages to submit to IndexNow
+
+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
+13 Jan
+14 Jan
+0
+8
+16
+24
+32
+All filter results
+
+All filter results
+5
+
+Lost from filter results
+
+Lost
+
+Patches: Show all
+
+Changes: Absolute
+
+Columns
+
+Export
+PR
+URL
+Organic traffic
+Changes
+HTTP status code
+Content type
+Is indexable page
+Title
+Patch it
+
+Batch AI
+Meta description
+Patch it
+
+Batch AI
+H1
+H2
+No. of content words
+Changes
+No. of internal outlinks
+Changes
+No. of external outlinks
+Changes
+Page text
+First found at
+35
+html
+Free WiFi QR Code Generator | WLAN QR Code | QR Master
+https://www.qrmaster.net/tools/wifi-qr-code
+0
+200
+text/html; charset=utf-8
+Yes
+Free WiFi QR Code Generator | WLAN QR Code | QR Master
+Free WiFi QR Code Generator | WLAN QR Code Erstellen | QR Master
+Enter new title
+Create a WiFi QR code in seconds. Erstelle kostenlos deinen WLAN QR Code ohne Passwort-Eingabe. Guests scan to connect instantly. 100% Secure & Free.
+Enter new meta description
+12
+13
+−1
+0
+0
+View changes
+54 B
+64 B
+https://www.qrmaster.net/blog/qr-code-analytics
+33
+html
+Free vCard QR Generator: Digital Cards | QR Master
+https://www.qrmaster.net/blog/vcard-qr-code-generator
+0
+200
+308
+text/html; charset=utf-8
+text/plain; charset=utf-8
+Yes
+No
+Free vCard QR Generator: Digital Cards | QR Master
+Enter new title
+Create professional vCard QR codes for digital business cards. Share contact info instantly with a scan—includes templates and best practices.
+Enter new meta description
+Free vCard QR Generator: Digital Cards
+Quick Answer
+What is a vCard QR Code?
+Why Use a Digital Business Card QR Code?
+Information You Can Include in a vCard
+Static vs Dynamic vCard QR Codes
+All 13
+1,149
+0
++1,149
+36
+0
++36
+0
+View text
+7 KB
+https://www.qrmaster.net/blog/qr-code-analytics
+33
+html
+Restaurant Menu QR Codes: 2025 Guide | QR Master
+https://www.qrmaster.net/blog/qr-code-restaurant-menu
+0
+200
+308
+text/html; charset=utf-8
+text/plain; charset=utf-8
+Yes
+No
+Restaurant Menu QR Codes: 2025 Guide | QR Master
+Enter new title
+Step-by-step guide to creating digital menu QR codes for your restaurant. Learn best practices for touchless menus, placement tips, and tracking.
+Enter new meta description
+Restaurant Menu QR Codes: 2025 Guide
+Quick Answer
+Why Restaurants Need QR Code Menus in 2025
+Step 1: Prepare Your Digital Menu
+Step 2: Create Your QR Code with QR Master
+Step 3: Customize Your Restaurant QR Code
+All 13
+1,256
+0
++1,256
+38
+0
++38
+0
+View text
+8 KB
+https://www.qrmaster.net/blog/qr-code-analytics
+33
+html
+Best QR Code Generator for Small Business 2025 | QR Master
+https://www.qrmaster.net/blog/qr-code-small-business
+0
+200
+308
+text/html; charset=utf-8
+text/plain; charset=utf-8
+Yes
+No
+Best QR Code Generator for Small Business 2025 | QR Master
+Enter new title
+Find the best QR code solution for your small business. Compare features, pricing, and use cases for marketing, payments, and operations.
+Enter new meta description
+Best QR Code Generator for Small Business 2025
+Quick Answer
+Why Small Businesses Need QR Codes
+Top 10 QR Code Use Cases for Small Business
+What to Look for in a Small Business QR Solution
+QR Master for Small Business
+All 11
+1,048
+0
++1,048
+36
+0
++36
+0
+View text
+7 KB
+https://www.qrmaster.net/blog/qr-code-analytics
+22
+html
+QR Code Tracking & Analytics - Track Every Scan | QR Master | QR Master
+https://www.qrmaster.net/qr-code-tracking
+0
+200
+text/html; charset=utf-8
+Yes
+QR Code Tracking & Analytics - Track Every Scan | QR Master | QR Master
+Enter new title
+Track QR code scans with real-time analytics. Monitor location, device, time, and user behavior. Free QR code tracking software with detailed reports.
+Enter new meta description
+15
+0
+0
+View text
+71 B
+https://www.qrmaster.net/blog/qr-code-restaurant-menu
+Showing 5 of 5
\ No newline at end of file
diff --git a/src/app/(app)/layout.tsx b/src/app/(app)/layout.tsx
index 0fb26d2..fa99bdf 100644
--- a/src/app/(app)/layout.tsx
+++ b/src/app/(app)/layout.tsx
@@ -1,5 +1,6 @@
import type { Metadata } from 'next';
import '@/styles/globals.css';
+import { Suspense } from 'react';
import { Providers } from '@/components/Providers';
import AppLayout from './AppLayout';
@@ -18,9 +19,11 @@ export default function RootAppLayout({
-
- {children}
-
+
+
+ {children}
+
+
diff --git a/src/app/(auth)/layout.tsx b/src/app/(auth)/layout.tsx
index d5713ec..88df074 100644
--- a/src/app/(auth)/layout.tsx
+++ b/src/app/(auth)/layout.tsx
@@ -5,7 +5,7 @@ import type { Metadata } from 'next';
export const metadata: Metadata = {
title: 'Authentication | QR Master',
description: 'Securely login or sign up to QR Master to manage your dynamic QR codes, track analytics, and access premium features. Your gateway to professional QR management.',
- robots: { index: false, follow: true },
+
};
export default function AuthRootLayout({
@@ -19,6 +19,11 @@ export default function AuthRootLayout({