Technical SEO
How Search Engines Crawl Through a Website
A plain-language explanation of how search engines discover pages, follow links, and keep coming back as websites change.

Search engines use crawlers to find pages. A crawler opens a page, finds links, and uses those links to find more pages.
The illustration in this article shows that structure in one pass:
- the column on the left is a list of URLs waiting to be visited
- the page in the middle is the one being fetched right now
- the pages around it are links found on that page
- the panel on the right is where the processed result is stored for later use
These are the main steps of a crawl.
It starts with a list of known URLs
A crawler starts with URLs it already knows.
Those could be:
- a homepage
- URLs found in earlier crawls
- links from other pages
- sitemap files
From there, the crawler picks one URL, downloads the page, looks for links on it, and adds new URLs back into its list.
The loop is:
- take a URL from the list
- fetch the page
- extract links from the page
- add useful new URLs back to the list
That loop is what the illustration is showing.
The left side is the queue
The left side of the diagram is the queue of pages waiting to be crawled.
This queue is also called the crawl frontier. It stores URLs and helps decide which page to open next.
If ten pages are waiting, the crawler still has to choose one. If ten thousand pages are waiting, that choice matters even more.
The queue does two jobs:
- storing URLs that have been discovered
- deciding which URL should be fetched next
The crawler opens one page
The page in the middle of the illustration is the active page. It is the page the crawler is working on right now.
Before the crawler can request it, it has to know where to send the request. That means turning the hostname into an IP address through DNS.
Then it can fetch the page over the web.
The request can be slow or fail. The server may also send an error.
Crawlers cannot hit one site as fast as they want
A crawler should not ask one site for too many pages at once. This could make the site slow.
This is often called politeness.
In plain terms, it means:
- do not send too many requests to the same site too quickly
- spread requests out
- treat the queue as a schedule, not just a backlog
That is one reason the order of the queue matters.
The crawler checks crawl rules too
Before crawling a site freely, a crawler may request the site’s robots.txt file.
That file tells compliant crawlers which paths they should avoid.
robots.txt is a crawl rule, not a password. It does not make a public page private. Use real access rules to protect private pages.
Links lead to more pages
Once the crawler fetches the page in the center, it reads the page and extracts links.
Those links become new crawl candidates.
That is what the surrounding pages in the illustration mean. They are not decoration. They represent pages discovered from the page in the center.
This is the simplest way to think about crawling:
- one page is fetched
- that page points to other pages
- those pages become future work
If a page has no crawlable links, it does not help the crawler discover much else.
Not every new-looking URL is truly new
The same page can often appear under slightly different URLs. A crawler might see:
- tracking parameters
- session IDs
- duplicate paths
- endless filtered URLs
If the crawler treats every variation as brand new, the queue fills with waste.
So crawlers usually do two checks:
- URL deduplication: have we already seen this URL, or a normalized version of it?
- content deduplication: even if the URL is different, does it lead to the same document?
These checks stop the crawler from wasting time on copies.
Crawling and indexing are different
The panel on the right of the illustration is there to show that crawling and indexing are not the same thing.
The crawler fetches pages. After that, the system can store, process, and organize what it found.
So:
- crawling is about finding and fetching pages
- indexing is about turning fetched content into something a search engine can use later
A page can be crawled but not added to the index.
Crawling does not stop after discovery
Websites change. New pages appear. Old pages move. Existing pages get updated.
Because of that, a crawler cannot just visit a page once and forget it forever. It has to come back.
The crawler must choose between:
- spend time finding new pages
- or spend time revisiting known pages
Both matter.
A search engine wants to discover new content, but it also wants its stored view of the web to stay reasonably current.
Some sites accidentally trap crawlers
Certain website patterns can keep a crawler busy without giving it anything useful.
Examples include:
- endless calendar links
- filter combinations that create infinite URL variations
- navigation systems that keep generating new paths
These are often called crawl traps.
They can look like real new pages. Clean URLs and clear internal links help prevent this problem.
Make your site easy to crawl
Use these basic rules:
- important pages can be reached through normal internal links
- URLs are stable
- unnecessary URL variations are controlled
- crawler traps are avoided
- sitemap files are accurate
robots.txtis used carefully
A crawler starts with a URL, opens the page, finds more links, and repeats the process. A simple site structure makes that job easier.
