Identity Pillar · Implementation Guide
Declare who you are in machine-readable form so AI agents read your story, not a lookalike's.
Whether your organization is declared in machine-readable form via JSON-LD
Organization schema,
with verified identity links.
Without it, an AI agent has to infer who you are from third-party mentions — Google Business listings, Yelp, review platforms, news coverage. Other voices speak for you. With it, you author your own first-party identity claim — the record machines reach for before falling back on third-party sources.
Whether you're a community organization or a business, search engines and AI tools surface you more reliably when your identity is declared — not reconstructed from third-party listings.
When someone — or an AI assistant helping them — tries to understand your org, they find your own explanation first, not an aggregator's.
Verified identity links signal provenance that aggregators can't. Especially important where predatory lookalikes operate — notario fraud, unlicensed practitioners, brand impersonation.
Pick the type that best describes you:
LocalBusiness Location-based orgs — a clinic, shelter, food pantry, ward office NGO Nonprofits and social good organizations GovernmentOrganization Public agencies, alderman offices, civic bodies Organization Generic catch-all if none of the above fit Collect these details before you write any code:
SameAs links verify your identity to machines. Use official, hard-to-fake sources:
Always use full URLs, not handles. https://linkedin.com/company/xyz — not @xyz.
Add this code to the <head> of your homepage.
Name, URL, and description only. Gets you into the room, but leaves identity incomplete.
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "LocalBusiness",
"name": "Community Food Bank",
"url": "https://communityfoodbank.org",
"description": "Free food assistance for families in need"
}
</script> All recommended properties. Logo, address, verified sameAs links, available languages.
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "LocalBusiness",
"name": "Community Food Bank",
"url": "https://communityfoodbank.org",
"logo": "https://communityfoodbank.org/logo.png",
"description": "Free food assistance for families in need",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main Street",
"addressLocality": "Springfield",
"addressRegion": "IL",
"postalCode": "62701",
"addressCountry": "US"
},
"telephone": "+1-217-555-0100",
"email": "help@communityfoodbank.org",
"sameAs": [
"https://linkedin.com/company/community-food-bank",
"https://www.charitynavigator.org/index.cfm?bay=search.organizations&orgid=12345",
"https://bsky.app/profile/communityfoodbank.bsky.social"
],
"availableLanguage": ["en", "es"],
"areaServed": "Springfield, IL"
}
</script> Consider a ward alderman's office trying to let constituents know how to get in contact. Without Organization schema, here's what happens:
❌ Before — No Organization schema
What an AI agent returns when someone asks "how do I contact my alderman?"
[searching "contact alderman ward 35"] Results: Yelp page, old news article, Facebook post from 2022. Agent output: "I found a Facebook page and a Yelp listing, but couldn't confirm current contact info for Ward 35."
✓ After — Full Organization schema
What the same agent returns after schema is added
[searching "contact alderman ward 35"] Found: ward35.org — GovernmentOrganization Name: Alderman Carlos Ramirez, Ward 35 Phone: 312-555-0135 Address: 2657 W. 35th St, Chicago, IL Hours: Mon–Fri 9am–5pm sameAs: linkedin.com/in/carlosramirez35 Agent output: "You can contact Alderman Ramirez directly at 312-555-0135 or visit the office at 2657 W. 35th St."
In this example the after version would score a 4, not a full 5. Here's what's missing:
logo image URL declaredsameAs link — a score-5 requires 2–3 verified profilesavailableLanguage declared, even if the office serves Spanish speakersIt lowers your score from 5 to 4, but not below. Logo is ideal but not required. If you create one — even simple — add it.
Official, third-party sources that are hard to fake: LinkedIn company pages, Wikipedia, government or state business registration records, established directories (CharityNavigator and GuideStar for nonprofits; Yelp Business or the Better Business Bureau for commercial orgs). Your own social media counts. Random review sites don't.
No. Use full URLs — https://linkedin.com/company/xyz, not @xyz. AI agents need the complete address to verify your identity.
Start with the minimal version. As you grow and get listed in directories, add sameAs links. Score 3 is fine now — you can reach 5 later.
Just the homepage (or main landing page). One Organization declaration per site is enough.
Use this to confirm you've implemented I1 correctly before moving on.