26 Actionable Checks

Earn Rich Snippets

Improve SERP CTR

Appear in Voice Search

Future-Proof SEO

Schema & Structured Data


Saved Audits

Login or join to save audits.

OK | NOT Check Findings

Have we assessed existing schema?

First, we'll crawl the site, document, and evaluate what's already been done.

Have we crawled for structured data?

Using Screaming Frog 11.0 or later, navigate to Configuration > Spider > Advanced on the top menu.

Enable all options under Structured Data. Save. You may also want to select File > Configuration > Save Current Configuration to make this your default.

Start the crawl.

Is there invalid structured data?

Are there pages with Schema errors? Sometimes Screaming Frog kicks back false positives. Verify any issues using Google's Structured Data Testing Tool.

Is Search Console reporting different?

In Google Search Console, look through the results under Enhancements on the left menu. This report isn't terrible useful and doesn't report on most tags, but will sometimes highlight errors and issues that your own crawl might have missed.

Have we documented a structured data strategy?

Navigate to the Structured Data tab above Screaming Frog's data.

Export the results to a CSV and drop on Google Drive. Link it to the right for later use.

Does the site take advantage of site-level schema?

Some schema needs only be referenced one time for the whole website.

This is the simplest markup. It can be gracefully managed using JSON-LD and Google Tag Manager. It's also the most likely data to be managed by a pre-built SEO plugin (so long as it's configured).

To check for these: visit the homepage, right-click, View Source, and CTRL+F. If they're in use, you should find these entity names (like "Organization" in the next step). That's so long as they're not managed by Google Tag Manager (if that's the case, check Tag Manager's configuration instead).

Is schema in place for a company knowledge card?

Use: Organization

Master: There are a lot of potential sub-entities for this one. Use as many as you can (especially one for the type of business). Fortunately, this is the one example of structured data markup that most schema plugins manage fairly well if they're configured right.

Implementation: JSON-LD. It's only required on the homepage.

Have measures been taken to appear in map packs?

No schema required. Configure Google My Business. For best results, complete a Local SEO Audit, too.

Is schema in place to appear in a local business knowledge card?

Use: LocalBusiness

Master: There are a lot of optional variables here. Virtually all of them appear in the knowledge card and appear to increase the likelihood that it will appear.

Implementation: In addition to schema markup, assure that the brand is listed in Google My Business. Also, consider a full Local SEO Audit if local is a significant revenue driver for the brand.

Is the site eligible for a Sitelinks Search Box?

Use: SearchAction

Implementation: Google has a guide to managing this snippet. This tag only requires one reference; typically on the homepage. Some SEO plugins may handle this one for you with no configuration; otherwise, JSON-LD is easiest.

Does the site take advantage of page-level schema?

Some schema is best-implemented on the "per-page" level.

This is the simplest markup. It can be gracefully managed using JSON-LD and Google Tag Manager. These are also fairly likely to be managed cleanly by a pre-built SEO plugin (so long as the plugin gets configured consistently and correctly).

To check for these: Review your crawl from the first section and compare to your own qualitative analysis of the site. Are these tags used intelligently everyplace that they should and no place that they shouldn't?

Is schema in place for person knowledge cards?

Use: Person

Master: This works best with staff profiles. Especially for executives. Include links to social media and other details.

Implementation: Rank Math or RDFa work nicely here. Staff pages inevitably have turnover. Avoid duplication of content into JSON. Embed this in the HR business process or tune the site's admin interface such that it "just works".

Is schema in place for SERP breadcrumbs?

Use: BreadcrumbList

Master: Multiple tiers of categories taxonomies and good/automated naming. It's common for automated behavior to generate strange breadcrumbs, so inspect the output.

Implementation: Rank Math or even Google Tag Manager (guide for this one) can technically manage these, but they must be dynamically generated. Here's Google's Guide.

Is schema in place for article carousels?

Use: Article (and subtypes).

Master: Pair strong images and descriptions. They'll appear in the post/article carousels.

Implementation: Any good SEO plugin should manage this in a pinch but will need to big configured a bit. Google Tag Manager can also work in a pinch. Best case, make sure all blog posts just default to the BlogPosting subtype, technical articles get TechArticle, etc. Google's guide.

Does the site take advantage of platform-driven schema?

Some schema relates to data that changes frequently.

Reviews, job postings, and upcoming events are all data that typically deserve some database-driven solution, where there's a one-to-many relationship between pages and listings. In these cases, it's more often best to use a software stack that supports current structured data standards.

To check for these: Just like in the last section, look sitewide and use your best judgment on where they should appear. Unlike in the past section, these tend to appear in two formats: a listing (with multiple instances) and dedicated pages for each. Assure that both formats include all the right markup.

Is schema in place for review stars?

Use: AggregateRating with Product or Service

Master: This markup is likely the most-abused schema tag. It's no wonder; one study found that these stars increase CTR by 35%. As such, Google dramatically tightened these guidelines on it shortly after this feature first launched; running afoul of this is your biggest risk.

Implementation: To properly take advantage of product review snippets, you'll want a CMS that manages them such that all Product/Service variables are managed autonomously (price, currency). Reviews must be unique per offering (no aggregate rating for the whole brand). And, there must be a way to submit more (no human curation, as was once possible). You can use a dedicated reviews platform (such as Okendo or TrustPilot), but many are pricey. You can also use Rank Math with WordPress custom post-types for a bit of up-front development cost and with no long-term licensing.

Is schema in place for price, quantity, currency, etc.?

Use: Product or Service subtypes

Master: Often overlooked, you can actually gain many other callouts for Product/Service content beyond reviews. Review this full guide.

Implementation: Many review platforms don't support all the Product and Service subtypes. It may be necessary to instantiate for pricing, quantity, currency, and other key variables.

Is schema in place for job ads?

Use: JobPosting

Master: There are lots of Google guidelines for this. Fill in all the fields that you can.

Implementation: An Applicant Tracking System (ATS) embed like JazzHR offers will get the job done. Evaluate the ATS capabilities to be sure: as of writing this, less than half of all ATS systems that Northcutt has evaluated will do this. Otherwise, consider a WordPress custom post type that uses RDFa and alleviates the need for manual markup with every new posting.

Is schema in place for events?

Use: Event

Master: There are lots of Google guidelines for this. Fill in all the fields that you can.

Implementation: An Eventbrite embed will get the job done. If events are frequent, consider a WordPress custom post type to automate this markup. Otherwise, use RDFa.

Does the site take advantage of in-content schema?

Some schema greatly depends on the inner content of every page.

This is some of the most complex schema to implement. If you use JSON, you need to duplicate content, and it's likely to become outdated with future edits to the site. Therefore, we recommend Northcutt's SEO Shortcodes Plugin for WordPress and retraining certain business processes.

Does the site leverage jump links?

Using HTTP anchors to create "jump links" can result in a taller results page listing.

In WordPress, this much of this can be automated using Table of Contents plugins. If using Rank Math, there are 12 supported Table of Contents plugins to pass their check.

You can also create these links manually by linking the ID using in just about any HTML element. For example, to link to this:

<div id="myContentSection">The Content</div>

You'd create this link (adding a #-sign):

<a href="#myContentSection">Click Here</a>

You can add the ID attribute to anything (H2, DIV, or an A tag with no "href") and achieve the same result.

There are 5 more steps in this audit.


... to continue.

Ready to get started?