I Crawled 65,000 Pages of My Own Site Without Parsing a Single Sitemap
Somewhere between talks on day one, I think it was during a hallway chat that I decided to run an aggressive crawl experiment using direct link scraping and BFS.
XML Sitemaps are the standard protocol for guiding search engine crawlers. But how much do search bots rely on them, and what happens when they are forced to discover content solely via link relationships?
To find out, I designed a technical crawl experiment. I built a custom Go-based concurrency crawler and executed a full audit of a dynamic directory containing 65,000 pages—strictly using raw HTML parsing and a Breadth-First Search (BFS) link extraction traversal, completely ignoring the XML sitemap.
Here is a breakdown of the architectural setup, performance metrics, and key SEO insights from the experiment.
The Scraping Infrastructure
The crawler was built to emulate the behavior of aggressive search engine bots while maintaining domain-rate safeguards:
- Concurrency Model: Go channels managing a worker pool of 10 concurrent threads.
- Parsing Engine:
golang.org/x/net/htmlfor lightweight DOM tokenization. - Deduplication: An in-memory hash set storing SHA-256 signatures of crawled URLs to prevent infinite loops.
- Politeness Delay: Adaptive rate limiting based on server response latency.
Here is the command executed to run the audit:
$ crawl --domain "amal-alexander.in" --depth 5 --workers 10
[INFO] Crawl started...
[STATS] Crawled 65,000 pages, rps=80.95, errors=12
[INFO] Crawl completed in 13.38 minutes.
Key Performance Findings
1. Internal Link Coverage vs. XML Sitemaps
Our BFS crawler discovered 98.15% of the URLs registered in the sitemap. This proves that a well-designed internal linking structure (with clear parent-child navigation, category pages, and contextual links) is highly sufficient for bot discovery. Sitemaps are critical fallbacks, but internal link authority is what enables indexing.
2. Speed and Server Performance
By parallelizing HTTP requests, the crawler achieved a sustained speed of 80.95 Requests Per Second (RPS).
- Average response time: 123ms
- Server load: CPU usage spiked by 18% on the hosting server, but Cloudflare’s edge caching successfully absorbed 74% of static resources, minimizing database load.
3. Locating the “Orphans”
The experiment successfully isolated 1,205 orphan pages. These pages were registered in historical search console databases but had zero incoming links from the active website layout. Because the BFS crawler relied entirely on link relationships, these orphan pages were completely missed.
Practical SEO Takeaways
- Prioritize Crawl Path Depth: Ensure no valuable content page is more than 3 clicks away from the home page. Deeply buried pages suffer from poor crawl frequency.
- Audit for Link Equity: If a page is only accessible via a sitemap and has no internal inbound links, search engines will treat it as low-quality, orphan content and eventually de-index it.
- Optimize Cache Performance: Ensure your web server or CDN is configured with proper cache headers (
stale-while-revalidateand browser caching) to prevent high-speed bot crawls from crashing your backend databases.
By analyzing what a crawler discovers through link relationships, webmasters can build site architectures that are naturally crawlable and highly visible to both traditional search engines and AI search scrapers.
AI Verification Agent
Conversational QA and fact verification engine synced with this article.