What is FAQ schema?
FAQ schema is structured data that describes a list of questions and answers on a web page, using the FAQPage type from schema.org. It is added to the page as a small block of JSON-LD code. Search engines can read it to understand that the page contains a set of questions with answers, which helps them interpret your content.
The markup must match what visitors can actually see. Each question and answer in the code needs to be visible on the page, written for users and not only for search engines.
How to generate FAQ schema
- Type the first question and its answer. Add more with the Add question button.
- Remove any rows you do not need.
- Copy the generated JSON-LD code.
- Paste it into the head or body of the page that shows the same questions and answers.
- Test the page with Google's Rich Results Test or the Schema Markup Validator.
What to expect from FAQ markup
Google used to show FAQ rich results, with expandable questions under a listing, for many sites. Since 2023 it limits them mainly to well-known government and health sites, and the feature may change again, so do not count on a special display. The markup is still a valid, standard way to describe your content, and other tools and search engines can use it.
The most useful thing you can do is write good questions and clear answers on the page itself, because that content helps users and can be quoted in search features and by AI answer tools.
Rules for good FAQ content
- Use real questions that your audience asks, not keyword lists.
- Give a direct answer in the first sentence, then add detail.
- Keep each answer self-contained, so it makes sense when read alone.
- Do not use FAQ markup for ads or for questions where users submit their own answers. Those need a different type.
- Avoid duplicating the same FAQ on many pages.
JSON-LD basics
JSON-LD is a script block with the type application/ld+json. It sits in the page without changing how it looks. Strings inside it must be valid JSON, so quotes and line breaks are escaped. This generator does that for you, which avoids the most common syntax errors.
Example of the generated code
For a page with one question, the tool produces a script block of type application/ld+json containing an object with the type FAQPage and a mainEntity list. Each item has the type Question, a name that holds your question and an acceptedAnswer object of type Answer with your answer text. The code is indented so that it is easy to read and edit, and it is valid JSON, so you can also check it in a JSON formatter before you publish.
How the fields map to the markup
| Your input | Schema property | Purpose |
|---|---|---|
| Question | Question.name | The question text |
| Answer | Question.acceptedAnswer.text | The answer text, which may contain simple HTML |
| All items | FAQPage.mainEntity | The list of questions on the page |
Frequently Asked Questions
What is FAQPage schema?
A schema.org type that marks up a page of frequently asked questions and their answers.
Where do I put the JSON-LD code?
In the head or body of the page that shows the questions. Both places are accepted.
Will FAQ schema give me rich results?
Google currently shows FAQ rich results for a limited set of sites, so it is not guaranteed.
Does the FAQ have to be visible on the page?
Yes. The questions and answers in the markup must also appear on the page.
How many questions can I add?
As many as you like, but keep the list useful and relevant to the page.
How do I test my markup?
Use Google's Rich Results Test or the Schema Markup Validator and paste your page URL or code.
Is my content uploaded?
No. The code is generated in your browser.