Content Audit
Group your pages by topic, see how each topic performs, and find cannibalization and content gaps.
Enter a sitemap or sitemap index. Preview lets you choose which sub-sitemaps to import.
Site blocks automated requests? Paste or upload the XML instead
A CSV with a url column. Optional columns: page_title, meta_description, h1, page_type, clicks, impressions. Screaming Frog exports work.
One URL per line.
A previous fill couldn't find these (the site doesn't have them or blocked the request). Retry, or edit them by hand.
What does this do?
Opens each page that is missing a title, meta description or H1 and reads them from the HTML. Fast mode groups pages on exactly these fields, so fill them before you analyze. No AI, no cost.
What does this do?
Downloads every page and keeps its main text, with navigation, footers and other boilerplate stripped (up to about 14,000 characters a page). No AI is used and nothing is billed.
It is not the embeddings step. Embeddings are made in Analyze, from whatever text the mode you pick reads: Thorough embeds this body text and AI summaries has the AI summarize it, so topics follow what pages actually say rather than their titles.
Both modes fetch any missing pages on their own, so you can skip this. Running it here fetches once, so you can compare analyses without waiting, and refreshes every page after a site update.
If the site blocks or rate-limits the fetch, those pages keep the data they had, and the job goes back over them once at a gentle pace. When the site answers "too many requests" (HTTP 429), the job also slows itself down. Gentle starts slow: use it for sites that rate-limit.
Import Search Console data as the preferred source for rankings, traffic and shared queries. If you cannot access Search Console, use Moz ranking keywords instead.
What does this do?
Adds real clicks, impressions, position and top queries per page from a Search Console Pages export (or Queries + Pages). Performance and Cannibalization prefer it over Moz estimates, and Fast mode also reads each page's top queries when grouping.
For cannibalization you need one row per page and query: page,query,clicks,impressions,ctr,position. The Search Console website exports pages and queries separately, so pull it from the Search Console API, Looker Studio or a Sheets add-on with both the Page and Query dimensions. Looker Studio exports (Landing Page, Query, Url Clicks, Impressions, URL CTR, Average Position) work as they are. A Pages-only export (Top pages,Clicks,Impressions,CTR,Position) still gives traffic per topic. Big files are fine: the file is read in your browser and only each page's totals and top 25 queries are uploaded.
What does this do?
Asks Moz which keywords each page ranks for: keyword, position and monthly volume. One Moz call per page, starting with the pages listed first, up to the number you choose.
Results: the Performance tab estimates each topic's traffic from these rankings when you have no Search Console data. The Cannibalization tab flags two pages that rank for the same keyword, which page similarity alone can't prove. The Content gap tab uses them as your own positions.
It does not change how pages are grouped into topics. Pull before you run the gap, or run the gap again afterwards to use them. Locale picks the Moz index (en-US for a US audience).
Fetch Page Authority, inbound links and referring domains to compare which pages to keep. Uses your Moz API key and works alongside Search Console.
Analysis settings
Each page is turned into an embedding, a list of numbers that captures what the page is about. Pages with similar embeddings land in the same topic. This choice decides what text each embedding is made from.
Names every page group, then files the groups into topics and sub-topics (merging groups that cover the same thing). In AI summaries mode it also summarizes every page. Pick a provider you have a key for, then a quality level.
Pages are first split into small groups of closely matching content. The AI then names each group and organizes the groups into broad topics with sub-topics, so 2,000 pages on one subject become one topic, not dozens. This setting picks how small the first groups are, which mostly decides how fine the sub-topics can get. The number of topics comes from your content, not your page count.
Group counts are capped at 120. For libraries up to 1,500 pages the tool also tries 40% fewer and 40% more groups and keeps whichever splits most cleanly. Without an AI key, groups are gathered into topics by similarity only and are not merged.
Embeddings provider
Embeddings are the step that turns text into numbers for grouping; this is separate from the AI model above. OpenAI is the cheaper default ($0.02 per 1M tokens). Gemini ($0.15 per 1M) works too if that's the key you have. Switching provider means every page is embedded again.