# Local Search & Structured Data Audit

- Audited site: https://crow.sg/
- Rule pack: crow-local-search-structured-data 1.1.0
- Completed: 2026-07-24T13:41:44.550Z
- Artifacts expire: 2026-07-31T13:41:44.550Z

> Scope caveat: Results apply only to 20 complete admitted public HTML pages under the snapshotted caps; this is not a whole-site, Google, Maps, directory, ranking, index-status, or rich-result claim.

## Executive summary

1 declared location profile and 0 supported LocalBusiness entities were retained across 20 complete public HTML pages; only unambiguously mapped entities were declaration-compared. The deterministic rule pack confirmed 1 finding and retained 2 operational or inconclusive issues.

Only deterministic evidence creates findings. Operational uncertainty is not a customer defect.

## Confirmed findings

### 1. Declared location page has no LocalBusiness entity

- Severity: high
- Rule: STRUCTURED.LOCAL\_BUSINESS\_MISSING 1.1.0
- Evidence: E-e05d06fb564138505b536005
- Source: https://crow.sg/
- Marker: document/structured-data
- Field: LocalBusiness
- Observed normalized: \(missing\)
- Declared: Crow Tech Pte. Ltd.
- Detail: No supported JSON-LD, Microdata, or RDFa LocalBusiness entity mapped to this declared location page.
- Action: Publish one supported LocalBusiness entity on the declared location page with a stable URL or @id.

## Operational / inconclusive ledger

- OP-a2f864acdc4c6476cfea · page\_cap: The snapshotted HTML page cap was reached; remaining admitted candidates were not fetched.
- OP-f5c5e269fd36d2833311 · html\_tree\_construction · https://crow.sg/blog/what-is-dbt-data-build-tool/: HTML tree-construction semantics outside the pinned parser affected this page; Microdata, RDFa, server-text absence, and dependent negative findings were suppressed.

## Scope metrics

- Declared profiles: 1
- Seed URLs: 1
- URLs discovered: 28
- Pages attempted: 20
- Complete HTML pages: 20
- Target pages rendered: 0
- Structured-data blocks retained: 1
- LocalBusiness entities observed: 0
- HTTP request attempts: 21
- Observed response-body bytes: 1213280
- Caps hit: page\_cap

## Implemented and omitted checks

Implemented: complete JSON-LD parsing; pinned static JSON-LD, Microdata, and RDFa extraction for the exact canonical LocalBusiness type; unambiguous exact normalized URL or exact normalized name plus deterministically equivalent normalized address mapping; declared-field comparisons and invalid supported phone/hours/geo on mapped entities; same-identity conflicts; positive declared NAP presence in bounded server-delivered candidate text. Server-text absence remains operational/inconclusive.

Not implemented: Google/Maps/directories/Google Business Profile/rankings/index status/rich-result eligibility; target JavaScript/rendering or rendered visibility/absence; Microdata itemref; RDFa CURIE/prefix and split-subject graphs; custom JSON-LD aliases/contexts and node-shaped/split-node graphs; schema subtypes; PostalAddress post-office-box/multi-value components; cross-midnight/date-qualified/special hours; timezones; service-area comparison/validity.
