Skip to content

Test your website now

Free, no card. We read only public pages.

Run free audit →

SEO · Low severity

Robots.txt Missing: Publish Deliberate Crawl Instructions

Review a missing robots.txt. Publish deliberate rules and a sitemap location, verify response handling, and distinguish absence from retrieval failures.

Published · Updated

What the check tests

Check
seo.robots-txt.present - robots.txt exists
Passes when
Serve a /robots.txt, even a permissive default, with a Sitemap: line.
Scope
graded once per site
Severity
Low
Fix effort
small - under an hour
Impact when fixed
low

In one paragraph

Robots.txt missing means the scanner did not receive the usable root file its rules expect. A genuine 404 normally means Google applies no robots crawl restrictions, not that the site cannot be indexed. Publish a deliberate plain-text file when useful, and distinguish absence from rate limits, server errors, or scanner parsing limits. Robots rules do not make private pages inaccessible.

Why it matters

Robots.txt is a conventional place for crawler-specific path instructions and sitemap declarations. It can help manage unnecessary crawl spaces and expose the location of a sitemap without relying only on manual submissions. Small well-linked public sites can remain discoverable without a file.

HTTP responses matter. Google's current handling treats 4xx responses other than 429 as no robots restrictions, while server failures and rate-limit conditions have different consequences. Do not generalise every unavailable response into a harmless missing file, or claim the presence of a file guarantees crawling.

Rules are scoped to the relevant origin and matching crawler. A file on www is not automatically the policy for an API or sibling subdomain. It is also not a way to remove content securely from public access.

How WebAuditOS evaluates this finding

The supplied probe follows redirects to /robots.txt. A 200 response with a non-empty readable text body passes. Missing, empty, unsupported, timed-out, or otherwise unsuccessful responses warn under the documented conditions. Statuses 401, 403, 429, or 5xx can stop the scan rather than produce ordinary grading.

Its stated text-type handling and 256 KB read limit differ from Google's parser and larger published limit. An HTML catch-all can pass a simple availability test without meaningful rules. Confirm the actual response; a warning can reflect scanner coverage rather than an absent file.

How to fix it

  1. Request the exact origin's /robots.txt while signed out. Inspect status, content type, redirect destination, and body. A homepage returned with 200 is not automatically a useful robots file.
  2. Decide the intended public crawl policy. If no path restrictions are needed, a small file can be sufficient:
User-agent: *
Disallow:
Sitemap: https://example.com/sitemap.xml

Use the real sitemap address if it exists. An empty Disallow does not block paths; it is not the same as Disallow: /.

  1. Serve plain text reliably from a static root file or the platform's supported route. Ensure an application catch-all does not intercept it and security middleware does not accidentally challenge ordinary crawler retrieval.
  2. Check source ownership. A physical file can override a CMS-generated route, and an edge rule can override both. Update the deployed source rather than changing a setting that never reaches the public response.
  3. Add restrictive paths only with a reason and tested scope. Do not blanket-block required rendering assets. A crawler-specific group should be reviewed according to the target crawler's matching behaviour.
  4. For pages intentionally excluded from search, choose appropriate noindex or actual access control according to the goal. A robots disallow can prevent Google from reading a page-level noindex; do not combine them casually.
  5. Test relevant hosts separately and verify the file after redirects and caching. Compare Google's handling with this scanner's stricter stop conditions before diagnosing a 401 or rate limit as the same event.
  6. Rescan and check search-facing crawl information where available. Treat a working file as maintained configuration, not an automatic speed, ranking, or indexing upgrade.

What the fix can break

One mistaken slash can create a broad disallow for compliant crawlers. Keep production and nonpublic environments separate and validate the deployed file during release.

Public robots rules can reveal paths without protecting them. Never place secrets or rely on an unlinked disallowed directory as a confidentiality control.

A permissive edit can expose large low-value spaces to crawling. Review application URL generation and targeted rules instead of copying an allow-all sample over a complex established policy.

Questions

Can a site be indexed without robots.txt?

Yes. A genuine missing-file response usually means no robots restrictions for Google. Other indexing conditions still apply.

Why does a file visible in my browser warn?

The scanner may see another status, type, timeout, size, or body. Inspect its public response and the documented limits.

Do subdomains inherit the main site's file?

Not automatically. Test the origin whose crawl rules you intend to control.

Review broad robots blocks, sitemaps, and the indexing checklist.

Standards and sources

  • Google Search Essentials

In the report

Test this on your own site

Every scan runs seo.robots-txt.present on every page it crawls, on every plan. The finding carries this id, so a line in a report can be matched to the explanation above - and the free scan needs no account.