FAQ schema generator that matches the questions on your page
Writing FAQPage JSON-LD by hand is easy to get wrong: a missing comma, an answer that does not match the page, or questions that only exist in the code. This prompt has your todo.is agent read your page, pull the real questions and answers, and write valid JSON-LD you can paste in, with a quick validation check.
The prompt
- Create FAQ schema for [PAGE URL]. Read the page and find the questions and answers that are visible to visitors. If the page has fewer than [NUMBER OF QUESTIONS] questions, suggest new ones based on [SOURCE FOR QUESTIONS] and write short answers I can add to the page first. Then write FAQPage JSON-LD using schema.org, with each question as a Question and its answer as acceptedAnswer text that matches the visible answer word for word. Escape quotes properly, keep simple HTML only if it is in the answer, and wrap it in a script tag of type application/ld+json. Check the JSON is valid by parsing it in your workspace, and tell me where to paste it in [CMS OR PLATFORM]. Give me the code as a .json file and in the reply.
What to change
- [PAGE URL]: The page with the FAQ section, e.g. "mysite.com/pricing".
- [NUMBER OF QUESTIONS]: How many questions you want, e.g. "5".
- [SOURCE FOR QUESTIONS]: e.g. "Google People also ask", "my support emails (attached)", "customer reviews".
- [CMS OR PLATFORM]: e.g. "WordPress", "Shopify", "Webflow", "plain HTML".
Example result
- Questions found on /pricing
- • Is there a free trial?
- • Can I change plans later?
- • Do you offer discounts for nonprofits?
- • How do I cancel?
- • Which payment methods do you accept?
- JSON-LD
- <script type="application/ld+json">
- {
- "@context": "https://schema.org",
- "@type": "FAQPage",
- "mainEntity": [
- {
- "@type": "Question",
- "name": "Is there a free trial?",
- "acceptedAnswer": {
- "@type": "Answer",
- "text": "Yes. Every plan includes a 14-day free trial, and you do not need a card to start."
- }
- },
- {
- "@type": "Question",
- "name": "Can I change plans later?",
- "acceptedAnswer": {
- "@type": "Answer",
- "text": "Yes. You can upgrade or downgrade at any time from Settings, and we adjust your next bill."
- }
- }
- ]
- }
- </script>
- (The file contains all 5 questions.)
- Validation
- • JSON parsed with no errors.
- • Each answer matches the visible text on the page.
- • No questions appear only in the code.
- Where to paste it in WordPress
- • With an SEO plugin that has an FAQ block, use the block instead so the schema is created for you.
- • Otherwise add it with a header code plugin set to this page only, or in a Custom HTML block near the FAQ.
- After publishing
- • Test the URL in Google's Rich Results Test and the Schema Markup Validator.
- • Google currently shows FAQ rich results mainly for well-known government and health sites, so most sites will not see the dropdowns in search. The markup can still help search engines and other tools understand your page.
How to do it with todo.is
- Copy the prompt and add your page URL and platform.
- Paste it into todo.is, or send it to your agent on Slack or Discord.
- Your agent reads the page, writes the JSON-LD and checks it parses correctly.
- Paste the code into your page, then test it with Google's Rich Results Test.
Tips for a better result
- Only mark up questions and answers visitors can see on the page. Hidden FAQ content goes against Google's guidelines.
- Keep answers in the schema identical to the visible answers, so they never drift apart after edits.
- Use one FAQPage block per page. Do not repeat the same FAQ schema on every page of your site.
- When you update the FAQ, ask your agent to regenerate the schema from the live page.
FAQ schema generator: FAQ
- What is FAQ schema? It is structured data (usually JSON-LD) that tells search engines a page contains a list of questions and answers, using the schema.org FAQPage type.
- Does FAQ schema still show in Google? Google limited FAQ rich results in 2023 to mainly well-known government and health sites. Other sites can still use the markup, but should not expect the dropdowns in search.
- Where do I put JSON-LD on a page? Inside a script tag of type application/ld+json, either in the head or the body of the page. Most CMS platforms have a plugin or custom code field for it.
- Can the agent write other schema types? Yes. Ask for Product, LocalBusiness, HowTo, Article or Event JSON-LD, and your agent writes and checks it the same way.
JavaScript is required to use the todo.is app.