Create Sitemap for your next Fresh project.
To get started, run the init command at the root of your project
deno run --allow-read --allow-write https://deno.land/x/fresh_seo/init.ts
You should now have a new file ./routes/sitemap.xml.ts
;
You should now have a basic sitemap.xml
available at
http://localhost:8000/sitemap.xml
.
Fresh SEO automatically map out static routes in your Fresh project so you don't have to do anything for basic routes.
But you will still have to map dynamic routes yourself.
// ./routes/sitemap.xml.ts
import { Handlers } from "$fresh/server.ts";
import manifest from "../fresh.gen.ts";
import { SitemapContext } from "https://deno.land/x/fresh_seo/mod.ts";
export const handler: Handlers = {
GET(req, ctx) {
const sitemap = new SitemapContext(
"http://example.com"
manifest
);
// You can add additional page here
+ sitemap.add("/blog/hello-world");
return sitemap.render();
},
};
You can run the test suite using deno task test
.