---
title: "No reachable sitemap (seo/sitemap-missing)"
description: "seo/sitemap-missing: Sitemaps are the main discovery channel for new and updated URLs, especially for sites with few external links."
canonical: https://void-design.vercel.app/rules/seo/sitemap-missing
lastModified: 2026-09-16
---

# No reachable sitemap

`seo/sitemap-missing` · severity **error** · category SEO · detected by `void seo` and `void audit`

## Why it matters

Sitemaps are the main discovery channel for new and updated URLs, especially for sites with few external links.

## How to fix it

Add app/sitemap.ts listing every indexable URL with its real lastModified date, and reference it from robots.txt.

## Example

```ts
// app/sitemap.ts
import type { MetadataRoute } from 'next'
export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
  const posts = await getPosts()
  return [
    { url: 'https://acme.example/', lastModified: '2026-09-01' }, // real content date, NOT new Date()
    ...posts.map((p) => ({ url: 'https://acme.example/blog/' + p.slug, lastModified: p.updated })),
  ]
}
```

## References

- https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap
- https://nextjs.org/docs/app/api-reference/file-conventions/metadata/sitemap

## More seo rules

`void seo` reports 60 rules in this category. What search engines need from the raw response: status codes, titles and descriptions in <head>, self-referencing canonicals, one h1, crawlable links, Open Graph, icons, robots.txt and a sitemap with real dates.

- `robots-txt-invalid` robots.txt serves HTML, exceeds 500 KiB, or has unparseable lines — [seo/robots-txt-invalid](https://void-design.vercel.app/rules/seo/robots-txt-invalid)
- `robots-blocks-all` robots.txt disallows the site for * / Googlebot / Bingbot — [seo/robots-blocks-all](https://void-design.vercel.app/rules/seo/robots-blocks-all)
- `robots-blocks-resources` robots.txt blocks JS/CSS needed to render — [seo/robots-blocks-resources](https://void-design.vercel.app/rules/seo/robots-blocks-resources)
- `robots-sitemap-directive` robots.txt has no absolute Sitemap: line — [seo/robots-sitemap-directive](https://void-design.vercel.app/rules/seo/robots-sitemap-directive)
- `sitemap-invalid` Sitemap isn't valid sitemap XML or exceeds protocol limits — [seo/sitemap-invalid](https://void-design.vercel.app/rules/seo/sitemap-invalid)
- `sitemap-url-invalid` Sitemap <loc> is relative or on another host — [seo/sitemap-url-invalid](https://void-design.vercel.app/rules/seo/sitemap-url-invalid)
- `sitemap-lastmod` <lastmod> invalid, in the future, or identical across entries — [seo/sitemap-lastmod](https://void-design.vercel.app/rules/seo/sitemap-lastmod)
- `sitemap-url-status` Sitemap lists URLs that don't return 200 directly — [seo/sitemap-url-status](https://void-design.vercel.app/rules/seo/sitemap-url-status)

Detected by `void seo` and `void audit`. Explain it in a terminal: `void rules seo/sitemap-missing`
