Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save abegit/a7e81352ccf4104bbd5878ec350bc734 to your computer and use it in GitHub Desktop.
Save abegit/a7e81352ccf4104bbd5878ec350bc734 to your computer and use it in GitHub Desktop.
Code snippet to change or remove OpenGraph output in Yoast SEO. There are multiple snippets in this code.
<?php
/********* DO NOT COPY THE PARTS ABOVE THIS LINE *********/
/* Change size for Yoast SEO OpenGraph image for all content
* Credit: Yoast Development team
* Last Tested: May 19 2020 using Yoast SEO 14.1 on WordPress 5.4.1
* Accepts WordPress reserved image size names: 'thumb', 'thumbnail', 'medium', 'large', 'post-thumbnail'
* Accepts custom image size names: https://developer.wordpress.org/reference/functions/add_image_size/
*/
add_filter( 'wpseo_opengraph_image_size', 'yoast_seo_opengraph_change_image_size' );
function yoast_seo_opengraph_change_image_size() {
return 'medium';
}
<?php
/********* DO NOT COPY THE PARTS ABOVE THIS LINE *********/
/* Change Open Graph image URLs in Yoast SEO
* Credit: Yoast Development team
* Last Tested: Jul 04 2018 using Yoast SEO 7.7.3 on WordPress 4.9.6
*/
add_filter( 'wpseo_opengraph_image', 'change_opengraph_image_url' );
function change_opengraph_image_url( $url ) {
return str_replace('current_domain.com', 'new_domain.com', $url);
}
<?php
/********* DO NOT COPY THE PARTS ABOVE THIS LINE *********/
/* Change Product Condition
* Credit: Yoast team
* Last Tested: Feb 20, 2020 using Yoast SEO WooCommerce 12.6 on WordPress 5.3.2
*********
* DIFFERENT POST TYPES
* Post: Change 123456 to the post ID
* Page: Change is_single to is_page and 123456 to the page ID
* Custom Post Type: Change is_single to is_singular and 123456 to the 'post_type_slug'
Example: is_singular( 'cpt_slug' )
*********
* MULTIPLE ITEMS
* Multiple of the same type can use an array.
Example: is_single( array( 123456, 234567, 345678 ) )
* Multiple of different types can repeat the if statement
*/
add_filter( 'Yoast\WP\Woocommerce\product_condition', 'yoast_seo_opengraph_change_product_condition' );
function yoast_seo_opengraph_change_product_condition( $condition ) {
if ( is_single ( 34 ) ) {
$condition = 'used';
}
/* Use a second if statement here when needed */
return $condition; /* Do not remove this line */
}
<?php
/********* DO NOT COPY THE PARTS ABOVE THIS LINE *********/
/* Enforce HTTP Open Graph URLs in Yoast SEO
* Credit: stodorovic https://github.com/stodorovic
* Last Tested: Feb 06 2017 using Yoast SEO 4.2.1 on WordPress 4.7.2
*/
add_filter( 'wpseo_opengraph_url', 'my_opengraph_url' );
function my_opengraph_url( $url ) {
return str_replace( 'https://', 'http://', $url );
}
<?php
/********* DO NOT COPY THE PARTS ABOVE THIS LINE *********/
/* Change Yoast SEO OpenGraph type
* Credit: Yoast Team
* Last Tested: Jul 11 2017 using Yoast SEO 5.0.1 on WordPress 4.8
*/
add_filter( 'wpseo_opengraph_type', 'yoast_change_opengraph_type', 10, 1 );
function yoast_change_opengraph_type( $type ) {
/* Make magic happen here
* Example below changes the homepage to a book type
*/
if ( is_home() ) {
return 'book';
} else {
return $type;
}
}
<?php
/********* DO NOT COPY THE PARTS ABOVE THIS LINE *********/
/* Remove All Yoast SEO OpenGraph Output
* There is an on/off switch in the plugin Admin > SEO > Social > Facebook
* Credit: Unknown
* Last Tested: Apr 01 2017 using Yoast SEO 4.5 on WordPress 4.7.3
*/
add_action('wp_head', 'remove_all_wpseo_og', 1);
function remove_all_wpseo_og() {
remove_action( 'wpseo_head', array( $GLOBALS['wpseo_og'], 'opengraph' ), 30 );
}
<?php
/********* DO NOT COPY THE PARTS ABOVE THIS LINE *********/
/* Remove Yoast SEO OpenGraph Output From One Post/Page
* Credit: Unknown
* Last Tested: Apr 01 2017 using Yoast SEO 4.5 on WordPress 4.7.3
*********
* DIFFERENT POST TYPES
* Post: Change 123456 to the post ID
* Page: Change is_single to is_page and 123456 to the page ID
* Custom Post Type: Change is_single to is_singular and 123456 to the 'post_type_slug'
Example: is_singular( 'cpt_slug' )
*********
* MULTIPLE ITEMS
* Multiple of the same type can use an array.
Example: is_single( array( 123456, 234567, 345678 ) )
* Multiple of different types can repeat the if statement
*/
add_action('wp_head', 'remove_one_wpseo_og', 1);
function remove_one_wpseo_og() {
if ( is_single ( 123456 ) ) {
remove_action( 'wpseo_head', array( $GLOBALS['wpseo_og'], 'opengraph' ), 30 );
}
/* Use a second if statement here when needed */
}
<?php
/********* DO NOT COPY THE PARTS ABOVE THIS LINE *********/
/* Remove Individual Yoast SEO OpenGraph meta tags
* Credit: Yoast Development team
* Last Tested: Jul 28 2017 using Yoast SEO 5.1 on WordPress 4.8
*/
add_filter( 'wpseo_opengraph_url' , '__return_false' );
add_filter( 'wpseo_opengraph_desc', '__return_false' );
add_filter( 'wpseo_opengraph_title', '__return_false' );
add_filter( 'wpseo_opengraph_type', '__return_false' );
add_filter( 'wpseo_opengraph_site_name', '__return_false' );
add_filter( 'wpseo_opengraph_image' , '__return_false' );
add_filter( 'wpseo_og_og_image_width' , '__return_false' ); // v13.5 or older
add_filter( 'wpseo_og_og_image_height' , '__return_false' ); // v13.5 or older
add_filter( 'wpseo_opengraph_author_facebook' , '__return_false' );
add_filter( 'Yoast\WP\Woocommerce\product_condition', '__return_false' );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment