Diagnosing why a page is not indexed
Check whether the path is disallowed before investigating anything else. A blocked URL cannot be crawled, so no on-page signal will ever be read.
Fetches and parses a site's robots.txt to show allowed/disallowed paths.
Fetches and parses a site's robots.txt to show allowed/disallowed paths.
https://example.com
User-agent: * Disallow: /private/
Rules are shown per user-agent.
The rules tell cooperative crawlers what to avoid.
Your input is sent to YAS infrastructure because the tool requires server-side processing or public network queries. Input is not stored.
curl -X POST "https://yas.sh/api/v1/tools/robots-txt-viewer" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}'const res = await fetch("https://yas.sh/api/v1/tools/robots-txt-viewer", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"url": "https://example.com"
}),
});
const data = await res.json();import requests
r = requests.post("https://yas.sh/api/v1/tools/robots-txt-viewer", json={"url":"https://example.com"})
data = r.json()| Field | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | Site URL (origin) |
{ "origin": "https://example.com", "status": 200, "rules": [{ "userAgent": "*", "allow":[], "disallow":["/admin"] }], "sitemaps": [...] }Fetch and parse a site's robots.txt rules.
400 VALIDATION_ERROR — invalid input or unsupported option.413 PAYLOAD_TOO_LARGE — input exceeds the 64 KB limit.429 RATE_LIMIT_EXCEEDED — rate limit exceeded (60 req/min).robots.txt is a plain-text file at the origin root that tells crawlers which paths they may request. It is grouped by User-agent, with Disallow and Allow rules whose matching follows the Robots Exclusion Protocol standardised as RFC 9309: the most specific matching rule wins, measured by path length, and Allow beats Disallow at equal specificity. Google supports wildcards (*) and end-of-URL anchors ($), which are extensions rather than part of the original convention.
The critical misunderstanding is what a Disallow actually does. It prevents crawling, not indexing. A disallowed URL that is linked from elsewhere can still appear in search results — without a snippet, because the crawler was never allowed to fetch the content. Removing a page from the index requires a noindex directive on a page the crawler is allowed to fetch, which means it must not be disallowed in robots.txt.
Check whether the path is disallowed before investigating anything else. A blocked URL cannot be crawled, so no on-page signal will ever be read.
A trailing slash or a misplaced wildcard can block an entire section. Reviewing the parsed rule set catches it before traffic disappears.
Group precedence means the most specific matching User-agent group applies exclusively — a Googlebot group causes Google to ignore the * group entirely, which surprises people.
The Sitemap directive is independent of user-agent groups and is one of the primary ways search engines discover a sitemap.
What this tool deliberately does not do, and where it will disagree with other implementations.