Schema Markup Generator
Run ID: 69c94f2ca17964d77e86d8fe2026-03-29SEO
PantheraHive BOS
BOS Dashboard

This document outlines the generation of JSON-LD structured data markup, a critical step for enhancing your page's visibility and rich result potential in search engines. As per your request, this output provides a framework, detailed examples, and clear instructions for generating and implementing various schema types.

To generate specific schema markup tailored to your content, we require additional details about your page type and content. Please review the examples below and provide the necessary information for the schema you wish to implement.


1. Introduction: Schema Markup Generated

This deliverable provides comprehensive JSON-LD (JavaScript Object Notation for Linked Data) schema markup examples for common page types: Article, Product, FAQ, HowTo, and LocalBusiness. These examples serve as a template for you to adapt to your specific content.

Schema markup helps search engines understand the context of your page's content, enabling them to display rich results (e.g., star ratings, prices, FAQs directly in search results) and improving your page's overall SEO performance.


2. How to Use This Output

  1. Identify Your Page Type: Determine which schema type best fits the primary content of your page (e.g., if it's a blog post, use Article; if it's a product listing, use Product).
  2. Provide Your Details: For the chosen schema type, populate the placeholder values (e.g., YOUR_ARTICLE_HEADLINE, YOUR_PRODUCT_NAME, YOUR_BUSINESS_NAME) with your actual page content.
  3. Integrate the Code: Once customized, copy the complete JSON-LD script.
  4. Place on Your Page: Paste the script within the <head> section of your HTML page. Alternatively, it can be placed in the <body> section, but <head> is generally preferred for early parsing.
  5. Validate: Crucially, use Google's Rich Result Test to ensure your markup is correctly implemented and eligible for rich results.

3. Schema Markup Generation - Your Input Needed

To generate specific, ready-to-implement schema markup for your page, please provide the following information:

Once we receive this input, we can provide you with a fully customized JSON-LD script. In the meantime, please use the detailed templates below as a guide.


4. Schema Markup Templates & Examples

Below are detailed JSON-LD schema markup templates for the specified page types. Remember to replace all placeholder values (e.g., YOUR_..._HERE) with your actual content.

4.1. Article Schema

Use this for blog posts, news articles, informational pages, etc.

text • 671 chars
**Key Fields to Customize:**
*   `name`: The product's name.
*   `image`: URLs of product images.
*   `description`: A detailed description of the product.
*   `sku`, `mpn`: Product identifiers (SKU, Manufacturer Part Number).
*   `brand`: The brand name.
*   `offers`: Price, currency, availability (e.g., `InStock`, `OutOfStock`), condition (`NewCondition`, `UsedCondition`), and URL to buy.
*   `aggregateRating`: Average rating and total review count (if available).
*   `review`: Individual reviews (optional, but highly recommended for rich results).

### 4.3. FAQPage Schema

Use this for pages containing a list of frequently asked questions and their answers.

Sandboxed live preview

Schema Markup Generator: Step 1 of 2 - Information Gathering

Welcome to the Schema Markup Generator workflow! This first step is dedicated to gathering the necessary information from you to accurately generate the JSON-LD structured data markup for your specific page type. Our goal is to create comprehensive, valid, and search-engine-friendly schema that enhances your content's visibility and rich snippet potential.

Purpose of This Step

To generate precise and effective schema markup, we require specific details about your page's content. This step will guide you on what information is needed based on the type of schema you wish to generate.

How to Proceed

Please review the supported schema types below. Select the schema type that best describes your page, and then provide all the requested details for that specific type. You can provide this information in a clear, bulleted, or numbered list format in your next input.


Supported Schema Types & Required Information

Please choose one of the following schema types and provide the corresponding details:

1. Article Schema (Article)

Use this for blog posts, news articles, reports, or any informational content.

  • Page URL: The full URL of the article page.
  • Headline: The main title of your article.
  • Description: A concise summary (1-2 sentences) of the article's content.
  • Main Image URL: A direct URL to the primary image for the article (must be at least 1200px wide).
  • Date Published: The date the article was first published (e.g., YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ).
  • Date Modified (if applicable): The date the article was last updated (e.g., YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ). If not modified, use the published date.
  • Author Name: The name of the author (e.g., "John Doe" or "PantheraHive Editorial Team").
  • Author Type: Person or Organization.
  • Publisher Name: The name of the organization publishing the article (e.g., "PantheraHive").
  • Publisher Logo URL: A direct URL to the publisher's logo (must be square, min 112x112px).
  • Keywords (Optional): A comma-separated list of relevant keywords.

2. Product Schema (Product)

Use this for individual product pages on an e-commerce site.

  • Page URL: The full URL of the product page.
  • Product Name: The full name of the product.
  • Product Description: A detailed description of the product.
  • Product Image URL: A direct URL to the main product image.
  • SKU (Stock Keeping Unit): The product's SKU.
  • MPN (Manufacturer Part Number) (Optional): The product's MPN.
  • Brand Name: The brand of the product.
  • Price Currency: The currency of the product price (e.g., USD, EUR).
  • Price: The current selling price of the product.
  • Availability: Product availability status (e.g., InStock, OutOfStock, PreOrder, LimitedAvailability).
  • Condition: The condition of the product (e.g., NewCondition, UsedCondition, RefurbishedCondition).
  • Aggregate Rating (Optional):

* Rating Value: The average rating (e.g., 4.5).

* Review Count: The total number of reviews (e.g., 125).

  • Offer URL (Optional): The direct URL where the product can be purchased if different from the Page URL.

3. FAQ Page Schema (FAQPage)

Use this for pages that list questions and their corresponding answers.

  • Page URL: The full URL of the FAQ page.
  • List of Questions and Answers: For each FAQ item, provide:

* Question: The full text of the question.

* Answer: The full text of the answer.

(Example: Question: "What is your return policy?" Answer: "Our return policy allows returns within 30 days...")*

4. HowTo Schema (HowTo)

Use this for pages that provide step-by-step instructions for completing a task.

  • Page URL: The full URL of the HowTo page.
  • HowTo Name: The title of the "how-to" guide (e.g., "How to Bake a Cake").
  • HowTo Description: A brief summary of the process.
  • Main Image URL (Optional): A direct URL to the main image for the guide.
  • Total Time (Optional): The estimated total time to complete the task (e.g., PT30M for 30 minutes, PT1H30M for 1 hour 30 minutes).
  • Supplies (Optional): A list of items needed (e.g., "Flour", "Eggs", "Sugar").
  • Tools (Optional): A list of tools needed (e.g., "Mixing Bowl", "Whisk", "Oven").
  • Steps: For each step in the process, provide:

* Step Name: A short title for the step.

* Step Text: A detailed description of what to do in this step.

* Step Image URL (Optional): A direct URL to an image illustrating this specific step.

5. Local Business Schema (LocalBusiness)

Use this for pages representing a physical business location.

  • Page URL: The full URL of the local business page.
  • Business Name: The official name of your business.
  • Business Type: A specific type of local business (e.g., Restaurant, Dentist, Store, AutomotiveRepair, Pharmacy, RealEstateAgent). If none fit, use LocalBusiness.
  • Street Address: The street number and name.
  • Locality (City): The city where the business is located.
  • Region (State/Province): The state or province.
  • Postal Code: The postal code.
  • Country: The country (e.g., US, CA).
  • Telephone Number: The business's primary phone number (e.g., +1-555-123-4567).
  • Image URL (Optional): A direct URL to a representative image of the business (e.g., logo, storefront).
  • Price Range (Optional): A general price indicator (e.g., $, $$, $$$).
  • Opening Hours (Optional): For each day of the week, specify opening and closing times.

(Example: Monday: 09:00-17:00, Tuesday: 09:00-17:00, Sunday: Closed)*

  • Latitude & Longitude (Optional): The exact geographical coordinates of the business.
  • Social Media URLs (Optional): A comma-separated list of URLs to your social media profiles (e.g., Facebook, Twitter, LinkedIn).
  • Google Maps URL (Optional): A direct URL to your business's listing on Google Maps.
  • Aggregate Rating (Optional):

* Rating Value: The average rating (e.g., 4.8).

* Review Count: The total number of reviews (e.g., 345).


Important Notes

  • Provide accurate and complete information. The quality of the generated schema directly depends on the details you provide.
  • URLs must be direct links. Ensure image URLs link directly to the image file (e.g., .jpg, .png).
  • Dates should follow ISO 8601 format where specified.

Next Step

Once you provide the requested information for your chosen schema type, I will proceed to Step 2: Generate Schema Markup, and deliver the complete JSON-LD code block ready for implementation on your page.

Key Fields to Customize:

  • name: The title of the "how-to" guide.
  • description: A brief summary of what the guide teaches.
  • image: A representative image for the guide.
  • totalTime: The estimated time to complete the task (ISO 8601 duration format, e.g., PT1H30M for 1 hour 30
schema_markup_generator.txt
Download source file
Copy all content
Full output as text
Download ZIP
IDE-ready project ZIP
Copy share link
Permanent URL for this run
Get Embed Code
Embed this result on any website
Print / Save PDF
Use browser print dialog
\n```\n\n**Key Fields to Customize:**\n* `headline`: The main title of your article.\n* `image`: URLs of relevant images (at least one, preferably multiple aspect ratios).\n* `datePublished`: The original publication date in ISO 8601 format.\n* `dateModified`: The last modification date in ISO 8601 format.\n* `author`: Name and optionally URL of the author.\n* `publisher`: Name and logo URL of your organization.\n* `description`: A concise summary of the article.\n* `mainEntityOfPage.@id`: The canonical URL of the article page.\n\n### 4.2. Product Schema\n\nUse this for e-commerce product pages.\n\n```json\n\n```\n\n**Key Fields to Customize:**\n* `name`: The product's name.\n* `image`: URLs of product images.\n* `description`: A detailed description of the product.\n* `sku`, `mpn`: Product identifiers (SKU, Manufacturer Part Number).\n* `brand`: The brand name.\n* `offers`: Price, currency, availability (e.g., `InStock`, `OutOfStock`), condition (`NewCondition`, `UsedCondition`), and URL to buy.\n* `aggregateRating`: Average rating and total review count (if available).\n* `review`: Individual reviews (optional, but highly recommended for rich results).\n\n### 4.3. FAQPage Schema\n\nUse this for pages containing a list of frequently asked questions and their answers.\n\n```json\n\n```\n\n**Key Fields to Customize:**\n* `mainEntity`: An array where each object represents a question-answer pair.\n * `name` (under `Question`): The full text of the question.\n * `text` (under `Answer`): The full text of the answer. Ensure the answers are concise and directly address the question.\n\n### 4.4. HowTo Schema\n\nUse this for pages that describe how to perform a specific task through a series of steps.\n\n```json\n\n```\n\n**Key Fields to Customize:**\n* `name`: The title of the \"how-to\" guide.\n* `description`: A brief summary of what the guide teaches.\n* `image`: A representative image for the guide.\n* `totalTime`: The estimated time to complete the task (ISO 8601 duration format, e.g., `PT1H30M` for 1 hour 30";function phTab(btn,name){document.querySelectorAll(".ph-panel").forEach(function(el){el.classList.remove("active");});document.querySelectorAll(".ph-tab").forEach(function(el){el.classList.remove("active");el.classList.add("inactive");});var p=document.getElementById("panel-"+name);if(p)p.classList.add("active");btn.classList.remove("inactive");btn.classList.add("active");if(name==="preview"){var fr=document.getElementById("ph-preview-frame");if(fr&&!fr.dataset.loaded){if(_phIsHtml){fr.srcdoc=_phCode;}else{var vc=document.getElementById("panel-content");fr.srcdoc=vc?""+vc.innerHTML+"":"

No content

";}fr.dataset.loaded="1";}}}function phCopyCode(){navigator.clipboard.writeText(_phCode).then(function(){var b=document.getElementById("tab-code");if(b){var o=b.innerHTML;b.innerHTML=' Copied!';setTimeout(function(){b.innerHTML=o;},2000);}});}function phCopyAll(){navigator.clipboard.writeText(_phAll).then(function(){alert("Content copied to clipboard!");});}function phDownload(){var a=document.createElement("a");a.href="data:text/plain;charset=utf-8,"+encodeURIComponent(_phCode);a.download=_phFname;a.click();}function phDownloadZip(){ var lbl=document.getElementById("ph-zip-lbl"); if(lbl)lbl.textContent="Preparing\u2026"; /* ===== HELPERS ===== */ function cc(s){ return s.replace(/[_\-\s]+([a-z])/g,function(m,c){return c.toUpperCase();}) .replace(/^[a-z]/,function(m){return m.toUpperCase();}); } function pkgName(app){ return app.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")||"my_app"; } function slugTitle(app){ return app.replace(/_/g," "); } /* Generic code block extractor. Finds marker comments like: // lib/main.dart or # lib/main.dart or ## lib/main.dart and collects lines until the next marker. Also strips markdown fences (\`\`\`lang ... \`\`\`) from each block. */ function extractFiles(txt, pathRe){ var files={}, cur=null, buf=[]; function flush(){ if(cur&&buf.length){ files[cur]=buf.join("\n").trim(); } } txt.split("\n").forEach(function(line){ var m=line.trim().match(pathRe); if(m){ flush(); cur=m[1]; buf=[]; return; } if(cur) buf.push(line); }); flush(); // Strip \`\`\`...\`\`\` fences from each file Object.keys(files).forEach(function(k){ files[k]=files[k].replace(/^\`\`\`[a-z]*\n?/,"").replace(/\n?\`\`\`$/,"").trim(); }); return files; } /* General path extractor that covers most languages */ function extractCode(txt){ var re=/^(?:\/\/|#|##)\s*((?:lib|src|test|tests|Sources?|app|components?|screens?|views?|hooks?|routes?|store|services?|models?|pages?)\/[\w\/\-\.]+\.\w+|pubspec\.yaml|Package\.swift|angular\.json|babel\.config\.(?:js|ts)|vite\.config\.(?:js|ts)|tsconfig\.(?:json|app\.json)|app\.json|App\.(?:tsx|jsx|vue|kt|swift)|MainActivity(?:\.kt)?|ContentView\.swift)/i; return extractFiles(txt, re); } /* Detect language from combined code+panel text */ function detectLang(code, panel){ var t=(code+" "+panel).toLowerCase(); if(t.indexOf("import 'package:flutter")>=0||t.indexOf('import "package:flutter')>=0) return "flutter"; if(t.indexOf("statelesswidget")>=0||t.indexOf("statefulwidget")>=0) return "flutter"; if((t.indexOf(".dart")>=0)&&(t.indexOf("pubspec")>=0||t.indexOf("flutter:")>=0)) return "flutter"; if(t.indexOf("react-native")>=0||t.indexOf("react_native")>=0) return "react-native"; if(t.indexOf("stylesheet.create")>=0||t.indexOf("view, text, touchableopacity")>=0) return "react-native"; if(t.indexOf("expo(")>=0||t.indexOf("\"expo\":")>=0||t.indexOf("from 'expo")>=0) return "react-native"; if(t.indexOf("import swiftui")>=0||t.indexOf("import uikit")>=0) return "swift"; if(t.indexOf(".swift")>=0&&(t.indexOf("func body")>=0||t.indexOf("@main")>=0||t.indexOf("var body: some view")>=0)) return "swift"; if(t.indexOf("import android.")>=0||t.indexOf("package com.example")>=0) return "kotlin"; if(t.indexOf("@composable")>=0||t.indexOf("fun mainactivity")>=0||(t.indexOf(".kt")>=0&&t.indexOf("androidx")>=0)) return "kotlin"; if(t.indexOf("@ngmodule")>=0||t.indexOf("@component")>=0) return "angular"; if(t.indexOf("angular.json")>=0||t.indexOf("from '@angular")>=0) return "angular"; if(t.indexOf(".vue")>=0||t.indexOf("