antigravity-seo-kit 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/.agent/agent.md +96 -0
  2. package/.agent/skills/seo/SKILL.md +153 -0
  3. package/.agent/skills/seo/references/cwv-thresholds.md +108 -0
  4. package/.agent/skills/seo/references/eeat-framework.md +214 -0
  5. package/.agent/skills/seo/references/local-schema-types.md +230 -0
  6. package/.agent/skills/seo/references/local-seo-signals.md +218 -0
  7. package/.agent/skills/seo/references/maps-api-endpoints.md +160 -0
  8. package/.agent/skills/seo/references/maps-free-apis.md +176 -0
  9. package/.agent/skills/seo/references/maps-gbp-checklist.md +150 -0
  10. package/.agent/skills/seo/references/maps-geo-grid.md +154 -0
  11. package/.agent/skills/seo/references/quality-gates.md +155 -0
  12. package/.agent/skills/seo/references/schema-types.md +118 -0
  13. package/.agent/skills/seo/schema/templates.json +213 -0
  14. package/.agent/skills/seo/scripts/analyze_visual.py +217 -0
  15. package/.agent/skills/seo/scripts/capture_screenshot.py +181 -0
  16. package/.agent/skills/seo/scripts/fetch_page.py +196 -0
  17. package/.agent/skills/seo/scripts/parse_html.py +201 -0
  18. package/.agent/skills/seo-audit/SKILL.md +278 -0
  19. package/.agent/skills/seo-competitor-pages/SKILL.md +212 -0
  20. package/.agent/skills/seo-content/SKILL.md +230 -0
  21. package/.agent/skills/seo-dataforseo/SKILL.md +418 -0
  22. package/.agent/skills/seo-geo/SKILL.md +305 -0
  23. package/.agent/skills/seo-google/SKILL.md +405 -0
  24. package/.agent/skills/seo-google/assets/templates/cwv-audit-report.md +48 -0
  25. package/.agent/skills/seo-google/assets/templates/gsc-performance-report.md +44 -0
  26. package/.agent/skills/seo-google/assets/templates/indexation-status-report.md +43 -0
  27. package/.agent/skills/seo-google/references/auth-setup.md +154 -0
  28. package/.agent/skills/seo-google/references/ga4-data-api.md +184 -0
  29. package/.agent/skills/seo-google/references/indexing-api.md +107 -0
  30. package/.agent/skills/seo-google/references/keyword-planner-api.md +66 -0
  31. package/.agent/skills/seo-google/references/nlp-api.md +55 -0
  32. package/.agent/skills/seo-google/references/pagespeed-crux-api.md +204 -0
  33. package/.agent/skills/seo-google/references/rate-limits-quotas.md +75 -0
  34. package/.agent/skills/seo-google/references/search-console-api.md +156 -0
  35. package/.agent/skills/seo-google/references/supplementary-apis.md +99 -0
  36. package/.agent/skills/seo-google/references/youtube-api.md +49 -0
  37. package/.agent/skills/seo-google/scripts/crux_history.py +321 -0
  38. package/.agent/skills/seo-google/scripts/ga4_report.py +478 -0
  39. package/.agent/skills/seo-google/scripts/google_auth.py +795 -0
  40. package/.agent/skills/seo-google/scripts/google_report.py +2273 -0
  41. package/.agent/skills/seo-google/scripts/gsc_inspect.py +340 -0
  42. package/.agent/skills/seo-google/scripts/gsc_query.py +378 -0
  43. package/.agent/skills/seo-google/scripts/indexing_notify.py +313 -0
  44. package/.agent/skills/seo-google/scripts/keyword_planner.py +297 -0
  45. package/.agent/skills/seo-google/scripts/nlp_analyze.py +309 -0
  46. package/.agent/skills/seo-google/scripts/pagespeed_check.py +649 -0
  47. package/.agent/skills/seo-google/scripts/youtube_search.py +355 -0
  48. package/.agent/skills/seo-hreflang/SKILL.md +192 -0
  49. package/.agent/skills/seo-image-gen/SKILL.md +211 -0
  50. package/.agent/skills/seo-image-gen/references/cost-tracking.md +47 -0
  51. package/.agent/skills/seo-image-gen/references/gemini-models.md +200 -0
  52. package/.agent/skills/seo-image-gen/references/mcp-tools.md +115 -0
  53. package/.agent/skills/seo-image-gen/references/post-processing.md +192 -0
  54. package/.agent/skills/seo-image-gen/references/presets.md +69 -0
  55. package/.agent/skills/seo-image-gen/references/prompt-engineering.md +411 -0
  56. package/.agent/skills/seo-image-gen/references/seo-image-presets.md +137 -0
  57. package/.agent/skills/seo-image-gen/scripts/batch.py +97 -0
  58. package/.agent/skills/seo-image-gen/scripts/cost_tracker.py +191 -0
  59. package/.agent/skills/seo-image-gen/scripts/edit.py +141 -0
  60. package/.agent/skills/seo-image-gen/scripts/generate.py +149 -0
  61. package/.agent/skills/seo-image-gen/scripts/presets.py +153 -0
  62. package/.agent/skills/seo-image-gen/scripts/setup_mcp.py +151 -0
  63. package/.agent/skills/seo-image-gen/scripts/validate_setup.py +133 -0
  64. package/.agent/skills/seo-images/SKILL.md +176 -0
  65. package/.agent/skills/seo-local/SKILL.md +381 -0
  66. package/.agent/skills/seo-maps/SKILL.md +328 -0
  67. package/.agent/skills/seo-page/SKILL.md +86 -0
  68. package/.agent/skills/seo-plan/SKILL.md +118 -0
  69. package/.agent/skills/seo-plan/assets/agency.md +175 -0
  70. package/.agent/skills/seo-plan/assets/ecommerce.md +167 -0
  71. package/.agent/skills/seo-plan/assets/generic.md +144 -0
  72. package/.agent/skills/seo-plan/assets/local-service.md +160 -0
  73. package/.agent/skills/seo-plan/assets/publisher.md +153 -0
  74. package/.agent/skills/seo-plan/assets/saas.md +135 -0
  75. package/.agent/skills/seo-programmatic/SKILL.md +171 -0
  76. package/.agent/skills/seo-schema/SKILL.md +223 -0
  77. package/.agent/skills/seo-sitemap/SKILL.md +180 -0
  78. package/.agent/skills/seo-technical/SKILL.md +211 -0
  79. package/.agent/workflows/seo-audit.md +17 -0
  80. package/.agent/workflows/seo-competitor-pages.md +12 -0
  81. package/.agent/workflows/seo-content.md +14 -0
  82. package/.agent/workflows/seo-geo.md +12 -0
  83. package/.agent/workflows/seo-google.md +12 -0
  84. package/.agent/workflows/seo-hreflang.md +12 -0
  85. package/.agent/workflows/seo-images.md +13 -0
  86. package/.agent/workflows/seo-local.md +12 -0
  87. package/.agent/workflows/seo-maps.md +11 -0
  88. package/.agent/workflows/seo-page.md +13 -0
  89. package/.agent/workflows/seo-plan.md +13 -0
  90. package/.agent/workflows/seo-programmatic.md +12 -0
  91. package/.agent/workflows/seo-schema.md +11 -0
  92. package/.agent/workflows/seo-sitemap.md +9 -0
  93. package/.agent/workflows/seo-technical.md +18 -0
  94. package/LICENSE +88 -0
  95. package/README.md +122 -0
  96. package/bin/cli.js +117 -0
  97. package/docs/ARCHITECTURE.md +218 -0
  98. package/docs/COMMANDS.md +184 -0
  99. package/docs/INSTALLATION.md +100 -0
  100. package/docs/MCP-INTEGRATION.md +153 -0
  101. package/docs/TROUBLESHOOTING.md +151 -0
  102. package/docs/superpowers/plans/2026-03-13-github-audit-fixes.md +511 -0
  103. package/extensions/banana/README.md +95 -0
  104. package/extensions/banana/docs/BANANA-SETUP.md +86 -0
  105. package/extensions/banana/install.sh +170 -0
  106. package/extensions/banana/references/cost-tracking.md +47 -0
  107. package/extensions/banana/references/gemini-models.md +200 -0
  108. package/extensions/banana/references/mcp-tools.md +115 -0
  109. package/extensions/banana/references/post-processing.md +192 -0
  110. package/extensions/banana/references/presets.md +69 -0
  111. package/extensions/banana/references/prompt-engineering.md +411 -0
  112. package/extensions/banana/references/seo-image-presets.md +137 -0
  113. package/extensions/banana/scripts/batch.py +97 -0
  114. package/extensions/banana/scripts/cost_tracker.py +191 -0
  115. package/extensions/banana/scripts/edit.py +141 -0
  116. package/extensions/banana/scripts/generate.py +149 -0
  117. package/extensions/banana/scripts/presets.py +153 -0
  118. package/extensions/banana/scripts/setup_mcp.py +151 -0
  119. package/extensions/banana/scripts/validate_setup.py +133 -0
  120. package/extensions/banana/uninstall.sh +43 -0
  121. package/extensions/dataforseo/README.md +169 -0
  122. package/extensions/dataforseo/docs/DATAFORSEO-SETUP.md +74 -0
  123. package/extensions/dataforseo/field-config.json +280 -0
  124. package/extensions/dataforseo/install.ps1 +110 -0
  125. package/extensions/dataforseo/install.sh +161 -0
  126. package/extensions/dataforseo/uninstall.ps1 +35 -0
  127. package/extensions/dataforseo/uninstall.sh +39 -0
  128. package/lib/api.js +190 -0
  129. package/lib/fingerprint.js +68 -0
  130. package/lib/installer.js +486 -0
  131. package/lib/utils.js +254 -0
  132. package/package.json +40 -0
  133. package/pyproject.toml +11 -0
  134. package/requirements-google.txt +15 -0
  135. package/requirements.txt +11 -0
@@ -0,0 +1,230 @@
1
+ <!-- Updated: 2026-03-23 -->
2
+ # Local Schema Types & Industry-Specific Patterns (March 2026)
3
+
4
+ Schema is NOT a direct ranking factor (Confirmed: John Mueller, Gary Illyes). It indirectly impacts visibility through rich results (43% CTR increase, Webstix case study), better entity understanding, and AI search features.
5
+
6
+ ---
7
+
8
+ ## Google-Supported LocalBusiness Subtypes
9
+
10
+ ### Food & Dining
11
+
12
+ | Schema Type | Use For |
13
+ |-------------|---------|
14
+ | `Restaurant` | Full-service restaurants |
15
+ | `CafeOrCoffeeShop` | Coffee shops, cafes |
16
+ | `BarOrPub` | Bars, pubs, taverns |
17
+ | `Bakery` | Bakeries |
18
+ | `FastFoodRestaurant` | Fast food, quick service |
19
+ | `IceCreamShop` | Ice cream, frozen yogurt |
20
+ | `FoodEstablishment` | Generic food (avoid if specific subtype exists) |
21
+
22
+ ### Healthcare
23
+
24
+ | Schema Type | Use For |
25
+ |-------------|---------|
26
+ | `MedicalClinic` | Clinics, urgent care (eligible for rich results) |
27
+ | `Hospital` | Hospitals (eligible for rich results) |
28
+ | `Dentist` | Dental offices (eligible for rich results) |
29
+ | `Physician` | Individual doctor pages (use with Person) |
30
+ | `Optician` | Eye care, optical shops |
31
+ | `Pharmacy` | Pharmacies |
32
+ | `MedicalBusiness` | Generic medical (avoid if specific subtype exists) |
33
+
34
+ ### Legal
35
+
36
+ | Schema Type | Use For | Notes |
37
+ |-------------|---------|-------|
38
+ | `LegalService` | Law firms, legal practices | **Correct type** |
39
+ | ~~`Attorney`~~ | ~~Individual attorneys~~ | **DEPRECATED by Schema.org. Use `LegalService` + `Person`** |
40
+
41
+ ### Home Services
42
+
43
+ | Schema Type | Use For |
44
+ |-------------|---------|
45
+ | `Plumber` | Plumbing services |
46
+ | `Electrician` | Electrical services |
47
+ | `HVACBusiness` | Heating, ventilation, AC |
48
+ | `RoofingContractor` | Roofing |
49
+ | `GeneralContractor` | General contracting |
50
+ | `HousePainter` | Painting services |
51
+ | `Locksmith` | Locksmith services |
52
+ | `MovingCompany` | Moving services |
53
+ | `HomeAndConstructionBusiness` | Generic (avoid if specific subtype exists) |
54
+
55
+ ### Real Estate
56
+
57
+ | Schema Type | Use For | Notes |
58
+ |-------------|---------|-------|
59
+ | `RealEstateAgent` | Both agents AND brokerages | No `RealEstateBrokerage` type exists |
60
+
61
+ ### Automotive
62
+
63
+ | Schema Type | Use For |
64
+ |-------------|---------|
65
+ | `AutoDealer` | Sales departments |
66
+ | `AutoRepair` | Service departments |
67
+ | `AutoPartsStore` | Parts departments |
68
+
69
+ ### Other Common Local Types
70
+
71
+ `AnimalShelter`, `BeautySalon`, `ChildCare`, `DaySpa`, `DryCleaningOrLaundry`, `EmergencyService`, `EmploymentAgency`, `EntertainmentBusiness`, `FinancialService`, `FireStation`, `FurnitureStore`, `GasStation`, `GolfCourse`, `GovernmentOffice`, `HealthClub`, `Hotel`, `InsuranceAgency`, `Library`, `LodgingBusiness`, `NightClub`, `PetStore`, `PoliceStation`, `PostOffice`, `RecyclingCenter`, `ShoppingCenter`, `SkiResort`, `SportsActivityLocation`, `Store`, `TouristInformationCenter`, `TravelAgency`, `VeterinaryCare`
72
+
73
+ ---
74
+
75
+ ## Required vs Recommended Properties
76
+
77
+ Per Google Developers documentation (updated December 10, 2025, Confirmed).
78
+
79
+ ### Required (Minimum)
80
+
81
+ | Property | Type | Notes |
82
+ |----------|------|-------|
83
+ | `name` | Text | Business name, must match GBP exactly |
84
+ | `address` | PostalAddress | With streetAddress, addressLocality, addressRegion, postalCode |
85
+
86
+ ### Recommended
87
+
88
+ | Property | Type | Notes |
89
+ |----------|------|-------|
90
+ | `aggregateRating` | AggregateRating | Rating summary with reviewCount |
91
+ | `geo` | GeoCoordinates | **Minimum 5 decimal places** (Confirmed, ~1.1m accuracy) |
92
+ | `openingHoursSpecification` | OpeningHoursSpecification | Standard, late-night, 24h, seasonal |
93
+ | `telephone` | Text | Must match GBP and page NAP |
94
+ | `url` | URL | Canonical URL for this location |
95
+ | `priceRange` | Text | Under 100 characters |
96
+ | `image` | URL | Business photo |
97
+ | `review` | Review | Individual reviews |
98
+ | `department` | LocalBusiness | For nested departments (auto dealers) |
99
+ | `menu` | URL or Menu | Restaurants only |
100
+ | `servesCuisine` | Text | Restaurants only |
101
+
102
+ ### SAB-Specific
103
+
104
+ | Property | Type | Notes |
105
+ |----------|------|-------|
106
+ | `areaServed` | Place/GeoShape | NOT in Google's official recommended list but supported by Schema.org. Industry-recommended for SABs. Use named cities with `sameAs` links to Wikipedia/Wikidata. |
107
+
108
+ ---
109
+
110
+ ## Industry-Specific Schema Patterns
111
+
112
+ ### Restaurant
113
+ ```
114
+ Restaurant (or specific subtype)
115
+ + Menu > MenuSection > MenuItem (name, price, nutrition, suitableForDiet)
116
+ + ReserveAction (booking capabilities)
117
+ + OrderAction (takeout/delivery)
118
+ + servesCuisine, acceptsReservations
119
+ ```
120
+ Note: Google Food Ordering (GFO) direct checkout discontinued June 2024. "Order Online" button now redirects to third-party platforms.
121
+
122
+ ### Healthcare
123
+ ```
124
+ MedicalClinic (or Hospital, Dentist)
125
+ + Physician pages: Person + medicalSpecialty + hospitalAffiliation + hasCredential
126
+ + MedicalSpecialty (helps match "hip replacement surgery" to relevant pages)
127
+ + sameAs: link to NPI Registry entry and medical board page
128
+ ```
129
+ **HIPAA constraint**: Cannot confirm/deny reviewer is a patient in review responses. Fine precedent: $30,000 (Manasa Health Center, 2023).
130
+
131
+ ### Legal
132
+ ```
133
+ LegalService (NOT Attorney -- deprecated)
134
+ + Person on attorney bio pages: jobTitle, worksFor, alumniOf, hasCredential (bar admissions)
135
+ + makesOffer > Service (one per practice area)
136
+ + Practitioner GBP: unique phone per attorney, not sole lawyer at firm
137
+ ```
138
+ Note: Reviews follow practitioner listing when attorney changes firms.
139
+
140
+ ### Home Services
141
+ ```
142
+ Specific subtype (Plumber, Electrician, etc.)
143
+ + areaServed: named cities with sameAs to Wikipedia/Wikidata
144
+ + Service on individual service pages, linked via provider
145
+ + hasOfferCatalog for service listings
146
+ ```
147
+ **SAB note**: Service area in GBP does NOT currently impact rankings -- rankings based on verification address (Sterling Sky, March 2025).
148
+
149
+ ### Real Estate
150
+ ```
151
+ RealEstateAgent (for both agent and brokerage)
152
+ + Person on agent pages: memberOf (brokerage), credentials
153
+ + RealEstateListing + SingleFamilyResidence/Apartment + Offer (pricing)
154
+ + Event for open houses with organizing agent
155
+ ```
156
+ Note: No `RealEstateBrokerage` type exists on Schema.org.
157
+
158
+ ### Automotive
159
+ ```
160
+ AutoDealer (sales)
161
+ + Car/Vehicle: VIN, mileage, fuelType, vehicleTransmission
162
+ + Offer: price, priceCurrency, availability
163
+ + Separate GBP: AutoRepair (service), AutoPartsStore (parts)
164
+ ```
165
+ **VehicleListing deprecated June 12, 2025** (Confirmed). Use Car + Offer instead. Feed-based Vehicle Listings via Google Merchant Center still functional.
166
+
167
+ ---
168
+
169
+ ## Industry-Specific Citation Sources
170
+
171
+ ### Restaurant
172
+ Yelp, TripAdvisor (1B+ reviews), OpenTable (DA + bookings), DoorDash, UberEats, Grubhub, Foursquare (powers Apple Maps, Uber)
173
+
174
+ ### Healthcare
175
+ Healthgrades (50% of Americans who see a doctor visit), Zocdoc (booking + lead gen), WebMD physician directory (high DA), Vitals, Doximity (80% of US physicians), NPI Registry (entity verification source of truth), state medical board directories
176
+
177
+ ### Legal
178
+ FindLaw (DA~91, dofollow), Martindale-Hubbell (DA~84, peer review since 1868), Avvo (1-10 ratings, auto-created from bar data), Justia (DA~70, free profiles), Super Lawyers (top 5%, selection-based), state bar directories (entity verification)
179
+
180
+ Note: Internet Brands (KKR) owns Avvo + Martindale + Lawyers.com + Nolo. Thomson Reuters owns FindLaw + Super Lawyers + LawInfo.
181
+
182
+ ### Home Services
183
+ Thumbtack ($400M revenue 2024, integrations with ChatGPT/Alexa/Zillow), BBB, Nextdoor, Yelp. **Declining**: Angi (revenue -30% from 2022 peak), Porch (pivoted to insurance), Houzz (pivoted to SaaS)
184
+
185
+ ### Real Estate
186
+ Zillow (44% of all RE search traffic, integrated into ChatGPT Oct 2025), Homes.com (#2, overtook Realtor.com, 100M monthly visitors), Realtor.com, Redfin (acquired by Rocket Companies Mar 2025), local MLS sites
187
+
188
+ ### Automotive
189
+ Cars.com, AutoTrader, CarGurus, DealerRater (reviews syndicate to Cars.com + OEM sites, supports salesperson ratings), Edmunds, Kelley Blue Book (pricing authority), OEM manufacturer dealer locators (entity verification)
190
+
191
+ ---
192
+
193
+ ## Multi-Location Schema Pattern
194
+
195
+ ```json
196
+ // Homepage: Organization with branchOf references
197
+ {
198
+ "@context": "https://schema.org",
199
+ "@type": "Organization",
200
+ "@id": "https://example.com/#org",
201
+ "name": "Brand Name",
202
+ "url": "https://example.com"
203
+ }
204
+
205
+ // Each location page: individual LocalBusiness
206
+ {
207
+ "@context": "https://schema.org",
208
+ "@type": "Dentist",
209
+ "@id": "https://example.com/locations/downtown/#location",
210
+ "name": "Brand Name - Downtown",
211
+ "branchOf": { "@id": "https://example.com/#org" },
212
+ "address": { ... },
213
+ "geo": { "latitude": "40.71234", "longitude": "-74.00567" },
214
+ "telephone": "+1-555-123-4567",
215
+ "openingHoursSpecification": [ ... ]
216
+ }
217
+ ```
218
+
219
+ Use `@id` for unique identifiers per location. Subdirectory structure recommended: `domain.com/locations/city-name/` (subdirectory consolidates link equity better than subdomain, Bruce Clay study: 50%+ traffic lift).
220
+
221
+ ---
222
+
223
+ ## Deprecated/Invalid Local Schema
224
+
225
+ | Type | Status | Date | Use Instead |
226
+ |------|--------|------|-------------|
227
+ | `Attorney` | Deprecated by Schema.org | -- | `LegalService` + `Person` |
228
+ | `VehicleListing` | Rich results removed | June 12, 2025 | `Car` + `Offer` |
229
+ | `HowTo` | Rich results removed | September 2023 | None |
230
+ | `SpecialAnnouncement` | Deprecated | July 31, 2025 | None |
@@ -0,0 +1,218 @@
1
+ <!-- Updated: 2026-03-23 -->
2
+ # Local SEO Ranking Signals & Benchmarks (March 2026)
3
+
4
+ ## Source Key
5
+
6
+ - **Confirmed**: Google official documentation or employee statements
7
+ - **Study**: Data-driven industry research from recognized firms
8
+ - **Consensus**: Practitioner agreement without controlled testing
9
+ - **Caution**: Single-source or unverified claims
10
+
11
+ ---
12
+
13
+ ## Whitespark 2026 Local Search Ranking Factors
14
+
15
+ Published November 6, 2025. 47 experts surveyed across 187 factors. (Study)
16
+
17
+ ### Local Pack/Maps Factor Groups
18
+
19
+ | Factor Group | Weight | Trend |
20
+ |---|---|---|
21
+ | GBP Signals | **32%** | Stable (top group) |
22
+ | Review Signals | **~20%** | Up from ~16% in 2023 |
23
+ | On-Page Signals | ~15-19% | Slight decline |
24
+ | Link Signals | Declining | Continued multi-year drop |
25
+ | Behavioral/Engagement | Rising | Clicks, calls, direction requests |
26
+ | Citation Signals | Lower for Pack | But 3 of top 5 AI visibility factors are citation-related |
27
+ | Social Signals | New entry | First time measured |
28
+ | AI Search Signals | New category | Added for the first time |
29
+
30
+ ### Top 15 Individual Local Pack Factors
31
+
32
+ 1. Primary GBP category (score: 193)
33
+ 2. Keywords in GBP business title (score: 181)
34
+ 3. Proximity of address to search point (score: 176)
35
+ 4. Verified GBP
36
+ 5. Business open at time of search (Sterling Sky controlled study)
37
+ 6. High numerical Google ratings
38
+ 7. Quantity of native Google reviews
39
+ 8. Additional GBP categories
40
+ 9. Review recency/velocity
41
+ 10. Dedicated service pages
42
+ 11. Domain authority
43
+ 12. NAP consistency
44
+ 13. Spam listing removal
45
+ 14. Quality backlinks
46
+ 15. Review sentiment
47
+
48
+ ### Top Negative Factors
49
+
50
+ 1. Incorrect primary category (score: 176) -- single worst mistake
51
+ 2. Duplicate profiles at same address (score: 142)
52
+
53
+ ---
54
+
55
+ ## Search Atlas ML Study (August 2025)
56
+
57
+ XGBoost regression model, explains 92-93% of variance. (Study)
58
+
59
+ | Factor | Variance Explained |
60
+ |--------|-------------------|
61
+ | Proximity | **55.2%** |
62
+ | Review Count | **19.2%** |
63
+ | Domain Power | 5.9% |
64
+ | Semantic Relevance in Reviews | 5.3% |
65
+ | All others | <5% each |
66
+
67
+ ---
68
+
69
+ ## Review Benchmarks
70
+
71
+ ### Sterling Sky Findings (2025, Study)
72
+
73
+ - **Magic 10 threshold**: Significant ranking boost at 10 reviews. 9-to-10 = noticeable increase. 10-to-11 = no similar bump.
74
+ - **18-Day Rule**: Rankings "fall off a cliff" if no new reviews for 3 weeks. Velocity > volume.
75
+
76
+ ### BrightLocal LCRS 2026 (February 2026, Study)
77
+
78
+ | Metric | Value |
79
+ |--------|-------|
80
+ | Only care about reviews in last 3 months | 74% |
81
+ | "Always" read reviews | 41% (up from 29% in 2025) |
82
+ | Only use 4.5+ stars | 31% (up from 17% in 2025) |
83
+ | Only use 4+ stars | 68% (up from 55% in 2025) |
84
+ | Consumers use average review sites | 6 platforms |
85
+
86
+ ### Review Platform Usage (BrightLocal 2026)
87
+
88
+ | Platform | Usage | Trend |
89
+ |----------|-------|-------|
90
+ | Google | 71% | Down from 83% in 2025 |
91
+ | Instagram | 37% | Rising |
92
+ | TikTok | 29% | Rising |
93
+ | Apple Maps | 27% | Up from 14% in 2025 |
94
+
95
+ ### Enforcement
96
+
97
+ - Google blocked/removed **240M+ policy-violating reviews** in 2024 (Confirmed, 40% increase over 2023)
98
+ - Review deletion rates up **600%+** Jan-Jul 2025; 38% of deleted were 5-star (Study, GMBapi.com)
99
+ - FTC Consumer Review Rule effective Oct 21, 2024: penalties up to **$53,088/violation** (Confirmed, US law)
100
+ - **Review gating prohibited** by both Google (fake engagement policy) and FTC (Confirmed)
101
+
102
+ ---
103
+
104
+ ## Citation Source Tiers
105
+
106
+ ### Tier 1 (Universal, All Industries)
107
+
108
+ | Source | Why It Matters |
109
+ |--------|---------------|
110
+ | Google Business Profile | Primary local signal source |
111
+ | Apple Business Connect | Usage nearly doubled, from 14% to 27% (BrightLocal 2026). 1B+ iPhone users |
112
+ | Bing Places | Overhauled Oct 2025. Powers ChatGPT, Copilot, Alexa. 900M queries/day |
113
+ | Facebook | Social + citation signal |
114
+ | Yelp | Still ranks on page 1 for many local queries |
115
+
116
+ ### Tier 2 (Broad Directories)
117
+
118
+ BBB, YellowPages, Manta, Superpages, Foursquare, Nextdoor
119
+
120
+ ### Tier 3 (Data Aggregators)
121
+
122
+ | Aggregator | Partnerships |
123
+ |-----------|-------------|
124
+ | Data Axle (formerly Infogroup) | Google, Bing, Apple |
125
+ | Foursquare | Merged with Factual. Powers Uber, Nextdoor, Yahoo, ChatGPT. 500M+ devices |
126
+ | Neustar/TransUnion Digital | 80+ platform partnerships including Bing, Apple |
127
+
128
+ ### Industry-specific directories: see `local-schema-types.md`
129
+
130
+ ---
131
+
132
+ ## GBP Feature Status (March 2026)
133
+
134
+ ### Deprecated/Removed
135
+
136
+ | Feature | Date | Replacement |
137
+ |---------|------|------------|
138
+ | Q&A section | Dec 3, 2025 | Ask Maps (Gemini AI) |
139
+ | GBP Messaging/Chat | Removed | None |
140
+ | Call History/Tracking | Jul 31, 2024 | None |
141
+ | GBP-hosted websites | Discontinued | Redirect to social/website |
142
+ | School reviews/ratings | Apr 30, 2025 | None |
143
+
144
+ ### Active Features
145
+
146
+ Posts (with scheduling), Services menu, Attributes (including identity: Women-led, Eco-friendly), Photos/Video, Local Lists (Local Gems, Trending, Top List), AI-generated "Suggest Description", Google Verified badge (replaced Guaranteed/Screened Oct 2025)
147
+
148
+ ### Key GBP Insights
149
+
150
+ - **Posts**: No direct ranking impact (WebFX empirical testing). Can trigger Post Justifications. (Study)
151
+ - **Photos**: "Likely a ranking benefit adding some vs none, but not continued benefit adding more" (WebFX). Geotagging has NO impact. 45% more direction requests with photos. (Study/Confirmed mix)
152
+ - **Attributes**: Identity attributes have minor, targeted impact for attribute-specific searches only (WebFX/Sterling Sky). General attributes are filter/informational, NOT direct ranking factors. (Study)
153
+
154
+ ---
155
+
156
+ ## Algorithm Updates Affecting Local (2025-2026)
157
+
158
+ | Update | Date | Impact | Source |
159
+ |--------|------|--------|--------|
160
+ | March 2025 Core | Mar 13-27 | Emphasized E-E-A-T, penalized thin/AI content | Confirmed |
161
+ | June 2025 Core | Jun-Jul 17 | General quality focus | Confirmed |
162
+ | August 2025 Spam | Aug 26-Sep 22 | Targeted keyword stuffing, fake reviews, PBNs. Local Pack often stable | Confirmed |
163
+ | December 2025 Core | Dec 11-29 | Enhanced E-E-A-T, behavioral signal weighting | Confirmed |
164
+ | February 2026 Discover Core | Feb 5-27 | Discover-only; favored local expertise | Confirmed |
165
+ | "Diversity Update" | 2025 | Harder to rank in both map pack AND organic simultaneously | Study (Sterling Sky) |
166
+
167
+ ---
168
+
169
+ ## Voice Search & Assistants
170
+
171
+ - 58% of voice searches are for local business information (Study, BusinessDasher)
172
+ - Voice queries typically 4-7 words, phrased as complete questions (Consensus)
173
+ - 80%+ of Google Assistant voice answers come from top 3 search results (Study)
174
+
175
+ | Voice Assistant | Primary Data Source |
176
+ |-----------------|-------------------|
177
+ | Google Assistant | GBP (transitioning to Gemini) |
178
+ | Siri (Apple) | Apple Business Connect + Yelp |
179
+ | Alexa (Amazon) | Bing Places + Yelp + aggregators |
180
+
181
+ ---
182
+
183
+ ## AI Search Impact on Local
184
+
185
+ | Metric | Value | Source |
186
+ |--------|-------|--------|
187
+ | ChatGPT/AI for local recommendations | 45% of users (up from 6%) | BrightLocal LCRS 2026 |
188
+ | ChatGPT conversion rate | 15.9% | Seer Interactive |
189
+ | Google organic conversion rate | 1.76% | Seer Interactive |
190
+ | AI Overviews on local searches | Up to 68% | Whitespark Q2 2025 |
191
+ | AI Overview CTR reduction for pos 1 | -58% | Ahrefs, Feb 2026 |
192
+ | Brand cited in AIO = organic CTR boost | +35% | Seer Interactive |
193
+ | ChatGPT traffic vs Google for local | ~2% | Sterling Sky, Feb 2026 |
194
+ | Top 5 AI visibility factors: 3 are citation-related | -- | Whitespark 2026 |
195
+
196
+ **ChatGPT sources**: Bing web index (primary), Yelp, TripAdvisor, BBB, Reddit. Does NOT access GBP directly. (Study, Search Engine Land)
197
+
198
+ **Perplexity sources**: Authority-first. 40% more from high-authority sites. Averages 21.87 citations per question. (Study, Qwairy)
199
+
200
+ ---
201
+
202
+ ## Local Pack Structure
203
+
204
+ - Standard: **3 results** (universal)
205
+ - New: Curated Local Lists (Local Gems, Trending) around position 4 (SOCi, Nov 2025)
206
+ - AI-powered local packs (mobile US): Only 1-2 businesses, 32% fewer businesses shown (Sterling Sky)
207
+ - Local pack ads grew from ~1% to **22%** of tracked mobile keywords in 12 months (Sterling Sky/Places Scout)
208
+ - Zero-click rate for local-intent searches: up to **78%** on mobile (Similarweb)
209
+
210
+ ---
211
+
212
+ ## Proximity & Search Behavior
213
+
214
+ - 46% of all Google searches seek local information (Study)
215
+ - 76% of mobile "near me" searches lead to visit within 24 hours (Confirmed, Google)
216
+ - 900% increase in "near me" searches over two years (Confirmed/Study, Google)
217
+ - Proximity varies: urban 1-2 miles, rural 5-10+ miles, specialty/niche = wider (Consensus)
218
+ - Google uses dynamic weighting per query: "emergency plumber near me" = proximity-dominant; "best plastic surgeon" = prominence-dominant (Consensus)
@@ -0,0 +1,160 @@
1
+ <!-- Updated: 2026-03-23 -->
2
+ # DataForSEO Maps & Business Data API Endpoints
3
+
4
+ ## Source Key
5
+
6
+ - **Docs**: docs.dataforseo.com (official API documentation)
7
+ - **Pricing**: dataforseo.com/pricing (official pricing pages)
8
+
9
+ ---
10
+
11
+ ## Authentication & Limits
12
+
13
+ - HTTP Basic Auth (login:password)
14
+ - Rate limit: **2,000 API calls/minute** across all endpoints
15
+ - Each POST supports up to **100 tasks** in a single request
16
+ - Minimum deposit: $50. $1 free trial credit. Credits never expire.
17
+
18
+ ---
19
+
20
+ ## Google Maps SERP API (Geo-Grid Backbone)
21
+
22
+ **Endpoint:** `POST https://api.dataforseo.com/v3/serp/google/maps/live/advanced`
23
+ **Pricing source:** https://dataforseo.com/pricing/serp-api
24
+
25
+ ### Request Parameters
26
+
27
+ | Parameter | Required | Description |
28
+ |-----------|----------|-------------|
29
+ | `keyword` | Yes | Search query (e.g., "dentist") |
30
+ | `location_name` | No | Named location (e.g., "Austin,Texas,United States") |
31
+ | `location_code` | No | DataForSEO location code (e.g., 1026339 for Austin) |
32
+ | `location_coordinate` | No | `"latitude,longitude,zoom"` (max 7 decimals, zoom 3z-21z) |
33
+ | `language_code` | No | Default: "en" |
34
+ | `device` | No | "desktop" or "mobile" |
35
+ | `depth` | No | Number of results to return |
36
+
37
+ **Critical for geo-grid:** Use `location_coordinate` to simulate searches from specific GPS points. Format: `"40.7128,-74.0060,15z"`.
38
+
39
+ ### Response Fields (per business item)
40
+
41
+ `cid`, `place_id`, `feature_id`, `title`, `domain`, `url`, `category`, `additional_categories`, `address`, `phone` (via `contact_info` array), `rating.value`, `rating.votes_count`, `rating.rating_distribution` (1-5 star breakdown), `price_level`, `attributes` (grouped: accessibility, payments, children), `work_time` (per-day timetable + `current_status`), `popular_times` (hourly by day), `latitude`, `longitude`, `local_business_links` (booking, menu, order URLs)
42
+
43
+ ### Pricing
44
+
45
+ | Method | Cost per task | Turnaround |
46
+ |--------|--------------|------------|
47
+ | Standard | $0.0006 (100 desktop / 20 mobile results) | Up to 5 min |
48
+ | Priority | $0.0012 | Up to 1 min |
49
+ | **Live** | **$0.002** | Up to 6 sec |
50
+
51
+ Search operators in keyword multiply cost by 5x.
52
+
53
+ ---
54
+
55
+ ## Google My Business Info API (Single Business Deep-Dive)
56
+
57
+ **Endpoint:** `POST https://api.dataforseo.com/v3/business_data/google/my_business_info/live`
58
+ **Pricing source:** https://dataforseo.com/pricing/business-data
59
+
60
+ ### Input Options
61
+
62
+ - `keyword`: Business name + location (e.g., "Starbucks Austin TX")
63
+ - `"cid:XXXX"`: Direct CID lookup
64
+ - `"place_id:XXXX"`: Direct Place ID lookup
65
+
66
+ ### Response Fields
67
+
68
+ Full profile: `title`, `description`, `category`, `additional_categories`, `category_ids`, `attributes` (available + unavailable, grouped by type), `contact_info` (phone array), `domain`, `url`, `work_hours` (per-day with open/close times), `popular_times`, `cid`, `place_id`, `rating` (with distribution), `address_info` (full breakdown), `latitude`/`longitude`, `photos_count`, `main_image`
69
+
70
+ **Cost:** $0.0015 per profile (standard queue)
71
+
72
+ **Use case:** Deep-dive on the TARGET business. Maps SERP for competitor discovery.
73
+
74
+ ---
75
+
76
+ ## Google Reviews API (Sentiment & Velocity)
77
+
78
+ **Endpoint:** `POST https://api.dataforseo.com/v3/business_data/google/reviews/task_post`
79
+ **Pricing source:** https://dataforseo.com/pricing/business-data
80
+
81
+ ### Parameters
82
+
83
+ | Parameter | Description |
84
+ |-----------|-------------|
85
+ | `keyword` | Business name + location (or CID/place_id) |
86
+ | `depth` | Number of reviews to retrieve |
87
+ | `sort_by` | `"highest_rating"`, `"lowest_rating"`, `"most_relevant"`, `"newest"` |
88
+
89
+ ### Response Fields (per review)
90
+
91
+ `review_text`, `original_review_text`, `time_ago`, `timestamp`, `rating.value`, `review_id`, `profile_name`, `profile_url`, `profile_image_url`, `owner_answer` (text + timestamp), `review_images`
92
+
93
+ ### Pricing
94
+
95
+ | Method | Input Type | Cost |
96
+ |--------|-----------|------|
97
+ | Standard (per 10 reviews) | keyword | $0.003 |
98
+ | Extended (per 20 reviews) | keyword | $0.003 |
99
+ | Extended (per 20 reviews) | place_id/CID | **$0.00075** |
100
+
101
+ **Optimization:** Always use `place_id` or `cid` input (4x cheaper than keyword).
102
+
103
+ ---
104
+
105
+ ## Google Q&A API
106
+
107
+ **Endpoint:** `POST https://api.dataforseo.com/v3/business_data/google/questions_and_answers/live`
108
+
109
+ Returns questions, answers, upvotes, dates, answer sources. Live and standard methods available.
110
+
111
+ **Use case:** Identify unanswered questions, FAQ gap analysis.
112
+
113
+ **Note:** Google deprecated GBP Q&A in Dec 2025 (replaced by Ask Maps Gemini AI). This endpoint returns historical data.
114
+
115
+ ---
116
+
117
+ ## Business Listings Search (Pre-Indexed Database)
118
+
119
+ **Endpoint:** `POST https://api.dataforseo.com/v3/business_data/business_listings/search/live`
120
+
121
+ Queries DataForSEO's pre-indexed database (not live Google). Faster for bulk category-based queries. Up to 700+ results per query.
122
+
123
+ **Categories Aggregation:** `/v3/business_data/business_listings/categories_aggregation/live` provides category taxonomy.
124
+
125
+ **MCP tool name:** `business_data_business_listings_search`
126
+
127
+ ---
128
+
129
+ ## Cross-Platform Review APIs
130
+
131
+ ### Tripadvisor
132
+
133
+ - Search: `/v3/business_data/tripadvisor/search/task_post`
134
+ - Reviews: `/v3/business_data/tripadvisor/reviews/task_post`
135
+ - Billed per 30 reviews. Standard method only.
136
+
137
+ ### Trustpilot
138
+
139
+ - Search: `/v3/business_data/trustpilot/search/task_post`
140
+ - Reviews: `/v3/business_data/trustpilot/reviews/task_post`
141
+ - ~$0.00075/task. Standard method only.
142
+
143
+ ---
144
+
145
+ ## Cost Estimation Table
146
+
147
+ | Operation | API Calls | Est. Cost (Live) |
148
+ |-----------|-----------|-----------------|
149
+ | 7x7 geo-grid, 1 keyword | 49 | $0.098 |
150
+ | 7x7 geo-grid, 3 keywords | 147 | $0.294 |
151
+ | 3x3 geo-grid, 1 keyword | 9 | $0.018 |
152
+ | Target business profile | 1 | $0.0015 |
153
+ | 100 reviews (via place_id) | 5 | $0.00375 |
154
+ | 20 competitor profiles | 20 | $0.03 |
155
+ | GBP posts audit | 1 | ~$0.002 |
156
+ | Q&A retrieval | 1 | ~$0.002 |
157
+ | **Full audit (1-keyword grid)** | **~73** | **~$0.13** |
158
+ | **Full audit (3-keyword grid)** | **~171** | **~$0.33** |
159
+
160
+ **Formula:** `grid_size^2 x keywords x $0.002` (live) or `x $0.0006` (standard)