The fastest reliable way to find all pages on a website is to combine a crawl, sitemap checks, Search Console data, analytics, and server logs. No single tool sees everything. Some pages are orphaned, blocked, redirected, hidden behind forms, or missing from XML sitemaps. A serious page discovery process compares several sources and then removes noise.

TLDR: Start with sitemap.xml, run a crawler, check Google Search Console, then compare the results with analytics and server logs. For example, a 1,200-page ecommerce site may show only 850 URLs in its sitemap, while a crawl finds 1,040 and server logs reveal 90 more product pages that still receive bot visits. In many audits, 10% to 30% of useful URLs are missed if you rely on only one source. Build one master URL list, classify each page, and fix gaps.

Why Website Page Discovery Matters

Finding every page on a website is not just an SEO task. It affects content quality, security, migrations, compliance, and user experience. If you do not know what exists, you cannot manage it.

Hidden pages can create real problems. Old campaign pages may still rank. Thin tag pages may waste crawl budget. Test pages may expose private information. Duplicate URLs may split ranking signals. It drives me crazy that many teams discover these issues only during a redesign, when deadlines are already tight.

A complete page inventory helps you answer basic questions:

[ai-img]website audit, url list, search data[/ai-img]

Method 1: Check the XML Sitemap

The XML sitemap is the easiest starting point. Most sites place it at /sitemap.xml. Some use sitemap indexes, such as /sitemap_index.xml, which link to several smaller sitemaps.

A sitemap often includes important pages, posts, products, categories, and media URLs. But it is not always complete. Many sitemaps are generated by CMS plugins, and those plugins may exclude noindex pages, private content, paginated URLs, filtered collections, or legacy pages.

Use the sitemap to build your first URL set. Then verify each URL. Check status code, canonical tag, indexability, page title, and last modified date. If the sitemap contains many redirected or broken URLs, fix that. Search engines expect sitemaps to be clean.

Method 2: Review Robots.txt

The robots.txt file can point to sitemap locations and show areas that crawlers are asked to skip. It usually sits at /robots.txt.

Do not treat blocked areas as irrelevant. A blocked folder may contain staging pages, internal search results, old downloads, or parameter-heavy URLs. You may not want those pages indexed, but you still need to know they exist.

Look for lines such as:

If you own the site, review whether each blocked path is still needed. If you are auditing a third-party site, stay within ethical and legal limits. Do not try to access protected areas.

Method 3: Crawl the Website

A crawler follows internal links and records the pages it finds. This is the core method for website page discovery. Tools such as Screaming Frog SEO Spider, Sitebulb, Oncrawl, and Lumar are commonly used for this work.

Set the crawler to collect status codes, canonicals, meta robots tags, headings, word count, internal links, and depth from the homepage. For JavaScript-heavy websites, enable rendering. Otherwise, the crawler may miss links loaded after the initial HTML response.

The catch is that crawling can produce a lot of junk. Faceted ecommerce URLs, tracking parameters, calendar pages, and internal search URLs can inflate a crawl from 5,000 useful URLs to 500,000 noisy ones. Set limits carefully. Use include and exclude rules. Save crawl settings so the audit can be repeated later.

[ai-img]web crawler, internal links, site structure[/ai-img]

Method 4: Use Google Search Console and Bing Webmaster Tools

Search engine webmaster tools show pages discovered by search engines. Google Search Console is especially useful because it separates indexed URLs, excluded URLs, crawled pages, and submitted sitemap URLs.

Check these reports:

This data is not instant. It can lag behind current site changes. Still, it is valuable because it shows what search engines have already found, not just what your crawler can reach today.

Method 5: Check Analytics Data

Analytics tools reveal pages that real users visited. Google Analytics 4, Matomo, Adobe Analytics, and similar platforms can export page paths, landing pages, sessions, conversions, and engagement data.

This is useful during migrations. A page may not appear in the sitemap or internal crawl, yet still receive traffic from email links, bookmarks, paid campaigns, or old referrals. Deleting it without a redirect can create avoidable losses.

Export at least 12 months of data if the business has seasonal traffic. For a smaller site, 90 days may be enough. Combine hostname and page path so you do not mix subdomains by accident.

Method 6: Review Server Logs

Server logs record requests made to the website. They can expose URLs requested by users, bots, monitoring systems, and old links. Logs are one of the best sources for finding pages that tools miss.

Look for successful 200 responses, redirects, 404 errors, and bot activity. Filter out assets such as images, CSS, JavaScript files, and fonts. Focus on HTML pages and important document files.

Honestly, it feels like log analysis is ignored because it is less polished than dashboard tools. But it often uncovers the most painful issues, such as thousands of bot hits to obsolete URLs or old product pages that were never redirected.

Method 7: Search Operators and External Indexes

Search operators can help find indexed pages. In Google, try:

These results are not complete, and counts are rough. Still, they help spot strange indexed areas. You can also use SEO platforms such as Ahrefs, Semrush, Moz, or Sistrix to find URLs with backlinks, rankings, or historical visibility.

Backlink data is critical. A forgotten URL with strong backlinks may deserve a redirect to a current page. Without that check, authority can be wasted.

Method 8: Inspect the CMS and Database

If you have admin access, export URLs directly from the CMS. WordPress, Shopify, Drupal, Joomla, Magento, Webflow, and custom systems all store page records somewhere. This source can reveal drafts, unpublished items, old products, media pages, and category archives.

For large sites, ask a developer for a database export of slugs, content types, status, publish dates, and canonical URLs. This is often faster than clicking through admin screens.

[ai-img]cms dashboard, database export, content inventory[/ai-img]

Build a Master URL Inventory

After collecting URLs, merge them into one spreadsheet or database. Normalize the format first. Remove fragments, standardize trailing slashes, convert hostnames consistently, and strip unnecessary tracking parameters.

Add columns such as:

This inventory becomes the working document for content audits, SEO fixes, migration planning, and governance.

Recommended Workflow

  1. Collect XML sitemap URLs.
  2. Review robots.txt and sitemap index files.
  3. Run a full crawl with rendering when needed.
  4. Export URLs from Google Search Console and Bing Webmaster Tools.
  5. Export landing pages from analytics.
  6. Analyze server logs for requested page URLs.
  7. Pull CMS or database records.
  8. Merge, clean, deduplicate, and classify.

The best result comes from comparing sources. If a URL appears in logs but not in the crawl, it may be orphaned. If it appears in the sitemap but returns a 404, the sitemap is wrong. If it gets clicks but is marked noindex, someone needs to review the intent.

Final Advice

Finding all pages on a website is a process, not a single button. Start broad, verify each source, and document every decision. For small sites, a crawler and sitemap review may be enough. For large sites, combine crawl data, search data, logs, analytics, and CMS exports. That is how you move from a partial URL list to a trustworthy page inventory.