Sitemap Keyword Parser
Extract keyword terms and two-word phrases from URLs in sitemap.xml and sitemap index files.
Sitemap Keyword Parser (Free)
Extract keywords from URLs found in sitemap.xml or sitemap index files. The parser groups frequent terms and phrases to reveal topical clusters, semantic gaps, and content expansion ideas.
How to Use
- Paste a sitemap.xml (or sitemap index) URL and start analysis
- Choose stop-word language and URL parsing limit
- Use top terms and phrases to plan clusters and new pages
Use Cases
- Quick semantic audit of already published URLs.
- Find under-covered topics before planning new content.
Limitations
- The parser extracts terms from URLs, not full on-page content.
- Output quality depends on URL cleanliness and slug conventions.
Example Input / Output
https://example.com/sitemap.xml
Top terms: seo (64), audit (48), checklist (19) Top phrases: seo audit (22), technical seo (11)
FAQ
Sitemap keyword extractor: what it does
The tool takes the XML sitemap of any website, yours or a competitor's, and pulls keywords out of the page URLs. Well-built sites put the topic of each page in its URL: /sofas/corner-sofa-loft/. Collect those URLs across a whole site, count the words, and you get a map of which topics and product groups the site covers and how many pages each one has. The output is two tables of up to 100 rows each:
- Top terms: single words from the URLs, with a count and a sample URL where each appears;
- Top phrases: pairs of adjacent words (bigrams), which usually describe the topic more precisely, such as "corner sofa" or "king size".
A summary at the top shows how many URLs were parsed, how many unique terms and phrases were found, and how many sitemap files were read. Export everything to CSV (columns type, keyword, count, sample_url) or copy the top 30 terms in one click. It is free and needs no sign-up.
Unlike a crawler, the parser never opens the pages themselves. It reads only the sitemap files, so a thousand URLs take seconds and put almost no load on the other site. The flip side is that only addresses are analysed, not titles or page text. If a site uses meaningless URLs, there will be nothing to extract.
Example output
Say a furniture store's sitemap contains six URLs:
/sofas/corner-sofa-loft/
/sofas/straight-sofa-oslo/
/beds/king-size-bed-loft/
/blog/how-to-choose-a-sofa/
/sofas/corner-sofa-bed-milan/
/product/sofa-bed-oslo/
The parser drops blog and product as technical words, plus stop words such as "how", "to" and "a", and returns:
| Term | Count | Phrase | Count |
|---|---|---|---|
| sofa | 5 | corner sofa | 2 |
| sofas | 3 | sofa bed | 2 |
| bed | 3 | sofas corner | 2 |
| corner, loft, oslo | 2 each | king size | 1 |
On a real site with a thousand pages the picture is far clearer: dozens of pages for "corner sofa", three for "sofa bed", none for "modular sofa". That tells you which queries a competitor has built dedicated landing pages for, and where the gaps are.
How to extract a competitor's keywords from their sitemap
- Find the sitemap. You can simply enter the site's address: if the link does not look like a sitemap file, the tool tries
/sitemap.xmland/sitemap_index.xmlon its own. If neither exists, openexample.com/robots.txtand look for theSitemap:line. - Pick the right part. Large sites split their sitemap into files for products, categories and posts. The tool parses a sitemap index by itself and reads up to 20 child files, but if you only want categories, point it at that file directly, for example
/product_cat-sitemap.xmlon WordPress with Yoast. - Set the stop-word language. "Auto" strips prepositions and conjunctions in English, Polish, Ukrainian and Russian at once. Pick a single language when a short word from another language matters in your niche.
- Set the URL limit, from 50 to 2000 (500 by default). 500 is enough for a topic overview. For a full store use 2000 and parse the sitemap in parts.
- Download the CSV and repeat for your own site. Comparing the two tables shows product groups and topics the competitor has and you do not.
Where to find the sitemap, and three practical uses
Common sitemap locations by platform: WordPress without plugins uses /wp-sitemap.xml, WordPress with Yoast or Rank Math uses /sitemap_index.xml, and Shopify, Wix and Squarespace use /sitemap.xml. Paste any of these straight into the field.
- A competitor's category structure. Parse the category or product sitemap of the niche leader. The most frequent phrases show which groups get their own pages: by type ("corner sofa"), material, size or location. If you lump those groups into one filtered category, they are candidates for dedicated landing pages.
- Blog topics. Point the tool at the competitor's post sitemap only (
/post-sitemap.xmlwith Yoast). The top phrases show what they write about regularly, and the sample URLs lead to specific articles. Compare with your own blog: topics you have not covered make a ready-made content plan. - A niche overview. Parse the sitemaps of five to ten competitors, merge the CSVs and count how many sites use each phrase. Groups nearly everyone has are the baseline. Rare ones are either open opportunities or simply not needed, which search demand will tell you.
Note that the tool does not export the full list of URLs from the sitemap: the report holds terms and phrases with one sample URL each. Usage is limited to 8 runs per minute plus a daily cap for heavy tools.
Reading the results: counts, plurals and phrases
- Count is how many times a word appears across all URLs. A word used twice in one URL (
/sofa/corner-sofa/) counts twice. In practice the count tracks the number of pages on that topic. - No stemming. "sofa" and "sofas" are separate rows, so merge them yourself when grouping.
- Phrases cross path levels. Adjacency is measured after filtering and across slashes, so you will see pairs like "sofas corner" (section + product). That is by design: such phrases reveal the section hierarchy.
- What gets dropped: pure numbers, words under 3 characters, technical words (www, html, php, page, blog, news, tag, category, catalog, product, shop and similar), the domain and anything after
?. Sites with URLs like/p/12345have nothing to extract, and you will get a "no terms found" message. - Compressed sitemaps (
.xml.gz) are not parsed. Use the uncompressed version if the site has one. - Non-Latin URLs are decoded, so Cyrillic or accented slugs come through as readable words.
What to do with the keywords next
Words from URLs show what a site has built pages for, not what people search for. The next step is to check demand: take the phrases, turn them into natural queries ("corner sofa" → "corner sofa bed with storage") and check volumes and suggestions in the keyword research tool. Then map queries to pages, one cluster per landing page. The glossary entry on building a keyword map explains the approach.
Run on your own site, the parser also exposes messy URLs: repeated words, inconsistent spelling, technical fragments that slipped into the sitemap. If the sitemap contains URLs that should not be there (filters, pagination, blocked pages), audit it in full with the sitemap.xml analyzer. If two of your pages share the same phrase, check whether they compete in search with the keyword cannibalization checker.
RankBotAI — AI SEO Optimization for WordPress
RankBotAI AI plugin automatically finds and fixes SEO issues in WordPress products and posts — no manual editing.