diff options
| author | Rafi Zadanly <zadanlyr@gmail.com> | 2023-05-04 14:08:38 +0700 |
|---|---|---|
| committer | Rafi Zadanly <zadanlyr@gmail.com> | 2023-05-04 14:08:38 +0700 |
| commit | 8bf81ed018dfd89b30f887c09689442881bb4872 (patch) | |
| tree | 343a0ae7988c34892b4a6b5464369570003989ba /src/pages/sitemap/blogs.xml.js | |
| parent | 2dccfa3f8953231599cf646d82078fb23297f1c7 (diff) | |
fixing sitemap
Diffstat (limited to 'src/pages/sitemap/blogs.xml.js')
| -rw-r--r-- | src/pages/sitemap/blogs.xml.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/pages/sitemap/blogs.xml.js b/src/pages/sitemap/blogs.xml.js new file mode 100644 index 00000000..7f41ad0f --- /dev/null +++ b/src/pages/sitemap/blogs.xml.js @@ -0,0 +1,31 @@ +import { createSlug } from '@/core/utils/slug' +import blogsApi from '@/lib/blog/api/blogsApi' +import { create } from 'xmlbuilder' + +export async function getServerSideProps({ res }) { + const baseUrl = process.env.SELF_HOST + '/blog/' + const blogs = await blogsApi({ limit: 0, offset: 0 }) + const sitemap = create('urlset', { encoding: 'utf-8' }).att( + 'xmlns', + 'http://www.sitemaps.org/schemas/sitemap/0.9' + ) + + const date = new Date() + blogs.blogs.forEach((blog) => { + const url = sitemap.ele('url') + url.ele('loc', createSlug(baseUrl, blog.title, blog.id)) + url.ele('lastmod', date.toISOString().slice(0, 10)) + url.ele('changefreq', 'weekly') + url.ele('priority', '0.6') + }) + + res.setHeader('Content-Type', 'text/xml') + res.write(sitemap.end()) + res.end() + + return { props: {} } +} + +export default function SitemapProducts() { + return null +} |
