A sitemap looks like a list of your website’s page addresses. The version Google reads is a small XML file: each page sits inside <url> and <loc> tags, with an optional last-changed date. There are also HTML sitemaps (a page of links for visitors) and visual sitemaps (a drawing used to plan a site). Below you will see all three, five real sitemaps from live websites, copy-paste templates, and a free builder that writes yours.
Here is the idea that makes the rest easy: a sitemap is one list of pages, written three ways. Look at the same small business in each format and the differences stop being confusing.
//about//services//services/drain-cleaning//services/water-heaters//contact/<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url><loc>https://www.example.com/</loc></url> <url><loc>https://www.example.com/about/</loc></url> <url><loc>https://www.example.com/services/</loc></url> <url><loc>https://www.example.com/services/drain-cleaning/</loc></url> <url><loc>https://www.example.com/services/water-heaters/</loc></url> <url><loc>https://www.example.com/contact/</loc></url></urlset>
What should a sitemap look like?
A correct XML sitemap in 2026 is shorter than most examples online. You need three tags: <urlset> around the whole list, <url> around each page, and <loc> with the page address. The sitemaps.org protocol, which Google, Bing and other engines follow, marks only those as required; everything else is optional.
sitemap.xml
Tap another line to compare.
<?xml version="1.0" encoding="UTF-8"?>
<urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.example.com/</loc>
<lastmod>2026-10-02</lastmod>
</url>
<url>
<loc>https://www.example.com/drain-cleaning/</loc>
<lastmod>2026-09-18</lastmod>
</url>
</urlset>Two more rules from the protocol catch people out. The file must be saved as UTF-8, and symbols inside addresses must be “escaped”, so & becomes &. Dates use the W3C format, and you may drop the time and write just YYYY-MM-DD.
What about <priority> and <changefreq>? You will still see them in templates, in plugin output and even in AI answers. Google stopped using both:
<loc><lastmod><changefreq><priority>Bing looked at this at scale. In its February 2023 study, 58% of hosts had at least one XML sitemap, and 84% of those sitemaps set lastmod. Bing also found most changefreq and priority values “are not set correctly”, which is why it ignores them too. The lesson: spend your effort on the right pages and honest dates.
Real sitemap examples from live websites
Templates are useful, but real files show what actually works at scale. We opened the public sitemaps of five well-known sites on 19 October 2026 and counted what is inside. Each one teaches one thing you can copy.
www.apple.com/sitemap.xml<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url><loc>https://www.apple.com/</loc></url>
<url><loc>https://www.apple.com/accessibility/</loc></url>
<url><loc>https://www.apple.com/airplay/</loc></url>
<url><loc>https://www.apple.com/airpods-max/</loc></url>
...
863 URLsin one 74 KB file, and every entry is a single <loc> line. No dates, no priority, nothing else.
What to copy: a sitemap can be nothing more than your page addresses. If you cannot keep dates honest, leave them out.
Open it yourself: www.apple.com/sitemap.xml
www.allbirds.com/sitemap.xml<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<!-- This is the parent sitemap linking to additional sitemaps for products, collections and pages as shown below. The sitemap can not be edited manually, but is kept up to date in real time. -->
<sitemap>
<loc>https://www.allbirds.com/sitemap_products_1.xml?from=1878193471557&to=7369944137808</loc>
</sitemap>
<sitemap>
<loc>https://www.allbirds.com/sitemap_pages_1.xml?from=154421575&to=94891114576</loc>
</sitemap>
<sitemap>
<loc>https://www.allbirds.com/sitemap_blogs_1.xml</loc>
</sitemap>
...
8 fileslisted in the parent index, split by type: products, pages, collections, blogs, articles and more. Note & inside the addresses: that is the escaped form of &.
What to copy: split by page type, so you can see in Search Console which group has problems. On Shopify this happens for you.
Open it yourself: www.allbirds.com/sitemap.xml
seoshut.com/sitemap_index.xml<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" ...>
<url>
<loc>https://seoshut.com/blog/5xx-server-error/</loc>
<lastmod>2026-10-18T09:29:21+00:00</lastmod>
<image:image>
<image:loc>https://seoshut.com/wp-content/uploads/2026/10/5xx-server-error-hero-1.jpg</image:loc>
</image:image>
</url>
...
5 sitemaps, 137 URLsPosts (60), pages (22), case studies (18), tools (30) and authors (7). Each post carries its images with <image:image>.
What to copy: one sitemap per content type, real lastmod times from the last edit, and your images listed under the page that uses them.
Open it yourself: seoshut.com/sitemap_index.xml
techcrunch.com/wp-sitemap.xml<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://techcrunch.com/sitemap-page-1.xml</loc>
<lastmod>2026-10-19</lastmod>
</sitemap>
<sitemap>
<loc>https://techcrunch.com/sitemap-page-2.xml</loc>
<lastmod>2026-10-19</lastmod>
</sitemap>
...
2,061 sitemapsin the index, and the first one we opened holds 200 URLs. Dates are written short (YYYY-MM-DD), which the protocol allows.
What to copy: many small files are fine. Short dates are fine. What matters is that every listed URL works.
Open it yourself: techcrunch.com/wp-sitemap.xml
www.squarespace.com/sitemap.xml<url>
<loc>https://www.squarespace.com/press-coverage</loc>
<changefreq>daily</changefreq>
<priority>0.75</priority>
<lastmod>2026-09-22</lastmod>
<image:image>
<image:loc>https://static1.squarespace.com/static/.../final_asset-press-and-media-banner.jpg</image:loc>
<image:title>Press Coverage</image:title>
</image:image>
</url>
6,350 URLsin a 1.9 MB file, with 1,724 image entries. It also keeps changefreq and priority, which Google ignores but which do no harm.
What to copy: nothing to fix if your builder adds extra tags. Spend your time on which pages are listed, not on these fields.
Open it yourself: www.squarespace.com/sitemap.xml
Notice how far every one of them is from the size limit. A single sitemap can hold 50,000 URLs or 50 MB (uncompressed), whichever comes first. That limit is the same for XML, RSS and text sitemaps, according to Google. Most small business sites will never get close:
Sitemap index example: when one file is not enough
A sitemap index is a sitemap of sitemaps. Instead of pages, it lists other sitemap files, and you submit only the index. Big sites use one because they must (Google allows up to 50,000 sitemaps in one index and up to 500 index files per site in Search Console). Small sites use one because plugins create it, and because splitting pages by type makes problems easier to spot.
The format is almost the same as a normal sitemap. Swap <urlset> for <sitemapindex> and <url> for <sitemap>:
sitemap_index.xml<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://www.example.com/page-sitemap.xml</loc>
<lastmod>2026-10-02</lastmod>
</sitemap>
<sitemap>
<loc>https://www.example.com/service-sitemap.xml</loc>
</sitemap>
<sitemap>
<loc>https://www.example.com/post-sitemap.xml</loc>
</sitemap>
</sitemapindex>
HTML sitemap example (the page for people)
An HTML sitemap is an ordinary page on your site, often linked in the footer, that lists your important pages as clickable links. It helps a visitor who is lost, and it gives every page at least one internal link. Google’s current sitemap documentation only covers the files written for crawlers, so think of the HTML version as a navigation aid, not a ranking tool.
The code behind it is a plain list of links. Paste this into any page and change the addresses (the builder below can also write it from your URL list):
sitemap page (HTML)<nav aria-label="Sitemap">
<h1>Sitemap</h1>
<h2>Services</h2>
<ul>
<li><a href="https://www.example.com/services/drain-cleaning/">Drain cleaning</a></li>
<li><a href="https://www.example.com/services/water-heaters/">Water heaters</a></li>
</ul>
<h2>Areas we serve</h2>
<ul>
<li><a href="https://www.example.com/areas/round-rock/">Round Rock</a></li>
<li><a href="https://www.example.com/areas/cedar-park/">Cedar Park</a></li>
</ul>
</nav>
Visual sitemap example for a local business
A visual sitemap is a planning drawing: boxes for pages, lines for how they connect. You make one before you build or rebuild a site, so every service and every town you serve gets its own page. Here is the shape we see work for local service businesses:
- Home
- Services
- Drain cleaning
- Water heaters
- Leak repair
- Areas we serve
- Austin
- Round Rock
- Cedar Park
- Reviews
- About
- Contact
- Services
Two levels deep is the sweet spot for most local sites: Home, then your main groups, then each service and each city page. Once the drawing is right, each box becomes one <loc> line in your XML sitemap.
Image, language, news and text sitemap examples
Most sites only need the standard file. These four extensions solve specific problems. Pick the one that matches your site and copy it:
Lists the images on each page. Up to 1,000 <image:image> entries per page, according to Google’s image sitemap guide. Most WordPress SEO plugins add these for you, like the seoshut.com file above.
image-sitemap.xml<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
<url>
<loc>https://www.example.com/gallery/bathroom-remodel/</loc>
<image:image>
<image:loc>https://www.example.com/images/bathroom-after.jpg</image:loc>
</image:image>
<image:image>
<image:loc>https://www.example.com/images/bathroom-before.jpg</image:loc>
</image:image>
</url>
</urlset>
For a site in two languages. Google’s rule: each <url> lists every language version, “including itself” (Google, localized versions).
sitemap.xml (hreflang)<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://www.example.com/en/drain-cleaning/</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://www.example.com/en/drain-cleaning/"/>
<xhtml:link rel="alternate" hreflang="es" href="https://www.example.com/es/limpieza-de-drenajes/"/>
</url>
<url>
<loc>https://www.example.com/es/limpieza-de-drenajes/</loc>
<xhtml:link rel="alternate" hreflang="es" href="https://www.example.com/es/limpieza-de-drenajes/"/>
<xhtml:link rel="alternate" hreflang="en" href="https://www.example.com/en/drain-cleaning/"/>
</url>
</urlset>
Only for publishers in Google News. Up to 1,000 <news:news> entries, and only articles “created in the last two days” (Google, news sitemaps).
news-sitemap.xml<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:news="http://www.google.com/schemas/sitemap-news/0.9">
<url>
<loc>https://www.example.com/news/new-water-rules-austin/</loc>
<news:news>
<news:publication>
<news:name>Example Times</news:name>
<news:language>en</news:language>
</news:publication>
<news:publication_date>2026-10-18</news:publication_date>
<news:title>New water rules for Austin homes</news:title>
</news:news>
</url>
</urlset>
The simplest format Google accepts: one full URL per line, nothing else, saved with a .txt ending (Google). Handy for a tiny hand-built site.
sitemap.txthttps://www.example.com/
https://www.example.com/services/drain-cleaning/
https://www.example.com/services/water-heaters/
https://www.example.com/contact/
Does my website need a sitemap?
Probably yes, and it costs nothing. Google’s own sitemap overview says a sitemap can help most when your site is large, new with few links pointing to it, or full of video and images. It also says you might not need one if your site is “small” (about 500 pages or fewer) and comprehensively linked internally.
Even then, Google adds that “in most cases, your site will benefit from having a sitemap.” Most platforms make one for you anyway, so the real job is checking that yours exists, lists the right pages and has been submitted. That is what the next part walks you through.
How to make a sitemap for your website, step by step
Six steps, about 15 minutes for a small site. If you use WordPress, Shopify, Wix or Squarespace, step 2 is already done for you.
Step 1. Check whether you already have one
Type your domain plus each ending below into your browser. If you see a list of links or XML code, you have a sitemap. You can also paste your domain into our free Sitemap Checker, which finds it and tests every URL inside, or follow the five checks in how to find the sitemap of a website.
yoursite.com/wp-sitemap.xmlyoursite.com/sitemap_index.xmlyourstore.com/sitemap.xmlyoursite.com/sitemap.xmlyoursite.com/sitemap.xmlStep 2. No sitemap? Build one here
For a hand-built site, or any site without a generator, paste your page addresses below. You get a valid file to download in XML (for Google), HTML (for a visitor page) or text. List only pages you want people to find in search: no thank-you pages, logins, redirects or duplicates.
Example addresses are filled in. Replace them with yours.
Runs in your browser; nothing you paste is sent anywhere. It escapes symbols like & for you, removes duplicates and skips addresses from other domains. Only tick lastmod if every page really changed on that date.
Step 3. Put the file at the top of your site
Upload sitemap.xml to the main folder of your website (the same folder as your homepage), using your host’s file manager or FTP. Then open https://yoursite.com/sitemap.xml to confirm it loads. Google recommends the root because a sitemap there “can affect all files on the site”.
Step 4. Add one line to robots.txt
Your robots.txt file is where crawlers look first. Add this line anywhere in it, with your own address, so Google, Bing and other crawlers can find the sitemap without being told:
robots.txtSitemap: https://www.example.com/sitemap.xml
Step 5. Submit it in Google Search Console
Open Google Search Console, choose your website, then click Indexing and Sitemaps in the left menu. Type the end of your sitemap address (for example sitemap.xml or sitemap_index.xml) into “Add a new sitemap” and click Submit. Do the same in Bing Webmaster Tools.
Skip the old “ping” trick you may read about: Google deprecated the sitemaps ping endpoint in June 2023. And keep expectations right. Google says submitting a sitemap is “merely a hint”: it helps Google find pages, but it does not guarantee they get crawled or indexed.
Step 6. Read the status and fix what it shows
Come back after a day or two. The Sitemaps report shows one of three statuses next to your file:
Then check that the pages themselves made it in. Paste a few into our Google Index Checker, or use the steps in how to check if a page is indexed.
Sitemap mistakes and how to fix them
When a sitemap fails, it is usually one line. These are the five we fix most often, each shown wrong and right:
<loc>https://www.example.com/shop?size=10&color=red</loc><loc>https://www.example.com/shop?size=10&color=red</loc>The protocol requires symbols like & to be written as entity codes. The builder above does this for you.
<loc>/services/drain-cleaning/</loc><loc>https://www.example.com/services/drain-cleaning/</loc>Google asks for “fully-qualified, absolute URLs”.
<loc>http://example.com/contact</loc><loc>https://www.example.com/contact/</loc>List the exact address you want in search (the canonical one). Leave out redirects, 404s and noindex pages.
<urlset xmlns="http://sitemaps.org"><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">This line must match the standard exactly, or the file is not read as a sitemap.
<lastmod>2026-10-19</lastmod> (on all 140 pages)<lastmod>2025-03-04</lastmod> (the day this page really changed)Google, June 2023: if lastmod keeps claiming changes that did not happen, “eventually we’re not going to believe you anymore”.
One more that does not show up as an error: listing pages that redirect or return 404. Google asks you to include the URLs “you want to see in Google’s search results”, so every address in the file should load with a 200 status. Run your list through the Redirect Checker or Broken Link Checker before you submit. Redirected entries often come from old redirect chains.
Sitemap done, but pages still not showing up? That is usually a crawl, content or local SEO problem, not the sitemap. Our team checks all of it in one audit.
FAQs
Are sitemaps still relevant?
Yes. Google says that in most cases a site benefits from having a sitemap, especially if it is large, new or full of images and video. Bing calls the lastmod date “crucial” for knowing when pages change, and IndexNow recommends using sitemaps alongside its instant URL submissions. A sitemap takes minutes to set up and keeps working by itself.
Where is the sitemap usually located?
Usually at the top of the domain: /sitemap.xml on Shopify, Wix and Squarespace, /sitemap_index.xml with Yoast SEO or Rank Math, and /wp-sitemap.xml on WordPress without an SEO plugin. Many sites also list it in robots.txt on a line starting with “Sitemap:”. Our free Sitemap Checker can find it for you.
Does Google use priority and changefreq in a sitemap?
No. Google’s documentation states plainly that it ignores both priority and changefreq values. It does use lastmod, but only when the dates are consistently accurate. Bing says it largely disregards changefreq and priority too. You can leave them in a file your platform generates; there is no need to add them to a new one.
How many URLs can one sitemap have?
Up to 50,000 URLs or 50 MB uncompressed per sitemap file, whichever limit you hit first. For more, split your pages across several sitemaps and list them in a sitemap index. WordPress core is stricter by default and puts at most 2,000 entries in each of its sitemap files, adding more files as your site grows.
Does submitting a sitemap guarantee my pages get indexed?
No. Google calls a submitted sitemap “merely a hint” and says it does not guarantee every listed page will be crawled and indexed. It helps Google discover your pages; whether they get indexed depends on quality, duplicates and technical issues. If pages stay out of the index, check them with URL Inspection or our Google Index Checker.
Sources: sitemaps.org protocol, Google: Build and submit a sitemap, Google: Sitemaps overview, Google: Large sitemaps, Google: Sitemaps report, Google: sitemaps ping deprecation, Bing: the importance of lastmod, IndexNow FAQ, WordPress 5.5 sitemaps. Real-file counts: SEOs Hut, 19 October 2026.
