Skip to content

SEOPart of: XML sitemaps

HTML sitemap vs XML sitemap: who each is for and whether you need both

An HTML sitemap is a page for people that links to the main sections of a site; an XML sitemap is a file for search engines. What each does, when an HTML sitemap is worth building, and how to make a good one.

getReport teamUpdated 26 Sept 20269 min read

An HTML sitemap is an ordinary web page that lists and links to the main sections and pages of a site, written for people who cannot find what they want through the menu. An XML sitemap is a machine-readable file that lists the URLs you want search engines to index. They share a name but do different jobs: almost every site should have the XML file, while an HTML sitemap is worth building mainly for large or deep sites. This guide explains the difference, when an HTML sitemap helps, and how to build a good one. For the XML side in depth, see the XML sitemap guide.

Quick answer

  • XML sitemap: a file for crawlers at /sitemap.xml, listing every indexable URL. Your CMS usually builds it. Keep it.
  • HTML sitemap: a page for visitors, usually linked from the footer, that shows the site's structure as grouped links.
  • You need an HTML sitemap if the site is large, has deep category trees, or has content the menu cannot reach in a few clicks.
  • You can skip it on a small site where the navigation already shows everything.
  • It is not a replacement for the XML file, or for good navigation.
  • Build it as a hierarchy of headings and lists, generated from the CMS so it stays current, and check its links with the broken link checker.

What is an HTML sitemap?

An HTML sitemap is a normal page on your site, often at /sitemap/ or /site-map/, with headings for each section and lists of links beneath them. A shop's might look like this:

HTML
<main>
  <h1>Site map</h1>
  <h2>Shop</h2>
  <ul>
    <li><a href="/hiking-boots/">Hiking boots</a>
      <ul>
        <li><a href="/hiking-boots/men/">Men's hiking boots</a></li>
        <li><a href="/hiking-boots/women/">Women's hiking boots</a></li>
      </ul>
    </li>
    <li><a href="/trail-running/">Trail running shoes</a></li>
  </ul>
  <h2>Help</h2>
  <ul>
    <li><a href="/delivery/">Delivery and returns</a></li>
    <li><a href="/size-guide/">Size guide</a></li>
  </ul>
</main>

It has the site's header, footer and design, and anyone can read it. Its job is orientation: showing, on one page, how the site is organised and where things live.

What is an XML sitemap?

An XML sitemap is a file in the sitemaps.org format that lists URLs for crawlers, with an optional last-modified date for each:

XML
<url>
  <loc>https://example.com/hiking-boots/men/</loc>
  <lastmod>2026-09-20</lastmod>
</url>

Visitors never see it. Search engines use it to discover pages, notice changes and learn which URLs you consider canonical. Sitemap examples shows complete files.

HTML sitemap vs XML sitemap: the differences

HTML sitemapXML sitemap
Written forPeopleSearch engine crawlers
FormatA web page with linksAn XML file in the sitemaps.org format
Usual address/sitemap//sitemap.xml
ListsMain sections and important pages, groupedEvery URL you want indexed
SizeReadable on one page, sometimes split by sectionUp to 50,000 URLs per file
CarriesLink text and structure<loc>, <lastmod>, image, video and hreflang data
Submitted to Search ConsoleNoYes
Built byYou or a pluginYour CMS, plugin or a generator
SEO effectInternal links to deep pagesDiscovery, recrawling, canonical hints

The short version: the XML sitemap tells search engines what exists; the HTML sitemap tells people where it is.

Does an HTML sitemap help SEO?

Indirectly, through internal links. An HTML sitemap linked from the footer gives every page it lists a link from a page that is itself one click from everywhere. That helps crawlers reach deep pages and gives those pages a little internal link signal, which matters most for pages the main navigation does not reach, such as sub-categories three levels down or an archive of guides.

It does not do the XML sitemap's job. It carries no dates, no canonical hints and no media or hreflang data, and Search Console does not report on it. It also does not fix weak navigation: if important pages are reachable only through the HTML sitemap, the real fix is to link them from the pages where they belong. Internal links: how many, where and with what anchor text and orphan pages cover that.

Does an HTML sitemap help accessibility?

Yes. WCAG 2.2 success criterion 2.4.5, Multiple Ways (level AA), asks that there be more than one way to find a page within a set of pages, except pages that are a step in a process. The W3C lists "providing a site map" as one sufficient technique, alongside site search, a table of contents and links between related pages. A site with search already meets it; an HTML sitemap is a simple second route that also helps people who do not use search, such as some screen reader and keyboard users.

For that to work, the page itself must be accessible: real headings, nested lists, descriptive link text and the site's normal landmarks. Landmarks and skip links covers the page structure.

Do you need both?

The XML sitemap: almost always. Most platforms build it automatically, it costs nothing, and Google uses it for discovery. Google's own guidance says a small, well-linked site may not strictly need one, but there is little reason to switch it off.

The HTML sitemap: it depends on the site.

Build one if …Skip it if …
The site has hundreds of pages or moreThe site has a few dozen pages
Categories go three or more levels deepEverything is one or two clicks from the home page
The menu shows only top sectionsThe menu already shows the whole structure
Visitors often search for pages that existSite search and navigation already work well
You have no site searchYou have good site search (for WCAG 2.4.5)

Large shops, universities, public-sector sites and publishers with archives get the most from one. A five-page business site gets nothing a good menu does not already give.

How to build a good HTML sitemap

Show the structure, not every URL

An HTML sitemap with 8,000 product links helps no one. List sections and categories, and the important standalone pages such as help, delivery and contact. For large archives, link to the archive pages rather than every item. If one page becomes too long to scan, split it by section, with a top page linking to each part. Structured navigation for large sites covers how to organise the hierarchy.

Generate it, do not type it

A hand-written sitemap page goes stale with the first new category. Generate it from the CMS:

  • WordPress: a page with a block or shortcode from a sitemap or SEO plugin that lists pages and categories, or a page template that uses wp_list_pages() and wp_list_categories().
  • Shopify: a page template in the theme that loops over your collections and pages with Liquid.
  • Frameworks and static sites: a route that renders the same page list the XML sitemap uses, as headings and nested lists.

Put a "Site map" link in the footer, where visitors look for it and where it is one click from every page. Keep the page indexable like any other page, and leave it out of the main menu.

Keep it clean

  • Use the same URLs as your navigation and canonical tags, never redirects or old addresses.
  • Use descriptive link text, the page titles, not "click here".
  • Leave out pages you would not want someone to land on: cart, account, thank-you and noindex pages.
  • Check its links whenever you restructure the site.

How to check both sitemaps

The sitemap checker finds your XML sitemap through robots.txt and /sitemap.xml, validates it, and requests up to 25 listed URLs to confirm they answer 200. For the HTML sitemap, run the broken link checker on the page itself: it requests up to 100 links on your site and 50 to other sites and lists any that are broken or redirect, with their anchor text.

Common mistakes

  • Calling the HTML page sitemap.xml, or submitting the HTML page in Search Console. Search Console accepts only XML, RSS, Atom or text sitemaps.
  • Deleting the XML sitemap because an HTML one exists. They are not interchangeable.
  • A hand-maintained HTML sitemap that still links to pages removed a year ago.
  • Listing thousands of links on one page, which is useless for people.
  • Using the HTML sitemap to hide poor navigation. If a page matters, link it from where people look for it.

Questions people ask

What is an HTML sitemap used for?

An HTML sitemap is used to help visitors find pages by showing the whole structure of a site on one page, as grouped links to its sections and key pages. It also gives deep pages an internal link, which helps crawlers reach them, and it counts as one of the "multiple ways" to find content that WCAG 2.2 asks for. It is linked from the footer.

Is an HTML sitemap still relevant for SEO?

It helps a little, through internal links, and mainly on large sites with deep categories. It gives pages that the main menu does not reach a link from a page one click from everywhere. It does not replace an XML sitemap, which Google uses for discovery and change dates, and it does not make up for weak navigation.

What is the difference between a sitemap page and sitemap.xml?

A sitemap page is an HTML page for people, with headings and links, usually at /sitemap/. sitemap.xml is a file for search engines in the sitemaps.org format, listing every URL you want indexed with optional dates. You submit sitemap.xml in Google Search Console; the HTML page is simply linked from your footer like any other page.

Check your site before and after Check