How to Integrate FAQ Structured Data with WebPage or Article Schema Markup

Structured data is more than just isolated code snippets; it should form a cohesive narrative that search engines and crawlers can read and understand the full story of your page. 

When you connect FAQ schema with WebPage or Article schema, you provide a rich context that helps search engines better interpret the page.

In this article, let’s take a look at how to connect FAQPage structured data to WebPage or Article schema, ensuring that your markup forms a seamless and comprehensive structure.

Why connect FAQPage schema to other structured data?

Connecting your schema markup helps search engines understand the relationships between different pieces of content on your website, providing better context and clarity. 

It’s very common for web pages to create an individual FAQPage structured data on its own – mostly because of the plugins setting. Let’s take a look at the example of the Article schema from The Motley Fool:

Although The Motley Fool used @graph to contain multiple independent entities in a single block, these entities are not inherently connected unless explicitly linked. So you can see the Article and FAQPage are separated when we visualise the structured data using Classy Schema.

To establish the relationship between the Article and the FAQs, I can nest the FAQPage schema in the Article schema.

As seen from the example, Article and FAQPage are no longer separated. We have established a directional relationship using hasPart property.

So now we know the primary focus of this Article is about the WebPage and this Article has a subsection of FAQ Page, which contained 2 questions.

How to nest FAQPage schema to WebPage or Article Markup

To group the two structured data together, I choose to use hasPart property to explicitly connect the FAQPage to the Article or WebPage. 

I have seen some websites use mainEntity to connect FAQPage and Article. However, the mainEntity property highlights the primary focus of the page, if we choose multiple mainEntity, it dilutes the value of the most important content.

On the other hand, hasPart property tells search engines that the FAQPage is an integral but separate part of the content. This ensures that the Article remains the primary focus, and the FAQPage is a supporting element.

To implement this connection effectively, you can follow these steps to add the hasPart property and nest the FAQPage schema within the WebPage or Article markup:

1. Set up the primary structured data

Start by creating the base structured data for your WebPage or Article. This includes key properties like @type, headline, author, and datePublished. Make sure your markup complies with Google’s structured data guidelines to avoid potential errors.

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "How to Add FAQ Structured Data",
  "author": {
	"@type": "Person",
	"name": "Aubrey Yung",
        "url": "https://aubreyyung.com/about/"
  },
  "datePublished": "2024-11-16"
  }
}

2. Create the FAQPage Schema

Next, define the FAQPage schema. This should include the @type: FAQPage along with individual Question and Answer objects. Each FAQ should clearly represent user queries relevant to your content.

{
  "@type": "FAQPage",
  "mainEntity": [
	{
  	"@type": "Question",
  	"name": "What is FAQ structured data?",
  	"acceptedAnswer": {
    	"@type": "Answer",
    	"text": "FAQ structured data helps search engines understand and display questions and answers in search results."
  	}
	},
	{
  	"@type": "Question",
  	"name": "How does FAQPage schema improve SEO?",
  	"acceptedAnswer": {
    	"@type": "Answer",
    	"text": "It can enhance search visibility by making your FAQs eligible for rich results."
  	}
	}
  ]
}

3. Use the hasPart Property

Once both the WebPage or Article and FAQPage schemas are prepared, it’s time to link them. In your primary schema (WebPage or Article), add the hasPart property and make reference to the FAQPage schema. 

This connection indicates that the FAQPage is a supplementary component of the main content:

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "How to Add FAQ Structured Data",
  "author": {
    "@type": "Person",
    "name": "Aubrey Yung",
    "url": "https://aubreyyung.com/about/"
  },
  "datePublished": "2024-11-16",
  "hasPart": {
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "What is FAQ structured data?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "FAQ structured data helps search engines understand and display questions and answers in search results."
        }
      },
      {
        "@type": "Question",
        "name": "How does FAQPage schema improve SEO?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "It can enhance search visibility by making your FAQs eligible for rich results."
        }
      }
    ]
  }
}

Reminder: Don’t forget to validate the structured data before implementing it.

Conclusion

Integrating FAQ structured data within WebPage or Article markup allows search engines to better understand your content’s context and purpose. 

By clearly defining the relationship between the primary content and supporting FAQs, you can help search engines better understand your page’s structure and intent.

Aubrey Yung

Aubrey Yung

Aubrey is an SEO Consultant with 5+ years of B2B and B2C marketing experience.