diff --git a/client/next-sitemap.config.js b/client/next-sitemap.config.js
new file mode 100644
index 00000000..6322b34e
--- /dev/null
+++ b/client/next-sitemap.config.js
@@ -0,0 +1,6 @@
+/** @type {import('next-sitemap').IConfig} */
+module.exports = {
+ siteUrl: 'https://rxresu.me',
+ changefreq: 'monthly',
+ generateRobotsTxt: true,
+};
diff --git a/client/package.json b/client/package.json
index c30a7364..b3954fd5 100644
--- a/client/package.json
+++ b/client/package.json
@@ -2,9 +2,10 @@
"name": "@reactive-resume/client",
"scripts": {
"dev": "react-env --prefix PUBLIC -- next dev",
- "build": "next build",
+ "build": "next build && npm run sitemap",
"start": "react-env --prefix PUBLIC -- next start",
- "lint": "next lint --fix"
+ "lint": "next lint --fix",
+ "sitemap": "next-sitemap --config next-sitemap.config.js"
},
"dependencies": {
"@beam-australia/react-env": "^3.1.1",
@@ -67,6 +68,7 @@
"autoprefixer": "^10.4.2",
"eslint": "^8.10.0",
"eslint-config-next": "12.1.0",
+ "next-sitemap": "^2.5.7",
"postcss": "^8.4.8",
"prettier": "^2.5.1",
"sass": "^1.49.9",
diff --git a/client/public/robots.txt b/client/public/robots.txt
new file mode 100644
index 00000000..3a7e2829
--- /dev/null
+++ b/client/public/robots.txt
@@ -0,0 +1,9 @@
+# *
+User-agent: *
+Allow: /
+
+# Host
+Host: https://rxresu.me
+
+# Sitemaps
+Sitemap: https://rxresu.me/sitemap.xml
diff --git a/client/public/sitemap-0.xml b/client/public/sitemap-0.xml
new file mode 100644
index 00000000..232a92eb
--- /dev/null
+++ b/client/public/sitemap-0.xml
@@ -0,0 +1,15 @@
+
+
+https://rxresu.memonthly0.72022-03-12T10:44:13.581Z
+https://rxresu.me/dashboardmonthly0.72022-03-12T10:44:13.581Z
+https://rxresu.me/meta/privacymonthly0.72022-03-12T10:44:13.581Z
+https://rxresu.me/meta/servicemonthly0.72022-03-12T10:44:13.581Z
+https://rxresu.me/de/dashboardmonthly0.72022-03-12T10:44:13.581Z
+https://rxresu.me/kn/dashboardmonthly0.72022-03-12T10:44:13.581Z
+https://rxresu.me/ta/dashboardmonthly0.72022-03-12T10:44:13.581Z
+https://rxresu.me/hi/dashboardmonthly0.72022-03-12T10:44:13.581Z
+https://rxresu.me/demonthly0.72022-03-12T10:44:13.581Z
+https://rxresu.me/knmonthly0.72022-03-12T10:44:13.581Z
+https://rxresu.me/tamonthly0.72022-03-12T10:44:13.581Z
+https://rxresu.me/himonthly0.72022-03-12T10:44:13.581Z
+
\ No newline at end of file
diff --git a/client/public/sitemap.xml b/client/public/sitemap.xml
new file mode 100644
index 00000000..fff55f92
--- /dev/null
+++ b/client/public/sitemap.xml
@@ -0,0 +1,4 @@
+
+
+https://rxresu.me/sitemap-0.xml
+
\ No newline at end of file
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 325ab688..3b514cfa 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -75,6 +75,7 @@ importers:
nanoid: ^3.3.1
next: 12.1.0
next-i18next: ^10.5.0
+ next-sitemap: ^2.5.7
postcss: ^8.4.8
prettier: ^2.5.1
react: '>=17'
@@ -162,6 +163,7 @@ importers:
autoprefixer: 10.4.2_postcss@8.4.8
eslint: 8.10.0
eslint-config-next: 12.1.0_4c2038871e8233f2b143838d68f90b16
+ next-sitemap: 2.5.7_next@12.1.0
postcss: 8.4.8
prettier: 2.5.1
sass: 1.49.9
@@ -1901,6 +1903,10 @@ packages:
dev: true
optional: true
+ /@corex/deepmerge/2.6.148:
+ resolution: {integrity: sha512-6QMz0/2h5C3ua51iAnXMPWFbb1QOU1UvSM4bKBw5mzdT+WtLgjbETBBIQZ+Sh9WvEcGwlAt/DEdRpIC3XlDBMA==}
+ dev: true
+
/@cspotcode/source-map-consumer/0.8.0:
resolution: {integrity: sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==}
engines: {node: '>= 12'}
@@ -10180,6 +10186,18 @@ packages:
- react-native
dev: false
+ /next-sitemap/2.5.7_next@12.1.0:
+ resolution: {integrity: sha512-snyIWKwzy4QfLrZmXk2fT7ue5RYc1GNqrMfvC/VQJWyPX5QRZnYJLVScd9jmfdVlN5l6M5sFY3VSuFmCQUZ5Vg==}
+ engines: {node: '>=14.18.3'}
+ hasBin: true
+ peerDependencies:
+ next: '*'
+ dependencies:
+ '@corex/deepmerge': 2.6.148
+ minimist: 1.2.5
+ next: 12.1.0_b8b2418670651b634ff05a91b7cd94fe
+ dev: true
+
/next/12.1.0_b8b2418670651b634ff05a91b7cd94fe:
resolution: {integrity: sha512-s885kWvnIlxsUFHq9UGyIyLiuD0G3BUC/xrH0CEnH5lHEWkwQcHOORgbDF0hbrW9vr/7am4ETfX4A7M6DjrE7Q==}
engines: {node: '>=12.22.0'}