394d5dae3f
- report_generate.py: REPORT-final.md + VALIDATION.md from findings + raw capture; per-surface status from summary.surfaces_ok; Data Limitations - report_gate.py: §6 gate scripted (count/evidence/identity/material support); non-zero exit blocks delivery - audit_diff.py: before/after capture comparison -> DELTA.md - audit_pipeline.sh: 2 steps -> 4; collision-safe capture copy (re-runs preserve baseline); relative output dir resolved to absolute - beta-audit-process.md: locked v1.0 -> v1.1 (+ dated decision record) - all 9 runs of the 2026-08-15 batch regenerated + gated (9/9 PASS) - live end-to-end proof: Gilmore re-run, DELTA.md 0 changes (same day)
208 lines
6.5 KiB
JSON
208 lines
6.5 KiB
JSON
{
|
|
"audit_engine": "v1",
|
|
"timestamp": "2026-08-15T16:46:20.939734+00:00",
|
|
"business": "Gilmore Heating, Air and Plumbing",
|
|
"summary": {
|
|
"total_findings": 13,
|
|
"severity_counts": {
|
|
"immediate": 4,
|
|
"high": 3,
|
|
"medium": 4,
|
|
"enhancement": 2
|
|
},
|
|
"sub_score_issues": {
|
|
"Digital Identity": 4,
|
|
"Google Business": 1,
|
|
"Reviews": 5,
|
|
"Technical SEO": 1,
|
|
"Content": 2
|
|
},
|
|
"surfaces_ok": {
|
|
"google_business_profile": true,
|
|
"apple_maps": true
|
|
},
|
|
"surfaces_failed": {
|
|
"bing_places": false,
|
|
"website": false
|
|
},
|
|
"rating": 4.8,
|
|
"reviews": 3860
|
|
},
|
|
"findings": [
|
|
{
|
|
"id": "nap_phone_mismatch",
|
|
"severity": "immediate",
|
|
"title": "Phone number inconsistent across 1 surface(s)",
|
|
"sub_score": "Digital Identity",
|
|
"evidence": {
|
|
"google": "(530) 290-5551",
|
|
"apple": "+1 (916) 866-5596"
|
|
},
|
|
"recommendation": "Standardize phone format across all directories. GBP is authoritative."
|
|
},
|
|
{
|
|
"id": "nap_address_mismatch",
|
|
"severity": "immediate",
|
|
"title": "Address inconsistent across 1 surface(s)",
|
|
"sub_score": "Digital Identity",
|
|
"evidence": {
|
|
"google": "8636 Antelope North Rd Bldg D, Antelope, CA 95843",
|
|
"apple": "8636 Antelope North Rd, Antelope, CA 95843"
|
|
},
|
|
"recommendation": "Standardize exact address format. GBP address is authoritative."
|
|
},
|
|
{
|
|
"id": "hours_mismatch",
|
|
"severity": "immediate",
|
|
"title": "Hours mismatch on 7 day(s) \u2014 GBP is authoritative",
|
|
"sub_score": "Google Business",
|
|
"evidence": [
|
|
{
|
|
"day": "saturday",
|
|
"google": "Open 24 hours",
|
|
"apple_maps": "12:00 AM-12:00 PM"
|
|
},
|
|
{
|
|
"day": "sunday",
|
|
"google": "Open 24 hours",
|
|
"apple_maps": "12:00 AM-12:00 PM"
|
|
},
|
|
{
|
|
"day": "monday",
|
|
"google": "Open 24 hours",
|
|
"apple_maps": "12:00 AM-12:00 PM"
|
|
},
|
|
{
|
|
"day": "tuesday",
|
|
"google": "Open 24 hours",
|
|
"apple_maps": "12:00 AM-12:00 PM"
|
|
},
|
|
{
|
|
"day": "wednesday",
|
|
"google": "Open 24 hours",
|
|
"apple_maps": "12:00 AM-12:00 PM"
|
|
},
|
|
{
|
|
"day": "thursday",
|
|
"google": "Open 24 hours",
|
|
"apple_maps": "12:00 AM-12:00 PM"
|
|
},
|
|
{
|
|
"day": "friday",
|
|
"google": "Open 24 hours",
|
|
"apple_maps": "12:00 AM-12:00 PM"
|
|
}
|
|
],
|
|
"recommendation": "Correct hours on non-GBP surfaces to match GBP. Mismatched hours cause customer complaints and trust loss."
|
|
},
|
|
{
|
|
"id": "rating_below_threshold",
|
|
"severity": "immediate",
|
|
"title": "Average rating 3.6 \u2014 below 4.0 threshold",
|
|
"sub_score": "Reviews",
|
|
"evidence": {
|
|
"average": 3.65,
|
|
"by_source": {
|
|
"google": 4.8,
|
|
"apple": 2.5
|
|
}
|
|
},
|
|
"recommendation": "Address negative reviews, request new reviews from satisfied customers. Below 4.0 is a strong conversion blocker."
|
|
},
|
|
{
|
|
"id": "nap_website_mismatch",
|
|
"severity": "high",
|
|
"title": "Website URL inconsistent across 1 surface(s)",
|
|
"sub_score": "Digital Identity",
|
|
"evidence": {
|
|
"google": "https://gilmoreair.com/service-areas/antelope/?utm_source=GBP-listing&utm_medium=organic&utm_campaign=antelope-ca",
|
|
"apple": "https://gilmoreair.com"
|
|
},
|
|
"recommendation": "Use one canonical URL (prefer HTTPS, no www) across all directories."
|
|
},
|
|
{
|
|
"id": "rating_delta_high",
|
|
"severity": "high",
|
|
"title": "Rating varies by 2.3 across surfaces (range: 2.5\u20134.8)",
|
|
"sub_score": "Reviews",
|
|
"evidence": {
|
|
"google": 4.8,
|
|
"apple": 2.5
|
|
},
|
|
"recommendation": "Investigate why some surfaces show different ratings. May indicate stale data or mixed-up business listings."
|
|
},
|
|
{
|
|
"id": "no_website",
|
|
"severity": "high",
|
|
"title": "No website found",
|
|
"sub_score": "Technical SEO",
|
|
"evidence": {},
|
|
"recommendation": "A website is essential for credibility, schema markup, and conversion. Launch one immediately."
|
|
},
|
|
{
|
|
"id": "review_count_delta",
|
|
"severity": "medium",
|
|
"title": "Review count varies by 3588 across surfaces",
|
|
"sub_score": "Reviews",
|
|
"evidence": {
|
|
"google": 3860,
|
|
"apple": 272
|
|
},
|
|
"recommendation": "Large review count gaps suggest some surfaces have stale or merged data. Verify listing ownership."
|
|
},
|
|
{
|
|
"id": "review_dates_unavailable",
|
|
"severity": "medium",
|
|
"title": "Cannot determine review recency \u2014 no dates available in samples",
|
|
"sub_score": "Reviews",
|
|
"evidence": {
|
|
"sources_with_dates": []
|
|
},
|
|
"recommendation": "Review date data is not available from current surfaces. Monitor via GBP dashboard directly."
|
|
},
|
|
{
|
|
"id": "category_fragmentation",
|
|
"severity": "medium",
|
|
"title": "Category varies across surfaces: consumer sector, hvac contractor",
|
|
"sub_score": "Digital Identity",
|
|
"evidence": {
|
|
"google": "hvac contractor",
|
|
"apple": "consumer sector"
|
|
},
|
|
"recommendation": "Align primary category across all directories. GBP primary category is the ranking driver."
|
|
},
|
|
{
|
|
"id": "no_description",
|
|
"severity": "medium",
|
|
"title": "No business description found on any surface",
|
|
"sub_score": "Content",
|
|
"evidence": {
|
|
"surfaces_checked": [
|
|
"google",
|
|
"bing",
|
|
"website"
|
|
]
|
|
},
|
|
"recommendation": "Add a keyword-rich description to GBP and website. Descriptions improve click-through and category relevance."
|
|
},
|
|
{
|
|
"id": "reviews_low_specificity",
|
|
"severity": "enhancement",
|
|
"title": "Only 0% of sample reviews mention specific services or practitioners",
|
|
"sub_score": "Reviews",
|
|
"evidence": {
|
|
"sample_size": 3,
|
|
"specific_count": 0
|
|
},
|
|
"recommendation": "Encourage detailed reviews mentioning services and staff. Specific reviews rank higher and convert better."
|
|
},
|
|
{
|
|
"id": "no_price_level",
|
|
"severity": "enhancement",
|
|
"title": "Price level not set on GBP or Apple Maps",
|
|
"sub_score": "Content",
|
|
"evidence": {},
|
|
"recommendation": "Set price level ($\u2013$$$$) on GBP. Helps users self-select and improves relevance."
|
|
}
|
|
]
|
|
} |