Schema feedback
-
Testing slim Schema on staging from the developer who have license and just found that to share:
1. It output Article schema on posts even if set only to be on pages when post have NewsArticle.
2. isPartOf issue on article or news article schema Unspecified Type /#webpage
3. #author_image is outside everything as an ImageObject make mor esense its part of the person markup.
Other:
– Author avatar takes thumbnail url maybe we want to use full url and not the specified size in the schema w-x-h.png
– Allow to add custom on existing properties where user want to add more entries like funder you may want more than just the name. Or add more complete subfields on the existing ones. As we cannot build arrays with the existing custom, but allowing to work with custom on existing ones would make it easiest for your maintenance I guess and give more flexibility.
– Add social custom boxes for social sameAs for author markup. We can do with custom fields but I think that can be standard thing to include maybe not a biggy.- This topic was modified 1 year ago by Rookie.
-
Archive Pages?
For archive pages: category page, tag page, post type archive page, date archive page, the@type
ofWebpage
becomesCollectionPage
.
That is not true stillWebpage
Author Pages?
For search result pages, the@type
ofWebpage
becomesProfilePage
. And there is a new schemaPerson
with the following data:
That is not true stillWebpage
Author archive /author/ is not in breadcrumbs which I found is strange. So url is/site/author/%author%/
but breadcrumbs display and json-ld output is justsite > %author%
its a bit of a miss in wordpress considering /author/ doesn’t necessary exist but there is neither any filter to add what I found?
Breadcrumbs bug on both archive and author pagesbreadcrumb
urn:spore:id is not a known valid target type for the breadcrumb property.Just felt I needed to share all small issues I found with the plugin. And not having control of authors pages and archives, no xml sitemap and wrong output of schema.
@rilwis bumping this one as well, as it doesn’t seem like the support thread is monitored.
Hi @alriksson,
Thanks for your feedback. Let me go through each one:
- It output Article schema on posts even if set only to be on pages when post have NewsArticle.
Are you using Slim SEO Schema with Slim SEO Free? When you use them together, Slim SEO Schema can help overwrite the schemas (in this case, it’s the Article schema) defined in Slim SEO Free.
However, if you set the Article for pages, then it won’t overwrite the Article schema for posts, which is defined in Slim SEO Free. That’s why you still see it for posts.
To remove the Article schema for posts from Slim SEO Free, please refer to this documentation.
2. isPartOf issue on article or news article schema Unspecified Type /#webpage
Can you share your setup? I can’t replicate this bug on my localhost.
3. #author_image is outside everything as an ImageObject make mor esense its part of the person markup.
Each schema is separated and there are no nested schemas in Slim SEO Schema. However, they connect to each other be referencing to their
@id
. This is a flexible way to build schemas as a schema (like ImageObject) can be used in multiple places. You can read more about this in this documentation.– Author avatar takes thumbnail url maybe we want to use full url and not the specified size in the schema w-x-h.png
Author avatar is the gravatar with default size of 96×96. It doesn’t take thumbnail from any post.
– Allow to add custom on existing properties where user want to add more entries like funder you may want more than just the name. Or add more complete subfields on the existing ones. As we cannot build arrays with the existing custom, but allowing to work with custom on existing ones would make it easiest for your maintenance I guess and give more flexibility.
It’s already available in Slim SEO Schema.
– Add social custom boxes for social sameAs for author markup. We can do with custom fields but I think that can be standard thing to include maybe not a biggy.
Currently, you can use custom properties to do that. We’ll add
sameAs
forPerson
schema in Slim SEO Schema.Archive Pages?
For archive pages: category page, tag page, post type archive page, date archive page, the@type
ofWebpage
becomesCollectionPage
.That is not true still
Webpage
CollectionPage
is a subtype ofWebPage
, which is more specific. Please see schema.org docs.Author Pages?
For search result pages, the@type
ofWebpage
becomesProfilePage
. And there is a new schemaPerson
with the following data:
That is not true stillWebpage
ProfilePage
is also a subtype ofWebPage
, which is more specific. Please see schema.org docs.Author archive /author/ is not in breadcrumbs which I found is strange. So url is
/site/author/%author%/
but breadcrumbs display and json-ld output is justsite > %author%
its a bit of a miss in wordpress considering /author/ doesn’t necessary exist but there is neither any filter to add what I found?WordPress doesn’t have
/author/
URL, so we can’t add it to the breadcrumbs. If you want to change the breadcrumbs links, please use this filter.Breadcrumbs bug on both archive and author pages
breadcrumb
urn:spore:id is not a known valid target type for the breadcrumb property.Can you please share an URL or your setup? I can’t replicate this issue. I have no idea what
urn:spore:id
is. That seems weird.Just felt I needed to share all small issues I found with the plugin. And not having control of authors pages and archives, no xml sitemap and wrong output of schema.
Thank you for your feedback. I think I’ve answered your questions above. If you find anything, even small things, please let me know in details. I’ll try my best to resolve them or update the plugin if needed.
Are you using?Slim SEO Schema?with Slim SEO Free? When you use them together, Slim SEO Schema can help overwrite the schemas (in this case, it’s the Article schema) defined in Slim SEO Free.
Yes. No schema is defined in slim seo free its all coming from the slim seo schema plugin no?However, if you set the Article for pages, then it won’t overwrite the Article schema for posts, which is defined in Slim SEO Free. That’s why you still see it for posts.
Sounds odd? When we have newsArticle schema, we should not have both Article and newsArticle schema. And why does it inherit article and add both. A post is not a page so? It should not be mixed or it should follow whats defined especially when using both plugins coming from the same author it should work better.
So what you say is some schema comes in slim seo free and those are only merged and not overwritten. Still logic doesnt make sense when those two plugins are combined and article is defined to run on pages and newsarticle is defined to run on posts.To remove the Article schema for posts from Slim SEO Free, please refer to?this documentation.
Will check that today and let you know. But out of the box the UI doesn’t make sense. If both those are installed disable all in free an only use whats defined in slim seo schema plugin as by default it have a article for all pages or all singular. Why is it having two schema entries which cannot be controlled in the interface?
I also feel the UI could be improved where you move items around or you on save sort them better. As alternative name make sense to come where name is and so on. But we cannot completely move items around in the ui.Can you share your setup? I can’t replicate this bug on my localhost.
Not sure what you mean with share setup? The schema issues comes mainly on the posts where newsArticle is. Not sure what I can share in terms of setup. Also not sure I see it anymore I updated latest slim seo free and it seems to have fixed some issues?
Each schema is separated and there are no nested schemas in Slim SEO Schema. However, they connect to each other be referencing to their @id. This is a flexible way to build schemas as a schema (like ImageObject) can be used in multiple places. You can read more about this in this documentation.
But this one doesnt make sense to have separated its a part of author and person markup for me. For sure they should be flexible with ID but its a part of author/person so should be there not as a separate one like shown below on the image.
It looks like this where imageobject is outside coming from person markup #author_image should be a part of the others. and unspecified type of #webpage @type
Unspecified Type https://share.cleanshot.com/1yBR0KCm
And what I see is webpage is not populated anywhere just as part of meaning the source webpage is not there so the ID it refers to isn’t valid in general.
its missing the “@type”:”BreadcrumbList”,”name”:”Breadcrumbs”, on posts instead it only output
“breadcrumb”:{“@id”:”/#breadcrumbs”}Thats on author profile and person schema. It should just reference back to webpage breadcrumbs id but seems to fail? Not touched these default markup so.
Same on the blog post which now seems to be collection page and working but showing the same breadcrumbs issue as it doesn’t seem to remove and can be related to below?
Doesn’t work on the blog page. is_singular(‘page’) or is_page() any idea? It does not for pages want to remove $link[2] = Category
https://docs.wpslimseo.com/slim-seo/hooks/#slim_seo_breadcrumbs_linksAuthor avatar is the gravatar with default size of 96×96. It doesn’t take thumbnail from any post.
Yes but would prefer full url and not that site. Most use local images and not gravatar.com so the w-h markup can be there but the image file url doesnt need to pick that site it can be the full url. There is no reason to pick the tiny image there. Can we change please? so instead of author-picture-96-96.png I want author-picture.png full url. or add dynamic author avatar in dropdown to be specified what to pick default or full. But just make sense to use full no matter what.
It’s?already available?in Slim SEO Schema.
Yes but not in the way I mean. Instead of fully have to build an existing item via custom as the prebuild missing parts I want to add I just wish I can add custom sub fields. Does that make sense as custom is just custom separately. An example here on funder I would like to add more sub fields. Its smoother to just build out like that then completely add it all as custom https://share.cleanshot.com/9Qn3GJz2
Currently, you can use custom properties to do that. We’ll add?
sameAs
?for?Person
?schema in Slim SEO Schema.
Yes would be good though to add them as custom fields on author page as well without the need building custom fields manually just add as manuy sameas author has and you can without any extra find them in slim schema and add as sameas . Like Yoast and others do, while they lock and aren’t flexible I think this should not be needed to add custom fields to get those in dynamically. So just a thought. But not specify specific sameas just add 1-10 or more so users simple can add to authors pages and fetch in the dynamic field of slim schema. As I said its not the end of world we can create custom fields but also make sense to have without need of using and creating custom fields.CollectionPage
?is a subtype of?WebPage
, which is more specific. Please see?schema.org docs.My comment was it did not output it but now it does after latest update did you fix it? but now shows up as main property like I think profilepage should be but is not.
ProfilePage
?is also a subtype of?WebPage
, which is more specific. Please see?schema.org docs.Hmm seeing it now mainEntityOfPage of webpage right? But this doesnt sounds true “For search result pages, the?
@type
?of?Webpage
?becomes?ProfilePage
. And there is a new schema?Person
?with the following data:” Person is added and profile sub is added but webpage doesnt become profile page. webpage is there and profilepage is added in person.Can you please share an URL or your setup? I can’t replicate this issue. I have no idea what?
urn:spore:id
?is. That seems weird.Answered above might be helpful or related to unsets? But doesnt feel like it as its unset is not on authors page.
WordPress doesn’t have?/author/
?URL, so we can’t add it to the breadcrumbs. If you want to change the breadcrumbs links, please use?this filter.Thats true why did wordpress even create the url slug for an empty 404 page. But how would you like to add a link and not unset() tried as similar to yoast without success.
Thank you for your feedback. I think I’ve answered your questions above. If you find anything, even small things, please let me know in details. I’ll try my best to resolve them or update the plugin if needed.
No worry thanks for answering.
Yes. No schema is defined in slim seo free its all coming from the slim seo schema plugin no?
Slim SEO Free also has some schemas built-in. Please see this docs for details.
Slim SEO Schema allows you to overwrite these schemas and add your own schemas.
So what you say is some schema comes in slim seo free and those are only merged and not overwritten. Still logic doesnt make sense when those two plugins are combined and article is defined to run on pages and newsarticle is defined to run on posts.
We overwrite schemas if these schemas have the same type. Because on one page, there might be multiple schemas (like on a Product page, there can be Product schema and Review schema). In that case, overwriting is risky.
In your case, as you set the type for posts is NewsArticle, which is different from Article, the plugin won’t overwrite it automatically.
If both those are installed disable all in free an only use whats defined in slim seo schema plugin as by default it have a article for all pages or all singular. Why is it having two schema entries which cannot be controlled in the interface?
We initially did that. But then realized that it takes a lot of time for normal users to setup foundation schemas like WebSite, WebPage, Organization, etc. So what we do is: when you install Slim SEO Schema the first time, it will automatically creates all the basic schemas for you. These schemas basically the same as in Slim SEO Free, so they overwrite them. From that, you can change schemas easier.
By the way, you can also disable schemas in Slim SEO Free with one click in the Features tab!
I also feel the UI could be improved where you move items around or you on save sort them better. As alternative name make sense to come where name is and so on. But we cannot completely move items around in the ui.
You can add your own name to each schema by clicking the title and change it.
We’ll add the reorder feature in the next version. Thanks for suggesting.
It looks like this where imageobject is outside coming from person markup #author_image should be a part of the others. and unspecified type of #webpage @type
Unspecified Type https://share.cleanshot.com/1yBR0KCm(and all the things related to the schemas on the page: blog, WebPage, Breadcrumbs, etc.)
Can I see your page URL?
Yes but would prefer full url and not that site. Most use local images and not gravatar.com so the w-h markup can be there but the image file url doesnt need to pick that site it can be the full url. There is no reason to pick the tiny image there. Can we change please? so instead of author-picture-96-96.png I want author-picture.png full url. or add dynamic author avatar in dropdown to be specified what to pick default or full. But just make sense to use full no matter what.
If you want to do that, you might need a plugin to add local image to users. If you use a plugin like ACF or Meta Box to add custom fields for users, then it’s already supported. For other plugins, you can use the dynamic variable to pick an URL from user’s custom fields.
Adding custom images for users is beyond the scope of our plugins.
Yes but not in the way I mean. Instead of fully have to build an existing item via custom as the prebuild missing parts I want to add I just wish I can add custom sub fields. Does that make sense as custom is just custom separately. An example here on funder I would like to add more sub fields. Its smoother to just build out like that then completely add it all as custom https://share.cleanshot.com/9Qn3GJz2
I got it. We’ll think more about how to do it best.
Yes would be good though to add them as custom fields on author page as well without the need building custom fields manually just add as manuy sameas author has and you can without any extra find them in slim schema and add as sameas . Like Yoast and others do, while they lock and aren’t flexible I think this should not be needed to add custom fields to get those in dynamically. So just a thought. But not specify specific sameas just add 1-10 or more so users simple can add to authors pages and fetch in the dynamic field of slim schema. As I said its not the end of world we can create custom fields but also make sense to have without need of using and creating custom fields.
The latest version of Slim SEO Schema already supports
sameAs
props forPerson
schema. It’s not custom fields for users, it’s simply a direct data entry in the Person schema.CollectionPage
is a subtype ofWebPage
, which is more specific. Please see schema.org docs.My comment was it did not output it but now it does after latest update did you fix it? but now shows up as main property like I think profilepage should be but is not.
We didn’t touch that in recent updates. Probably it’s something else.
ProfilePage
is also a subtype ofWebPage
, which is more specific. Please see schema.org docs.Hmm seeing it now mainEntityOfPage of webpage right? But this doesnt sounds true “For search result pages, the
@type
ofWebpage
becomesProfilePage
. And there is a new schemaPerson
with the following data:” Person is added and profile sub is added but webpage doesnt become profile page. webpage is there and profilepage is added in person.I didn’t read this carefully when I replied above. You can check the plugin code to see the logic of the
WebPage
change. I don’t think it’s the same as you mentioned.$schema = [ '@type' => 'WebPage', '@id' => $this->id, 'url' => $this->url, 'inLanguage' => get_locale(), 'name' => $this->title->get_title(), 'description' => $this->description->get_description(), ]; if ( is_post_type_archive() || is_tax() || is_category() || is_tag() || is_date() ) { $schema['@type'] = 'CollectionPage'; } if ( is_search() ) { $schema['@type'] = 'SearchResultsPage'; } if ( is_author() ) { $schema['@type'] = 'ProfilePage'; }
Thats true why did wordpress even create the url slug for an empty 404 page. But how would you like to add a link and not unset() tried as similar to yoast without success.
Sorry, but I don’t understand the unset() part. Can you clarify this?
Slim SEO Free also has some schemas built-in. Please see this docs for details.
Slim SEO Schema allows you to overwrite these schemas and add your own schemas.
I see that but they doesnt seem to play nicely together though. I would not disable default slim seo schema it should just play I would assume when it finds the other schema which override?
We overwrite schemas if these schemas have the same type. Because on one page, there might be multiple schemas (like on a Product page, there can be Product schema and Review schema). In that case, overwriting is risky.
In your case, as you set the type for posts is NewsArticle, which is different from Article, the plugin won’t overwrite it automatically.
Ok understand, make sense now when explained. So what is the recommended approach to disable article on posts? Is it via hooks or UI?
We initially did that. But then realized that it takes a lot of time for normal users to setup foundation schemas like WebSite, WebPage, Organization, etc. So what we do is: when you install Slim SEO Schema the first time, it will automatically creates all the basic schemas for you. These schemas basically the same as in Slim SEO Free, so they overwrite them. From that, you can change schemas easier.
Yeah thats a good approach, where basic can be improved in core etc but we don’t have to set it up from scratch and it also shows the UI how to reference other schemas easily so we can see the structure.
By the way, you can also disable schemas in Slim SEO Free with one click in the Features tab!
That is confusing then, as you would think that would disable slim seo schema and not slim seo free schema. But I cannot confirm that is correct, if you disable schema in features all schema is disabled.
Is all schema from slim seo free 1-1 match of what slim seo schema plugin adds by default? So if I disable I will not miss out of any schema meaning non of the built-in schema in slim seo free is not in slim seo schema plugin by default? You say basically so what would I miss out when disable schema in slim seo free?I would make sure when using both your plugins for example it get some more benefits to it to recognize and it would disable the slim seo free built-in and transfer it to schema and from there you can control it. Or import all so we can easily disable and continue and not miss out on defaults.
You can add your own name to each schema by clicking the title and change it.
We’ll add the reorder feature in the next version. Thanks for suggesting.
Yeah thats good thanks. But I more meant within the actual schema that manually reorders within the properties, not the actual property name and so on. But preferably auto-sort or at least manually rearrange so we get fields where they make more sense.
Can I see your page URL?
I cannot really as its local, but also using Simple Local Avatars plugin maybe that can be of help to check. Or its because the page and category of news is sharing url and the article and all markup from default slim seo free is messed up? I fixed breadcrumbs to be removing so its not news > news on category/blog page, I had to target is_category() to remove. But blog page/category page still get “urn:spore:id is not a known valid target type for the breadcrumb property.”
If you want to do that, you might need a plugin to add local image to users. If you use a plugin like ACF or Meta Box to add custom fields for users, then it’s already supported. For other plugins, you can use the dynamic variable to pick an URL from user’s custom fields.
Adding custom images for users is beyond the scope of our plugins.
That all is correct. I meant that not limiting us to only fetching the thumbnail size of any images applies to more things you only open up to fetch thumbnails. Right now we cannot access full url via the UI. For example, {{ author.avatar }} I would make it possible to add .full meaning {{ author.avatar.full }} for such a small thing I would avoid creating a new custom field if that make sense.
I got it. We’ll think more about how to do it best.
Sounds good thanks
The latest version of Slim SEO Schema already supports
sameAs
props forPerson
schema. It’s not custom fields for users, it’s simply a direct data entry in the Person schema.Only as static values yes but not to fetch from the authors page. SameAs is just something I said default would make sense for slim seo free to add custom fields on the authors pages to be sameas values but not to specify which social media or website, making it more flexible. Making it a loop so you can create more and easily add as many as needed. This should not need custom field plugins.
That’s my take, and I suggested having it so it can dynamically be fetched by users without having to set up custom fields for such simple things when fetching dynamically from authors page, not as a static value. Could easily be a part without custom acf or meta box for just that small things. Thinking for other users who wont use custom meta fields.
I didn’t read this carefully when I replied above. You can check the plugin code to see the logic of the WebPage change. I don’t think it’s the same as you mentioned.
Author page looks like this https://share.cleanshot.com/JN8CgXgR and thats correct then? And Person markup have:
mainEntityOfPage
@ type ProfilePageperson markup also have the same breadcrumbs issue. Here I have not altered things more than author base slug name to plural for example.
Sorry, but I don’t understand the unset() part. Can you clarify this?
Can you add an example to the docs how to add an item, right now there is only remove unset( links ). I’m not that familiar with your hooks yet, coming from Yoast.
Other thing change to https for example on query input and value required in search action https://schema.org/True
So what is the recommended approach to disable article on posts? Is it via hooks or UI?
Please use hooks because there’s no UI for disabling specific schemas in Slim SEO Free.
Is all schema from slim seo free 1-1 match of what slim seo schema plugin adds by default? So if I disable I will not miss out of any schema meaning non of the built-in schema in slim seo free is not in slim seo schema plugin by default? You say basically so what would I miss out when disable schema in slim seo free?
Yes, they match 1-1 by default.
To be clear: The option to turn off schema in Features tab is for Slim SEO Free only. Schemas built with Slim SEO Schema can’t be disabled.
But I more meant within the actual schema that manually reorders within the properties, not the actual property name and so on. But preferably auto-sort or at least manually rearrange so we get fields where they make more sense.
I got it. It’s probably very hard to implement, since we have to hard-code list of supported properties. We’ll take a note on this.
I cannot really as its local, but also using Simple Local Avatars plugin maybe that can be of help to check.
Finally, I can replicate the bug. It’s because the
@id
of breadcrumbs in Slim SEO Free doesn’t match the reference ofWebPage
in Slim SEO Schema. I’ll fix it in Slim SEO Free.You can also fix that manually by adding a
WebPage
schema in Slim SEO Schema and it will auto overwrite and output correct data:https://monosnap.com/direct/Ea0t1ShchmWc3iwpPN7B9aDreqe1Ad
I also fixed a separated
ImageObject
for author image (the root cause is that Slim SEO Schema couldn’t overwrite this in Slim SEO).Author page looks like this https://share.cleanshot.com/JN8CgXgR and thats correct then? And Person markup have:
Hmm, in my test, it’s different:
https://monosnap.com/direct/ZMkD5HdRFYQOO8QwOVXkaRHN1nLui8
And what I meant about
@type
is this:https://monosnap.com/direct/bjSZNaq1x7nUEr5GIp5Chl53I2pvHs
Can you add an example to the docs how to add an item, right now there is only remove unset( links ). I’m not that familiar with your hooks yet, coming from Yoast.
Done!
Other thing change to https for example on query input and value required in search action https://schema.org/True
Can you clarify this? I’m not quite clear.
Please?use hooks?because there’s no UI for disabling specific schemas in Slim SEO Free.
Ok I understood as you told me to disable in the UI in slim seo free. But if I toggle it off it removes all schema.
I will look into the hooks and disable the article at least, but only on specific post type. Can you add a good example in the documentation for this?
To be clear: The option to turn off schema in Features tab is for?Slim SEO Free?only. Schemas built with Slim SEO Schema can’t be disabled.
No it disables all schema in total.
I got it. It’s probably very hard to implement, since we have to hard-code list of supported properties. We’ll take a note on this.
Thanks!
Finally, I can replicate the bug. It’s because the?
@id
?of breadcrumbs in Slim SEO Free doesn’t match the reference of?WebPage
?in Slim SEO Schema. I’ll fix it in Slim SEO Free.Yes exactly, thanks and perfect. When will it be pushed?
You can also fix that manually by adding a
WebPage
schema in Slim SEO Schema and it will auto overwrite and output correct data:All these was already added on start in schema plugin, so Its there but still its the bug. So maybe slim seo free override slim seo schema plugin?
I also fixed a separated?
ImageObject
?for author image (the root cause is that Slim SEO Schema couldn’t overwrite this in Slim SEO).Great! when will it be pushed?
Hmm, in my test, it’s different:
https://monosnap.com/direct/ZMkD5HdRFYQOO8QwOVXkaRHN1nLui8
And what I meant about?@type
?is this:
https://monosnap.com/direct/bjSZNaq1x7nUEr5GIp5Chl53I2pvHsit looks the same for me except I also have webpage, should be on author page? Have not altered that. https://share.cleanshot.com/JN8CgXgR the error is the breadcrumb issue you resolved you said. I thought it shouldn’t be needed and webpage should be added as main entity of like this example from yoast https://validator.schema.org/#url=https%3A%2F%2Fyoast.com%2Fabout-us%2Fteam%2Frafael-marcano%2F
Thanks and great, will check it out!
Can you clarify this? I’m not quite clear.
It should be https and not http https://schema.org/True instead of https://schema.org/True should use correct protocol on all schema.org references, thats all ??
was all this resolved?
In the latest version of Slim SEO Schema, we fixed issues with disable schema from Slim SEO. We also fixed the @id issue in breadcrumbs in Slim SEO.
Please update the plugins.
- The topic ‘Schema feedback’ is closed to new replies.