Not good. Rank Math, Please update this so that the default image is chosen if there is no featured image or OG image specified.
I service sites with many pages and curating a featured image is tedious.
As a RM Business customer I vote for updating this please.
Hello @robertstaddon & @lingersoll,
Thank you for contacting the support.
It seems like a confusion because this is not something we changed recently.
From the beginning, we use the following priority for Opengraph:
1. Image added in the Facebook/Twitter section in the Social tab
2. Otherwise, Featured Image
3. Otherwise, First image from the content
4. Otherwise, Default image from settings
You can read more about the same in the following KB articles:
https://rankmath.com/kb/open-graph-meta-tags/#default-og-image
https://rankmath.com/kb/titles-and-meta/#open-graph-thumbnail
Hope that clears the confusion and helps.
If there is anything further, please let us know. We are here to assist.
This is not correct. The documentation page that you linked to has always said: “Rank Math lets you set up a default OpenGraph Thumbnail, which will be considered as a fallback thumbnail for all your posts. So, if your post does not have a featured image / OpenGraph image set, then this fallback thumbnail will be used when the post is shared on Facebook.”
It says nothing about grabbing the first image in the post. The functionality spelled out in your documentation is the expected functionality.
And the functionality for the Default Open Graph Thumbnail itself inside of Rank Math says: “When a featured image or an OpenGraph Image is not set for individual posts/pages/CPTs, this image will be used as a fallback thumbnail when your post is shared on Facebook. The recommended image size is 1200 x 630 pixels.”
This is the behavior we have all come to expect. Whoever thought up the silly idea of defaulting to use the first image of the post instead of the clearly specified Default Open Graph Thumbnail failed to read your clear documentation or consult your customer base.
Hello,
But we did not change anything in the plugin’s code to make it any different to what it was when we initially launched.
We can share the very first version and you can test it, it’ll behave the same as the latest version of the plugin.
Hope that clears the confusion and helps. Thank you.
So perhaps this bug has been in your plugin for longer than I initially thought. When can you get it fixed?
Hello,
It is not a bug but if you want to change the order we mentioned in our first reply, let us know and we will share a code snippet with you. Let us know the order in which you want the image to be picked.
Looking forward to helping you. Thank you.
That would be helpful. How can we get rid of this unexpected “grabbing an image from a post” functionality and can you add this to your documentation? Thanks.
Hello @robertstaddon,
You can use the following filter to prevent setting image from the content of the post:
add_filter( 'rank_math/opengraph/pre_set_content_image', function( $return, $post_id ) {
return true; // Set to true if you don't want to set image from Content.
});
Here is how to add a filter to your site: https://rankmath.com/kb/wordpress-hooks-actions-filters/
Hope that helps and please do not hesitate to let us know if you need our assistance with anything else.
Sadly, when set to true this filter currently generates the following PHP Fatal Error on pages where no featured image has been set:
Fatal error: Uncaught ArgumentCountError: Too few arguments to function {closure}(), 1 passed in /home/demoaccount/public_html/wp-includes/class-wp-hook.php on line 326 and exactly 2 expected in /home/demoaccount/public_html/wp-content/plugins/code-snippets/php/snippet-ops.php(581) : eval()’d code:1 Stack trace: #0 /home/demoaccount/public_html/wp-includes/class-wp-hook.php(326): {closure}(false) #1 /home/demoaccount/public_html/wp-includes/plugin.php(256): WP_Hook->apply_filters(false, Array) #2 /home/demoaccount/public_html/wp-content/plugins/seo-by-rank-math/includes/traits/class-hooker.php(102): apply_filters_ref_array(‘rank_math/openg…’, Array) #3 /home/demoaccount/public_html/wp-content/plugins/seo-by-rank-math/includes/opengraph/class-image.php(490): RankMath\OpenGraph\Image->do_filter(‘opengraph/pre_s…’, false, 2) #4 /home/demoaccount/public_html/wp-content/plugins/seo-by-rank-math/includes/opengraph/class-image.php(321): RankMath\OpenGraph\Image->set_singular_image() #5 /home/demoaccount/public_html/wp-conten in /home/demoaccount/public_html/wp-content/plugins/code-snippets/php/snippet-ops.php(581) : eval()’d code on line 1
I set up a test site to demonstrate the issue: https://test.abundantdesigns.com/sample-page/
Hello @robertstaddon,
Please use the following filter that doesn’t include arguments and it should work fine:
add_filter('rank_math/opengraph/pre_set_content_image', function() {
return true;
});
Let us know how that goes. Looking forward to helping you.
This worked! Thank you!
Because it just needs to return true with no arguments, I would recommend using the built-in WordPress __return_true() function
add_filter( ‘rank_math/opengraph/pre_set_content_image’, ‘__return_true’ );
Hello @robertstaddon,
Glad that helped and thanks for sharing the feedback to improve the filter.
If it isn’t too much to ask for, would you mind leaving us a review here?
https://wordpress.org/support/plugin/seo-by-rank-math/reviews/#new-post
It only takes a couple of minutes but helps us tremendously.
It would mean so much to us and would go a long way.
Thank you.