Your resources page is a collection of guides, calculators, checklists, and educational tools. This blueprint structures that collection as a CollectionPage with individual resource references so AI can surface the right tool when someone asks about retirement calculators, tax checklists, or financial planning guides.
Resources pages are where financial firms put their most useful content — retirement calculators, tax preparation checklists, investment guides, and educational downloads. Without structured data, AI sees a page full of links but cannot distinguish a retirement calculator from a general FAQ. The right schema types make each resource individually discoverable.
CollectionPage tells AI this is a curated index of resources, not a single article or a generic page. It signals that the page contains references to multiple sub-resources worth indexing individually.WebPage entry inside hasPart, with its own name, url, and description. This lets AI index each resource independently.Organization (or FinancialService) node tells AI which firm created and maintains these resources, adding institutional credibility to the content.Each field in the template below serves a specific role in how AI systems discover, classify, and recommend your business.
Researched and tested by Minnesota AI
nameurllogoCopy this prompt and paste it into Claude, ChatGPT, Cursor, or any AI coding tool. It will ask for your business details and generate ready-to-use JSON-LD schema for your page.
You are implementing AIFDS-compliant JSON-LD structured data for a Financial Service Resources page. AIFDS (AI-Friendly Data Structure) is a schema framework built on research into which structured data fields AI systems actually read, parse, and use when deciding whether to cite a page. Documentation at aifds.org. Before generating any code, ask me for the following information in a single numbered list. Do not generate schema until I have answered every required field. REQUIRED — do not proceed without these: 1. Domain 2. Faq answer 3. Faq question 4. Firm name 5. Logo 6. Resources page description 7. Resources page title 8. Resource description 9. Resource name 10. Resource slug OPTIONAL — ask for these but proceed if I skip them: 1. Any additional details not covered above Once I provide the information, output a complete JSON-LD script block ready to paste into the <head> of my HTML page. Output requirements: - Valid JSON-LD wrapped in <script type="application/ld+json"> tags - schema.org vocabulary only - Every AIFDS-required field for this industry and page type included - Include this data attribute on the script tag: data-aifds="aifds.org Financial Service Resources" - No placeholder text — omit missing optional fields rather than fill with examples - After the code block, list any optional fields skipped that would strengthen AI citation
Generated schema follows the AIFDS framework. Fields were selected based on research into AI crawler behavior. View the research at minnesota.ai
Copy this template and replace every YOUR_* placeholder with your own data. Add or remove entries from the hasPart array to match the resources you actually offer.
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "CollectionPage",
"@id": "https://YOUR_DOMAIN.com/resources/",
"name": "YOUR_RESOURCES_PAGE_TITLE",
"description": "YOUR_RESOURCES_PAGE_DESCRIPTION",
"url": "https://YOUR_DOMAIN.com/resources/",
"isPartOf": {
"@id": "https://YOUR_DOMAIN.com/#website"
},
"about": {
"@id": "https://YOUR_DOMAIN.com/#organization"
},
"hasPart": [
{
"@type": "WebPage",
"name": "YOUR_RESOURCE_NAME_1",
"url": "https://YOUR_DOMAIN.com/resources/YOUR_RESOURCE_SLUG_1/",
"description": "YOUR_RESOURCE_DESCRIPTION_1"
},
{
"@type": "WebPage",
"name": "YOUR_RESOURCE_NAME_2",
"url": "https://YOUR_DOMAIN.com/resources/YOUR_RESOURCE_SLUG_2/",
"description": "YOUR_RESOURCE_DESCRIPTION_2"
},
{
"@type": "WebPage",
"name": "YOUR_RESOURCE_NAME_3",
"url": "https://YOUR_DOMAIN.com/resources/YOUR_RESOURCE_SLUG_3/",
"description": "YOUR_RESOURCE_DESCRIPTION_3"
}
],
"breadcrumb": {
"@id": "https://YOUR_DOMAIN.com/resources/#breadcrumb"
}
},
{
"@type": "Organization",
"@id": "https://YOUR_DOMAIN.com/#organization",
"name": "YOUR_FIRM_NAME",
"url": "https://YOUR_DOMAIN.com",
"logo": "https://YOUR_DOMAIN.com/YOUR_LOGO.png"
},
{
"@type": "BreadcrumbList",
"@id": "https://YOUR_DOMAIN.com/resources/#breadcrumb",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://YOUR_DOMAIN.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Resources",
"item": "https://YOUR_DOMAIN.com/resources/"
}
]
},
{
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "YOUR_FAQ_QUESTION_1",
"acceptedAnswer": {
"@type": "Answer",
"text": "YOUR_FAQ_ANSWER_1"
}
},
{
"@type": "Question",
"name": "YOUR_FAQ_QUESTION_2",
"acceptedAnswer": {
"@type": "Answer",
"text": "YOUR_FAQ_ANSWER_2"
}
},
{
"@type": "Question",
"name": "YOUR_FAQ_QUESTION_3",
"acceptedAnswer": {
"@type": "Answer",
"text": "YOUR_FAQ_ANSWER_3"
}
}
]
}
]
}
List every resource that has its own page or URL. If you have a retirement calculator, a tax checklist, an investment guide, and a financial planning workbook, each one should be a separate WebPage entry in hasPart. AI uses these entries to match individual resources to specific user queries.
Yes. If a resource is a downloadable PDF, you could use DigitalDocument. If it is an interactive calculator, WebApplication may be more appropriate. If it is a how-to guide, HowTo works well. Use the most specific type that accurately describes the resource. WebPage is the safe default when nothing more specific applies.
Yes. The CollectionPage on the resources index tells AI what exists and where to find it. Each individual resource page should have its own JSON-LD describing that specific resource in detail. Think of the collection as the table of contents and each resource page as a full chapter.