The Contentful SEO guide
Schema SEO & structured data
Joshua Lohr, Rob Remington, Nick Switzer
Updated: December 6, 2023
The Contentful SEO guide
This is chapter 8 of the series,The Contentful SEO guide.
Summary
Schema (AKA structured data or microdata) is markup that pairs information with data values to help search engines categorize and better understand your content. Learn more about basics of structured data, and see Google’s Structured Data Gallery to learn more about the different types of schema you can employ.
We’ve broken this chapter into page-level schema and site-wide schema. Page-level schema includes structured data controlled at the individual page level, such as FAQ schema and how-to schema. Site-wide schema includes structured data utilized either on every site page or by page type, such as article, event, or product schema. More on site-wide schema later.
On this page
Page-level schema
As highlighted above, page-level schema is managed at the individual page level. We'll talk more below about how it's managed in Contentful, but first let's discuss the two primary types of page-level schema and an important announcement by Google about page-level schema.
Two primary types of page-level schema
How-to schema
How-to schema is structured data markup you can add to a page's code aimed at earning an enhanced search result, also know as a rich snippet. If earned, search engines will import your step-by-step instructions from your content and display them at the top of the search results for instruction-based searches.
FAQ schema
Similarly, FAQ schema is structured data markup you can add to a page's code for content with a list of questions and answers. Using this schema can help you earn you more real estate in search results displaying a frequently asked questions from your content directly below your snippet.
See Google’s Structured Data Gallery to see all types of schema you can employ, and be sure to test your schema using Google’s Rich Results Test to ensure your new markup is valid.
Changes in Google search results
Google recently announced the following significant changes to FAQ schema and how-to schema:
- How-to schema: Google will no longer support how-to schema and thus is fully deprecated.
- FAQ schema: Google will only show FAQ schema for "well-known, authoritative government and health websites." They went on to add "for all other sites, this rich result will no longer be shown regularly."
While Google is claiming to reduce or eliminate these types of schema in search results, not all other search engines have stated the same. In addition, a recent study by Portent revealed that while FAQ results had declined significantly in the months following their announcement, it was still possible for sites to earn FAQ results and even recommended to continue using FAQ schema where it made sense. Google stated in their announcement above that there's no need to remove existing FAQ schema, nor would it have any negative impact on organic search performance. In other words, it can't hurt to still use it, but also be mindful it may not help either. Fortunately, Contentful makes it easy to implement if you choose to continue using FAQ schema.
Schema delivered by JSON-LD
JavaScript Object Notation for Linked Data (JSON-LD) is a format for implementing schema, which is simpler to implement as it can be injected into the page’s source code without the need to be embedded and wrapped in HTML elements. JSON-LD is also the preferred method by Google for employing schema.
In most cases, your content creators won’t even realize they are creating content that is being inserted into the page as JSON-LD. Since everything that is managed in Contentful is already broken into purposeful, structured chunks of content, that content can easily be reused anywhere it is needed. For example, your authors can create blog content that can be delivered as the human-readable article on your site, as well as properly organized and embedded as JSON-LD. The title, author information, publish date and other fields can naturally be used in both contexts.
Content modeling for schema
The actual schema that appears in a page of HTML is designed to be read by search engines, but that doesn’t mean your content creators should be writing JSON-LD markup directly. In fact, you can leverage structured content to allow your creators to manage JSON-LD content just like any other content in Contentful, and render it as schema markup on the frontend. With page-level schema, it’s common to deploy the JSON-LD within the <body>
section, often directly next to the content referenced in the schema.
Modeling an FAQ with Contentful is straightforward: We use an FAQ content type that includes a field to reference multiple Question types. Each Question entry contains a question/answer pair. Now we can create and arrange as many Question entries as needed, and attach the FAQ to any page entries as a reference.
Now this content can be rendered in the frontend as markup. Don’t worry, content creators, your developers have this covered.
As a bonus, you can use this same content model to render human-readable content on your page, not just JSON-LD. Composable content empowers you to reuse not only your content, but your content types!
Site-wide schema
We label the following as “site-wide schema” because they should apply to either 1) all site pages, or 2) all pages within a page type. Additionally, these should be controlled by a Contentful admin, developer, or SEO professional.
This is an extensive topic and there are many types of schema. See Google’s documentation outlining all the types of schema they support. We’ve outlined some of the most common types below that should be controlled at the site-wide level.
Types of schema + optimization tips and validation
Organization schema:
Organization schema helps search engines:
- Better understand the web property by providing data points and creating associations.
- Enhance the appearance of a branded search result by enabling more functional and visual elements to appear directly in results, specifically a search result’s knowledge panel.
- Expand the footprint for a branded search result by claiming more available real estate in the search result, specifically with the knowledge panel. Organization schema isn’t referenced directly in Google’s documentation, but is referenced by Schema.org and is widely referenced in the SEO community. Beware, the Schema.org documentation includes a heck of a lot of properties that you probably don’t need or want to include. Instead, you can follow the below guidance for most use cases.
Here is Contentful’s organization schema:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Contentful",
"url": "https://www.contentful.com/",
"logo": "https://www.contentful.com/assets/logo/contentful-light.svg/",
"sameAs": [
"https://twitter.com/contentful",
"https://www.linkedin.com/company/contentful/",
"https://github.com/contentful",
"https://www.youtube.com/channel/UCrsEcxPCJlz5yZ_FKGo6D9g",
"https://www.wikidata.org/wiki/Q18348837",
"https://en.wikipedia.org/wiki/Contentful"
]
}
</script>
Let’s discuss each of these schema properties:
Property | Details |
---|---|
Type | We’ve selected “Organization,” which is a very common and safe choice, but there are hundreds of much more specific options, such as “Airline,” “EducationalOrganization,” “SportsTeam,” or others listed near the bottom of this page under “more specific types.” You also might fall into “LocalBusiness” types listed near the bottom of this page under “more specific types.” If you use a more specific type (where applicable), this is hugely helpful in making your organization more relevant to user searches. Additionally, it may be used in the knowledge panel as pictured below, or this data point might be sourced from your Wikidata entry, which can be edited to help influence this label. |
Name | This is simply your company’s name. You can also use the alternateName property if you have variations on your name, like “Contentful GmbH” for example, though we recommend only including variations that your customers or audience are likely to use. The name property is typically used in the knowledge panel (see Figure 1 below) and can be used as the snippet title in search results for some special situations. See Google’s documentation for the name property for further details. |
URL | This is simply your root URL, otherwise known as your homepage. This URL stays consistent across the site and does not update according to the corresponding URL. This is used in the knowledge panel as pictured below. |
Logo | This is used as your organization’s logo in the knowledge panel as pictured below. See Google’s documentation for logo schema for requirements on image sizing and more. |
sameAs | While Google has deprecated support for social profile markup to influence the Profiles section of the knowledge panel and will now source profiles on their own, it is still valuable to employ this field to make valuable connections between your website/organization and third party profiles on social networks, YouTube, Wikipedia, Wikidata, Crunchbase, and others. If one of your social profiles is not present, you can suggest the addition of a new profile, or edit incorrect ones through claiming your knowledge panel. To learn more, see Google’s documentation on claiming and updating your knowledge base. |
- Additionally, you could include “contact” properties if you have a customer support or reservations phone number you’d like to include in search results, or if you are a local business and want to add an address and other business details. See Google’s documentation for local businesses for more information.
- Rank Ranger’s Schema Markup Generator helps generate organization schema markup in JSON-LD format, and includes options for generating “contact” markup for customer support or local businesses.
- This schema should be automatically applied to all site pages using JSON-LD, Google’s preferred format.
Article schema:
- Using article schema indicates to Google that a page is an article and enhances their appearance in search results, allowing for the page to show an image and the date published.
- This schema enables the page to appear in the “top stories” carousel (see Figure 2 below) in normal Google search results and appear in Google News results (see Figure 3 below).
- This schema should be automatically applied to all news and blog articles page types using the preferred JSON-LD format.
- See Google’s documentation on article schema for further details.
Job Posting schema:
- Using job posting schema can help users discover open positions through Google’s “Jobs” search results.
- It’s required to create unique pages for each job posting in order to enable the markup.
- This schema should be automatically applied to all job listing page types using the preferred JSON-LD format.
- See Google’s documentation on job posting schema for further details.
Event schema:
- Event schema allows for users to discover your events via Google Search results and other Google products such as Google Maps.
- As with job posting schema, it’s required to have unique pages for each event in order to enable the markup.
- This schema should be automatically applied to all event page types using the preferred JSON-LD format.
- See Google’s documentation on event schema for further details.
Product schema:
- Product schema enhances search results for product pages by allowing price and rating information to display under your traditional search snippet, which communicates to users this is a product page and thus entices clicks.
- In image search results, product schema allows products images to display with a badge in Google Images, which can encourage more users to click this content over others and create another entry path for users to your products.
- Product schema should be employed on all product pages sitewide.
- See Google’s documentation on product schema for further details.
Breadcrumb Schema:
- We talk about breadcrumbs in greater detail in the next section, but just to preface, breadcrumbs indicate a page's position in the site hierarchy allowing users to navigate to any page in the breadcrumb trail by selecting links in the path.
- If breadcrumb schema is used, the URL that appears above the title in your search snippet will appear as breadcrumbs and allow users to click directly to those paths from search results. Additionally, breadcrumb schema helps Google better understand your site architecture and content hierarchy.
- This schema should be automatically applied to all pages with breadcrumbs using the preferred JSON-LD format.
- See Google’s documentation on breadcrumb schema for more details.
Up next
Let’s talk next about SEO best practices for international SEO and localization, and how to manage them in Contentful.
Written by
Joshua Lohr
Senior SEO Manager
Josh is the SEO Lead at Contentful. With 15 years of experience working directly in SEO for global brands and agencies, he gets his kicks playing a variety of instruments and appreciating the nature of his adopted home in Scotland.
Rob Remington
Practice Architect
Rob Remington is a Practice Architect at Contentful, where he collaborates across all areas of the company to develop our recommended ways of building with Contentful, and ensure our technical teams have the resources they need to help our customers succeed.
Nick Switzer
Senior Solution Engineer
Nick is a technical people-person who lives for solving business problems with technology. He is a solution engineer at Contentful with 14 years of experience in the CMS space and a background in enterprise web development.