在CloudFlare页面上生成Sveltekit应用的站点地点
#javascript #sveltekit #seo

Generating Sitemaps for SvelteKit Apps on Cloudflare Pages

站点地图对于让搜索引擎知道哪些页面可用于索引非常重要。作为我改善我的网站的一部分,让您可以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