站点地图对于让搜索引擎知道哪些页面可用于索引非常重要。作为我改善我的网站的一部分,让您可以play chess against ChatGPT,我想确保在开始添加新页面时拥有一个站点地图。
使用Sveltekit,您可以轻松地生成一个合规的sitemap.xml
文件作为构建过程的一部分!
先决条件
- 您需要一些 prerenderable路线。如果您的网站完全静态,则可以将
export const prerender = true;
添加到src/routes/+layout.js
文件中。 - 您正在使用Sveltekit的
@sveltejs/adapter-cloudflare
适配器
只要您拥有这些,就可以轻松地生成您的站点地图!
安装svelte-sitemap
对于站点地图,我喜欢使用svelte-sitemap
,您可以将其安装为DEV依赖性:
npm i --save-dev svelte-sitemap
添加一个后建筑脚本
要生成您的站点地图,您可以在后建筑脚本中这样做,因此您永远不需要手动运行它。您可以在package.json
中添加后建筑脚本,这样:
{
"name": "my-cool-project",
"scripts": {
"postbuild": "npx svelte-sitemap --out-dir .svelte-kit/cloudflare --domain https://example.com"
}
}
更新您的适配器
设置了后建筑脚本后,您现在需要做的就是对svelte.config.js
中的适配器进行一些修改!
-import adapter from '@sveltejs/adapter-auto';
+import adapter from '@sveltejs/adapter-cloudflare';
/** @type {import('@sveltejs/kit').Config} */
const config = {
kit: {
- adapter: adapter()
+ adapter: adapter({ routes: { include: ['/*'], exclude: ['<all>', '/sitemap.xml'] }})
}
};
export default config;
就是这样!
在将其推开之前,我会通过运行npm run build
进行测试,并确认文件.svelte-kit/cloudflare/sitemap.xml
在那里。
作为最后的触摸,请确保您有一个robots.txt
,例如在static/robots.txt
中,例如:
User-agent: *
Disallow:
Sitemap: https://example.com/sitemap.xml