summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiqdad <ahmadmiqdad27@gmail.com>2025-10-30 08:56:23 +0700
committerMiqdad <ahmadmiqdad27@gmail.com>2025-10-30 08:56:23 +0700
commit7c210b2cd93df0b46d88d47fe2bca84d45fda92b (patch)
treef256d1c2da703b173c80cdbbd36b2d0ba1b1d96a
parent182ebd7c22d8e7591ec32296b96b516145324d94 (diff)
<Miqdad> try fix sitemap
-rw-r--r--src/pages/sitemap/products.xml.js41
-rw-r--r--src/pages/sitemap/products/[page].js50
2 files changed, 48 insertions, 43 deletions
diff --git a/src/pages/sitemap/products.xml.js b/src/pages/sitemap/products.xml.js
index a2067308..9a96eedb 100644
--- a/src/pages/sitemap/products.xml.js
+++ b/src/pages/sitemap/products.xml.js
@@ -1,33 +1,34 @@
-import productSearchApi from '@/lib/product/api/productSearchApi'
-import { create } from 'xmlbuilder'
-import _ from 'lodash-contrib'
+import productSearchApi from '@/lib/product/api/productSearchApi';
+import { create } from 'xmlbuilder';
+import _ from 'lodash-contrib';
export async function getServerSideProps({ res }) {
- const baseUrl = process.env.SELF_HOST + '/sitemap/products'
- const limit = 2500
- const query = { limit }
- const products = await productSearchApi({ query: _.toQuery(query) })
- const pageCount = Math.ceil(products.response.numFound / limit)
- const pages = Array.from({ length: pageCount }, (_, i) => i + 1)
+ const baseUrl = process.env.SELF_HOST + '/sitemap/products';
+ const limit = 2500;
+ const query = { limit };
+ const products = await productSearchApi({ query: _.toQuery(query) });
+ const pageCount = Math.ceil(products.response.numFound / limit);
+ const pages = Array.from({ length: pageCount }, (_, i) => i + 1);
const sitemapIndex = create('sitemapindex', { encoding: 'UTF-8' }).att(
'xmlns',
'http://www.sitemaps.org/schemas/sitemap/0.9'
- )
+ );
- const date = new Date()
+ // const date = new Date()
+ const date = '2025-10-29';
pages.forEach((page) => {
- const sitemap = sitemapIndex.ele('sitemap')
- sitemap.ele('loc', `${baseUrl}/${page}.xml`)
- sitemap.ele('lastmod', date.toISOString().slice(0, 10))
- })
+ const sitemap = sitemapIndex.ele('sitemap');
+ sitemap.ele('loc', `${baseUrl}/${page}.xml`);
+ sitemap.ele('lastmod', date.toISOString().slice(0, 10));
+ });
- res.setHeader('Content-Type', 'text/xml')
- res.write(sitemapIndex.end())
- res.end()
+ res.setHeader('Content-Type', 'text/xml');
+ res.write(sitemapIndex.end());
+ res.end();
- return { props: {} }
+ return { props: {} };
}
export default function SitemapProducts() {
- return null
+ return null;
}
diff --git a/src/pages/sitemap/products/[page].js b/src/pages/sitemap/products/[page].js
index 3419489b..42fd5fc7 100644
--- a/src/pages/sitemap/products/[page].js
+++ b/src/pages/sitemap/products/[page].js
@@ -1,38 +1,42 @@
-import productSearchApi from '@/lib/product/api/productSearchApi'
-import { create } from 'xmlbuilder'
-import _ from 'lodash-contrib'
-import { createSlug } from '@/core/utils/slug'
+import productSearchApi from '@/lib/product/api/productSearchApi';
+import { create } from 'xmlbuilder';
+import _ from 'lodash-contrib';
+import { createSlug } from '@/core/utils/slug';
export async function getServerSideProps({ query, res }) {
- const baseUrl = process.env.SELF_HOST + '/shop/product/'
- const { page } = query
- const limit = 2500
- const queries = { limit, page: page.replace('.xml', ''),
+ const baseUrl = process.env.SELF_HOST + '/shop/product/';
+ const { page } = query;
+ const limit = 2500;
+ const queries = {
+ limit,
+ page: page.replace('.xml', ''),
'-publish_b': false,
product_rating_f: '[8 TO *]',
- price_tier1_v2_f: '[1 TO *]', }
- const products = await productSearchApi({ query: _.toQuery(queries) })
+ price_tier1_v2_f: '[1 TO *]',
+ };
+ const products = await productSearchApi({ query: _.toQuery(queries) });
const sitemap = create('urlset', { encoding: 'utf-8' }).att(
'xmlns',
'http://www.sitemaps.org/schemas/sitemap/0.9'
- )
+ );
- const date = new Date()
+ // const date = new Date()
+ const date = '2025-10-29';
products.response.products.forEach((product) => {
- const url = sitemap.ele('url')
- url.ele('loc', createSlug(baseUrl, product.name, product.id))
- url.ele('lastmod', date.toISOString().slice(0, 10))
- url.ele('changefreq', 'daily')
- url.ele('priority', '0.8')
- })
+ const url = sitemap.ele('url');
+ url.ele('loc', createSlug(baseUrl, product.name, product.id));
+ url.ele('lastmod', date.toISOString().slice(0, 10));
+ url.ele('changefreq', 'daily');
+ url.ele('priority', '0.8');
+ });
- res.setHeader('Content-Type', 'text/xml')
- res.write(sitemap.end())
- res.end()
+ res.setHeader('Content-Type', 'text/xml');
+ res.write(sitemap.end());
+ res.end();
- return { props: {} }
+ return { props: {} };
}
export default function SitemapProducts() {
- return null
+ return null;
}