How to Find a Competitor's Keywords From Their Sitemap (No Paid Tools)
Every competitor you have publishes a complete list of their pages, in a standard format, at a predictable address, so that Google can read it. It's called a sitemap, and it's the most underused keyword source in SEO.
Each URL in it is a keyword the site decided was worth an article: /best-cordless-drill-under-100/ is not a page name, it's a query. Read three competitors' sitemaps and you have their content plans, in the order they published them, for free.
This guide is the method: how to find the sitemap, pull the article URLs out of it, turn slugs into keywords, spot the patterns that reveal what's working, compare it against your own site, and turn the result into a publishing plan. No paid tools, and an honest note at the end about the one thing a sitemap can't tell you.
The short answer
Open competitor.com/sitemap.xml (or find the address in competitor.com/robots.txt). Copy the URLs that are articles, not pages or categories. Strip each slug to plain words, and you have their keyword list.
Sort it by folder to see their topic clusters, by date to see what they're publishing now, and against your own site to see what you're missing. Then write the gaps.
If you'd rather skip the spreadsheet, AffSERP's Competitor Sitemap Explorer does the finding, filtering and slug-to-keyword cleanup for you; the manual method below is what it automates.
Step 1: Find the sitemap
Sitemaps follow a published standard, so they're in predictable places. Try, in order:
https://competitor.com/sitemap.xmlhttps://competitor.com/sitemap_index.xmlhttps://competitor.com/robots.txt, and look for a line beginningSitemap:. Sites can name the file anything, but the standard says to declare it here, and almost all do.
What loads will be one of two things. A sitemap is a flat list of URLs, each with an optional lastmod date. A sitemap index is a list of other sitemaps; WordPress sites running Yoast or Rank Math produce this, split into post-sitemap.xml, page-sitemap.xml, category-sitemap.xml and so on. If you land on an index, the file you want is the post one.
The format itself is defined at sitemaps.org, if you want to see exactly what each tag means.
Step 2: Keep the articles, drop the rest
A sitemap lists everything, and most of it isn't keywords. Before you read, remove:
- Structural pages: home, about, contact, privacy, terms, disclosure.
- Archives: anything under
/category/,/tag/,/author/,/page/2/or a bare year like/2026/. - Commerce and account paths:
/shop/,/cart/,/account/,/product-category/. - Media and feeds:
/wp-content/,/feed/, attachment pages. - Marketing pages on SaaS-style sites:
/pricing/,/features/,/login/.
In a spreadsheet, that's one filter on the URL column. What's left is the site's editorial output. On a WordPress blog with a split sitemap you can skip this step entirely by reading only post-sitemap.xml; on a site with one flat sitemap, this filtering is most of the work.
Step 3: Turn slugs into keywords
The last part of the URL is the keyword, lightly dressed. Clean it with three rules:
- Replace hyphens with spaces:
best-boot-dryers-for-wet-gearbecomes best boot dryers for wet gear. - Drop list counts and years:
8-best-folding-wagons-2026is targeting best folding wagons; the number and the year are packaging, not the query. - Ignore stop words at the ends: a trailing in or for left behind after removing a year is noise.
You'll occasionally hit a slug that's been shortened or renamed, so the page title is more accurate than the URL. For those, open the page; but for most sites, especially affiliate sites where slugs are chosen to match the keyword, the URL alone is reliable.
Step 4: Read the patterns
A list of three hundred keywords is data. The patterns are the intelligence. Look for:
- Intent mix. How many slugs start with best, contain vs or review (buyer intent), versus how to, what is, guide (informational)? An affiliate site's ratio tells you where its money comes from and how much support content it thinks it needs.
- Clusters. Group by the product noun: everything about tents, everything about sleeping bags. The biggest clusters are the topics the site has decided to own, and the small ones are the topics it's only dabbled in.
- Modifiers. under $100, for beginners, for small spaces, for cold weather. These are the long-tail angles that rank, and the same modifiers usually work across every product in the niche.
- Folders. A site organised as
/reviews/,/guides/and/comparisons/is showing you its content types and roughly how many of each it maintains. - Dates. Sort by
lastmod. The newest URLs are what the site is investing in now; a cluster with recent dates is one they've found profitable. Old pages with fresh dates are being updated, another signal that they earn.
Step 5: Find the gaps
Put your own sitemap through the same three steps and compare the two keyword lists. Three lists fall out:
- They have it, you don't. Your content gaps. Prioritise the ones inside clusters you already cover, since your site has authority there already.
- You both have it. Check who ranks. If they outrank you, their page tells you what yours is missing.
- You have it, they don't. Your edge; keep those pages current, since a competitor reading your sitemap will find them next.
Do this for two or three competitors rather than one. A keyword all of them target is a validated topic; a keyword only one targets might be a smart find or a mistake, and their lastmod date and its rankings will tell you which.
What a sitemap can't tell you
Two things, and they're worth being honest about. A sitemap has no search volume: it shows what a competitor chose to target, not how many people search for it. And it doesn't show whether the page ranks. A site can publish two hundred articles and rank for forty.
So treat the list as a set of hypotheses, then verify the ones you care about for free: type the keyword into Google and read the autocomplete and the "People also ask" box for demand signals, look at who holds the top ten for competition, and, once your own pages are live, use Search Console to see which of your versions actually get impressions.
That's also the moment to check that the site itself is worth copying; a competitor whose site is built the way Google's guidance rewards is a better model than one with a big sitemap and no rankings, and we covered what that looks like in how to rank an affiliate website.
From list to plan
The output of this exercise is a keyword list with intent, cluster and priority attached, and the trap is treating it as a backlog to work through one article a week. A competitor whose sitemap shows fifty articles about tents got their authority from the fifty, not from any one of them, so the plan that beats them is covering the cluster, not sampling it.
For each keyword, the slug already tells you what to write: best is a buyer guide, vs is a comparison, review is a single-product review, how to is an informational article; the formats and how to structure each are in writing buyer guides that rank.
Doing it in one step with AffSERP
Everything above is a spreadsheet and an hour per competitor. The Competitor Sitemap Explorer in AffSERP does the first four steps in seconds. Enter a domain and it:
- finds the sitemap, including via robots.txt and sitemap indexes;
- filters out pages, archives, shop and marketing URLs;
- turns each remaining slug into a clean keyword;
- shows the list with a checkbox next to each.
Tick the ones you want and click Write. Each keyword is routed to the right tool by intent, buyer-intent keywords to the buyer-guide writer and informational ones to the article writer, then written from live product data and published to your site.
The gap analysis and the judgment about which competitor to copy are still yours; the copying, cleaning and writing aren't.
FAQ
How do I find a competitor's sitemap?
Try /sitemap.xml, then /sitemap_index.xml, then look for the Sitemap: line in /robots.txt. On WordPress sites the articles are usually in post-sitemap.xml.
Can I get keywords from a sitemap without paid tools?
Yes: the slug is the keyword. What you don't get is search volume or rankings; verify those with Google autocomplete, the live results, and Search Console.
Is it legal?
Yes. Sitemaps are public files published for search engines and contain only URLs and dates. Using the keyword list to write your own pages is ordinary competitive research; copying the articles is not.
What if there are thousands of URLs?
Filter out pages, archives and shop paths, keep the article folder, sort by lastmod. A few thousand URLs usually becomes a few hundred articles.
Enter a domain, get their keyword list cleaned and sorted, tick the ones you want, and turn them into published articles.
Start with free words