Crawler

What the crawler fetches

EchoRankBot's user-agent, exactly what it reads, its limits per audit, how it honours robots.txt, and how to allow or block it.

Updated

Every page EchoPilot reads from a website goes through one fetcher that announces itself as EchoRankBot. The public disclosure page is /bot; this article repeats it with a little more detail on what triggers a fetch and what the limits mean for your score.

The user-agent

EchoRankBot/1.0 (+https://echorank360.com/bot)

The robots.txt token is EchoRankBot. The bot is shared with other EchoRank products, which is why the URL in the string points at echorank360.com.

What it fetches

For one audit, in this order:

  1. /robots.txt, always, before anything else.
  2. The home page.
  3. /sitemap.xml and /llms.txt.
  4. A deliberately missing page, to see how the site answers a 404.
  5. The home page's stylesheets.
  6. Up to 60 HTML pages on the same registrable domain, breadth-first from the home page, for the rules that need more than the home page (broken links, privacy policy, service pages, blog recency, testimonials, thank-you page and similar).

Infrastructure files (robots.txt, sitemap.xml, llms.txt) do not count against the page budget, so a job can always read them. Links to images, PDFs, scripts, feeds and other non-HTML files are not followed. Tracking parameters are stripped before a URL is queued.

Limits per audit

  • 60 crawled pages.
  • 2 MB per response; larger bodies are truncated.
  • 10-second timeout per request.
  • At most one request per second to any one host.
  • At most 5 redirects per URL.
  • A 6-minute time budget for fetching.
  • It does not execute JavaScript, submit forms, or follow links or redirects to another domain. A redirect that leaves the registrable domain is not followed and the rule that needed the page is marked "the page redirected off the site".

A page that could not be fetched within these limits makes the checks that needed it not assessable, never failed; see Why a rule says not assessable.

robots.txt

The crawler honours robots.txt for every page. Rules in a User-agent: EchoRankBot group apply first; otherwise the * group applies. Matching follows Google's reference behaviour: the longest matching path wins, and an Allow wins a tie with a Disallow. * wildcards and $ end anchors are supported, and Sitemap: lines are read.

  • A disallowed path is skipped and the checks that need it report "robots.txt disallows this path".
  • If robots.txt cannot be fetched at all, the page-based checks report "robots.txt could not be fetched". Permission is never assumed.
  • If robots.txt is missing (a 404), the site is treated as open, which is the standard interpretation.

Blocking it

Add this to your robots.txt:

User-agent: EchoRankBot
Disallow: /

The audit will then report every page-based rule as not assessable. Those rules are excluded from the score rather than counted as failures, but the categories they belong to will have far fewer assessable rules.

Allowing it

If your robots.txt has a restrictive * group, add a group for EchoRankBot allowing the paths you want audited. Because a group for the named agent takes precedence over *, this lets you keep other bots out while letting an audit run.

Safety rules

The fetcher refuses URLs and redirect targets that point at private, local, link-local or cloud-metadata addresses, resolves DNS itself and pins the connection to the vetted address, and applies the same checks to every redirect hop. It only sends Accept-Language: en and a standard HTML Accept header.

Who triggers it

Either a person entering a domain into the free score (three starts per day per network address) or a paying customer's audit of the business they set up. You are responsible for having the right to request analysis of the businesses you submit (terms §6).

What is stored

Facts extracted per rule (titles, counts, flags, short snippets) and a log of each fetch with its outcome and duration. Full page bodies are not kept. See What we store.

Questions or abuse reports: [email protected], with the timestamp and your domain.

Still stuck? Email [email protected] and a person will answer.