diff --git a/.claude/settings.local.json b/.claude/settings.local.json
index 31407ba..e88e3d8 100644
--- a/.claude/settings.local.json
+++ b/.claude/settings.local.json
@@ -15,7 +15,10 @@
"Read(//c/Users/a931627/.ssh/**)",
"Bash(ssh-keygen:*)",
"Bash(cat:*)",
- "Bash(git remote add:*)"
+ "Bash(git remote add:*)",
+ "Bash(git push:*)",
+ "Bash(git remote set-url:*)",
+ "Bash(npm install:*)"
],
"deny": [],
"ask": []
diff --git a/next-sitemap.config.js b/next-sitemap.config.js
new file mode 100644
index 0000000..fca2437
--- /dev/null
+++ b/next-sitemap.config.js
@@ -0,0 +1,42 @@
+/** @type {import('next-sitemap').IConfig} */
+module.exports = {
+ siteUrl: 'https://www.qrmaster.com',
+ 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 4b4fb80..5bd78cc 100644
--- a/next.config.mjs
+++ b/next.config.mjs
@@ -1,8 +1,9 @@
/** @type {import('next').NextConfig} */
const nextConfig = {
output: 'standalone',
- images: {
- unoptimized: true
+ images: {
+ unoptimized: true,
+ domains: ['www.qrmaster.com', 'qrmaster.com', 'images.qrmaster.com']
},
experimental: {
serverComponentsExternalPackages: ['@prisma/client', 'bcryptjs']
diff --git a/package-lock.json b/package-lock.json
index ab05b8d..bd76b3a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -44,6 +44,7 @@
"autoprefixer": "^10.4.16",
"eslint": "^8.56.0",
"eslint-config-next": "14.2.18",
+ "next-sitemap": "^4.2.3",
"postcss": "^8.4.32",
"prettier": "^3.1.1",
"prisma": "^5.7.0",
@@ -120,6 +121,13 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@corex/deepmerge": {
+ "version": "4.0.43",
+ "resolved": "https://registry.npmjs.org/@corex/deepmerge/-/deepmerge-4.0.43.tgz",
+ "integrity": "sha512-N8uEMrMPL0cu/bdboEWpQYb/0i2K5Qn8eCsxzOmxSggJbbQte7ljMRoXm917AbntqTGOzdTu+vP3KOOzoC70HQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@emnapi/core": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.5.0.tgz",
@@ -5949,6 +5957,41 @@
"url": "https://github.com/sponsors/panva"
}
},
+ "node_modules/next-sitemap": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/next-sitemap/-/next-sitemap-4.2.3.tgz",
+ "integrity": "sha512-vjdCxeDuWDzldhCnyFCQipw5bfpl4HmZA7uoo3GAaYGjGgfL4Cxb1CiztPuWGmS+auYs7/8OekRS8C2cjdAsjQ==",
+ "dev": true,
+ "funding": [
+ {
+ "url": "https://github.com/iamvishnusankar/next-sitemap.git"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "@corex/deepmerge": "^4.0.43",
+ "@next/env": "^13.4.3",
+ "fast-glob": "^3.2.12",
+ "minimist": "^1.2.8"
+ },
+ "bin": {
+ "next-sitemap": "bin/next-sitemap.mjs",
+ "next-sitemap-cjs": "bin/next-sitemap.cjs"
+ },
+ "engines": {
+ "node": ">=14.18"
+ },
+ "peerDependencies": {
+ "next": "*"
+ }
+ },
+ "node_modules/next-sitemap/node_modules/@next/env": {
+ "version": "13.5.11",
+ "resolved": "https://registry.npmjs.org/@next/env/-/env-13.5.11.tgz",
+ "integrity": "sha512-fbb2C7HChgM7CemdCY+y3N1n8pcTKdqtQLbC7/EQtPdLvlMUT9JX/dBYl8MMZAtYG4uVMyPFHXckb68q/NRwqg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/next/node_modules/postcss": {
"version": "8.4.31",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
diff --git a/package.json b/package.json
index a810bcc..f43d7d0 100644
--- a/package.json
+++ b/package.json
@@ -60,6 +60,7 @@
"autoprefixer": "^10.4.16",
"eslint": "^8.56.0",
"eslint-config-next": "14.2.18",
+ "next-sitemap": "^4.2.3",
"postcss": "^8.4.32",
"prettier": "^3.1.1",
"prisma": "^5.7.0",
diff --git a/public/robots.txt b/public/robots.txt
new file mode 100644
index 0000000..5c5c6a2
--- /dev/null
+++ b/public/robots.txt
@@ -0,0 +1,3 @@
+User-agent: *
+Allow: /
+Sitemap: https://www.qrmaster.com/sitemap.xml
diff --git a/public/sitemap.xml b/public/sitemap.xml
new file mode 100644
index 0000000..0fa6818
--- /dev/null
+++ b/public/sitemap.xml
@@ -0,0 +1,33 @@
+
+