📁 SEO

Schema Markup Prompt: JSON-LD From What Is on Your Page

Write schema.org JSON-LD only from content visible on your page: type choice, required and recommended properties, gaps to fix on the page, and a test plan.

0.0
0Reviews
P
October 16, 2026

Prompt

Act as a technical SEO specialist who writes schema.org JSON-LD for Google Search only from content a visitor can see on the page, and checks every property against Google Search Central documentation before calling markup done.

Inputs:
- Page URL and what the page is about: [PageURL]
- The visible page content, pasted (headings, text, prices, hours, address): [VisibleContent]
- Business or organization facts that also appear on the page: [BusinessFacts]
- Markup already on the page, if any: [ExistingMarkup]
- My CMS or how I can add code: [CMS]
- The search feature or type I am aiming for: [TargetFeature]

Generate:
1. Type choice: the most specific schema.org type for this page (for example Bakery instead of LocalBusiness) and why, plus any type I should not use here.
2. Property map: a table of property, value, and where it appears in VisibleContent. Mark each Google required or recommended for TargetFeature. If a required value is not on the page, write MISSING ON PAGE instead of guessing.
3. JSON-LD block: one valid script block using only mapped values. No ratings or reviews unless the page shows reviews it collected itself and the type allows them, and no hidden content.
4. Conflicts with ExistingMarkup: duplicates, mismatched values, or outdated types to remove.
5. Page fixes: content to add to the visible page so the markup can be complete (for example opening hours in the footer).
6. CMS steps: where the block goes for CMS, or the plugin setting to check, in plain words.
7. Test plan: run the Rich Results Test, check the Schema Markup Validator, use URL Inspection after publishing, and watch the rich result reports in Search Console. Remind me that valid markup does not guarantee a rich result.

Rules:
- Never invent addresses, phone numbers, prices, ratings, or dates.
- Do not suggest FAQ or HowTo markup to get rich results; Google no longer shows those results.

Instructions

Paste only what visitors can see on the page. Fill any MISSING ON PAGE line by adding the content to the page first, then test the block in the Rich Results Test before and after publishing.

Generated Output

This image was generated using the prompt above.

Schema Markup Prompt: JSON-LD From What Is on Your Page - Result

Examples

Example Input

PageURL: https://example.com/contact, the contact page for a neighborhood bakery
VisibleContent:
H1: Visit Crumb & Kettle
Text: Sourdough, croissants and coffee, baked every morning.
Address: 214 Alder Street, Portland, OR 97214
Phone: (503) 555-0142
Hours: Tue to Fri 7:00 to 15:00; Sat and Sun 8:00 to 14:00; closed Monday
Menu link: /menu
Photo of the shop front with alt text "Crumb & Kettle shop front"
BusinessFacts: business name Crumb & Kettle; same address and phone in the footer of every page
ExistingMarkup: a theme plugin adds Organization markup with only the name and logo on every page
CMS: WordPress with an SEO plugin that has a "custom schema" box per page
TargetFeature: local business details for Google Search

Example Output

1. TYPE CHOICE
Use Bakery, a more specific type of LocalBusiness, because the page is the contact page for one bakery location. Do not add Restaurant as well; the page shows a bakery and coffee, not table service.

2. PROPERTY MAP
name: Crumb & Kettle (H1, footer), required
address: 214 Alder Street, Portland, OR 97214 (Address line), required
telephone: +1-503-555-0142 (Phone line), recommended
openingHoursSpecification: Tue to Fri 07:00 to 15:00, Sat and Sun 08:00 to 14:00 (Hours line), recommended
url: https://example.com/contact (PageURL), recommended
menu: https://example.com/menu (Menu link), recommended
image: shop front photo, URL MISSING (paste the image URL from the media library)
geo: MISSING ON PAGE, leave out
priceRange: MISSING ON PAGE, leave out
aggregateRating and review: leave out; the page shows no reviews it collected.

3. JSON-LD BLOCK
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Bakery",
  "name": "Crumb & Kettle",
  "url": "https://example.com/contact",
  "telephone": "+1-503-555-0142",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "214 Alder Street",
    "addressLocality": "Portland",
    "addressRegion": "OR",
    "postalCode": "97214",
    "addressCountry": "US"
  },
  "openingHoursSpecification": [
    {"@type": "OpeningHoursSpecification", "dayOfWeek": ["Tuesday", "Wednesday", "Thursday", "Friday"], "opens": "07:00", "closes": "15:00"},
    {"@type": "OpeningHoursSpecification", "dayOfWeek": ["Saturday", "Sunday"], "opens": "08:00", "closes": "14:00"}
  ],
  "menu": "https://example.com/menu"
}
</script>
Note: Monday is left out because it is closed. addressCountry US matches the Oregon address on the page.

4. CONFLICTS WITH EXISTING MARKUP
If the plugin's Organization name is exactly Crumb & Kettle, there is no conflict. Keep it, and make sure the plugin does not also add a second LocalBusiness block on this page.

5. PAGE FIXES
Add the shop front image URL to the block once you copy it from the media library. If you want geo or priceRange later, show them on the page first.

6. CMS STEPS (WordPress)
Paste the block into the SEO plugin's custom schema box for the contact page only, then clear any page cache.

7. TEST PLAN
- Run the page URL through the Rich Results Test and fix any errors.
- Check the same code in the Schema Markup Validator.
- After publishing, use URL Inspection in Search Console and request indexing.
- Watch the rich result reports in Search Console.
Valid markup makes the page eligible; it does not guarantee a rich result.

Reviews (0)

Please login to leave a review.
Loading reviews...