Files
skills/docs/devtools/docs/sitemap/README.md
2026-05-29 08:20:56 +01:00

7.7 KiB

@suaveplan/sitemap - Sitemap generation and parsing: sitemap.xml, sitemap index, image sitemaps, video sitemaps per sitemaps.org protocol

Summary

Sitemap generation and parsing for the sitemaps.org XML protocol. Produces valid sitemap.xml, sitemap index documents, and parses existing sitemaps. Supports Google image and video extensions as well as hreflang alternate links.

Documentation tree

- [sitemap-builder](./src/core/builder/sitemap-builder.md) — _(no submodules)_- [index-builder](./src/core/index-builder/index-builder.md) — _(no submodules)_- [index-builder](./src/core/index-builder/index-builder.md) — _(no submodules)_- [parser](./src/core/parser/sitemap-parser.md) — _(no submodules)_- [sitemap-parser](./src/core/parser/sitemap-parser.md) — _(no submodules)_- [errors](./src/errors/sitemap-error.md) — _(no submodules)_- [sitemap-error](./src/errors/sitemap-error.md) — _(no submodules)_- [schemas](./src/schemas/sitemap.schema.md) — _(no submodules)_- [sitemap.schema](./src/schemas/sitemap.schema.md) — _(no submodules)_- [utils](./src/utils/url-utils.md) — _(no submodules)_- [url-utils](./src/utils/url-utils.md) — _(no submodules)_- [sitemap-builder](./src/core/builder/sitemap-builder.md) — _(no submodules)_- [index-builder](./src/core/index-builder/index-builder.md) — _(no submodules)_- [index-builder](./src/core/index-builder/index-builder.md) — _(no submodules)_- [parser](./src/core/parser/sitemap-parser.md) — _(no submodules)_- [sitemap-parser](./src/core/parser/sitemap-parser.md) — _(no submodules)_- [errors](./src/errors/sitemap-error.md) — _(no submodules)_- [sitemap-error](./src/errors/sitemap-error.md) — _(no submodules)_- [schemas](./src/schemas/sitemap.schema.md) — _(no submodules)_- [sitemap.schema](./src/schemas/sitemap.schema.md) — _(no submodules)_- [utils](./src/utils/url-utils.md) — _(no submodules)_- [url-utils](./src/utils/url-utils.md) — _(no submodules)_- [sitemap-builder](./src/core/builder/sitemap-builder.md) — _(no submodules)_- [index-builder](./src/core/index-builder/index-builder.md) — _(no submodules)_- [index-builder](./src/core/index-builder/index-builder.md) — _(no submodules)_- [parser](./src/core/parser/sitemap-parser.md) — _(no submodules)_- [sitemap-parser](./src/core/parser/sitemap-parser.md) — _(no submodules)_- [errors](./src/errors/sitemap-error.md) — _(no submodules)_- [sitemap-error](./src/errors/sitemap-error.md) — _(no submodules)_- [schemas](./src/schemas/sitemap.schema.md) — _(no submodules)_- [sitemap.schema](./src/schemas/sitemap.schema.md) — _(no submodules)_- [utils](./src/utils/url-utils.md) — _(no submodules)_- [url-utils](./src/utils/url-utils.md) — _(no submodules)_- [sitemap-builder](./src/core/builder/sitemap-builder.md) — _(no submodules)_- [index-builder](./src/core/index-builder/index-builder.md) — _(no submodules)_ - [index-builder](./src/core/index-builder/index-builder.md) — _(no submodules)_- [parser](./src/core/parser/sitemap-parser.md) — _(no submodules)_ - [sitemap-parser](./src/core/parser/sitemap-parser.md) — _(no submodules)_- [errors](./src/errors/sitemap-error.md) — _(no submodules)_ - [sitemap-error](./src/errors/sitemap-error.md) — _(no submodules)_- [schemas](./src/schemas/sitemap.schema.md) — _(no submodules)_ - [sitemap.schema](./src/schemas/sitemap.schema.md) — _(no submodules)_- [utils](./src/utils/url-utils.md) — _(no submodules)_ - [url-utils](./src/utils/url-utils.md) — _(no submodules)_

Installation

bun add @suaveplan/sitemap

Packages

Module Purpose
sitemap-builder Fluent builder for <urlset> sitemap documents
index-builder Fluent builder for <sitemapindex> documents
sitemap-parser Parse sitemap and sitemap index XML strings
url-utils URL validation, normalisation, XML escaping
sitemap.schema Zod schemas for all wire-format types
sitemap-error Error codes and SitemapError class

Quick Start

import { createSitemap, createSitemapIndex, parseSitemap } from "@suaveplan/sitemap";

// Build a sitemap
const xml = createSitemap({ pretty: true })
  .add({ loc: "https://example.com/", changefreq: "weekly", priority: 1.0 })
  .add({ loc: "https://example.com/about", lastmod: "2024-01-15" })
  .build();

// Build a sitemap index
const indexXml = createSitemapIndex({ pretty: true })
  .add("https://example.com/sitemap-blog.xml", "2024-06-01")
  .add("https://example.com/sitemap-products.xml")
  .build();

// Parse an existing sitemap
const urls = parseSitemap(xml);
console.log(urls[0].loc); // "https://example.com/"

Subpath Exports

import { SitemapBuilder, createSitemap } from "@suaveplan/sitemap/builder";
import { SitemapIndexBuilder, createSitemapIndex } from "@suaveplan/sitemap/index-builder";
import { parseSitemap, parseSitemapIndex } from "@suaveplan/sitemap/parser";
import { SitemapError, SITEMAP_CODES } from "@suaveplan/sitemap/errors";