Skip to main content
Easy Digital Downloads Documentation
Documentation, Reference Materials, and Tutorials for Easy Digital Downloads

Schema and Structured Data Support

Easy Digital Downloads is developed so that your products will automatically appear in Google and other search engine product search results. We have schema markup built into the HTML output per schema.org’s Product guidelines.

See https://schema.org/docs/schemas.html for details.

Where does the schema output?

As of EDD 3.0, the schema data is output only on the single download pages, as per the Google guidelines for product schema. The structured data is in the JSON+LD format, and is included at the bottom of the page in a <script> tag.

How can I modify the structured data that is output?

Easy Digital Downloads generates the structured data based on the content you provide when editing a download. This includes the product title, variation name (if variable pricing is enabled), price, currency, your organization name, URL to the product and many other necessary structured data values. If you need to modify this data, we provide a filter that developers can use to alter the data prior to it’s output. That filter is edd_generate_download_structured_data. This will be an array of the structured data that we found for your product, and is expecting that array to be returned in the same format.

How can I disable schema output?

Some SEO plugins like All in One SEO and Yoast are directly integrated with EDD’s product data and will also output a product’s structured data as well. If you would like to use structured data from another plugin, instead of EDD’s, you can use the following code snippet to remove the data automatically output by EDD.

 remove_filter( 'wp_footer', array( EDD()->structured_data, 'output_structured_data' ) ); 

We recommend a plugin like WPCode to add custom snippets to your site, as it helps prevent fatal errors and will remain in place, even if you change themes.

What if I’m still using EDD 2.x?

For EDD versions 2.x you can disable with the following filter:
add_filter( 'edd_add_schema_microdata', '__return_false' );

Help, I’m seeing a deprecated function notice for edd_add_schema_microdata.

In older versions of Easy Digital Downloads, we would output the schema data inline on the product purchase buttons and product pages. Many themes that integrate with Easy Digital Downloads had customized the product lists and product pages, and therefore used this function to ensure that the structured data remained in their designs for search engines to find.

As of EDD 3.0, this method of outputting the data is officially deprecated as it is using an old product schema format, however some themes or custom template files may still use this function in their code.

If a theme, plugin, or custom code is using this function directly you will see this error message in your PHP error logs, or on your site if WordPress’s debug mode is enabled:

Notice: edd_add_schema_microdata is deprecated since Easy Digital Downloads version 3.0! Use EDD_Structured_Data instead

If you are seeing this notice in your PHP error logs or on your site, this means that another plugin or your theme are calling the function directly. To resolve this you will need to do one of the following:

A theme or plugin I’m using is causing this error:

You need to reach out to the developer of the theme or plugin and ask them to no longer use the edd_add_schema_microdata function in their code. It might be helpful to send them a link to this documentation so they can learn more about our updated structured data implementation.

I am a theme or plugin developer and my code is using this edd_add_schema_microdata function:

If your plugin or theme is using the edd_add_schema_microdata function, it can be removed as it is no longer supported. We’ve moved to using the new JSON+LD structured data format which outputs in the suggested locations, as per the schema and Google guidelines for product data.

Read our latest blog post:
Add More Stripe Payment Methods at Checkout