XML Sitemaps
Generating the map of your site for search engines.
Static HTML
Manual / Generator.
Online Generator
For small static sites, generate sitemap.xml using a tool like xml-sitemaps.com.
Upload to root folder: /sitemap.xml.
Next.js
sitemap.ts.
Route Handler
Create app/sitemap.ts.
export default async function sitemap() {
// Fetch from DB
const posts = await getPosts()
return posts.map(post => ({
url: `https://site.com/blog/${post.slug}`,
lastModified: post.date
}))
}
Nuxt / Vue
Nuxt Sitemap.
Module
Install @nuxtjs/sitemap.
Config in nuxt.config.js.
It automatically crawls your pages/ directory.
Astro
Integration.
Integration
Run npx astro add sitemap.
Set site: 'https://mysite.com' in astro.config.mjs.
Builds automatically on npm run build.
SvelteKit
svelte-sitemap.
Package
Use svelte-sitemap package.
Run as a post-build script: npx svelte-sitemap --domain https://mysite.com.
React (Vite)
Build Script.
Script
Use vite-plugin-sitemap.
Config in vite.config.ts.
Pass dynamic routes array (manual).
Laravel
Spatie.
Package
Install spatie/laravel-sitemap.
Sitemap::create()
->add(Post::all())
->writeToFile(public_path('sitemap.xml'));
Django
Contrib Sitemap.
Framework
In sitemaps.py:
class BlogSitemap(Sitemap):
def items(self):
return Post.objects.all()
In urls.py: Add sitemap.xml view.
Rails
gem 'sitemap_generator'.
Config
Run rake sitemap:install.
Edit config/sitemap.rb:
add '/contact'
Article.find_each do |article|
add article_path(article)
end
Run rake sitemap:refresh.
Flask
Flask-Sitemap.
Extension
ext = Sitemap(app=app)
@ext.register_generator
def index():
yield 'home', {}
ASP.NET Core
Middleware.
Implementation
Create a Controller returning XML.
Or use SimpleMvcSitemap NuGet package.
return new SitemapProvider().CreateSitemap(new SitemapModel(nodes));
Go (Gin)
XML Marshaling.
Structs
Define URLSet struct with XML tags.
Query DB.
Use xml.NewEncoder(w).Encode(sitemap).
Java (Spring)
JAXB.
XML Builder
Create a @RestController mapped to /sitemap.xml.
Return a JAXB-annotated XmlUrlSet object.
Spring Boot automatically serializes it to XML.
Verification Checklist
- Visit /sitemap.xml