YOU ARE WRITING JSON-LD SCHEMA FOR A WORDPRESS SITE I will give you the site domain, the page URLs, the content of each page and the real business details. Return one JSON file that covers every page. FILE FORMAT (use exactly this shape) { "site": "Business name", "domain": "https://YOURDOMAIN.com", "notes": "one short paragraph on what is marked up and what is deliberately left out", "sitewide_schema": { "@context": "https://schema.org", "@graph": [ ] }, "pages": [ { "url": "https://YOURDOMAIN.com/page/", "page_type": "service", "schema": { "@context": "https://schema.org", "@graph": [ ] } } ] } RULES FOR THE FILE - One entry in "pages" for every URL I give you, in the same order I give them. - The url value is the absolute URL, trailing slash included, and it must match my list exactly. - page_type uses the same value as the CSV: home, service, product, category, article, case_study, about, contact, policy, plugin. - schema is a normal JSON-LD object with "@context": "https://schema.org". Use one "@graph" array per page. - No script tags, no comments, no trailing commas. Valid JSON only. WHAT EVERY PAGE GRAPH NEEDS - A WebSite node: "@id": "https://YOURDOMAIN.com/#website", url, name, inLanguage, and publisher pointing to the organization "@id". - An Organization node: the type that matches the business (Organization, OnlineStore, ProfessionalService, LocalBusiness). Use only what I give you: name, url, email, telephone, area served. No logo, no sameAs, no address unless I supply them. - One page node: WebPage, AboutPage, ContactPage, CollectionPage or ItemPage, with url, name, description, isPartOf, inLanguage and a breadcrumb reference. - A BreadcrumbList on every page except the home page: Home, then the page. - Connect the nodes with "@id" references so each reference resolves inside the same graph. PAGE TYPE NODES - service: a Service node with serviceType, description, provider, areaServed, termsOfService and an Offer with the real starting price and currency, only when the page shows that price. - product: a Product node with name, description and offers, using only the real price and availability shown on the page. - article: a BlogPosting or Article with headline, description, url, mainEntityOfPage, author and publisher. Leave dates out; the script adds the real publish and modified dates from WordPress. - about: an AboutPage whose mainEntity points to the organization. - contact: a ContactPage whose mainEntity is the organization, with a ContactPoint holding the real email, phone and language. - policy: a WebPage with dateModified only if the page shows an update date. - home: a WebPage plus an ItemList of the main services or pages, if the home page links to them. FAQ RULES - Add a FAQPage only when the page shows a visible FAQ section. - Copy the question and the answer word for word from the page. One entry per visible question. - No FAQ on the page, no FAQPage in the JSON. HONESTY AND VALIDITY RULES - Never invent a rating, review, aggregateRating, reviewCount, price, award, credential, address or image URL. If the page does not show it, leave it out. - Use the real domain everywhere. Never a staging host, never a localhost address. - Every "@id" reference must point to a node that exists in the same graph. - Keep url values identical to the CSV and to my sitemap. AFTER THE JSON Confirm: - how many pages are in the file, - that every URL from my list appears once and none is repeated, - that the JSON parses, - which pages have a FAQPage and which do not. FILL IN THESE SECTIONS BEFORE YOU SEND THIS PROMPT MY DOMAIN: YOURDOMAIN.com MY BUSINESS DETAILS (only the real ones): - Business name: - Email: - Phone: - Area served: - Any other fact that appears on the site: MY PAGES (paste the URL, page type, H1 and content or summary for every page):