add_filter( "rank_math/snippet/rich_snippet_product_entity", function( $entity ) { // Return policy $entity['offers']['hasMerchantReturnPolicy']['@type'] = 'MerchantReturnPolicy'; $entity['offers']['hasMerchantReturnPolicy']['applicableCountry'] = 'IN'; $entity['offers']['hasMerchantReturnPolicy']['returnPolicyCountry'] = 'IN'; $entity['offers']['hasMerchantReturnPolicy']['returnPolicyCategory'] = 'https://schema.org/MerchantReturnFiniteReturnWindow'; $entity['offers']['hasMerchantReturnPolicy']['merchantReturnDays'] = 7; $entity['offers']['hasMerchantReturnPolicy']['returnMethod'] = 'https://schema.org/ReturnByMail'; $entity['offers']['hasMerchantReturnPolicy']['returnFees'] = 'https://schema.org/FreeReturn'; $entity['offers']['hasMerchantReturnPolicy']['refundType'] = 'https://schema.org/FullRefund'; // Shipping details $entity['offers']['shippingDetails']['@type'] = 'OfferShippingDetails'; $entity['offers']['shippingDetails']['shippingRate']['@type'] = 'MonetaryAmount'; $entity['offers']['shippingDetails']['shippingRate']['value'] = 200; $entity['offers']['shippingDetails']['shippingRate']['currency'] = 'INR'; $entity['offers']['shippingDetails']['shippingDestination']['@type'] = 'DefinedRegion'; $entity['offers']['shippingDetails']['shippingDestination']['addressCountry'] = 'IN'; $entity['offers']['shippingDetails']['deliveryTime']['@type'] = 'ShippingDeliveryTime'; $entity['offers']['shippingDetails']['deliveryTime']['handlingTime']['@type'] = 'QuantitativeValue'; $entity['offers']['shippingDetails']['deliveryTime']['handlingTime']['minValue'] = 0; $entity['offers']['shippingDetails']['deliveryTime']['handlingTime']['maxValue'] = 1; $entity['offers']['shippingDetails']['deliveryTime']['handlingTime']['unitCode'] = 'DAY'; $entity['offers']['shippingDetails']['deliveryTime']['transitTime']['@type'] = 'QuantitativeValue'; $entity['offers']['shippingDetails']['deliveryTime']['transitTime']['minValue'] = 1; $entity['offers']['shippingDetails']['deliveryTime']['transitTime']['maxValue'] = 5; $entity['offers']['shippingDetails']['deliveryTime']['transitTime']['unitCode'] = 'DAY'; return $entity; }); add_filter( 'rank_math/json_ld', function( $data, $jsonld ) { if ( empty( $data['richSnippet'] ) || ! in_array( $data['richSnippet']['@type'], [ 'Product', 'ProductGroup' ] ) ) { return $data; } $data['shippingDetails'] = [ '@context' => 'https://schema.org/', '@type' => 'OfferShippingDetails', '@id' => '#shipping_policy', 'deliveryTime' => [ '@type' => 'ShippingDeliveryTime', 'handlingTime' => [ '@type' => 'QuantitativeValue', 'minValue' => 0, 'maxValue' => 1, 'unitCode' => 'DAY', ], 'transitTime' => [ '@type' => 'QuantitativeValue', 'minValue' => 1, 'maxValue' => 5, 'unitCode' => 'DAY' ], ], 'shippingRate' => [ '@type' => 'MonetaryAmount', 'value' => 200, 'currency' => 'INR', ], 'shippingDestination' => [ '@type' => 'DefinedRegion', 'addressCountry' => 'IN' ] ]; $data['hasMerchantReturnPolicy'] = [ '@context' => 'https://schema.org/', '@type' => 'MerchantReturnPolicy', '@id' => '#merchant_policy', 'applicableCountry' => 'IN', 'returnPolicyCountry' => 'IN', 'returnPolicyCategory' => 'https://schema.org/MerchantReturnFiniteReturnWindow', 'merchantReturnDays' => 7, 'returnMethod' => 'https://schema.org/ReturnByMail', 'returnFees' => 'https://schema.org/FreeReturn', 'refundType' => 'https://schema.org/FullRefund' ]; if ( 'Product' === $data['richSnippet']['@type'] ) { $data['richSnippet']['offers']['shippingDetails'] = [ '@id' => '#shipping_policy' ]; $data['richSnippet']['offers']['hasMerchantReturnPolicy'] = ['@id' => '#merchant_policy']; return $data; } if ( empty( $data['richSnippet']['hasVariant'] ) ) { return $data; } foreach ( $data['richSnippet']['hasVariant'] as $key => $value ) { if ( empty( $value['offers'] ) ) { continue; } $data['richSnippet']['hasVariant'][ $key ]['offers']['shippingDetails'] = [ '@id' => '#shipping_policy' ]; $data['richSnippet']['hasVariant'][ $key ]['offers']['hasMerchantReturnPolicy'] = [ '@id' => '#merchant_policy' ]; } return $data; }, 99, 2);