← back to Ventura Claw Leads
Home gets Organization+WebSite+FAQPage JSON-LD; neighborhood gets ItemList
fb3a3e496d9405f2227c2465e2785f2831233dea · 2026-05-07 12:30:34 -0700 · Steve Abrams
Three JSON-LD additions, all purely additive:
1. home.ejs: @graph with Organization, WebSite (with potentialAction
SearchAction → /find?q={query} for sitelinks search box), and
FAQPage wrapping the existing 5 FAQ items. Validates as 3 graph
nodes with all 5 questions correctly mapped.
2. neighborhood.ejs: ItemList JSON-LD added next to existing
BreadcrumbList. Same shape as /find — first 30 businesses
exposed as ListItem with rank+url+name, full count in
numberOfItems.
Once Google recrawls, brand searches for 'Ventura Claw' may surface
sitelinks search box + FAQ snippets (taking 4-5x more SERP space).
Files touched
M views/public/home.ejsM views/public/neighborhood.ejs
Diff
commit fb3a3e496d9405f2227c2465e2785f2831233dea
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Thu May 7 12:30:34 2026 -0700
Home gets Organization+WebSite+FAQPage JSON-LD; neighborhood gets ItemList
Three JSON-LD additions, all purely additive:
1. home.ejs: @graph with Organization, WebSite (with potentialAction
SearchAction → /find?q={query} for sitelinks search box), and
FAQPage wrapping the existing 5 FAQ items. Validates as 3 graph
nodes with all 5 questions correctly mapped.
2. neighborhood.ejs: ItemList JSON-LD added next to existing
BreadcrumbList. Same shape as /find — first 30 businesses
exposed as ListItem with rank+url+name, full count in
numberOfItems.
Once Google recrawls, brand searches for 'Ventura Claw' may surface
sitelinks search box + FAQ snippets (taking 4-5x more SERP space).
---
views/public/home.ejs | 62 +++++++++++++++++++++++++++++++++++++++++++
views/public/neighborhood.ejs | 19 +++++++++++++
2 files changed, 81 insertions(+)
diff --git a/views/public/home.ejs b/views/public/home.ejs
index 8f4d92a..4ebbb79 100644
--- a/views/public/home.ejs
+++ b/views/public/home.ejs
@@ -1,6 +1,68 @@
<%- include('../partials/head', { title }) %>
<%- include('../partials/header') %>
+<%
+ // Organization + WebSite + FAQPage JSON-LD on the home page only. Three
+ // schemas wrapped in @graph so Google parses them as a single document
+ // describing one entity. Organization → brand-level rich result;
+ // WebSite → sitelinks search box (queries route to /find?q=); FAQPage →
+ // FAQ rich snippet for the 5 questions in the FAQ section below.
+ var _publicUrl = (typeof publicUrl !== 'undefined' && publicUrl) ? publicUrl.replace(/\/+$/, '') : 'https://leads.venturaclaw.com';
+ var _faqItems = [
+ { q: "How does this differ from Yelp or Google Maps?",
+ a: "Ventura Claw is curated, narrow, and local — limited to small businesses on the Ventura Blvd corridor (Sherman Oaks → Woodland Hills). No reviews, no ranking algorithm, no ads on consumer surfaces. Just a clean way to find a business near you and message them directly." },
+ { q: "Why aren't doctors, lawyers, or contractors listed?",
+ a: "State-licensed professions (medical, legal, financial, real estate, licensed trades) have their own referral and fee-splitting rules. Ventura Claw intentionally only lists businesses where the work is done by the business itself, not by a regulated individual. This keeps the platform structurally simple and our pricing structurally honest." },
+ { q: "How do leads get to the business?",
+ a: "When you fill out a contact form on a business profile, your message routes to the business's email within five minutes via our lead-delivery cron. The reply-to is set to your email, so when they hit reply you get the response directly — Ventura Claw is never on the chain." },
+ { q: "How much does it cost — for me, for the business?",
+ a: "For visitors: zero. Always. We never charge consumers anything. Businesses pay a monthly subscription ($0 free / $49 starter / $99 standard / $199 premier) for premium placement. We don't take a cut of any transaction between consumers and businesses." },
+ { q: "I own a business on Ventura Blvd. How do I claim my listing?",
+ a: "Find your business in the directory and click 'Claim this listing' on the profile page. We'll email you a confirmation link, you set a password, and you're in your dashboard with a lead inbox, profile editor, and tier picker. Free tier always available." }
+ ];
+ var _ldGraph = {
+ '@context': 'https://schema.org',
+ '@graph': [
+ {
+ '@type': 'Organization',
+ '@id': _publicUrl + '/#org',
+ name: 'Ventura Claw',
+ url: _publicUrl + '/',
+ description: 'Directory and lead-routing service for small businesses on Ventura Blvd between Sherman Oaks and Woodland Hills.',
+ areaServed: {
+ '@type': 'GeoShape',
+ name: 'Ventura Blvd corridor',
+ addressRegion: 'CA',
+ addressCountry: 'US'
+ }
+ },
+ {
+ '@type': 'WebSite',
+ '@id': _publicUrl + '/#site',
+ url: _publicUrl + '/',
+ name: 'Ventura Claw',
+ publisher: { '@id': _publicUrl + '/#org' },
+ potentialAction: {
+ '@type': 'SearchAction',
+ target: { '@type': 'EntryPoint', urlTemplate: _publicUrl + '/find?q={query}' },
+ 'query-input': 'required name=query'
+ }
+ },
+ {
+ '@type': 'FAQPage',
+ '@id': _publicUrl + '/#faq',
+ mainEntity: _faqItems.map(function(it){
+ return {
+ '@type': 'Question', name: it.q,
+ acceptedAnswer: { '@type': 'Answer', text: it.a }
+ };
+ })
+ }
+ ]
+ };
+%>
+<script type="application/ld+json"><%- JSON.stringify(_ldGraph) %></script>
+
<section class="hero">
<p class="kicker">Ventura Blvd · Sherman Oaks · Studio City · Encino · Tarzana · Woodland Hills</p>
<h1>Every business worth knowing on the Boulevard.</h1>
diff --git a/views/public/neighborhood.ejs b/views/public/neighborhood.ejs
index 97ce88b..1f76f2e 100644
--- a/views/public/neighborhood.ejs
+++ b/views/public/neighborhood.ejs
@@ -13,8 +13,27 @@
{ '@type': 'ListItem', position: 3, name: neighborhood.label, item: _publicUrl + '/neighborhood/' + neighborhood.slug }
]
};
+ // ItemList JSON-LD — same shape as /find. Surfaces the neighborhood page
+ // as a structured list of LocalBusiness entries to Google. Capped at 30
+ // items (Google's recommended depth for ItemList rich results).
+ var _ldList = {
+ '@context': 'https://schema.org',
+ '@type': 'ItemList',
+ name: neighborhood.label + ' businesses on Ventura Blvd',
+ itemListOrder: 'https://schema.org/ItemListOrderAscending',
+ numberOfItems: (typeof totalCount !== 'undefined' && totalCount) ? totalCount : businesses.length,
+ itemListElement: businesses.slice(0, 30).map(function(b, i){
+ return {
+ '@type': 'ListItem',
+ position: i + 1,
+ url: _publicUrl + '/business/' + b.slug,
+ name: b.business_name
+ };
+ })
+ };
%>
<script type="application/ld+json"><%- JSON.stringify(_ldCrumbs) %></script>
+<script type="application/ld+json"><%- JSON.stringify(_ldList) %></script>
<nav class="breadcrumb" aria-label="Breadcrumb" style="padding:16px 28px 0;max-width:1440px;margin:0 auto;font-size:12px;color:var(--fg-muted);letter-spacing:0.04em">
<a href="/" style="border:none;color:var(--fg-muted)">Home</a>
← dbc5da9 Cross-link neighborhood pages to vertical+city combo pages
·
back to Ventura Claw Leads
·
Backfill 206/244 missing lat/lng on corridor-seeded rows 6e61684 →