Rich snippet options not working
-
Hi
Thanks for your plugin.
In the Rich snippet options I choose the “CreativeWorkSeries” or anything else and save, BUT the plugin in google.com/structured-data/testing shows “BlogPosting” without aggregateRating. Also stars not showing in google
A fix?
Best regards
Konstantinos
-
Hello!
I’ve just tested again and it works, do you have some caching system? Or maybe another plugin that print out the “BlogPosting” data type?
Also remember that Yasr returns schema data only if some rating are present (from yasr_visitor_votes or yasr_overall_rating)
Best,
DarioHello dudo,
I experience the same problem. The options “CreativeWorkSeries” saves and can be found in the database:
option_name: yasr_general_options; option_value: ...s:18:"CreativeWorkSeries"; ...but the outputed ld+json script is showing:
... <!--End Yasr Visitor Votes Shortcode--> </div><script type="application/ld+json"> {"@context":"http:\/\/schema.org\/","@type":"BlogPosting", ...Since the json+ld data is immediately after the “Yasr Visitor Votes Shortcode” I suppose that this is an output of the plugin.
all best,
svetHello svet, can you please provide a link to the site?
How I solved the problem for myself?
I executed the following SQL query on the database using phpmyadmin:
Important!!!
1. Please know, that the following SQL query will update all review types of all posts to “CreativeWorkSeries”!
2. All rating data is kept unchanged!UPDATE wp_postmeta SET meta_value = 'CreativeWorkSeries' WHERE wp_postmeta.meta_key = 'yasr_review_type' AND wp_postmeta.meta_value != 'CreativeWorkSeries'All best
SvetP.S. On the net post I am explaining the process I went throuigh to find the problem.
Hello @dudo,
I am using YASR from some time, but I recently found out that there is an option to change the schema
@type. The whole “Rich snippet options” are new to me.
I know what does those mean and how the data there is used, so the settings are clear to me.After your comment I decided to find a good example url for you and checked some posts. What I have found is that on some posts, the ld+json uses “BlogPost” type and on some the consifured “CreativeWorkSeries”. Then I looked into the database and found the following stored for the specific post into
wp_postmetameta_key: yasr_overall_rating meta_value: OtherIt looked to me like there is a setting for every posts. I went into the post edit interface and I found it – a pannel “Yet Another Stars Rating”. In this pannel there is an option with name “Select ItemType”. It was clear to me that this post has specific configuration for its Rich Snippet type. The value of the select box showed “BlogPosting”, even though in the database the value is “Other”. I assume it is a fallback of the
selectdom element, since there is no option “Other” and it selects the firstoptionin theselecttag.I see two problems:
1. I do not remember ever configuring this option on a post level
2. A value in the database “Other” defaults to “BlogPosting” in this options selectI found in the
wp_postmetaa record for every post in the system containing this datameta_key: yasr_overall_rating meta_value: OtherNow I understand how YASR plugin stores its data – on global level, and on post level. I solved my problem by executing
UPDATE wp_postmeta SET meta_value = 'CreativeWorkSeries' WHERE wp_postmeta.meta_key = 'yasr_review_type' AND wp_postmeta.meta_value != 'CreativeWorkSeries'and it worked. Now the ld+json uses “@type”:”CreativeWorkSeries”
All best
SvetHello @dudo,
would you suggest to just delete all these records instead of updating them?
hi!
The meta key in this case is this:
yasr_review_type
Yep, “Other” is how “blogPosting” type was saved in the db, until version 2.2.3
Since version 2.2.3 is just saved as ‘BlogPosting’.In the settings, you can set the “global” itemtype.
This setting, do not save anything in the post_meta table, but the selected itemType is the default one when you start a new post.
Only when you save the post, the post_meta yasr_review_type is created and saved in the db.But schema info will shows up in the post only if ratings are available for that post or page
I hope this is clear 🙂
Hi @dudo
I did set the global setting to “CreativeWorkSeries”, but it looks like that the
yasr_review_typevalue overwrites this global setting (I guess based on the plugin behavior).This was the reason for my old posts showind as “BlogPosting”, but the new ones had the corrent (set as a global setting) “CreativeWorkSeries”
All best
SvetP.S. I deleted all custom
yasr_review_typevalues from thewp_postmetatable with the query:
DELETE FROM wp_postmeta WHERE wp_postmeta.meta_key = 'yasr_review_type'
and now the default configuration ‘CreativeWorkSeries’ is applied to all postsPlease backup your database before executing the queries. The advice I give is only an information and I am not responsible for what you are doing with your data!
and now the default configuration ‘CreativeWorkSeries’ is applied to all posts
Yes, because if yasr_review_type is not found, the “global” itemType is used (this is the function, if you want to see it https://plugins.trac.wordpress.org/browser/yet-another-stars-rating/trunk/includes/yasr-includes-db-functions.php#L29 )
The topic ‘Rich snippet options not working’ is closed to new replies.