Check our WordPress 101 & 201 FREE Video Tutorials here
Jump to content

[Rank Math SEO Plugin] Filtering JsonLD product data

Recommended Posts

Hey guys

I want to filter the JSON-LD product schema before it is outputted.

I was able to do this with the Woo Commerce filter add_filter( 'woocommerce_structured_data_product', ...

The schema theme is using the Rank Math schema builder. I tried to track down where the code is being generated and I found this.

	 * JSON LD output function that the functions for specific code can hook into.
	public function json_ld() {
		 * Collect data to output in JSON-LD.
		 * @param array  $unsigned An array of data to output in json-ld.
		 * @param JsonLD $unsigned JsonLD instance.
		$data = $this->do_filter( 'json_ld', array(), $this );
		if ( is_array( $data ) && ! empty( $data ) ) {
			echo '<script type="application/ld+json">' . wp_json_encode( array_values( array_filter( $data ) ) ) . '</script>' . "\n";

There is this line $data = $this->do_filter( 'json_ld', array(), $this );

Which I traced back should translate into a wordpress filter called like this...

add_filter( 'rank_math/json_ld', function($data) {

Only an empty array is pushed through this filter hook, and that makes sense because only an empty array is passed through that do_filter rank math method.

What is the correct way to filter this so I can add on to the JSON-LD data... I want to add brand, and some other pieces that the google schema checker is whining about.


Link to post
Share on other sites
  • Support


Thank you for contacting MyThemeShop today.

You can use rank_math/snippet/rich_snippet_product_entity filter to change the product snippet data.

add_filter( 'rank_math/snippet/rich_snippet_product_entity', function( $pre ) {
	// You can modify/add product details here by extending the $pre variable
	return $pre;

Hope that helps. If there is anything else, please let us know.

Thank you.

🏁Rank #1 on Google With our WordPress SEO Plugin.

Score a 💯on PageSpeed and Dominate Search Rankings.

✏ Editing theme files? Please create a child theme to make your changes update-proof.

Link to post
Share on other sites
This topic is now closed to further replies.
  • Create New...