SEO Crawler Guide: How to Crawl a Website for SEO Audits

By Mousume Akter, Founder & Editor, SEORAF. Last reviewed: 18 October 2026.

An SEO crawler is software that follows links across a website, requests each URL, and records what comes back: status codes, redirects, indexing directives, canonical tags, page elements and links. It shows you your site as a crawler can reach it. It does not show what Google crawled, rendered or indexed, and Google states that third-party tools have no access to its internal ranking data. Treat a crawl as a fast way to generate hypotheses, then confirm the important ones with Search Console, server logs or a manual check.

This guide shows how to choose a crawler for your site, configure and run a crawl safely, read the results, and decide which findings deserve a fix and which can be ignored. It also separates crawling from rendering, indexing and ranking, and separates what Googlebot does from what a third-party crawler does.

For how Googlebot discovers, schedules and fetches URLs, see SEORAF’s guide to crawling in SEO. For the wider subject, see the Technical SEO hub. This article focuses on using crawlers as audit tools.

How claims are labeled. Where it matters, claims are tagged as Google-documented (stated in Google Search Central or Search Console documentation, linked in the text), Practitioner observation (common professional practice that Google does not document) or SEORAF recommendation (editorial judgment). This guide cites no published research and presents no SEORAF test results. Examples are hypothetical and labeled as such. Google’s documentation and vendor products change, so check the linked pages before acting on anything time-sensitive.

SEORAF is an independent SEO knowledge resource. This guide does not promise rankings, traffic or indexing, and it contains no affiliate links.

What Is an SEO Crawler Guide and What Can It Tell You?

An SEO crawler, also called a site crawler or website spider, is software you run against a site to inventory its URLs and record how each one behaves. It starts from one or more URLs, follows links, requests each page, and writes what it finds into a table you can filter and export.

What a crawl produces

Columns vary by tool, but most crawls record the following for every URL:

  • Response: status code, redirect target, final URL, response time and file size.
  • Directives: meta robots tag, X-Robots-Tag header and whether robots.txt blocks the URL.
  • Duplication signals: the declared canonical URL and repeated titles or content.
  • On-page elements: title, meta description, headings, hreflang and structured data.
  • Links: internal and external links in and out, anchor text and crawl depth.
  • Rendered content, if the tool’s JavaScript rendering is switched on.

That is an inventory: a snapshot taken from one machine, at one time, with one set of settings. Change the settings and the inventory changes.

SEO crawler, Googlebot and AI crawlers are different things

Crawler typeWho runs itPurposeWhere your evidence comes from
SEO audit crawlerYou, your team or a consultantDiagnose a site’s technical and on-page structureThe crawl export itself, which reflects that tool’s settings
GooglebotGoogleDiscover and fetch pages for Google SearchSearch Console (URL Inspection, Page indexing, Crawl Stats) and your server logs
AI crawlersEach AI provider, under its own user agentsVaries by provider and by bot (for example training, search or user-requested fetches)Each provider’s documentation, your robots.txt rules and your server logs

Table 1. Three kinds of crawler that are often confused.

Google-documented: Googlebot is the name for two crawlers, Googlebot Smartphone and Googlebot Desktop. They obey the same robots.txt token, so you cannot target one without the other in robots.txt. For most sites Google primarily indexes the mobile version, so most Googlebot requests come from the smartphone crawler.

Other crawlers often fake Googlebot’s user-agent string. Google’s guidance is to verify a suspicious request with a reverse DNS lookup or by matching the IP address against Google’s published ranges (see Verifying Googlebot). The same logic applies in reverse: setting your own crawler’s user agent to “Googlebot” does not make it Googlebot.

AI companies run their own crawlers under separate user agents, and each provider documents its own. A third-party SEO crawler cannot tell you whether they reached your site. SEORAF’s crawling guide covers that topic; this article does not.

Crawling, rendering, indexing and ranking are different events

Google-documented: Google describes three stages of Search: crawling, indexing and serving. Rendering sits between crawling and indexing for pages that rely on JavaScript. In plain terms:

  • Crawling is fetching a URL: requesting it and receiving a response.
  • Rendering is running the page’s JavaScript so the content a browser would show becomes available. Google’s JavaScript documentation describes a render queue and a headless Chromium.
  • Indexing is analyzing the content and metadata and deciding whether to store it. This includes working out which URL is the canonical version of duplicates. Google says indexing is not guaranteed.
  • Ranking (serving) happens when someone searches: Google selects and orders results from its index.

A URL can pass one stage and fail the next. A third-party crawler can observe a fetch and, if you enable it, a rendering on its own infrastructure. It cannot observe Google’s indexing or ranking decisions.

SEO Crawler Guide Technical SEO SEO Crawler Guide

What a crawl can and can’t prove

A crawl can show that, at the time of the crawl and with your settings, a URL was reachable, what status the server returned, what directives and canonical tag were present, which links the page contained, and (with rendering on) what content appeared after JavaScript ran.

A crawl cannot show whether Google has crawled, rendered or indexed a URL; which URL Google picked as the canonical; how often Googlebot visits; or how a page performs for real queries. Google-documented: its guidance on third-party tools says they can’t guarantee performance, that any predictions are the tool’s own, and that Google doesn’t evaluate or approve them. It recommends Search Console as the first-party source.

Takeaway: use a crawler to find what to check, and use Google’s own tools to check it.

How an audit crawler discovers and records URLs

Understanding the loop a crawler runs explains most surprises in a crawl report, especially why it finds fewer (or more) URLs than you expect.

Start points, link following and the URL queue

A crawler begins with start URLs, usually your homepage. It requests a URL, records the response and the page’s elements, extracts the links, adds new in-scope URLs to a queue, and repeats. It stops when the queue is empty or a limit (URL count, depth, time or memory) is reached. Most tools also let you supply a URL list or an XML sitemap as an extra source, which matters for finding pages that no link points to.

SEO Crawler Guide Technical SEO SEO Crawler Guide

Which links a crawler can follow

Google-documented: Google can generally crawl a link only if it is an <a> element with an href attribute, and the URL has to resolve to a real web address (see Google’s link guidance). Navigation built from click handlers with no href is a classic way to hide pages from crawlers. Audit tools differ in what they follow, so check your tool’s documentation instead of assuming it matches Google.

Why your crawler and Google can disagree about your URLs

Expect the two URL sets to differ. Common reasons:

  • Different discovery sources. Google-documented: Google finds pages mainly through links from pages it already knows, and also through sitemaps. Your crawler only knows its start URLs, the links it finds and whatever extra sources you add.
  • Scope and limits. Many tools restrict a crawl to a host or folder and stop at a URL limit.
  • Access. A firewall, rate limiter or login wall may treat your crawler differently from Googlebot.
  • Rendering. Links created by JavaScript only exist if you enable rendering.
  • Time. Google’s knowledge of your site accumulates over months; your crawl is one afternoon.

Takeaway: a crawl that returns far fewer URLs than you expect is a finding in itself. Work out why before analyzing anything else.

Crawlable, indexable, or both: reading directives correctly

Crawlability and indexability in crawl-report terms

Crawlable means a crawler can reach and fetch the URL: it is linked or listed, not blocked, and the server answers. Indexable means nothing on the page tells search engines to keep it out, and its signals (canonical, redirect, status code) do not point elsewhere. Most audit tools show an “indexability” column. That label is the tool’s own logic applied to the page, not a statement about Google’s index. A page marked indexable can still be absent from Google, and a page marked non-indexable (for example, because it canonicalizes to another URL) may be exactly as you intended.

robots.txt, noindex, canonical and password protection

These four controls solve different problems. Mixing them up is one of the most common sources of bad audit advice.

SEO Crawler Guide Technical SEO SEO Crawler Guide
GoalMechanismMust the URL be fetchable?What to check in a crawlCommon trap
Stop crawlers requesting low-value URLsrobots.txt DisallowNo, that is the pointBlocked-by-robots.txt reportA blocked URL can still be indexed if other pages link to it, usually without a description
Keep a page out of Google’s resultsnoindex meta tag or X-Robots-Tag headerYes. The crawler has to see the tagNoindex in the directives or indexability columnBlocking the same URL in robots.txt hides the noindex
Consolidate duplicate URLsRedirect, rel="canonical", consistent internal links and sitemap entriesYesCanonical column, canonical target statusA canonical is a hint, so Google may choose another URL
Keep content privateAuthentication or password protectionNot applicable401 or 403 responsesrobots.txt is not security; some crawlers ignore it

Table 2. Four controls, four different jobs.

Google-documented: Google’s robots.txt introduction says a robots.txt file is mainly for managing crawl traffic and is not a mechanism for keeping a page out of Google, and that a disallowed URL can still be indexed if it is linked from elsewhere. Its noindex documentation says the page must not be blocked by robots.txt and must be accessible to the crawler for the rule to work, and that noindex inside robots.txt is not supported by Google. Its canonicalization documentation describes a canonical preference as a hint, not a rule, with signals such as HTTPS, redirects, sitemap inclusion and rel="canonical".

The blocked-and-noindexed trap

Suppose a page carries this tag:

and robots.txt also disallows the page’s path. A crawler that obeys robots.txt never fetches the page, so it never sees the tag. Googlebot behaves the same way. Per Google, the page can then stay in results if it is linked from elsewhere. If you want a page deindexed, allow it to be crawled until Google has seen the noindex and dropped it. Google also notes that a page may keep appearing until it is recrawled, which for less important pages can take a long time.

How to find this in a crawl: filter for URLs that are blocked by robots.txt, then check whether they are also expected to be noindexed. Because a robots-obeying crawler won’t fetch them, you may need to view the page source manually or temporarily crawl without obeying robots.txt on your own site. Treat the result as a lead to verify in URL Inspection.

A decision rule for choosing the control

  1. Does the content have to be private? Use authentication. Nothing else is a privacy control.
  2. Should it stay out of search results but remain reachable? Use noindex, and leave the URL crawlable.
  3. Is it a duplicate or near-duplicate you need to keep live? Use a canonical, and make internal links and sitemap entries point to the same URL.
  4. Is it a large set of low-value URLs that burns server capacity? Consider robots.txt, accepting that the URLs may still appear in results if linked elsewhere.

SEORAF recommendation: choose by the goal, then confirm that the crawl’s directive columns match your intent. SEORAF’s crawling guide links to dedicated pages on robots.txt and sitemaps; this article does not repeat their syntax.

How to run a website crawl, step by step

SEO Crawler Guide Technical SEO SEO Crawler Guide

Step 1: Decide the question and the scope

A crawl without a question produces a pile of data. Write the question first, for example: “Did the redesign leave internal links pointing to old URLs?”, “Which URLs carry noindex?”, or “Do any important pages sit more than a few links from the homepage?” Then set the scope to match: the whole site, one folder, one template sampled across the site, or a supplied URL list.

Step 2: Check permission and server load

Crawl your own sites, or sites where you have permission. For a staging site behind a login, set the tool up with authentication. Google-documented: when a server returns 429 or 5xx responses, or has network errors, Google’s crawlers slow down (see how status codes and network errors affect Google Search). A third-party crawler won’t necessarily be that polite, so SEORAF recommendation: start at a low speed, especially on shared hosting, and watch for 429s, 5xx responses and rising response times. If they appear, stop, slow down and resume.

Step 3: Configure the crawl

Defaults are a starting point, not a recommendation. Review these settings against your question:

SettingWhen to change itWhyRisk
robots.txt handlingObey by default. On your own site, also review which URLs it blocksMatches how well-behaved crawlers act, and shows what you have excludedIgnoring robots.txt on a site you don’t control can overload areas the owner excluded
User agentKeep the tool’s default unless a site serves different content by user agentA user-agent string doesn’t make a crawler GooglebotFirewalls may block spoofed agents, and results may mislead
JavaScript renderingSwitch on when content or links appear only after scripts runShows the rendered page the way a browser wouldSlower and heavier; compare raw and rendered results on a sample first
Scope (host, subdomains, folder)Match your questionTool defaults differ; some start from the folder you enterMissing sections, or crawling more than you meant to
Parameters and URL patternsSites with filters, sessions or tracking parametersPrevents the crawl from ballooningExcluding too much can hide real duplicate-URL problems. Run one uncapped sample crawl
Speed and limitsShared hosting or fragile serversAvoids causing the errors you then reportSlower crawls
Extra sourcesWhen looking for orphan pagesAdd the XML sitemap, a URL list and, where the tool supports it, Search Console or analytics dataAPI permissions and quotas
Authentication and cookiesStaging or members-only areasLets the crawler see the pages you want checkedDon’t let a crawler hit actions that change data, such as delete or checkout links

Table 3. Crawl settings worth reviewing before you start. Names and options vary by tool.

Step 4: Run a small test crawl

Crawl a limited number of URLs or a single folder first. Check that the start URL returns a 200, that the URLs look like the ones you expect, that status codes are plausible, and that nothing important is blocked. Fixing a setting after a hundred URLs is cheaper than after a hundred thousand.

Step 5: Run the full crawl and check it is complete

Before analyzing anything, compare the crawl against what you know: the number of published pages in your CMS, the number of URLs in your XML sitemap, and the number of URLs your crawler reports as indexable. Large gaps mean the crawl is incomplete or your assumptions are wrong. Look for 403, 429 and timeout clusters, for a crawl that stopped at a limit, and for sections with no links in.

Illustrative example (hypothetical numbers, not a measurement): imagine a WordPress site with roughly 300 published posts and pages. If the crawl reports 45 URLs, don’t start fixing issues. Check whether the start URL redirects, whether scope or a URL limit applied, whether robots.txt blocked sections, and whether the navigation is built from links without href attributes.

Step 6: Export, segment and save

Sitewide totals hide patterns. Segment by directory, template, status code and indexability so that a template-level problem shows up as one cluster rather than hundreds of rows. Save the crawl and its settings so you can run the same configuration later and compare.

Takeaway: a crawl with a defined question, a safe speed and a completeness check is worth more than a bigger crawl.

What to look for in the crawl report

Treat every finding as a hypothesis. Before acting on one, ask four questions: Is it real (does it reproduce outside the crawler)? Is it intended? Does it affect an important, indexable URL? Can I confirm it with Google’s own data? The sections below cover what each finding looks like, what it may mean and how to check it.

Status codes, redirects and broken links

Google-documented in its status code and network error guidance:

  • Googlebot follows a limited number of redirect hops (the page says up to 10, and notes that the number can depend on the crawler type). 301 and 308 are permanent redirects.
  • All 4xx errors except 429 are treated the same way: they tell the indexing pipeline the content doesn’t exist.
  • 429 and 5xx responses make Google’s crawlers slow down, and content received with a 5xx status is ignored. Network timeouts and DNS errors are treated similarly to 5xx errors.
  • A soft 404 is a page that tells users it doesn’t exist but returns a 200 status. A crawler sees a normal 200, so these usually surface through Search Console rather than your crawl.

Google’s redirect documentation adds that permanent redirects are a strong signal that the target should be canonical and temporary redirects a weak one.

SEORAF recommendation: redirects and broken links are among the most reliable crawl findings because they are deterministic: the crawler asks, the server answers. Fix the source of the problem. If a navigation link points to a redirecting URL, update the link to the final URL rather than adding more redirects.

SEO Crawler Guide Technical SEO SEO Crawler Guide

If an internal link leads to a 404, decide whether to restore the page, redirect it to a genuinely equivalent page, or remove the link. This guide does not claim that redirect chains cost a specific amount of ranking, because Google’s documentation reviewed for this article doesn’t say so. Chains still add requests and delay, and they usually point to messy migration rules.

Intermittent 5xx errors or 429s deserve extra suspicion: your own crawl may have caused them. Re-test those URLs at a lower speed and check server logs before concluding the site is unstable.

Directives: noindex and blocked URLs

List every URL with noindex and every URL blocked by robots.txt, then ask whether each should be. Common intended cases are thank-you pages, internal search results and admin areas. Problem cases are important pages carrying noindex after a theme or plugin change, staging directives left in production, and URLs that appear in the XML sitemap while being noindexed or blocked. Confirm with the page source, HTTP headers and URL Inspection.

Canonicals and duplicate URLs

Patterns worth a look:

  • Canonical tags that point to a different URL than the page itself (sometimes intended, sometimes a template error).
  • Canonical targets that redirect, return an error or carry noindex, which sends contradictory signals.
  • The same content available at HTTP and HTTPS, with and without www, with and without a trailing slash, or with parameters.
  • Internal links and sitemap entries that point to non-canonical versions.

Google-documented: some duplicate content on a site is normal and isn’t a violation of Google’s spam policies, but multiple URLs for the same content can confuse users and make performance harder to track. A declared canonical is a hint, so Google may pick a different one. The way to see Google’s choice is URL Inspection in Search Console, which reports the user-declared and Google-selected canonical. SEORAF recommendation: when they differ, first align your internal links, redirects and sitemap with the version you want, rather than only editing the tag.

Internal links, crawl depth and orphan pages

Crawl depth in an audit tool is the number of link hops from the start URL in that crawl. It is a tool metric, not a Google metric. Don’t treat any particular depth number as a rule. Use it comparatively: do your most important pages sit closer to the homepage than minor pages, and do key sections get linked from navigation or relevant pages? SEORAF’s site architecture guide covers structure and internal linking in depth.

Orphan pages are URLs with no internal links pointing to them. A crawler that starts at your homepage cannot find a true orphan, so orphans only appear when you add another source (the XML sitemap, Search Console, analytics, server logs or a CMS export) and compare it with the crawl.

SEO Crawler Guide Technical SEO SEO Crawler Guide

SEORAF recommendation: an orphan is a problem only if the page should be discovered, indexed or visited. Old campaign pages may be fine as they are. Pages you want to rank need links from relevant pages, and pages with no value can be merged or removed.

Raw HTML versus rendered HTML

If your tool offers JavaScript rendering, compare the raw HTML (what the server sent) with the rendered HTML (what exists after scripts ran).

SEO Crawler Guide Technical SEO SEO Crawler Guide

Check whether the main content is present in each, whether internal links appear as real <a href> elements in each, and whether JavaScript changes the title, canonical or robots directives.

Google-documented: in Google’s JavaScript SEO basics, Googlebot fetches a URL, checks robots.txt, parses links in the HTML, and queues pages with a 200 status for rendering unless a robots meta tag or header says not to index them. A headless, evergreen Chromium then renders the page, and Google parses the rendered HTML for links again. Google also says it won’t render JavaScript from blocked files or on blocked pages. SEORAF note: because the docs describe skipping rendering for pages that carry a noindex in the raw HTML, don’t rely on JavaScript to remove a noindex later. Treat this as an inference to verify with URL Inspection.

Size limits (Google-documented, verify before relying on it): Google’s Googlebot page says that, when crawling for Search, Googlebot fetches the first 2 MB of a supported file type (64 MB for PDFs), that each resource referenced in the HTML is fetched separately under the same limit, and that other Google crawlers can have different limits. Earlier documentation and many articles cite 15 MB, which Google now describes as a default across its crawling infrastructure. Your crawler may not enforce Google’s cutoff, so a very large page can look complete in a crawl while Google considers only part of it.

XML sitemap versus crawl

Google-documented: submitting a sitemap is a hint, not a guarantee that Google will crawl every URL, and Google’s sitemap guidance says to list canonical URLs and notes a limit of 50 MB uncompressed or 50,000 URLs per file. A clean sitemap lists URLs that return 200, are indexable and are the canonical version. Compare it with your crawl to find sitemap URLs that redirect, error, carry noindex or canonicalize elsewhere. The next section extends this comparison.

A quick reference for common findings

Crawl findingWhat it may meanHow to verifyWho usually fixes it
Internal links to 3xx URLsLinks still point to old URLs after a moveCheck the “inlinks” for the redirecting URL and its final statusContent editor, theme or navigation owner
Redirect chain (A to B to C)Redirect rules were stacked over timeFollow the chain manually and count hopsDeveloper or server administrator
Redirect loopConflicting rules send URLs back and forthOpen the URL; browsers report too many redirectsDeveloper
Internal link to a 404Deleted or moved page, or a typoFind the linking pages; decide restore, redirect or unlinkContent editor
5xx, 429 or timeoutsServer errors, or your crawl overloaded the hostRe-test at lower speed; check server logsHost or developer
Page says “not found” but returns 200Soft 404View the page; check Search Console for soft 404 reportsDeveloper
Noindex on a page that should rankTemplate, plugin or leftover staging settingView source and headers; run URL InspectionDeveloper or SEO
Blocked by robots.txtA Disallow rule matches the URLRead the matching rule in robots.txtSEO or developer
Canonical points to another URLConsolidation by design, or a template errorCheck the target’s status and indexability; compare with Google’s selected canonicalSEO or developer
Canonical target redirects, errors or is noindexContradictory signalsOpen the target URL and check its responseDeveloper
URL found only via sitemap or another sourceOrphan pageCompare sources; decide whether the page mattersContent editor or SEO
Content or links only in rendered HTMLPage depends on JavaScriptCompare raw and rendered HTML; inspect the URL in Search ConsoleDeveloper
Sitemap URLs that redirect, error, noindex or canonicalize elsewhereSitemap lists the wrong URLsCompare the sitemap file with the crawlSEO or whoever manages the sitemap plugin

Table 4. Crawl findings, their possible meaning and how to verify them.

Reconcile the crawl with Search Console, sitemaps and logs

No single source gives the full picture. The most useful audits compare several: the crawl (what your crawler can reach), the XML sitemap (what you declare), Search Console (what Google reports) and, where available, server logs or analytics (what was actually requested or visited). The overlaps and gaps tell you where to look.

SEO Crawler Guide Technical SEO SEO Crawler Guide

Compare the URL sets

PatternLikely meaningNext check
In the crawl, not in the sitemapAn important page missing from the sitemap, or a low-value URL that shouldn’t be thereDecide whether it should be indexable. If yes, add it, and link to it internally
In the sitemap, not in the crawlOrphan page, blocked URL or out-of-scope sectionCheck internal links, robots.txt and your crawl scope
In the sitemap but redirects, errors, noindex or canonicalizes elsewhereThe sitemap is out of date or misconfiguredRegenerate or filter the sitemap so it lists only canonical, indexable URLs
In the crawl and sitemap, reported by Search Console as discovered but not crawledGoogle knows the URL but hasn’t fetched it yetCheck internal links and server health; for small sites this is often a matter of time and links
Reported as crawled but not indexedGoogle fetched the page and chose not to index itInspect the URL; look at duplication, canonicals and whether the page adds something unique
Indexable in the crawl, not indexed in GoogleMany possible causes (see troubleshooting)Run URL Inspection and compare Google’s rendered HTML
In logs, analytics or Search Console, not in the crawlOld URLs, parameter URLs, orphans or pages outside your scopeFind where the URL is linked from; decide redirect, noindex or leave

Table 5. What gaps between sources usually mean. Search Console wording changes, so check the current status names in the Page indexing report.

See SEORAF’s Google Search Console guide for how to read the Page indexing report and URL Inspection. This article doesn’t repeat that walkthrough.

Where server logs fit

Server logs record the requests your server actually received, including those from Googlebot, so they are direct evidence of crawling that no audit crawler can provide. Because user-agent strings can be faked, verify Googlebot requests by reverse DNS or published IP ranges before drawing conclusions.

SEORAF recommendation: logs are worth the effort for large or complex sites, after migrations, or when Search Console and your crawl disagree in ways you can’t explain. For a small site, URL Inspection and the Crawl Stats report in Search Console usually answer the practical questions, and many shared hosts make logs awkward to get.

When crawl budget matters, and when it doesn’t

Don’t confuse your crawler’s URL limit with Google’s crawl budget. Google-documented: Google’s crawl budget guide says crawl budget depends on a crawl capacity limit (how much Google can crawl without straining your server) and crawl demand (how much Google wants to crawl, which varies with site size, update frequency, quality and relevance). It says the guide is mainly for very large or frequently updated sites: roughly a million or more unique pages that change about weekly, or around ten thousand or more pages that change daily, or sites where a large portion of URLs show “Discovered – currently not indexed” in Search Console. It also says that new pages typically take at least several days to be noticed, and that better server availability doesn’t automatically raise crawl budget.

SEORAF recommendation: for most small and mid-sized sites, crawl budget is unlikely to be the primary cause of a page not appearing. Rule out discovery (is the page linked and in the sitemap?), server errors and the page’s own value first. If you do fit Google’s large-site profile, SEORAF’s crawling guide explains the concept in more detail, and your crawl can help find low-value URL patterns, such as parameters and endless filters, that generate crawl waste.

Prioritize findings by impact, scope, evidence and effort

Crawlers flag deviations from generic best practice, and many flags are harmless on your site. A useful audit ends with a short ordered list, not a long export. Judge each finding on four factors:

  • Impact: if the finding is real, does it affect access, indexing, consolidation or user experience on pages that matter?
  • Scope: is it one URL, a whole template or the entire site?
  • Evidence: is it confirmed outside the crawler (URL Inspection, a manual check, logs), or only suggested by the tool?
  • Effort: can a template or setting fix it in one go, or does it need many manual edits or developer time?
SEO Crawler Guide Technical SEO SEO Crawler Guide

Illustrative prioritization

The table below is an illustrative classification, not measured data. Your own answers may differ.

Example findingImpactScopeEvidence neededEffortSuggested handling
An important service page carries unintended noindexHighOne pageURL Inspection and page sourceLowFix now
robots.txt blocks CSS or JavaScript that pages need to renderHighSite-wideCompare blocked resources with rendered outputLow to mediumVerify, then fix now
Main navigation links point to redirecting URLsLow to mediumEvery pageThe crawl is sufficient evidenceLowSchedule as a quick win
5xx errors on important URLs during the crawlHigh if realVariesRe-test at lower speed; check server logsVariesVerify first
Sitemap lists redirecting and noindex URLsMediumMany URLsCompare sitemap with crawlLowFix the sitemap settings
Redirect chain of three hops on old URLsMediumFew URLsFollow the chain manuallyLowSchedule
Older low-value posts with no internal linksLowSome URLsCompare sources and decide valueLowDecide keep, merge or remove
Parameter pages canonicalized to the main page on purposeNone if intendedMany URLsConfirm the intentNoneNo action

Table 6. Example prioritization using impact, scope, evidence and effort.

Decision rules: fix, schedule, monitor or ignore

  • Fix now when a finding is verified, affects pages that matter, and a small change resolves it.
  • Schedule when impact is real but the fix needs development time or touches many pages.
  • Verify when the only evidence is the crawler’s flag, or the finding may have been caused by your crawl settings.
  • Monitor when something looks odd but has no confirmed effect.
  • Ignore when the state is intentional or the affected pages don’t matter. Not every warning requires a fix.

Intentional versus problematic

The same signal can be right or wrong depending on intent. Noindex on a thank-you page is correct; on a product category it is a problem. A 404 for a product you discontinued is normal; a 404 reached from your main menu is not. A canonical pointing to a parameter-free URL is usually deliberate; one pointing to the homepage from every blog post is a template bug. Keep a short note of intentional states so the next audit doesn’t reopen them.

Validate the fix

After a fix, run the same crawl configuration again and compare the two crawls. Then check Search Console later; Google has to recrawl and reprocess URLs, and its documentation makes no promise about timing or outcome. Record what you changed and when, so any later movement in indexing or traffic can be interpreted in context. A fix that clears the crawler’s flag is not proof that search performance will change.

Takeaway: fix verified, high-impact, low-effort problems first, and let the rest wait or go.

Common crawling mistakes

MistakeWhy it misleadsBetter approach
Crawling without a questionYou get a huge export and no directionWrite the question and scope first
Treating the crawl as Google’s viewA fetch by your tool says nothing about Google’s indexing decisionsConfirm important findings in Search Console or logs
Running at full speed on fragile hostingYou may cause the 5xx errors and timeouts you then reportStart slow and watch error rates
Never looking at what robots.txt blocksYou miss important URLs or resources that are excluded by accidentObey by default, then review the blocked list
Using a Googlebot user agent to “see what Google sees”It doesn’t reproduce Googlebot’s IP or rendering and may trigger bot protectionUse URL Inspection to see Google’s view of a page
Wrong rendering settingMissing content and links, or slow crawls with no benefitCompare raw and rendered output on a sample
Reading only sitewide totalsA template-level problem disappears into the noiseSegment by directory, template and status
Blocking noindexed URLs in robots.txtThe noindex is never seenAllow crawling until the URLs drop out
Fixing every warningTime goes to low-impact items while real issues waitUse the impact, scope, evidence and effort rubric
Not saving the crawl and settingsYou can’t compare before and afterSave the configuration and recrawl the same way

Table 7. Process mistakes that lead to bad audits.

Troubleshooting scenarios

SymptomLikely causesHow to confirmNext step
The crawl finds far fewer URLs than expectedStart URL redirects or is blocked; scope or URL limit; navigation without crawlable links; JavaScript-only links; firewall blocking the crawlerCheck the start URL’s response, the homepage’s outlinks, and raw versus rendered linksAdjust scope or rendering, add a sitemap source, then recrawl
Many 403, 429 or 5xx responsesFirewall or CDN rate limiting; overloaded serverLook at when errors occur and check server logsSlow the crawl; with the host’s permission, allow your crawler’s IP
Everything shows as blocked by robots.txtA sitewide Disallow: / (often a staging leftover) or the wrong hostOpen the site’s /robots.txt in a browserFix the file and confirm that production isn’t blocked
Indexable in the crawl, not indexed by GoogleNot yet crawled, canonical chosen elsewhere, duplication, content Google chose not to index, or Google saw something different from your crawlerURL Inspection and the Page indexing reportFollow the steps below
Content is missing from raw HTMLClient-side renderingCompare raw and rendered HTML; inspect the rendered HTML in Search ConsoleAsk developers about server-side rendering or prerendering for key content
The crawl finds far more URLs than expectedParameters, filters, calendars, session IDs or duplicate URL variantsSegment URLs by patternExclude patterns in the crawler, and decide the site-level treatment (canonical, noindex or robots.txt)
Redirect chains or loops after a migrationStacked or conflicting redirect rulesFollow the chain from the first URLSimplify rules and update internal links
Titles or canonicals differ between the crawl and the browserJavaScript changes them, or the server varies by user agent or cachingCompare raw and rendered outputInvestigate with a developer

Table 8. Common crawl problems and where to look.

If the crawler finds far fewer URLs than expected

SEO Crawler Guide Technical SEO SEO Crawler Guide
  1. Open the start URL in a browser and in the crawler. Does it redirect, error or require a login?
  2. Check the crawl’s settings for scope limits, URL limits and robots.txt handling.
  3. Look at the homepage’s outlinks. If the menu is missing, view the raw HTML for real <a href> links.
  4. Re-crawl a small sample with JavaScript rendering on and compare the link counts.
  5. Add your XML sitemap as a source and see which URLs appear only there.

If the crawler says a page is indexable but Google hasn’t indexed it

  1. Run URL Inspection. Note whether the URL is indexed, when Google last crawled it, and which canonical Google selected.
  2. Read the status reason in the Page indexing report. A URL that is discovered but not crawled calls for a different response from one that was crawled but not indexed.
  3. Compare Google’s rendered HTML with your crawl. If key content or links differ, you have a rendering or access problem.
  4. Check discovery: is the page linked from crawlable pages and listed in the sitemap?
  5. Check duplication and value: does another URL cover the same ground, and does the page offer something distinct?
  6. Make the fixes, then wait and recheck. You can’t force indexing, and Google doesn’t promise it.

SEO Crawler Guide: Choosing the Right Tool

This section helps you choose by need, not by brand. Google-documented: Google doesn’t evaluate third-party SEO tools, so no tool is “approved” by Google, and using one doesn’t guarantee ranking success. SEORAF’s tool reviews and comparisons live on separate pages; this guide doesn’t rank tools.

SEO Crawler Guide Technical SEO SEO Crawler Guide

What to compare

CriterionQuestion to askWhere to check
URL limitsHow many URLs can I crawl on this plan or machine?The vendor’s pricing and documentation pages
JavaScript renderingCan it render pages and compare raw and rendered HTML?Vendor documentation and a test crawl
Where it runsDoes it run on my computer or in the vendor’s cloud?Vendor documentation
Scheduling and comparisonCan it recrawl on a schedule and show what changed?Vendor documentation
IntegrationsCan it pull in Search Console, analytics or sitemap data?Vendor documentation
Custom extraction and exportsCan I pull specific elements and export clean data?A trial or the free version
Team and reportingCan several people use it, and can I share reports?Vendor documentation
Learning curveWill I be able to interpret the output without training?Trial, tutorials, or the tool’s own guides
Pricing modelIs it a subscription or a licence, and what does it cost today?The vendor’s current official pricing page

Table 9. Criteria for comparing crawlers. Check every item on the vendor’s own page; features and prices change.

Match the crawler to the site

Site typeWhat matters mostNotes
Small blog or brochure siteSimple setup, enough URL allowance, clear reportsA free or low-cost crawler plus Search Console often covers the basics
Ecommerce or faceted navigationURL pattern controls, segmentation, large crawls, sitemap comparisonParameter handling decides whether the crawl stays usable
JavaScript-heavy siteReliable rendering and raw versus rendered comparisonTest on a sample of key templates first
Agency or multi-site workSaved configurations, reporting, project organizationCheck how clients’ data is handled
Large or enterprise siteCloud capacity, scheduling, change comparison, log integration, permissionsPair with server-log analysis

Table 10. SEORAF’s recommendations for matching a crawler to a site type. These are judgments, not vendor claims.

Free versus paid

Free versions and trials commonly limit URL counts or features, so test one on a representative section of your site before committing. One verified example: the downloadable Screaming Frog SEO Spider is free to use for up to 500 URLs, and an annual licence removes that limit and unlocks advanced features, per its official pricing page. This guide doesn’t quote prices, because they vary by currency and change, and third-party sources disagree. For other tools, read the vendor’s page rather than a roundup.

SEORAF has separate pages on Screaming Frog free versus paid features, the Sitebulb review, the ContentKing review and Semrush Site Audit, plus a wider best SEO tools page. Check those and the vendors’ own pages for current limits. This guide contains no affiliate links; see SEORAF’s affiliate disclosure for how affiliate relationships are handled elsewhere on the site.

Takeaway: choose by site size, rendering needs and reporting needs. Search Console is free and shows Google’s side, so use it alongside whichever crawler you pick.

Frequently asked questions

Is an SEO crawler the same as Googlebot?

No. An SEO crawler is a tool you run to audit a site. Googlebot is Google’s crawler for Search. Your crawl can’t tell you what Googlebot fetched, rendered or indexed. Use Search Console and server logs for that.

Why do my crawler’s numbers differ from Search Console?

They measure different things: URLs your crawler could reach under your settings versus URLs Google has discovered, crawled and chosen to index over time. Scope, discovery sources, robots.txt handling, rendering and time all affect the counts. See the reconciliation section above.

Does a clean crawl mean Google will index my pages?

No. A clean crawl suggests you have no obvious technical blockers visible to your tool. Google says indexing isn’t guaranteed, and it depends on more than technical access.

Should my crawler obey robots.txt?

By default, yes. It matches how well-behaved crawlers act. On your own site it can also help to review which URLs robots.txt blocks, since blocked pages may be missing from your results. Don’t ignore robots.txt on sites you don’t control.

Can crawling slow down my site?

It can, especially on small servers, if the crawler requests pages quickly. Start at a low speed and watch response times and error rates. If you see 429 or 5xx responses, slow down or stop.

Can I crawl a site I don’t own?

This is not legal advice. As a courtesy and a risk-reducer, SEORAF recommends keeping to light, polite crawling that respects robots.txt and the site’s terms, and asking for permission before anything heavier.

How often should I crawl my site?

Google doesn’t publish a recommended schedule. SEORAF recommendation: crawl when something changes (a migration, redesign, template or plugin change, or large content update), and otherwise at intervals that suit how often your site changes and what you monitor.

Do I need a paid crawler?

Not always. A small site may fit within a free tier’s limits. Paid options matter when you need more URLs, rendering, scheduling, comparison or team features. Test with a sample first.

Can an SEO crawler show whether AI bots can access my site?

Not reliably. AI crawlers run separately under their own user agents. Review your robots.txt rules, your server logs and each provider’s documentation. SEORAF’s crawling guide discusses these crawlers.

Conclusion

  • An SEO crawler shows your site as a crawler can reach it, not Google’s crawling, rendering, indexing or ranking decisions.
  • Start with a question, a defined scope and a safe crawl speed, and confirm the crawl is complete before analyzing.
  • Treat each finding as a hypothesis, and confirm important ones in Search Console, logs or a manual check.
  • Prioritize by impact, scope, evidence and effort. Ignore intentional states and low-value flags.
  • Crawl budget is mainly a large-site topic, so rule out discovery, server and content problems first.

Your next step: run a small, scoped crawl with your question written down, and compare it with your sitemap and Search Console data. SEORAF’s advanced SEO audit checklist and Google Search Console guide are useful companions. No crawl, fix or tool can guarantee rankings, traffic or indexing.

Sources and how this guide was checked

Google-specific statements were checked against Google Search Central documentation in October 2026. Google updates these pages, so check the current version before relying on a detail. SEORAF’s editorial policy explains how the site handles sources and corrections.