Blog posts let your sports facility share fitness tips, workout guides, event recaps, and community stories. This blueprint structures each article so AI systems can attribute your content to the right author and connect it back to your facility, building authority in the fitness and sports space.
A blog post without structured data is invisible content to AI. With a BlogPosting node, AI can attribute the article to an author, connect it to your facility as the publisher, and surface it when someone asks about fitness or sports topics you have written about.
BlogPosting node with headline, datePublished, and dateModified gives AI the core metadata it needs to index and cite your article.Person node as author with name and URL connects the article to a real person — especially valuable for trainer-written content.publisher field referencing your SportsActivityLocation entity ties the content back to your facility.image property gives AI a visual to associate with the article when generating rich results or citations.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
headlinedescriptiondatePublisheddateModifiedauthorpublisherimageCopy 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 Sports Activity Location Blog 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. Author name 2. Author url 3. Domain 4. Facility name 5. Faq answer 6. Faq question 7. Featured image 8. Modified date 9. Post excerpt 10. Post slug 11. Post title 12. Publish date 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 Sports Activity Location Blog" - 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 the template below and replace every YOUR_* value with your own data. This block belongs in a <script type="application/ld+json"> tag in the <head> of each blog post.
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "BlogPosting",
"@id": "https://YOUR_DOMAIN.com/blog/YOUR_POST_SLUG/#article",
"headline": "YOUR_POST_TITLE",
"description": "YOUR_POST_EXCERPT",
"image": "https://YOUR_DOMAIN.com/YOUR_FEATURED_IMAGE.jpg",
"datePublished": "YOUR_PUBLISH_DATE",
"dateModified": "YOUR_MODIFIED_DATE",
"author": {
"@type": "Person",
"name": "YOUR_AUTHOR_NAME",
"url": "YOUR_AUTHOR_URL"
},
"publisher": {
"@id": "https://YOUR_DOMAIN.com/#facility"
},
"isPartOf": {
"@id": "https://YOUR_DOMAIN.com/#website"
}
},
{
"@type": "WebPage",
"@id": "https://YOUR_DOMAIN.com/blog/YOUR_POST_SLUG/#webpage",
"url": "https://YOUR_DOMAIN.com/blog/YOUR_POST_SLUG/",
"name": "YOUR_POST_TITLE — YOUR_FACILITY_NAME",
"isPartOf": {
"@id": "https://YOUR_DOMAIN.com/#website"
}
},
{
"@type": "BreadcrumbList",
"@id": "https://YOUR_DOMAIN.com/blog/YOUR_POST_SLUG/#breadcrumb",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://YOUR_DOMAIN.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Blog",
"item": "https://YOUR_DOMAIN.com/blog/"
},
{
"@type": "ListItem",
"position": 3,
"name": "YOUR_POST_TITLE",
"item": "https://YOUR_DOMAIN.com/blog/YOUR_POST_SLUG/"
}
]
},
{
"@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"
}
}
]
}
]
}
If the post is a step-by-step instructional guide (like "how to do a proper deadlift"), HowTo schema may be more appropriate. If it is an article discussing workout routines, fitness tips, or training philosophy, use BlogPosting. The key distinction is whether it is instructional steps vs editorial content.
Yes. When a trainer writes an article, listing them as the author builds their personal credibility and strengthens the connection between your facility and expert fitness knowledge. AI values content from identifiable people with relevant expertise.
Yes. Referencing your facility as the publisher using the same @id from the homepage connects your blog content to your business entity. This builds fitness authority — AI learns that your facility produces expert content about sports and fitness.