A sitemap is a map of your website. (It’s all there in the name.)
Here’s the question I know you’re asking—why would you need a map for your website? It’s much easier to guide users to a page by just sending them a URL or having them click through your (hopefully) shallow site structure than it is to have them look at a map.
Here’s the thing: Sitemaps aren’t designed for users. They’re designed for web crawlers.
When your site has a dense internal linking structure, Google and other search engines can find all of the pages on your site fairly easily (except, of course, those disallowed by your robots.txt).
We don’t want these search engines finding our pages fairly easily. We want them to find our pages really, really easily!
That’s what sitemaps allow us to do. They’re extremely simple to create and send to Google, and they make Google’s life easier. Your sitemap tells crawlers exactly where to go. In my experience, sending sitemaps to Google gets your site crawled faster.
In the world of SEO, we love easy wins. Creating and submitting sitemaps to search engines?
That’s an easy win.
Let me show you how:
Types of Sitemaps
There are several different types of sitemaps you can create and upload to Google and other search engines. The two most common sitemaps are:
- XML sitemaps
- HTML sitemaps
Within these two types of sitemaps, there are several subcategories, including:
- Video sitemaps
- Image sitemaps
- News sitemaps
Let’s take a look at each type of sitemap in greater detail:
XML sitemaps are the most common type. Several different programs, plug-ins, and other pieces of software allow you to generate and send XML sitemaps automatically (and I’ll give you a how-to guide on using these pieces of software to create sitemaps in the next sections).
These sitemaps, written in XML (eXtensible Markup Language), are designed to be extremely easy for machines to read—though they’re basically unreadable by humans. The reason XML sitemaps have become so popular is that they’re extremely easy to generate, and they’re readily accepted by Google as a preferred sitemap format.
While XML sitemaps are machine-friendly, HTML sitemaps are human-friendly. They’re literally just a collection of links sorted in an easy-to-understand way to help users navigate your site. They might literally be hosted in a subdirectory called sitemap (as is the case with this Best Buy sitemap), or, for smaller sites, they may even be listed in the footer.
HTML sitemaps are useful, but they’ve largely fallen out of favor. Realistically, most sites (especially e-commerce sites) can’t host a map of all of their pages and claim that the map is user-friendly.
Search engines won’t penalize you for having HTML sitemaps, however—in fact, their crawlers will crawl all of the links on your sitemap (eventually). Realistically, however, you can guide your users through your site using dropdown menus from your header or through other modern navigational tools. For these reasons (and the existence of XML sitemaps), HTML sitemaps are largely unnecessary.
Video, image, and News Sitemaps
The types of sitemaps described above give search engines more context for hard-to-parse content. Videos and images often don’t contain the text elements that search engines use to understand websites, and news-related content can sometimes exist without the metadata needed for search engines to recognize it as news.
I recommend uploading video, image, and news sitemaps where relevant, but I want to encourage you to employ SEO best practices throughout your site. The proper use of schema and other structured data can help search engines parse exactly what your content is.
Using alt tags for every image, for example, will help search engines understand images, while marking news with NewsArticle schema can help search engines understand that it’s news.
It’s best practice to submit video, image, and news sitemaps to Google, but if you’re also using other SEO best practices, it may not be as necessary.
How To Upload Your Sitemap to Google Search Console
I’m going to teach you how to generate sitemaps in the next sections. In almost all cases, once the sitemap is generated, you’ll need to point Google (and other search engines) to its location.
Uploading a sitemap to Google Search Console (GSC) is easy. Here’s how to do it:
- Go to GSC (https://search.google.com/search-console/)
- In the menu on the left-hand side of the page, click Sitemaps
- Use GSC’s sitemap tool to submit your sitemap
It’s as simple as that—three easy steps, and GSC will have access to your sitemap. I’ll talk a little more about how GSC parses sitemaps as this guide continues.
You’ll note that the methods I use for creating sitemaps almost all create a sitemap index. This index is a kind of meta-sitemap; it points Google to all of the sitemaps of your site.
Most sitemap generators make relatively small sitemaps, breaking up your site into smaller pieces. This is best practice—evidence points to Google crawling smaller sitemaps more quickly. Additionally, some sitemaps (such as video and image sitemaps) are best to keep separate from your “main” sitemaps. The sheer number of sitemaps created for these reasons is why we need an index to track all of our sitemaps.
How To Create an XML Sitemap for WordPress
There are a number of different tools you can use to generate XML sitemaps for your WordPress site. I’m going to recommend two different tools—they’re both SEO plugins that offer a lot of functionality, including the ability to generate dynamic (automatically updated) XML sitemaps:
Using Rank Math
Rank Math is my current favorite WordPress plugin for SEO. It’s free, it’s powerful, it’s easy to use, and it’s absolutely loaded with features—all while being relatively lightweight.
Before I teach you how to get an XML sitemap using Rank Math, here are a couple of notes:
- By default, Rank Math’s sitemaps are limited to 200 URLs per sitemap. This is a great setting, and I encourage you to leave it as-is. It’s better to have multiple sitemaps than one 50,000 URL sitemap
- News, Video, and Local sitemaps and settings are only available in Pro
Here’s how to get an XML sitemap using Rank Math:
Installing Rank Math for the first time
- Install the Rank Math plugin on your WordPress page
- Follow the Rank Math Setup Wizard
- When you arrive at “Sitemaps”, ensure that the Sitemaps switch is toggled “On” (it is by default). You can then configure your sitemap settings at this point. (I’ll talk more about optimizing sitemap settings later). The default settings should be perfect for 99.9% of users.
- Once everything is configured, save your settings and complete setup.
- Get your XML Sitemap URL (by default, it’s yoursite.com/sitemap_index.xml), then upload it to Google Search Console.
Updating your sitemap settings with Rank Math
- Click on Rank Math in the WP menu
- Click Sitemap Settings
- Change the settings you want to change (the sitemap URL will be displayed at the top of the General tab in Sitemap settings)
- Most changes should be reflected in your sitemap automatically, so you won’t need to reupload to GSC.
Yoast is another exceptionally useful WordPress plug-in—it’s the OG, and it should come as no surprise that it allows you to generate sitemaps. Its sitemap tool is less user-friendly than Rank Math’s (you might even have to *gasp* write a bit of code to make adjustments to your sitemaps), but it’s still incredibly easy to use.
XML sitemaps are enabled by default in Yoast. To check whether or not Yoast is generating XML sitemaps for your site, follow these simple stamps:
- Click “SEO” in the WP menu (that’s Yoast)
- Click “General”
- A new menu should pop up. Click “Features” in this menu.
- Scroll down to XML sitemaps. This should be toggled “On”. If it’s not, toggle it to “On”, then click “Save Changes” at the bottom of the “Features” screen.
- You can check your XML sitemap by clicking the (?) beside “XML sitemaps”. A link with the anchor text “See the XML sitemap” should appear.
To change some of the sitemap settings, you’ll have to use a bit of elbow grease—editing your functions file. Other times, you’ll adjust settings using the “Search Appearance” menu in the Yoast SEO menu. Covering how to adjust sitemaps in Yoast is a bit beyond the scope of this article, so I recommend you check out its guide on how to customize its sitemap index.
Should I Use the XML Sitemap Generated by WordPress?
WordPress automatically generates XML sitemaps. Generally, I discourage using those default sitemaps. The reasons for this are twofold:
- The tools I mention above automatically generate sitemaps for you.
- Those tools give you more granular control over your sitemap with less coding. In other words, they’re more user-friendly.
I truly believe that 99.9% of sites should be running Rank Math or Yoast anyway, so you might as well use the sitemaps that they provide.
How To Create an XML Sitemap for Shopify
Shopify automatically generates XML sitemaps. The sitemaps it generates can be found at “yoursite.com/sitemap.xml”.
This XML file is a sitemap index—that means it contains links to the various sitemaps that Shopify generates. This is an extremely useful feature because many Shopify users are e-commerce merchants with hundreds or thousands of different pages (or more). Generally, Shopify will divide sitemaps into four different types:
- Product Pages (sitemap_products_1.xml)
- Collection Pages (sitemap_collections_1.xml)
- Blog Posts (sitemap_blogs_1.xml)
- Pages (sitemap_pages_1.xml)
As each sitemap grows, Shopify will automatically create new sitemaps to avoid going over Google’s 50,000 URL limit for sitemaps. This generally happens once a sitemap hits 5,000 URLs. For example, once you’ve created your 5,001st product page, Shopify will automatically generate a new XML file called sitemap_products_2.xml.
While this means you don’t need to manually maintain your sitemap, you’ll still need to submit the sitemap to GSC.
Editing the details of your sitemap on Shopify is next to impossible if you don’t know how to code. You’ll need to edit the robots.txt to noindex pages—which won’t stop those pages from being included in your sitemap but will stop crawlers from reading them.
Again, the how-to for doing this is outside of the scope of this article, so I’ll refer you to two resources that you may find useful:
- Here’s Shopify’s guide to hiding pages from search engines
- And here’s its guide to editing robots.txt
How To Create an XML Sitemap for Wix
Wix automatically generates an XML sitemap for your website. The sitemap generated by Wix can be found at yoursite.com/sitemap.xml.
As is the standard, the sitemap found at that URL is a sitemap index—a directory that contains the URLs for all of the sitemaps Wix generated for you. Wix can create sitemaps (which it refers to as secondary sitemaps) for a wide range of different categories, including:
- Blog Posts (/blog-posts-sitemap.xml)
- Pages (/blog-posts-sitemap.xml)
- Product Pages (/store-products-sitemap.xml)
- Bookings (/booking-services-sitemap.xml)
There are many more sitemaps that Wix may generate—you can see the full list on Wix’s guide to understand your sitemap.
Currently, Wix doesn’t allow you to manually edit your sitemap. This can make it a bit tricky to restrict which pages are included in your sitemap.
Fortunately, there’s something of a workaround. I recommend using Wix to stop search engines from crawling individual pages, effectively adding a “noindex” tag without having to code. Again, how to do this falls outside the scope of this article, but Wix created an easy-to-follow guide to preventing search engines from indexing your page.
It’s worth noting that Wix has an “SEO Wizard”—if you use that tool, it will automatically upload your sitemap to GSC, so you don’t have to.
How To Create an XML Sitemap for Squarespace
Squarespace automatically generates a sitemap for your website. You can find this sitemap at yoursite.com/sitemap.xml.
You cannot edit or add a sitemap to Squarespace, which means you’ll have to tell Squarespace which pages to exclude from the sitemap in a different way. I’ll show you how to do that in a second—first, though, I’ll tell you that Squarespace is already configured to automatically exclude some pages from your sitemap. The pages it excludes include:
- The URLs of uploaded files
- Disabled pages
- Pages with page passwords
- And more
The standard exclusions are well-designed. There may, however, be other pages you want to exclude from your sitemap. Follow Squarespace’s guide to hiding pages from search engines—it makes it pretty easy.
One final note on Squarespace sitemaps—it uses Priority in order to tell Google which pages to crawl first. This isn’t harmful, but it’s no longer best practice—Google cares a lot more about the “Last Modified” (lastmod) attribute than a page’s priority. In other words, Google is more likely to crawl sitemaps that have changed rather than sitemaps with a high-priority attribute.
Best Practices and Pro Tips for Sitemaps
I’ve covered a lot of different topics, and over the course of this article, I’ve given you a few tips that I consider best practice. There are a couple of other things I’d like to draw your attention to as I start to wrap things up, though.
First—because this bears repeating—I highly encourage you to use tools to create dynamic (automatically updated) XML sitemaps—don’t try to make sitemaps yourself.
Choose tools that make relatively small sitemaps. That’s useful for two reasons:
- There’s some (admittedly not a lot of) evidence that Google crawls pages with smaller sitemaps faster
- You can use small sitemaps to diagnose indexing errors
Sometimes, GSC will tell you that it hasn’t indexed a number of pages. When this happens, you can break your sitemap into smaller sitemaps to diagnose where the missing pages are. Simple, but effective (though other tools like Screaming Frog might be a faster way of diagnosing indexing problems).
Often, indexing problems will be the result of too many duplicate pages—something to keep in mind.
Finally, a tip that’s tangentially related to sitemaps—for pages you don’t want indexed, avoid using robots.txt where you can. Instead, use “noindex, follow” to preserve link equity. Robots.txt simply blocks any (legitimate) crawlers you disallow from seeing a page at all.
Include Your Sitemap URL in Your robots.txt File
The tools I’ve described above for creating your own sitemap should automatically include that sitemap in your robots.txt. Note that you’re not disallowing crawlers from viewing your sitemap—quite the opposite! You’re specifically telling crawlers to crawl every page on your sitemap.
Here’s how to do it (it’s very simple)
- Access your robots.txt (how to do this will differ based on your website)
- Find the section of your robots.txt with the following text (if this code doesn’t exist, create it at the top of your robots.txt file)
- Create a break between disallow and the next paragraph. Then, type in your sitemap index URL. The text should look like this:
Note that you only need to include your sitemap index, not every individual child sitemap contained within that index (though you can include each individual sitemap if you want to).
Common Mistakes To Avoid With Sitemaps
There are a few common mistakes I want to help you avoid:
- Avoid putting “noindex” pages in your sitemap, as it sends Google conflicting signals.
- Only include canonical pages in your sitemap.
- Don’t let your sitemap get too big—200 URLs or less is often perfect!
- Don’t bother updating the Frequency (changefreq) or Priority attributes—Google doesn’t pay attention to these attributes.
- Don’t include password-protected, wishlists, and similar functional (but non-content) pages in your sitemap.
- Don’t forget to submit your sitemap through GSC—and consider submitting it to Bing and other search engines!
Q: Can I exclude certain pages from my sitemap?
A: You can. There are several methods of doing this, and they range from manually excluding a page from a sitemap you built yourself, to toggling a switch using tools like Rank Math.
Q: How do I submit my sitemap to Bing Webmaster Tools?
A: Submitting a sitemap to Bing Webmaster Tools is simple.
- Sign in to your Bing Webmasters account
- Go to the Sitemaps tool
- Click Submit Sitemap
- Paste the URL for your sitemap in the box that pops up, and click Submit!
Note that if you sign into Bing Webmaster Tools with a Google account, and you’ve already set up your sitemap on GSC, your sitemaps will automatically be imported into Bing. Handy!
Q: How do I submit my sitemap to Google Search Console?
A: Go to GSC (https://search.google.com/search-console/)
- In the menu on the left hand side of the page, click Sitemaps
- Use GSC’s sitemap tool to submit your sitemap
Q: How do I create a sitemap for a large website with thousands of pages?
A: You’ll use an XML sitemap index file. When your website has more than 50,000 URLs, you should make an XML sitemap index file to split your sitemap into multiple files. This can help make it easier for search engines to process and index your sitemap.
The tools I listed above all automatically generate XML sitemap indexes. I recommend keeping most of your sitemaps to well under 50,000 URLs—1000 or less is usually best.
You can also use a sitemap generator tool: There are several tools available that can help you create and maintain a sitemap for a large website. These tools can crawl your website and automatically generate a sitemap based on the pages they find. Some popular options include:
- Screaming Frog (a personal favorite)
- A1 Sitemap Generator