Skip to audit
pointcast. Discovery desk / 01

Search · software · signals

Can the web
read PointCast?

An evidence-backed look at how PointCast meets search engines, AI assistants and the agents that move between them.

One public-site snapshot. Readiness is measured here; real search rankings and AI citations are not.

Frozen snapshot

Age calculated when opened

No live monitoring

Actionable findings

111 high priority · issues + reviews

Public URLs sampled

108109 HTTP + document check records

Bot requests sampled

12Synthetic requests · 2 additional policy tokens

Actual search visibility

—UnmeasuredNo traffic, ranking or citation claim

01 / What was checked

Coverage, in context.

Counts describe the saved audit’s scope. A sampled route is not the entire site, and a passing request does not prove indexing.

SEO

Technical SEO

Can search engines discover and read the public pages?

7recorded findings
5 actionable
Agents

Agent discovery

Can software find useful, documented entry points?

5recorded findings
3 actionable
Bots

Bot access

What do declared rules and synthetic requests reveal?

2recorded findings
1 actionable
GEO

AI search readiness

Is there readable evidence for generative search to use?

4recorded findings
2 actionable
Robots policy

20 groups accepted from a complete response; path matching tested independently; failed retrieval does not imply access permission

1 / 1 file
Declared sitemap documents

Recursively follows robots declarations and sitemap indexes; 3325 URL entries, 3324 unique exact URLs

4 / 4 documents
Sitemap URL inventory

All declared URLs inventoried; HTTP responses measured only in bounded cohorts, not all sitemap URLs

3324 / 3324 unique URLs
Selected public HTML

Purposive cohort spans identity, publishing, agents, local, articles and interactive pages; not a random sample of 3324 sitemap URLs

36 / 36 selected routes
Selected machine discovery

Curated discovery/feeds/JSON/OpenAPI/MCP GET cohort; complete machine endpoint universe not enumerated

26 / 26 selected surfaces
Method and audience checks

Unauthenticated GET only; no POST, signing, wallet, payment, action or receipt verification

6 / 6 selected probes
Internal href sample

36 deterministic spread sample from selected HTML; query, action/admin/account and asset hrefs excluded

36 / 1082 eligible unique links
Named bot root requests

Root GET only, audit network; 2 additional Extended policy tokens evaluated without HTTP requests

12 / 12 synthetic User-Agents
Real search / AI visibility

No authorized provider analytics, verified crawler logs or repeatable query/citation study in this snapshot

0 / unknown provider outcomes

02 / Evidence → action

Make the signal clearer.

Findings are ordered by priority. Open a card for the observation, its impact and the next useful action.

Pass: check satisfiedIssue: observed defectReview: needs attentionExpected: deliberate behaviorUnmeasured: no evidence collected
IssueBotsHigh prioritybots-sitemap-prefix-block

The /me crawl exclusion reaches public routes

8 unique public-name sitemap URLs match the /me prefix. 5 selected HTML examples returned 200 with self canonicals and no noindex directive.

Evidence & next action

Why it matters

Compliant search crawlers may skip this public content. This is a crawl-policy collision, not proof of index removal or a noindex response. User-triggered retrieval providers may apply different rules.

Recommended action

Review intended /me scope and explicitly preserve crawl access for public /me-prefixed routes. Validate private-route intent before changing policy.

Observed evidence

ReviewAgentsMedium priorityagents-html-mode-drift

Advertised stripped HTML differs by User-Agent

1 of 4 advertised named synthetic root requests retained runtime markup or lacked the promised X-Agent-Mode header. Full HTML remained HTTP 200.

Evidence & next action

Why it matters

This is a discovery-documentation/runtime mismatch, not an access or indexing failure. Historical payload savings in the manifest are not current performance measurements.

Recommended action

Reconcile the advertised trigger list, classifier and response treatment, and describe Extended tokens as robots controls rather than distinct HTTP User-Agents.

Observed evidence

IssueAgentsMedium priorityagents-plugin-contract

Legacy plugin advertises a non-OpenAPI document

The live legacy plugin manifest declares api.type=openapi but its target https://pointcast.xyz/agents.json has no OpenAPI version or paths.

Evidence & next action

Why it matters

This affects clients that still interpret the legacy manifest as an OpenAPI plugin. Modern MCP/JSON discovery and the two scoped OpenAPI specifications passed separate checks.

Recommended action

Replace the target with an appropriate genuine OpenAPI document, or retire the legacy manifest while preserving current documented integrations.

Observed evidence

ReviewGEOMedium prioritygeo-author-0655

Article attribution differs from the block record

Block 0655 JSON reports contributor “codex”; the HTML Article JSON-LD points author to the site-wide person identity.

Evidence & next action

Why it matters

Attribution inconsistency reduces clarity for systems assessing authorship and provenance.

Recommended action

Represent the actual contributor(s) consistently in visible credits, HTML metadata and JSON-LD; keep publisher identity separate.

Observed evidence

ReviewGEOMedium prioritygeo-author-0659

Article attribution differs from the block record

Block 0659 JSON reports contributor “codex”; the HTML Article JSON-LD points author to the site-wide person identity.

Evidence & next action

Why it matters

Attribution inconsistency reduces clarity for systems assessing authorship and provenance.

Recommended action

Represent the actual contributor(s) consistently in visible credits, HTML metadata and JSON-LD; keep publisher identity separate.

Observed evidence

ReviewSEOMedium priorityseo-noindex-sitemap

Noindex pages are advertised in sitemaps

3 selected public pages returned 200 with deliberate noindex and appeared in declared sitemaps.

Evidence & next action

Why it matters

This sends inconsistent discovery signals; noindex pages and join/redirect steps are not public-content outages.

Recommended action

Remove intentionally noindex steps from preferred-URL sitemaps while preserving their intended visitor behavior.

Observed evidence

ReviewSEOMedium priorityseo-product-properties

Selected Product markup is incomplete for rich results

48 of 154 Product nodes on the selected shop front lack Google's documented minimum name/offer/review/rating candidate path. Full rich-result eligibility remains unmeasured.

Evidence & next action

Why it matters

This limits a possible enhanced appearance; it does not establish crawl/index exclusion or measured search performance. Mixed catalog pages are not the preferred Product snippet target. Availability is recommended rather than a universal required property.

Recommended action

Use truthful, visible product data on suitable individual product pages and validate it with Google tools. Do not invent prices, reviews, ratings or stock status.

Observed evidence

ReviewSEOMedium priorityseo-sitemap-lastmod

Discovery lastmod is a blanket date

All 1207 dated discovery entries share 2026-10-02. The separately reviewed source generator assigns the build date.

Evidence & next action

Why it matters

A blanket date does not establish that each page changed significantly; freshness hints lose precision.

Recommended action

Emit lastmod only from verifiable page content changes, or omit it when a reliable date is unavailable.

Observed evidence

ReviewAgentsLow priorityagents-orientation-consistency

Orientation channel count differs from the manifest

The live llms-full.txt says “9 channels”; live agents.json enumerates 10 channels. The text guide also designates agents.json as current and preserves historical context.

Evidence & next action

Why it matters

Clients reading the text channel section alone may miss a current channel; this does not imply broken links or treat explicitly dated historical block counts as current.

Recommended action

Reconcile the channel section with the current registry, or clearly date and label that section as historical.

Observed evidence

ReviewSEOLow priorityseo-h1-coverage

Heading structure varies

1 of 36 selected HTML routes need review for this check.

Evidence & next action

Why it matters

A clear primary heading improves page orientation; one h1 is not a search-engine requirement.

Recommended action

Review primary headings on the affected route cohort.

Observed evidence

ReviewSEOLow priorityseo-sitemap-overlap

Sitemap families overlap

3325 entries reduce to 3324 URLs after normalizing trailing slashes (1 repeated entry).

Evidence & next action

Why it matters

Repeated sitemap entries add noise to crawl inventories; repetition alone does not prove an indexing problem.

Recommended action

Keep a consistent preferred URL form and remove avoidable cross-family duplication.

ExpectedAgentsObservationagents-expected-gates

Gated actions are not public-content outages

6 of 6 audience/method probes matched published contracts (6 denial/preview responses and 0 documented public status responses); 0 probes remained unmeasured.

Evidence & next action

Why it matters

Anonymous read probes do not exercise authorized actions, payments, signed identity or receipts. An unexpected 200 on a denied-by-contract route is reviewed separately from a documented public status 200.

Recommended action

Keep expected gates separate from public read failures; exercise authorized actions only in their dedicated test lane.

Observed evidence

ReviewAgentsObservationagents-readable-doors

Machine discovery doors are inventoried

25 of 26 selected discovery surfaces passed availability, format and advertised-contract checks; 6 audience/method probes are classified separately.

Evidence & next action

Why it matters

Machine-readable interfaces reduce parsing work but do not establish search ranking or AI citations. A readable JSON response can still advertise an incorrect integration contract.

Recommended action

Maintain manifest links, typed formats and audience/method contracts together.

Observed evidence

PassBotsObservationbots-synthetic-access

Synthetic bot entry requests are separate from indexing

12 of 12 named synthetic root requests completed with 200 and root policy permission; 0 remained unmeasured. Two Extended policy tokens were evaluated only in robots.

Evidence & next action

Why it matters

Responses from this audit network cannot verify provider IP access, WAF treatment, actual crawling, rendering or indexing.

Recommended action

Use verified crawler logs and provider tools to measure real bot activity; review the public-path robots mismatch separately.

Observed evidence

UnmeasuredGEOObservationgeo-readiness-boundary

Search visibility and AI citations remain unmeasured

This snapshot measures technical discovery readiness. It contains no provider index coverage, ranking, traffic, search-query study or AI citation measurement.

Evidence & next action

Why it matters

Available machine formats and crawl permission can support retrieval but cannot establish real search or generative-engine outcomes.

Recommended action

Add authorized Search Console/Bing evidence, verified crawler logs, and a disclosed repeatable AI citation study as separate measured datasets.

Observed evidence

PassGEOObservationgeo-server-text

Server text is available across the selected cohort

36 of 36 selected HTML pages delivered at least 50 candidate text words outside script/style/template/SVG.

Evidence & next action

Why it matters

Initial HTML improves readability for clients that do not run page scripts; semantic and factual quality require separate editorial review.

Recommended action

Keep meaningful content and contributor/source context in initial HTML or a linked machine twin.

Observed evidence

PassSEOObservationseo-sitemaps-readable

Declared sitemap families are inventoried

4 documents contain 3325 URL entries and 3324 unique exact URLs.

Evidence & next action

Why it matters

This measures sitemap discovery and parsing, not index submission or index coverage.

Recommended action

Keep preferred canonical URLs in sitemaps and verify provider submission separately.

A boundary worth keeping visible

Readable ≠ recommended.

GEO here means generative-engine optimization: how well the site offers accessible, clear and attributable material for AI search to use.

These checks cannot tell us whether an assistant actually cites PointCast. Search Console indexing, search rankings, referral traffic and controlled AI citation tests require separate measurements.

Real visibility: unmeasured

03 / Open the document

Route inspection.

109 check records across 108 unique sampled URLs. HTTP status and audit result are separate: an intentional gate or redirect can be expected behavior.

/feed.jsonfeedHTTP 200Pass
Open source Checked
Saved response summary
{
  "byteCount": 410775,
  "topLevelKeys": [
    "version",
    "title",
    "description",
    "home_page_url",
    "feed_url",
    "icon",
    "favicon",
    "authors",
    "language",
    "items"
  ],
  "itemCount": 428,
  "provenance": {
    "types": [],
    "dates": [],
    "dateCount": 0,
    "sourceUrlCount": 0,
    "authorSignals": 0
  }
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    JSON response parses

    Valid JSON

  • Pass
    Machine response media type

    application/json

  • Pass
    JSON Feed version and items

    https://jsonfeed.org/version/1.1; 428 items

/api/agent-cabinet/statusgateHTTP 503Expected
Open source Checked
Saved response summary
{
  "byteCount": 96,
  "gateReason": "collection-not-enabled",
  "phase": "preview"
}
  • Expected
    Published method/audience contract

    HTTP 503; Public status may return 200 or a documented 503 preview/availability gate; phase and reason are checked.

/api/agent/benchgateHTTP 404Expected
Open source Checked
Saved response summary
{
  "byteCount": 180592
}
  • Expected
    Published method/audience contract

    HTTP 404; Published action is POST-only; GET is a method mismatch, not a participation test.

/api/lucky-cat/actionsgateHTTP 404Expected
Open source Checked
Saved response summary
{
  "byteCount": 180592
}
  • Expected
    Published method/audience contract

    HTTP 404; Published action is POST-only; GET is a method mismatch, not an action test.

/api/lucky-cat/profilegateHTTP 401Expected
Open source Checked
Saved response summary
{
  "byteCount": 52,
  "gateReason": "agent-proof-required"
}
  • Expected
    Published method/audience contract

    HTTP 401; Signed agent proof required; anonymous GET is expected to be denied.

/api/x402/receiptgateHTTP 402Expected
Open source Checked
Saved response summary
{
  "byteCount": 912,
  "gateReason": "Payment Required"
}
  • Expected
    Published method/audience contract

    HTTP 402; Bare GET is a payment quote; no payment is submitted.

/api/x402/verifygateHTTP 400Expected
Open source Checked
Saved response summary
{
  "byteCount": 81,
  "gateReason": "receipt must be a base64 JSON string or object"
}
  • Expected
    Published method/audience contract

    HTTP 400; Receipt input is absent; this request cannot verify a receipt.

/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: CollectionPage, CreativeWork, GeoCoordinates, ItemList, Organization, Periodical, Person, Place, PostalAddress, SearchAction, WebApplication, WebSite

  • Pass
    Server text candidates

    12063 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/25/magazine/sorority-row/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); ROW / ROW — Sorority Row and the Social Architecture of 2030 — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/25/magazine/sorority-row/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: Article, GeoCoordinates, Organization, Person, Place, PostalAddress, PublicationIssue, SearchAction, WebSite

  • Pass
    Server text candidates

    2954 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/about/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); About | PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/about/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    1 JSON-LD block(s); types: GeoCoordinates, Organization, Person, Place, PostalAddress, SearchAction, WebSite

  • Pass
    Server text candidates

    2586 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/agent-field-guide/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); PointCast Agent Field Guide — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/agent-field-guide/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: Article, GeoCoordinates, Organization, Person, Place, PostalAddress, SearchAction, WebSite

  • Pass
    Server text candidates

    4570 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/agent-native-publishing/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); Agent-native publishing — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/agent-native-publishing/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: DefinedTerm, GeoCoordinates, HowTo, HowToStep, Organization, Person, Place, PostalAddress, SearchAction, TechArticle, WebSite

  • Pass
    Server text candidates

    3013 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/archive/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); Archive — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/archive/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: BreadcrumbList, CollectionPage, CreativeWork, GeoCoordinates, ItemList, ListItem, Organization, Person, Place, PostalAddress, SearchAction, WebSite

  • Pass
    Server text candidates

    16423 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/areas/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); PointCast Areas — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/areas/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: CollectionPage, CreativeWork, GeoCoordinates, Organization, Person, Place, PostalAddress, SearchAction, WebSite

  • Pass
    Server text candidates

    2965 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/b/0560/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); CH.SPN · 0560 — PointCast Tonight — GO OUT / STAY IN — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/b/0560/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: Article, BreadcrumbList, Collection, GeoCoordinates, ListItem, Organization, Person, Place, PostalAddress, SearchAction, URL, WebSite

  • Pass
    Server text candidates

    3052 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

  • https://pointcast.xyz/b/0560/

    HTTP 200; title CH.SPN · 0560 — PointCast Tonight — GO OUT / STAY IN — PointCast; canonical https://pointcast.xyz/b/0560/

/b/0655/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); CH.ESC · 0655 — Nouns Money · let’s collect — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/b/0655/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: Article, BreadcrumbList, Collection, GeoCoordinates, ListItem, Organization, Person, Place, PostalAddress, SearchAction, URL, WebSite

  • Pass
    Server text candidates

    2871 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

  • https://pointcast.xyz/b/0655/

    HTTP 200; title CH.ESC · 0655 — Nouns Money · let’s collect — PointCast; canonical https://pointcast.xyz/b/0655/

/b/0659/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); CH.ESC · 0659 — A year within reach — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/b/0659/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: Article, BreadcrumbList, Collection, GeoCoordinates, ListItem, Organization, Person, Place, PostalAddress, SearchAction, URL, WebSite

  • Pass
    Server text candidates

    2711 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/books/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); The PointCast Bookshop — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/books/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: CollectionPage, GeoCoordinates, Organization, Person, Place, PostalAddress, SearchAction, WebPage, WebSite

  • Pass
    Server text candidates

    183 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/brick-choir/join/htmlHTTP 200Review
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); Brick Choir: join the TV · PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/brick-choir/join/

  • Expected
    Index directives

    noindex; deliberate noindex is not an outage

  • Review
    Noindex omitted from sitemap

    Noindex page appears in declared sitemap

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    1 JSON-LD block(s); types: BreadcrumbList, ListItem

  • Pass
    Server text candidates

    56 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/capabilities/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); Agent capabilities — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/capabilities/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: GeoCoordinates, Organization, Person, Place, PostalAddress, SearchAction, WebPage, WebSite

  • Pass
    Server text candidates

    2973 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/connectors/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); Bring your AI to PointCast — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/connectors/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: CollectionPage, GeoCoordinates, Organization, Person, Place, PostalAddress, SearchAction, SoftwareApplication, WebSite

  • Pass
    Server text candidates

    4258 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/for-agents/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); For agents — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/for-agents/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: CreativeWork, GeoCoordinates, Organization, Person, Place, PostalAddress, SearchAction, WebPage, WebSite

  • Pass
    Server text candidates

    8367 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/local/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); Local · 100 miles from El Segundo — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/local/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: AdministrativeArea, City, GeoCircle, GeoCoordinates, Organization, Person, Place, PostalAddress, SearchAction, WebSite

  • Pass
    Server text candidates

    4630 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/lucky-cat/agents/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); Lucky Cat — Agent Practice · PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/lucky-cat/agents/

  • Pass
    Index directives

    No restricting meta directive

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    1 JSON-LD block(s); types: BreadcrumbList, ListItem

  • Pass
    Server text candidates

    275 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/manifesto/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); Manifesto — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/manifesto/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: Answer, DefinedTerm, DefinedTermSet, FAQPage, GeoCoordinates, Organization, Person, Place, PostalAddress, Question, SearchAction, WebSite

  • Pass
    Server text candidates

    3531 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/manufacturing/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); El Segundo Manufacturing Atlas — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/manufacturing/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    1 JSON-LD block(s); types: GeoCoordinates, Organization, Person, Place, PostalAddress, SearchAction, WebSite

  • Pass
    Server text candidates

    5888 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/meditate/htmlHTTP 200Issue
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); Ocean Meditation — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/meditate/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Issue
    Googlebot path permitted

    /me

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: GeoCoordinates, Organization, Person, Place, PostalAddress, SearchAction, WebApplication, WebSite

  • Pass
    Server text candidates

    2704 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/meetups/htmlHTTP 200Issue
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); Mike-led Meetups — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/meetups/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Issue
    Googlebot path permitted

    /me

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: CollectionPage, EventSeries, GeoCoordinates, Organization, Person, Place, PostalAddress, SearchAction, WebSite

  • Pass
    Server text candidates

    2806 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/menlo-park/htmlHTTP 200Issue
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); A Minor Invention Every Ten Days: A Material History of Edison's Menlo Park, 1876–1886 — UES Working Paper — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/menlo-park/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Issue
    Googlebot path permitted

    /me

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: EducationalOrganization, GeoCoordinates, Organization, Periodical, Person, Place, PostalAddress, ScholarlyArticle, SearchAction, WebSite

  • Pass
    Server text candidates

    5447 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

  • https://pointcast.xyz/menlo-park/

    HTTP 200; title A Minor Invention Every Ten Days: A Material History of Edison's Menlo Park, 1876–1886 — UES Working Paper — PointCast; canonical https://pointcast.xyz/menlo-park/

/mesh/htmlHTTP 200Issue
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); Mesh — three networks that carry PointCast — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/mesh/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Issue
    Googlebot path permitted

    /me

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: Collection, DataFeed, Dataset, GeoCoordinates, Organization, Person, Place, PostalAddress, SearchAction, WebSite

  • Pass
    Server text candidates

    3234 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

  • https://pointcast.xyz/mesh/

    HTTP 200; title Mesh — three networks that carry PointCast — PointCast; canonical https://pointcast.xyz/mesh/

/messages/htmlHTTP 200Issue
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); Messages — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/messages/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Issue
    Googlebot path permitted

    /me

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: GeoCoordinates, Organization, Person, Place, PostalAddress, SearchAction, SoftwareApplication, WebSite

  • Pass
    Server text candidates

    2638 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/morning/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); Morning Edition — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/morning/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: GeoCoordinates, MediaObject, Organization, Periodical, Person, Place, PostalAddress, SearchAction, WebSite

  • Pass
    Server text candidates

    2381 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/nouns/drum-club/bandmates/launch/htmlHTTP 200Review
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); Launch the Bandmates — Nouns Drum Club — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/nouns/drum-club/bandmates/launch/

  • Expected
    Index directives

    noindex, nofollow; deliberate noindex is not an outage

  • Review
    Noindex omitted from sitemap

    Noindex page appears in declared sitemap

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    1 JSON-LD block(s); types: GeoCoordinates, Organization, Person, Place, PostalAddress, SearchAction, WebSite

  • Pass
    Server text candidates

    181 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/paddles/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); The Paddle Register — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/paddles/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: DataDownload, Dataset, GeoCoordinates, Organization, Person, Place, PostalAddress, SearchAction, WebSite

  • Pass
    Server text candidates

    4411 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/paddles/legal/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); Which paddles are approved: USA Pickleball, UPA-A, quiet courts — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/paddles/legal/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: Dataset, GeoCoordinates, Organization, Person, Place, PostalAddress, SearchAction, WebSite

  • Pass
    Server text candidates

    6178 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/post-office/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); Post Office — PointCast | PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/post-office/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    1 JSON-LD block(s); types: GeoCoordinates, Organization, Person, Place, PostalAddress, SearchAction, WebSite

  • Pass
    Server text candidates

    2756 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/reviews/ai-plans/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); AI plans, reviewed for value | PointCast — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/reviews/ai-plans/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: Article, GeoCoordinates, Organization, Person, Place, PostalAddress, SearchAction, WebSite

  • Pass
    Server text candidates

    3441 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/rewards/start/htmlHTTP 200Review
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); Start a reward run — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/rewards/start/

  • Expected
    Index directives

    noindex, nofollow; deliberate noindex is not an outage

  • Review
    Noindex omitted from sitemap

    Noindex page appears in declared sitemap

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    1 JSON-LD block(s); types: GeoCoordinates, Organization, Person, Place, PostalAddress, SearchAction, WebSite

  • Pass
    Server text candidates

    2539 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Review
    Primary heading

    4 h1 element(s); editorial structure check, not a ranking rule

/shop/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); PointCast Commerce — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/shop/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: Brand, CollectionPage, GeoCoordinates, ItemList, ListItem, Organization, Person, Place, PostalAddress, Product, SearchAction, WebSite

  • Pass
    Server text candidates

    3681 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/shop/front/htmlHTTP 200Review
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); PointCast Shop — guides, picks and the register | PointCast — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/shop/front/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: Article, Brand, CollectionPage, GeoCoordinates, ItemList, ListItem, Offer, Organization, Person, Place, PostalAddress, Product, SearchAction, WebSite

  • Pass
    Server text candidates

    5116 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

  • Review
    Product required-property paths (partial)

    48 of 154 Product nodes lack name or an Offer/AggregateOffer/review/aggregateRating candidate path; partial price check only, nested review/rating validity and full Google eligibility unmeasured

  • https://pointcast.xyz/shop/front/

    HTTP 200; title PointCast Shop — guides, picks and the register | PointCast — PointCast; canonical https://pointcast.xyz/shop/front/

/tonight/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); PointCast Tonight · GO OUT / STAY IN — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/tonight/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: CollectionPage, Event, GeoCoordinates, Organization, Person, Place, PostalAddress, SearchAction, WebSite

  • Pass
    Server text candidates

    621 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/town/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); /town — PointCast as a small internet town — PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/town/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    2 JSON-LD block(s); types: CollectionPage, GeoCoordinates, Organization, Person, Place, PostalAddress, SearchAction, WebPage, WebSite

  • Pass
    Server text candidates

    2620 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

  • https://pointcast.xyz/town/

    HTTP 200; title /town — PointCast as a small internet town — PointCast; canonical https://pointcast.xyz/town/

/x402/htmlHTTP 200Pass
Open source Checked
  • Pass
    Public HTML response

    HTTP 200

  • Pass
    HTML content type

    text/html; charset=utf-8

  • Pass
    One nonempty document title

    1 title(s); x402 — PointCast | PointCast

  • Pass
    One nonempty description

    1 description(s)

  • Pass
    Preferred canonical URL

    https://pointcast.xyz/x402/

  • Pass
    Index directives

    index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

  • Pass
    Googlebot path permitted

    /

  • Pass
    Structured JSON parses

    1 JSON-LD block(s); types: GeoCoordinates, Organization, Person, Place, PostalAddress, SearchAction, WebSite

  • Pass
    Server text candidates

    2925 words after removing script/style/template/SVG; computed CSS/JS visibility not measured

  • Pass
    HTML language

    en

  • Pass
    Primary heading

    1 h1 element(s); editorial structure check, not a ranking rule

/.well-known/agents.jsonjsonHTTP 200Pass
Open source Checked
Saved response summary
{
  "byteCount": 184181,
  "topLevelKeys": [
    "capabilityIndex",
    "capabilitiesPage",
    "$schema",
    "name",
    "description",
    "homepage",
    "forAgents",
    "generatedAt",
    "blocksSince",
    "blocksCount",
    "location",
    "geo",
    "language",
    "license",
    "keywords",
    "identity",
    "luckyCat",
    "endpoints"
  ],
  "provenance": {
    "types": [],
    "dates": [
      {
        "field": "generatedAt",
        "value": "2026-10-02T22:51:44.491Z"
      },
      {
        "field": "reviewedAt",
        "value": "2026-09-21"
      }
    ],
    "dateCount": 2,
    "sourceUrlCount": 4,
    "authorSignals": 1
  }
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    JSON response parses

    Valid JSON

  • Pass
    Machine response media type

    application/json

/.well-known/ai.jsonjsonHTTP 200Pass
Open source Checked
Saved response summary
{
  "byteCount": 184181,
  "topLevelKeys": [
    "capabilityIndex",
    "capabilitiesPage",
    "$schema",
    "name",
    "description",
    "homepage",
    "forAgents",
    "generatedAt",
    "blocksSince",
    "blocksCount",
    "location",
    "geo",
    "language",
    "license",
    "keywords",
    "identity",
    "luckyCat",
    "endpoints"
  ],
  "provenance": {
    "types": [],
    "dates": [
      {
        "field": "generatedAt",
        "value": "2026-10-02T22:51:44.497Z"
      },
      {
        "field": "reviewedAt",
        "value": "2026-09-21"
      }
    ],
    "dateCount": 2,
    "sourceUrlCount": 4,
    "authorSignals": 1
  }
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    JSON response parses

    Valid JSON

  • Pass
    Machine response media type

    application/json

/agents.jsonjsonHTTP 200Pass
Open source Checked
Saved response summary
{
  "byteCount": 184181,
  "topLevelKeys": [
    "capabilityIndex",
    "capabilitiesPage",
    "$schema",
    "name",
    "description",
    "homepage",
    "forAgents",
    "generatedAt",
    "blocksSince",
    "blocksCount",
    "location",
    "geo",
    "language",
    "license",
    "keywords",
    "identity",
    "luckyCat",
    "endpoints"
  ],
  "provenance": {
    "types": [],
    "dates": [
      {
        "field": "generatedAt",
        "value": "2026-10-02T22:51:45.846Z"
      },
      {
        "field": "reviewedAt",
        "value": "2026-09-21"
      }
    ],
    "dateCount": 2,
    "sourceUrlCount": 4,
    "authorSignals": 1
  }
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    JSON response parses

    Valid JSON

  • Pass
    Machine response media type

    application/json

/api/capabilitiesjsonHTTP 200Pass
Open source Checked
Saved response summary
{
  "byteCount": 13225,
  "topLevelKeys": [
    "schema",
    "generatedAt",
    "cacheSeconds",
    "contractScope",
    "capabilityCount",
    "capabilities"
  ],
  "provenance": {
    "types": [],
    "dates": [
      {
        "field": "generatedAt",
        "value": "2026-10-03T16:27:51.214Z"
      },
      {
        "field": "reviewedAt",
        "value": "2026-09-21"
      }
    ],
    "dateCount": 2,
    "sourceUrlCount": 0,
    "authorSignals": 0
  }
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    JSON response parses

    Valid JSON

  • Pass
    Machine response media type

    application/json; charset=utf-8

/api/lucky-catjsonHTTP 200Pass
Open source Checked
Saved response summary
{
  "byteCount": 33096,
  "topLevelKeys": [
    "ok",
    "schema",
    "name",
    "room",
    "rules",
    "api",
    "catalog"
  ],
  "provenance": {
    "types": [],
    "dates": [],
    "dateCount": 0,
    "sourceUrlCount": 7,
    "authorSignals": 0
  }
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    JSON response parses

    Valid JSON

  • Pass
    Machine response media type

    application/json; charset=utf-8

/b/0560.jsonjsonHTTP 200Pass
Open source Checked
Saved response summary
{
  "byteCount": 4528,
  "topLevelKeys": [
    "$schema",
    "id",
    "url",
    "channel",
    "type",
    "title",
    "dek",
    "body",
    "timestamp",
    "size",
    "noun",
    "readingTime",
    "media",
    "external",
    "meta",
    "author",
    "source",
    "mood"
  ],
  "provenance": {
    "types": [],
    "dates": [
      {
        "field": "timestamp",
        "value": "2026-08-04T05:55:00.000Z"
      }
    ],
    "dateCount": 1,
    "sourceUrlCount": 0,
    "authorSignals": 1
  }
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    JSON response parses

    Valid JSON

  • Pass
    Machine response media type

    application/json

/b/0655.jsonjsonHTTP 200Pass
Open source Checked
Saved response summary
{
  "byteCount": 3483,
  "topLevelKeys": [
    "$schema",
    "id",
    "url",
    "channel",
    "type",
    "title",
    "dek",
    "body",
    "timestamp",
    "size",
    "noun",
    "media",
    "external",
    "meta",
    "author",
    "source",
    "mood",
    "moodUrl"
  ],
  "provenance": {
    "types": [],
    "dates": [
      {
        "field": "timestamp",
        "value": "2026-10-02T06:00:00.000Z"
      }
    ],
    "dateCount": 1,
    "sourceUrlCount": 0,
    "authorSignals": 1
  }
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    JSON response parses

    Valid JSON

  • Pass
    Machine response media type

    application/json

/b/0659.jsonjsonHTTP 200Pass
Open source Checked
Saved response summary
{
  "byteCount": 1797,
  "topLevelKeys": [
    "$schema",
    "id",
    "url",
    "channel",
    "type",
    "title",
    "dek",
    "body",
    "timestamp",
    "size",
    "media",
    "external",
    "author",
    "source",
    "mood",
    "moodUrl",
    "companions",
    "clock"
  ],
  "provenance": {
    "types": [],
    "dates": [
      {
        "field": "timestamp",
        "value": "2026-10-02T21:00:00.000Z"
      }
    ],
    "dateCount": 1,
    "sourceUrlCount": 0,
    "authorSignals": 1
  }
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    JSON response parses

    Valid JSON

  • Pass
    Machine response media type

    application/json

/blocks.jsonjsonHTTP 200Pass
Open source Checked
Saved response summary
{
  "byteCount": 547412,
  "topLevelKeys": [
    "$schema",
    "total",
    "updatedAt",
    "blocks"
  ],
  "itemCount": 428,
  "provenance": {
    "types": [],
    "dates": [
      {
        "field": "updatedAt",
        "value": "2026-10-02T22:51:59.106Z"
      },
      {
        "field": "timestamp",
        "value": "2026-10-02T21:00:00.000Z"
      },
      {
        "field": "timestamp",
        "value": "2026-10-02T21:00:00.000Z"
      },
      {
        "field": "timestamp",
        "value": "2026-10-02T09:23:05.118Z"
      },
      {
        "field": "timestamp",
        "value": "2026-10-02T08:50:36.211Z"
      },
      {
        "field": "timestamp",
        "value": "2026-10-02T06:00:00.000Z"
      },
      {
        "field": "timestamp",
        "value": "2026-10-01T10:40:00.000Z"
      },
      {
        "field": "timestamp",
        "value": "2026-10-01T09:10:00.000Z"
      },
      {
        "field": "timestamp",
        "value": "2026-10-01T07:30:00.000Z"
      },
      {
        "field": "timestamp",
        "value": "2026-09-30T16:00:00.000Z"
      },
      {
        "field": "timestamp",
        "value": "2026-09-30T07:30:00.000Z"
      },
      {
        "field": "timestamp",
        "value": "2026-09-30T06:30:00.000Z"
      }
    ],
    "dateCount": 429,
    "sourceUrlCount": 0,
    "authorSignals": 428
  }
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    JSON response parses

    Valid JSON

  • Pass
    Machine response media type

    application/json

/connectors.jsonjsonHTTP 200Pass
Open source Checked
Saved response summary
{
  "byteCount": 15764,
  "topLevelKeys": [
    "$schema",
    "name",
    "description",
    "generatedAt",
    "canonical",
    "agentKit",
    "connectors"
  ],
  "provenance": {
    "types": [],
    "dates": [
      {
        "field": "generatedAt",
        "value": "2026-10-02T22:52:08.869Z"
      }
    ],
    "dateCount": 1,
    "sourceUrlCount": 0,
    "authorSignals": 0
  }
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    JSON response parses

    Valid JSON

  • Pass
    Machine response media type

    application/json

/manufacturing.jsonjsonHTTP 200Pass
Open source Checked
Saved response summary
{
  "byteCount": 26262,
  "topLevelKeys": [
    "version",
    "checkedDate",
    "status",
    "origin",
    "radiusMiles",
    "methodology",
    "outsideWorkDefinition",
    "verificationWarning",
    "companies"
  ],
  "provenance": {
    "types": [],
    "dates": [],
    "dateCount": 0,
    "sourceUrlCount": 38,
    "authorSignals": 0
  }
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    JSON response parses

    Valid JSON

  • Pass
    Machine response media type

    application/json

/paddles.jsonjsonHTTP 200Pass
Open source Checked
Saved response summary
{
  "byteCount": 462992,
  "topLevelKeys": [
    "name",
    "status",
    "url",
    "license",
    "stats",
    "how",
    "brands",
    "paddles",
    "changes",
    "fieldReports"
  ],
  "provenance": {
    "types": [],
    "dates": [],
    "dateCount": 0,
    "sourceUrlCount": 353,
    "authorSignals": 0
  }
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    JSON response parses

    Valid JSON

  • Pass
    Machine response media type

    application/json

/tonight.jsonjsonHTTP 200Pass
Open source Checked
Saved response summary
{
  "byteCount": 10474,
  "topLevelKeys": [
    "$schema",
    "type",
    "id",
    "title",
    "dek",
    "edition",
    "block",
    "publishedDate",
    "timezone",
    "center",
    "radius",
    "bestBet",
    "goOut",
    "stayIn",
    "stations",
    "sources",
    "methodology",
    "human"
  ],
  "provenance": {
    "types": [],
    "dates": [],
    "dateCount": 0,
    "sourceUrlCount": 7,
    "authorSignals": 0
  }
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    JSON response parses

    Valid JSON

  • Pass
    Machine response media type

    application/json

/town.jsonjsonHTTP 200Pass
Open source Checked
Saved response summary
{
  "byteCount": 3735,
  "topLevelKeys": [
    "$schema",
    "name",
    "version",
    "description",
    "canonical",
    "grid",
    "buildings",
    "presenceSource",
    "soundsSource",
    "agentDoor",
    "mcpEndpoint",
    "note"
  ],
  "provenance": {
    "types": [],
    "dates": [],
    "dateCount": 0,
    "sourceUrlCount": 0,
    "authorSignals": 0
  }
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    JSON response parses

    Valid JSON

  • Pass
    Machine response media type

    application/json

/api/blocks.jsonljsonlHTTP 200Pass
Open source Checked
Saved response summary
{
  "byteCount": 1029834,
  "itemCount": 428
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    JSON lines parse

    428 lines, 0 invalid

/linkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/agent-field-guide.jsonlinkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/b/0206linkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/b/0237linkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/b/0272linkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/b/0315linkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/b/0346linkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/b/0379linkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/b/0414linkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/b/0445linkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/b/0476linkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/b/0507linkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/b/0538linkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/b/0567linkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/b/0602linkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/b/0636linkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/battle.jsonlinkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/builderslinkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/c/visit.rsslinkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/digital-pets/pinglinkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/faucet/fishclublinkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/labslinkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/meshlinkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/nouns/drum-club/linkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/paddles/brand/engagelinkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/paddles/chorus-shapeshifter-ex-hx-sxlinkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/paddles/joola-perseus-mod-ta-15linkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/paddles/selkirk-labs-project-007linkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/pairings/quiet-coordinationlinkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/products/lemonade-thc-beverage-enhancerlinkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/registerlinkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/reviews/paddles/methodlinkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/schemas/x402-receipt.schema.jsonlinkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/sprintlinkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/tv/north-san-diegolinkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/zen-catslinkHTTP 200Pass
Open source Checked
  • Pass
    Selected internal href responds

    HTTP 200

/api/mcpmcpHTTP 200Pass
Open source Checked
Saved response summary
{
  "byteCount": 17248
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    MCP GET discovery page

    GET discovery only; JSON-RPC catalog/session calls require POST and were not sent

/api/mcp-v2mcpHTTP 200Pass
Open source Checked
Saved response summary
{
  "byteCount": 17281
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    MCP GET discovery page

    GET discovery only; JSON-RPC catalog/session calls require POST and were not sent

/lucky-cat/openapi.jsonopenapiHTTP 200Pass
Open source Checked
Saved response summary
{
  "byteCount": 12623,
  "topLevelKeys": [
    "openapi",
    "info",
    "servers",
    "paths",
    "components"
  ],
  "provenance": {
    "types": [],
    "dates": [],
    "dateCount": 0,
    "sourceUrlCount": 0,
    "authorSignals": 0
  }
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    JSON response parses

    Valid JSON

  • Pass
    Machine response media type

    application/json

  • Pass
    OpenAPI version and paths

    3.1.0; 3 paths

/nouns-money/openapi.jsonopenapiHTTP 200Pass
Open source Checked
Saved response summary
{
  "byteCount": 18044,
  "topLevelKeys": [
    "openapi",
    "info",
    "servers",
    "x-pointcast-proposed-integrations",
    "tags",
    "paths",
    "components"
  ],
  "provenance": {
    "types": [],
    "dates": [],
    "dateCount": 0,
    "sourceUrlCount": 0,
    "authorSignals": 0
  }
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    JSON response parses

    Valid JSON

  • Pass
    Machine response media type

    application/json

  • Pass
    OpenAPI version and paths

    3.1.0; 2 paths

/.well-known/ai-plugin.jsonpluginHTTP 200Issue
Open source Checked
Saved response summary
{
  "byteCount": 1043,
  "topLevelKeys": [
    "schema_version",
    "name_for_model",
    "name_for_human",
    "description_for_human",
    "description_for_model",
    "auth",
    "api",
    "logo_url",
    "contact_email",
    "legal_info_url"
  ],
  "provenance": {
    "types": [],
    "dates": [],
    "dateCount": 0,
    "sourceUrlCount": 0,
    "authorSignals": 0
  }
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    JSON response parses

    Valid JSON

  • Pass
    Machine response media type

    application/json

  • Issue
    Advertised OpenAPI target

    https://pointcast.xyz/agents.json is a custom discovery manifest without openapi or paths

/robots.txtrobotsHTTP 200Pass
Open source Checked
  • Pass
    Crawl directives readable

    20 groups and 3 sitemap declarations

/sitemap-0.xmlsitemapHTTP 200Pass
Open source Checked
  • Pass
    Sitemap document readable

    urlset: 1690 entries

/sitemap-blocks.xmlsitemapHTTP 200Pass
Open source Checked
  • Pass
    Sitemap document readable

    urlset: 428 entries

/sitemap-discovery.xmlsitemapHTTP 200Pass
Open source Checked
  • Pass
    Sitemap document readable

    urlset: 1207 entries

/sitemap-index.xmlsitemapHTTP 200Pass
Open source Checked
  • Pass
    Sitemap document readable

    index: 1 entries

/agent-kit.mdtextHTTP 200Pass
Open source Checked
Saved response summary
{
  "byteCount": 7682,
  "linkCount": 16
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    Readable orientation text

    7627 characters

/llms-full.txttextHTTP 200Pass
Open source Checked
Saved response summary
{
  "byteCount": 180704,
  "linkCount": 462
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    Readable orientation text

    180002 characters

/llms.txttextHTTP 200Pass
Open source Checked
Saved response summary
{
  "byteCount": 36207,
  "linkCount": 218
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    Readable orientation text

    36057 characters

/feed.xmlxmlHTTP 200Pass
Open source Checked
Saved response summary
{
  "byteCount": 226911,
  "itemCount": 428
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    Feed XML root

    RSS/Atom root present; full XML schema validity not tested

/rss.xmlxmlHTTP 200Pass
Open source Checked
Saved response summary
{
  "byteCount": 6844,
  "itemCount": 9
}
  • Pass
    Public discovery response

    HTTP 200

  • Pass
    Feed XML root

    RSS/Atom root present; full XML schema validity not tested

04 / The access layer

Rules meet requests.

14 bot policy / probe records. A user-agent label in a test request is not proof of a verified crawler visit, indexing or edge treatment for the real bot.

Synthetic bot request and declared robots policy observations
Crawler / purposeDeclared robotsHTTP / routeObservation
GooglebotGooglebot/1.0

Search index crawler

AllowedGroup: *Matched: allow: /
All 14 group rules
  • allow: /
  • disallow: /api/auth/
  • disallow: /api/me/
  • disallow: /me
  • disallow: /_/
  • disallow: /admin/
  • disallow: /search?q=
  • disallow: /api/spotify/search?q=
  • disallow: /api/collect/confirm
  • disallow: /api/collect/unsubscribe
  • disallow: /api/shopify/auth
  • disallow: /api/shopify/callback
  • disallow: /api/spotify/auth
  • disallow: /api/spotify/callback
200/Pass

Synthetic Googlebot/1.0 GET / returned 200; robots root allowed; 12063 server text words; X-Agent-Mode (absent)

Synthetic User-Agent from the audit network. Does not prove verified crawler access, a crawler visit, indexing, ranking or citation.
bingbotbingbot/1.0

Search index crawler

AllowedGroup: *Matched: allow: /
All 14 group rules
  • allow: /
  • disallow: /api/auth/
  • disallow: /api/me/
  • disallow: /me
  • disallow: /_/
  • disallow: /admin/
  • disallow: /search?q=
  • disallow: /api/spotify/search?q=
  • disallow: /api/collect/confirm
  • disallow: /api/collect/unsubscribe
  • disallow: /api/shopify/auth
  • disallow: /api/shopify/callback
  • disallow: /api/spotify/auth
  • disallow: /api/spotify/callback
200/Pass

Synthetic bingbot/1.0 GET / returned 200; robots root allowed; 12063 server text words; X-Agent-Mode (absent)

Synthetic User-Agent from the audit network. Does not prove verified crawler access, a crawler visit, indexing, ranking or citation.
OAI-SearchBotOAI-SearchBot/1.0

OpenAI search crawler

AllowedGroup: oai-searchbotMatched: allow: /
All 14 group rules
  • allow: /
  • disallow: /api/auth/
  • disallow: /api/me/
  • disallow: /me
  • disallow: /_/
  • disallow: /admin/
  • disallow: /search?q=
  • disallow: /api/spotify/search?q=
  • disallow: /api/collect/confirm
  • disallow: /api/collect/unsubscribe
  • disallow: /api/shopify/auth
  • disallow: /api/shopify/callback
  • disallow: /api/spotify/auth
  • disallow: /api/spotify/callback
200/Pass

Synthetic OAI-SearchBot/1.0 GET / returned 200; robots root allowed; 12063 server text words; X-Agent-Mode (absent)

Synthetic User-Agent from the audit network. Does not prove verified crawler access, a crawler visit, indexing, ranking or citation.
GPTBotGPTBot/1.0

OpenAI model-training crawler

AllowedGroup: gptbotMatched: allow: /
All 14 group rules
  • allow: /
  • disallow: /api/auth/
  • disallow: /api/me/
  • disallow: /me
  • disallow: /_/
  • disallow: /admin/
  • disallow: /search?q=
  • disallow: /api/spotify/search?q=
  • disallow: /api/collect/confirm
  • disallow: /api/collect/unsubscribe
  • disallow: /api/shopify/auth
  • disallow: /api/shopify/callback
  • disallow: /api/spotify/auth
  • disallow: /api/spotify/callback
200/Pass

Synthetic GPTBot/1.0 GET / returned 200; robots root allowed; 12063 server text words; X-Agent-Mode stripped · ai:openai

Synthetic User-Agent from the audit network. Does not prove verified crawler access, a crawler visit, indexing, ranking or citation.
ChatGPT-UserChatGPT-User/1.0

OpenAI user-triggered retrieval

AllowedGroup: chatgpt-userMatched: allow: /
All 14 group rules
  • allow: /
  • disallow: /api/auth/
  • disallow: /api/me/
  • disallow: /me
  • disallow: /_/
  • disallow: /admin/
  • disallow: /search?q=
  • disallow: /api/spotify/search?q=
  • disallow: /api/collect/confirm
  • disallow: /api/collect/unsubscribe
  • disallow: /api/shopify/auth
  • disallow: /api/shopify/callback
  • disallow: /api/spotify/auth
  • disallow: /api/spotify/callback
200/Pass

Synthetic ChatGPT-User/1.0 GET / returned 200; robots root allowed; 12063 server text words; X-Agent-Mode stripped · ai:openai

Synthetic User-Agent from the audit network. Does not prove verified crawler access, a crawler visit, indexing, ranking or citation.
ClaudeBotClaudeBot/1.0

Anthropic model-training crawler

AllowedGroup: claudebotMatched: allow: /
All 14 group rules
  • allow: /
  • disallow: /api/auth/
  • disallow: /api/me/
  • disallow: /me
  • disallow: /_/
  • disallow: /admin/
  • disallow: /search?q=
  • disallow: /api/spotify/search?q=
  • disallow: /api/collect/confirm
  • disallow: /api/collect/unsubscribe
  • disallow: /api/shopify/auth
  • disallow: /api/shopify/callback
  • disallow: /api/spotify/auth
  • disallow: /api/spotify/callback
200/Pass

Synthetic ClaudeBot/1.0 GET / returned 200; robots root allowed; 12063 server text words; X-Agent-Mode stripped · ai:anthropic

Synthetic User-Agent from the audit network. Does not prove verified crawler access, a crawler visit, indexing, ranking or citation.
Claude-SearchBotClaude-SearchBot/1.0

Anthropic search crawler

AllowedGroup: claude-searchbotMatched: allow: /
All 14 group rules
  • allow: /
  • disallow: /api/auth/
  • disallow: /api/me/
  • disallow: /me
  • disallow: /_/
  • disallow: /admin/
  • disallow: /search?q=
  • disallow: /api/spotify/search?q=
  • disallow: /api/collect/confirm
  • disallow: /api/collect/unsubscribe
  • disallow: /api/shopify/auth
  • disallow: /api/shopify/callback
  • disallow: /api/spotify/auth
  • disallow: /api/spotify/callback
200/Pass

Synthetic Claude-SearchBot/1.0 GET / returned 200; robots root allowed; 12063 server text words; X-Agent-Mode (absent)

Synthetic User-Agent from the audit network. Does not prove verified crawler access, a crawler visit, indexing, ranking or citation.
Claude-UserClaude-User/1.0

Anthropic user-triggered retrieval

AllowedGroup: claude-userMatched: allow: /
All 14 group rules
  • allow: /
  • disallow: /api/auth/
  • disallow: /api/me/
  • disallow: /me
  • disallow: /_/
  • disallow: /admin/
  • disallow: /search?q=
  • disallow: /api/spotify/search?q=
  • disallow: /api/collect/confirm
  • disallow: /api/collect/unsubscribe
  • disallow: /api/shopify/auth
  • disallow: /api/shopify/callback
  • disallow: /api/spotify/auth
  • disallow: /api/spotify/callback
200/Pass

Synthetic Claude-User/1.0 GET / returned 200; robots root allowed; 12063 server text words; X-Agent-Mode (absent)

Synthetic User-Agent from the audit network. Does not prove verified crawler access, a crawler visit, indexing, ranking or citation.
PerplexityBotPerplexityBot/1.0

Perplexity search crawler

AllowedGroup: perplexitybotMatched: allow: /
All 14 group rules
  • allow: /
  • disallow: /api/auth/
  • disallow: /api/me/
  • disallow: /me
  • disallow: /_/
  • disallow: /admin/
  • disallow: /search?q=
  • disallow: /api/spotify/search?q=
  • disallow: /api/collect/confirm
  • disallow: /api/collect/unsubscribe
  • disallow: /api/shopify/auth
  • disallow: /api/shopify/callback
  • disallow: /api/spotify/auth
  • disallow: /api/spotify/callback
200/Pass

Synthetic PerplexityBot/1.0 GET / returned 200; robots root allowed; 12063 server text words; X-Agent-Mode stripped · ai:perplexity

Synthetic User-Agent from the audit network. Does not prove verified crawler access, a crawler visit, indexing, ranking or citation.
Perplexity-UserPerplexity-User/1.0

Perplexity user-triggered retrieval

AllowedGroup: perplexity-userMatched: allow: /
All 14 group rules
  • allow: /
  • disallow: /api/auth/
  • disallow: /api/me/
  • disallow: /me
  • disallow: /_/
  • disallow: /admin/
  • disallow: /search?q=
  • disallow: /api/spotify/search?q=
  • disallow: /api/collect/confirm
  • disallow: /api/collect/unsubscribe
  • disallow: /api/shopify/auth
  • disallow: /api/shopify/callback
  • disallow: /api/spotify/auth
  • disallow: /api/spotify/callback
200/Pass

Synthetic Perplexity-User/1.0 GET / returned 200; robots root allowed; 12063 server text words; X-Agent-Mode stripped · ai:perplexity

Synthetic User-Agent from the audit network. Does not prove verified crawler access, a crawler visit, indexing, ranking or citation.
Google-Extended

Robots policy token; not a distinct HTTP User-Agent

AllowedGroup: google-extendedMatched: allow: /
All 14 group rules
  • allow: /
  • disallow: /api/auth/
  • disallow: /api/me/
  • disallow: /me
  • disallow: /_/
  • disallow: /admin/
  • disallow: /search?q=
  • disallow: /api/spotify/search?q=
  • disallow: /api/collect/confirm
  • disallow: /api/collect/unsubscribe
  • disallow: /api/shopify/auth
  • disallow: /api/shopify/callback
  • disallow: /api/spotify/auth
  • disallow: /api/spotify/callback
Not sent/Pass

Root policy allows; HTTP probe not applicable to this policy token

Policy token only. No distinct User-Agent request or real crawler verification.
Applebot-Extended

Robots policy token; not a distinct HTTP User-Agent

AllowedGroup: applebot-extendedMatched: allow: /
All 14 group rules
  • allow: /
  • disallow: /api/auth/
  • disallow: /api/me/
  • disallow: /me
  • disallow: /_/
  • disallow: /admin/
  • disallow: /search?q=
  • disallow: /api/spotify/search?q=
  • disallow: /api/collect/confirm
  • disallow: /api/collect/unsubscribe
  • disallow: /api/shopify/auth
  • disallow: /api/shopify/callback
  • disallow: /api/spotify/auth
  • disallow: /api/spotify/callback
Not sent/Pass

Root policy allows; HTTP probe not applicable to this policy token

Policy token only. No distinct User-Agent request or real crawler verification.
CCBotCCBot/1.0

Common Crawl crawler

AllowedGroup: ccbotMatched: allow: /
All 14 group rules
  • allow: /
  • disallow: /api/auth/
  • disallow: /api/me/
  • disallow: /me
  • disallow: /_/
  • disallow: /admin/
  • disallow: /search?q=
  • disallow: /api/spotify/search?q=
  • disallow: /api/collect/confirm
  • disallow: /api/collect/unsubscribe
  • disallow: /api/shopify/auth
  • disallow: /api/shopify/callback
  • disallow: /api/spotify/auth
  • disallow: /api/spotify/callback
200/Pass

Synthetic CCBot/1.0 GET / returned 200; robots root allowed; 12063 server text words; X-Agent-Mode stripped · ai:commoncrawl

Synthetic User-Agent from the audit network. Does not prove verified crawler access, a crawler visit, indexing, ranking or citation.
AmazonbotAmazonbot/1.0

Amazon crawler

AllowedGroup: amazonbotMatched: allow: /
All 14 group rules
  • allow: /
  • disallow: /api/auth/
  • disallow: /api/me/
  • disallow: /me
  • disallow: /_/
  • disallow: /admin/
  • disallow: /search?q=
  • disallow: /api/spotify/search?q=
  • disallow: /api/collect/confirm
  • disallow: /api/collect/unsubscribe
  • disallow: /api/shopify/auth
  • disallow: /api/shopify/callback
  • disallow: /api/spotify/auth
  • disallow: /api/spotify/callback
200/Pass

Synthetic Amazonbot/1.0 GET / returned 200; robots root allowed; 12063 server text words; X-Agent-Mode (absent)

Synthetic User-Agent from the audit network. Does not prove verified crawler access, a crawler visit, indexing, ranking or citation.

05 / Show the working

An audit you can inspect.

The report keeps dates, evidence and coverage alongside each result. These are observed checks and recommendations, with no invented SEO score.

What this snapshot can say

It records public responses, document signals and machine-readable discovery surfaces. Findings distinguish observed defects, review items, expected gates and unmeasured outcomes.

Where it stops

  • A dated snapshot of public responses. No monitoring schedule, search-provider index/ranking/traffic data, verified crawler visits, or AI citation study is included.
  • Synthetic User-Agents come from the audit network, not verified provider IPs. A successful request does not prove real crawler access, indexing, ranking or citation.
  • All declared sitemap families are parsed and counted, but only selected route and link cohorts are fetched. Counts are explicit denominators, not an SEO/GEO performance score.
  • HTML inspection uses dependency-free bounded markup parsing. Candidate server text is not computed CSS visibility or browser rendering; JavaScript interactions, screenshots, schema.org rich-result eligibility and accessibility are not tested here.
  • No credentials, cookies, authorization headers, wallet signing, payments, mutations or POST requests. Expected authentication/payment/method/preview gates do not certify their authorized runtime behavior.
  • Source-informed findings use public repository file URLs for rationale. Runtime public observations are timestamped; generation timestamps and sitemap lastmod are not assumed to prove editorial freshness.
  • HTTP/XML/JSON syntax and contract checks do not establish factual truth, rights, editorial quality, full endpoint coverage or provider support for custom agents.json/llms formats.

The age label changes in your browser. After seven days, this page recommends a recheck; the underlying observations stay frozen until a new report is published.

Take the evidence with you

The full public report.

Every saved finding, route record, bot policy / probe record, coverage denominator and reference in a portable JSON snapshot.

Checked
Oct 03, 2026 · 16:27 UTC
Report format
JSON · schema 1
Download full JSON Read the raw report

CSV export above follows your selected filters. JSON always contains the full saved report.

Official standards & crawler documentation 24 references