Schemas ยท Compliance-Aware Schema
This document is the canonical NeverRanked template set for
deploying structured data on US bank, credit union, and
wealth-management websites. Every JSON-LD block here has been
written to anticipate the questions a bank's compliance team
will ask before signing off.
If the customer is a state-chartered institution, a national
bank, or a credit union, swap the placeholder regulatory
identifiers accordingly. Federal credit unions use NCUA, not
FDIC. Wealth advisors using SEC or state registration use the
FinancialService.disambiguatingDescription field to disclose
their registration status.
The foundational block. This goes in the site-wide layout
header. Every page inherits it.
{
"@context": "https://schema.org",
"@type": ["BankOrCreditUnion", "FinancialService"],
"@id": "https://www.example.com/#organization",
"name": "Example Community Bank",
"alternateName": "Example Bank",
"url": "https://www.example.com",
"logo": {
"@type": "ImageObject",
"url": "https://www.example.com/static/logo-1200x630.png",
"width": 1200,
"height": 630
},
"image": "https://www.example.com/static/og-default.png",
"description": "Example Community Bank is a state-chartered commercial bank serving Hawaii since 1925, offering personal banking, business banking, mortgages, and SBA-preferred lending across all Hawaiian Islands.",
"foundingDate": "1925",
"memberOf": [
{
"@type": "Organization",
"name": "FDIC",
"url": "https://www.fdic.gov/"
},
{
"@type": "Organization",
"name": "Federal Reserve System"
}
],
"isicV4": "6419",
"naics": "522110",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Bishop St",
"addressLocality": "Honolulu",
"addressRegion": "HI",
"postalCode": "96813",
"addressCountry": "US"
},
"telephone": "+1-808-555-0100",
"areaServed": {
"@type": "State",
"name": "Hawaii"
},
"currenciesAccepted": "USD",
"paymentAccepted": ["Cash", "Credit Card", "Debit Card", "ACH", "Wire Transfer"],
"knowsAbout": ["Personal Banking", "Business Banking", "SBA Lending", "Residential Mortgage", "Commercial Real Estate Lending"],
"slogan": "(brand tagline goes here)",
"disambiguatingDescription": "Member FDIC. Equal Housing Lender. NMLS ID #XXXXXXX."
}
disambiguatingDescription carries the FDIC member statement,required disclosures under federal law for any external-facing
marketing material that names the institution. AI engines also
cite this field when asked about regulatory standing.
memberOf makes the FDIC relationship machine-readable. Ifblock that lets the engine answer correctly without
hallucinating.
naics (522110 = commercial banking) and isicV4 arecredit union from broker-dealer.
BankOrCreditUnion with justBankOrCreditUnion (already correct), and replace FDIC with
NCUA in memberOf.
For the Common Questions or FAQ page. The trick is that any
FAQ that mentions a rate, fee, or APY triggers Truth in Savings
disclosure requirements. The schema must include the disclosure
within the answer text, not as a separate block.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is the current APY on your savings account?",
"acceptedAnswer": {
"@type": "Answer",
"text": "As of the date posted, our standard savings account earns 0.10% APY. Rates are variable and may change at any time without notice. APY assumes interest remains on deposit until maturity. A withdrawal will reduce earnings. See the full Truth in Savings disclosure at /disclosures/savings for current rates, fees, and terms."
}
},
{
"@type": "Question",
"name": "Are deposits FDIC insured?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. Example Community Bank is a Member FDIC. Deposits are insured up to $250,000 per depositor, per insured bank, for each account ownership category. Investment products, including mutual funds and stocks, are not deposits, are not FDIC insured, and may lose value."
}
},
{
"@type": "Question",
"name": "What is your routing number?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Our ABA routing number is XXXXXXXXX. Verify your routing number on your printed checks or in your online banking account before initiating any transfer."
}
}
]
}
without notice") or be qualified as "as of the date posted"
with a link to the live disclosure document.
marketing where investment products are mentioned in
proximity. Even if your FAQPage doesn't mention investment
products, including the carve-out preemptively is a compliance
best practice.
instead. ("See current fee schedule at /disclosures/fees.")
For each product page (savings, checking, CDs, mortgages, SBA).
This is the highest-leverage block for buyer-stage queries.
{
"@context": "https://schema.org",
"@type": "FinancialProduct",
"@id": "https://www.example.com/savings/high-yield-savings#product",
"name": "High Yield Savings Account",
"category": "Savings Account",
"description": "A variable-rate savings account with no monthly maintenance fee, $100 minimum opening deposit, and online and mobile access.",
"provider": {
"@id": "https://www.example.com/#organization"
},
"url": "https://www.example.com/savings/high-yield-savings",
"termsOfService": "https://www.example.com/disclosures/savings",
"feesAndCommissionsSpecification": "https://www.example.com/disclosures/fees",
"interestRate": {
"@type": "QuantitativeValue",
"name": "APY",
"value": "0.10",
"unitText": "% APY"
},
"isRelatedTo": [
{
"@type": "FinancialProduct",
"name": "Money Market Account",
"url": "https://www.example.com/savings/money-market"
}
],
"annualPercentageRate": {
"@type": "QuantitativeValue",
"value": "0.10",
"unitText": "% APY (variable, as of the date posted)"
}
}
interestRate and annualPercentageRate to thetermsOfService. AI engines that cite
the rate will cite the disclosure URL alongside it, which is
exactly what compliance wants.
feesAndCommissionsSpecification is a separate URL, not text.updated without re-deploying schema.
loanTerm and loanType (e.g. "30-yearin "best Hawaii mortgage lender" type queries.
If the institution is an SBA Preferred Lender (PLP), this is
worth its own structured block because AI engines surface PLP
status in "best SBA loan Hawaii" queries.
Add to the Organization block:
"hasCredential": [
{
"@type": "EducationalOccupationalCredential",
"credentialCategory": "Government Designation",
"name": "SBA Preferred Lender",
"recognizedBy": {
"@type": "GovernmentOrganization",
"name": "U.S. Small Business Administration",
"url": "https://www.sba.gov/"
}
}
]
hasCredential entries for each.
For multi-branch institutions, deploy a separate LocalBusiness
block per physical location. AI engines use these heavily for
"nearest bank Honolulu" type queries.
{
"@context": "https://schema.org",
"@type": "BankOrCreditUnion",
"@id": "https://www.example.com/branches/bishop-square#branch",
"name": "Example Community Bank: Bishop Square Branch",
"branchOf": {
"@id": "https://www.example.com/#organization"
},
"address": {
"@type": "PostalAddress",
"streetAddress": "999 Bishop St",
"addressLocality": "Honolulu",
"addressRegion": "HI",
"postalCode": "96813",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": "21.3099",
"longitude": "-157.8581"
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "08:30",
"closes": "16:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "09:00",
"closes": "13:00"
}
],
"amenityFeature": [
{"@type": "LocationFeatureSpecification", "name": "Drive-Through ATM", "value": true},
{"@type": "LocationFeatureSpecification", "name": "Safe Deposit Boxes", "value": true},
{"@type": "LocationFeatureSpecification", "name": "Notary Service", "value": true}
]
}
the FTC Act and CFPB UDAAP rules
validThrough field that the CMS auto-updates
1. NeverRanked drafts the schema using these templates with
customer-specific values from the audit
2. Customer compliance team reviews against their internal
regulatory checklist (or against this doc)
3. NeverRanked snippet deploys schema to live site only after
compliance sign-off in writing
4. NeverRanked weekly tracking confirms schema is parsing
correctly and being cited
5. Any change to rates, fees, or product terms triggers a
schema update via the snippet within 24 hours
A vendor pitching a bank with generic schema will lose six weeks
in legal review. A vendor showing up with this template, marked
up against the bank's specific charter type and pre-approved by
the bank's compliance team, can deploy in a week. The compliance
review IS the sales cycle in regulated verticals. Solving it
upfront is the moat.