In the intro article we mentioned that HITS Scout’s link crawler is the feature that gets technical people’s attention. Here’s the full story, because the design is genuinely different from the usual “crawl everything at 2am” approach — and the difference matters if you care about your site’s load profile and how fresh your link data actually is.
The problem with the nightly full crawl
Traditional site checkers work like search-engine crawlers: they walk your entire site in one burst, compile a report, and go to sleep until tomorrow. That model has two failure modes. First, the burst itself — a crawler hitting every page on your site within a few minutes can look a lot like a slow-burn DoS, especially on modest shared hosting or a small VPS. Second, the staleness: a link that breaks at 9am gets reported tomorrow morning, after a full day of visitors finding it for you.
How the incremental crawler works
HITS Scout takes the opposite approach. Each monitor maintains a running inventory of every link on your domain — discovered as it encounters them, not in one upfront sweep. Then, every check cycle, alongside the regular uptime check of your primary URL, the crawler visits the oldest link it hasn’t looked at recently. One link per cycle. Steady, flat, boring — exactly what you want hitting a production site.
Think of it as a round-robin with a memory. Over time, every link in your inventory gets rechecked on a predictable cadence, and the effective coverage interval per link is simply the number of links multiplied by your monitor’s check interval. The math is worth doing for your own site, so here’s a worked example from ours: one of our monitors tracks roughly 26,000 links on a Gitea instance. At a 5-minute check interval, every link gets revisited about every 90 days. Drop the interval to 30 seconds and full coverage compresses to around 9 days. That’s the tuning dial: interval × link count = coverage cycle.
There’s a subtlety here worth appreciating: link importance is front-loaded automatically. Your homepage and primary navigation get checked every single cycle as part of uptime monitoring — the incremental crawl is spending its budget on the long tail of deep pages, which is precisely where breakage hides.
Same-domain only, and why that’s a feature
The crawler tracks same-domain links only. It won’t follow your outbound links to other people’s sites. That’s a deliberate boundary, and it’s the right one: your crawl stays bounded (the inventory can only grow as large as your own site), your crawler’s impact stays on infrastructure you own, and your link reports stay relevant — a broken outbound link on someone else’s site is interesting trivia, not your incident.
It also keeps the inventory honest. If the crawler wandered the open web, your “link count” metric would be meaningless — some fraction of it would be someone else’s problem. With same-domain tracking, the number of links in your inventory is a real measurement of your own site’s complexity, and you can watch it move as your site grows.
What each check records
Every link visit captures the HTTP status code and the response time, not just an up/down bit. That turns your link report into a performance dataset:
- Broken links — hard failures with status codes, so you can tell a dead page (404) from a server error (500) from a redirect that’s silently eating link equity (301 chains).
- Slow endpoints — pages that return 200 but take four seconds to do it. These never trigger a traditional uptime alert, but they’re exactly the pages that quietly bleed visitors and hurt your search rankings.
- Intermittent wobbles — the 503 that appears once an hour under load and vanishes before you can look. A single visit misses these; a rolling inventory with history catches the pattern.
Practical setup advice
A few rules of thumb we’ve settled on after running the crawler against everything from small marketing sites to that 26k-link Gitea:
- Match interval to site size. A 40-page marketing site at 5-minute checks gets full coverage in under a day and a half. A large documentation tree wants a faster interval if you want week-level coverage — or accept 90-day coverage and rely on alerting for the important pages.
- Watch the inventory number. If your link count suddenly jumps, either you shipped a big change or something is generating URLs (calendar pages, faceted search, session IDs in links). Both are worth knowing about.
- Fix in batches by depth. Broken-link reports are naturally ordered by when the crawler found them, which correlates with how deep in the site they are. Fix the shallow breakage first — it’s what visitors hit most.
The incremental crawler is included on every plan, including free — two monitors, full link inventories, no credit card. Point one at your biggest site and let the first report arrive: hitsscout.link/signup.
Next in this series: tuning check intervals and alert thresholds so you find real problems without paging yourself into oblivion.



