Publish Date, Last Updated, Query Deserves Freshness, & Google Fresh Rank

Ryuzaki

お前はもう死んでいる
Moderator
BuSo Pro
Digital Strategist
Joined
Sep 3, 2014
Messages
6,117
Likes
12,697
Degree
9
I'm thinking I'll remove all instances from the meta data and then change the Publish date to an Update date and add some schema or micro-markup to it. I'm tempted to not even use any schema.
Here’s another twist — Completely remove the published date (at backend and front end) and show only last updated date.

That's ultimately what I recommended doing in this post (and in the quote above). It's the only thing that ends up forcing Google to "trigger" the freshness, whether or not they actually understand an update occurred.
 
Joined
Sep 3, 2015
Messages
770
Likes
513
Degree
2
Here’s another twist — Completely remove the published date (at backend and front end) and show only last updated date.

They got good results here : https://www.authorityhacker.com/google-freshness/

Have just done this. I kept datepublished (both within meta and body) for news posts, but on evergreen pages I am trying rank I just have datemodified (both in body and within meta). Coincidentally I also found a new meta schema that I've applied to my guide categories too, https://schema.org/TechArticle
 
Joined
Jul 22, 2014
Messages
251
Likes
272
Degree
1
That's ultimately what I recommended doing in this post (and in the quote above). It's the only thing that ends up forcing Google to "trigger" the freshness, whether or not they actually understand an update occurred.

Quit being nice. They rewrote this thread. Every weekday I go through my RSS reader where I collect every SEO blog I can find, and at least once a week some blog steals content from here. Hell, several have turned the Crash Course content into paid courses. I'll call them out every time. Bloggers never stop stealing from forums and I'll never stop pointing it out. That new Miles guy even rewrote the 2019 Goals thread on his motivational blog. It's nonstop.
 
Joined
Mar 18, 2019
Messages
24
Likes
33
Degree
0
Hey all,

I've been working to remove the datePublished schema from my Wordpress site, but have so far completely failed. I am using Yoast's SEO plugin, for better or worse, and Yoast seems to automatically include datePublished and dateModified in their default schema. I managed to edit the functions.php to display the dateModified on my posts as opposed to the original datePublished, but I haven't been able to eradicate the datePublished information altogether from the Schema.

If anyone else was able to solve that issue with Yoast, I would much appreciate any pointers as to how to do it.
Thanks in advance!
 

Ryuzaki

お前はもう死んでいる
Moderator
BuSo Pro
Digital Strategist
Joined
Sep 3, 2014
Messages
6,117
Likes
12,697
Degree
9
@Noisegen, this will get the job done:
Code:
// Remove Yoast Date Meta Tags From Header
add_filter( 'wpseo_og_article_published_time', '__return_false' );
add_filter( 'wpseo_og_article_modified_time', '__return_false' );
add_filter( 'wpseo_og_og_updated_time', '__return_false' );

The top one is for Published Time, middle is for Modified Time, and bottom is for Updated Time. Include the lines you want for the "Time" you want to remove.
 
Joined
Mar 18, 2019
Messages
24
Likes
33
Degree
0
Hi Ryuzaki, thanks for the response.

I've pasted that code into my functions.php and commented out the modified time and updated time. I then purged my cache and CDN cache.

When I view a post in the Google Schema Check system, I still see a "datePublished" entry (actually two!) as well as two "dateModified" listings. When I look at the source for one of my blog posts, I still see two datePublished entries under the Yoast-Schema-Graph Class.

I'm not sure if I'm simply impatient and need to wait a bit to see the changes take place, or if I still have something configured incorrectly.

If you have any insights, they would be very much appreciated. If not, I'll keep digging on my own.
Thanks again!
 

Ryuzaki

お前はもう死んでいる
Moderator
BuSo Pro
Digital Strategist
Joined
Sep 3, 2014
Messages
6,117
Likes
12,697
Degree
9
Oh, you know, Yoast just pushed out a series of updates to include new Schema stuff. I've not installed those updates yet. I bet things changed. Once I do that and find the solution (because I also want it to not be in there), I'll come back and let you know.

The snippets above just remove them from the collection of header tags that Yoast stuffs in. I thought that was what you meant.
 
Joined
Sep 3, 2015
Messages
770
Likes
513
Degree
2
@Ryuzaki @Noisegen To disable all Yoast schema use this code in functions.php
Code:
add_filter( 'wpseo_json_ld_output', '__return_false' );
I have also not updated to Yoast 11 because of this issue, I would prefer to manually control all my schema in the header. The way they rolled this out was quite bad IMO.

Also, if you are using Ryuzaki's code to remove Yoast comments, I believe that may break with Yoast 11 and you need to do this. Again, I have not done any other this as Yoast 11 seems more trouble that it's worth right now.
 
Joined
Mar 18, 2019
Messages
24
Likes
33
Degree
0
That makes total sense. Thanks for this information... I have driven myself crazy all day trying to figure this out, and the Yoast v11 changes explain a lot.

I'll see if I can roll back Yoast to a 10.xx version and perhaps wait it out for a bit. If not, then I'll either abandon the date modification strategy for the time being or maybe consider jumping over to a different SEO plugin.

Yoast was kind enough to add 4000 image posts to my site last year, which ruined my site for a couple of months, so I have no love for them.
 

Cash Builder

BuSo Pro
Joined
Jan 14, 2017
Messages
454
Likes
607
Degree
2
That makes total sense. Thanks for this information... I have driven myself crazy all day trying to figure this out, and the Yoast v11 changes explain a lot.

I'll see if I can roll back Yoast to a 10.xx version and perhaps wait it out for a bit. If not, then I'll either abandon the date modification strategy for the time being or maybe consider jumping over to a different SEO plugin.

Yoast was kind enough to add 4000 image posts to my site last year, which ruined my site for a couple of months, so I have no love for them.

I changed all of my sites to the RankMath SEO plugin, and it's been great. My rankings have all steadily increased since the change, although it's impossible to attribute this to the plugin. It definitely hasn't hurt though. I find it much more intuitive than Yoast, and a higher score percentage correlates with higher rankings, in my case at least.
 
Joined
Mar 18, 2019
Messages
24
Likes
33
Degree
0
I changed all of my sites to the RankMath SEO plugin, and it's been great. My rankings have all steadily increased since the change, although it's impossible to attribute this to the plugin. It definitely hasn't hurt though. I find it much more intuitive than Yoast, and a higher score percentage correlates with higher rankings, in my case at least.

I've been watching people mention RankMath for the last month or so, and have been tossing around the idea of switching.

So this morning I downloaded it and switched from Yoast. The wizard worked flawlessly, and I didn't run into any hiccups on the transition. I left the Schema module unactivated for now, and my post Schema now shows only the last dateModified, not datePublished (though comments still show datePublished).

Original goal met!

So far I'm impressed with RankMath's setup, though I've only used it a bit. It's nicely streamlined and quite feature-rich. I used to ignore 3/4 of what Yoast recommended, especially when it comes to content and language, but RankMath's list of SEO recommendations doesn't include a lot of the crap Yoast suggests. And I definitely like the numerical ranking as opposed to the traffic light.

Are you following RankMath's keyword frequency recommendations to the letter? I always ignored Yoast on that, and figured it's good enough as long as the keyword hits an H2, once in the opening paragraph, and perhaps once or twice further down.
 

Cash Builder

BuSo Pro
Joined
Jan 14, 2017
Messages
454
Likes
607
Degree
2
I've been watching people mention RankMath for the last month or so, and have been tossing around the idea of switching.

So this morning I downloaded it and switched from Yoast. The wizard worked flawlessly, and I didn't run into any hiccups on the transition. I left the Schema module unactivated for now, and my post Schema now shows only the last dateModified, not datePublished (though comments still show datePublished).

Original goal met!

So far I'm impressed with RankMath's setup, though I've only used it a bit. It's nicely streamlined and quite feature-rich. I used to ignore 3/4 of what Yoast recommended, especially when it comes to content and language, but RankMath's list of SEO recommendations doesn't include a lot of the crap Yoast suggests. And I definitely like the numerical ranking as opposed to the traffic light.

Are you following RankMath's keyword frequency recommendations to the letter? I always ignored Yoast on that, and figured it's good enough as long as the keyword hits an H2, once in the opening paragraph, and perhaps once or twice further down.
The keyword frequency is the only thing that I don’t follow. Every post is apparently under optimised according to RankMath, even though the keyword is in the post 3 or 4 times. It would be interesting to increase it to the meet the guidelines to see if it helps rankings, although I don’t want to risk over optimising.

It’s always best to see what the competition is doing and match that.

Glad you got your schema problem sorted!
 
Joined
Sep 3, 2015
Messages
770
Likes
513
Degree
2
Hmmm, I was highly skeptical of RankMath when there was alot of Twitter talk about it (seemed like a co-ordinated marketing campaign) but given this Schema function roll out by Yoast maybe I have had enough and it's time to give it a try.
 

Ryuzaki

お前はもう死んでいる
Moderator
BuSo Pro
Digital Strategist
Joined
Sep 3, 2014
Messages
6,117
Likes
12,697
Degree
9
I said I'd come back once I had a chance to deal with this.

First off, as @Darth shared above, if you want to remove ALL of the Yoast Schema, you can apply this filter in functions.php:
Code:
// Removes All Yoast Schema from <head>
add_filter( 'wpseo_json_ld_output', '__return_false' );

If you want to just remove datePublished or dateModified, then use the following, and remove the specific line for the ones you still want to include. So if you still want the dateModified (the reason we have this thread) then remove the unset($data['dateModified']); line from the function below.
Code:
// Remove datePublished from the Yoast Schema
add_filter( 'wpseo_schema_article', 'ryu_yoast_modify_schema_graph_pieces' );
add_filter( 'wpseo_schema_webpage', 'ryu_yoast_modify_schema_graph_pieces' );
function ryu_yoast_modify_schema_graph_pieces( $data ) { 
  unset($data['datePublished']);
  unset($data['dateModified']);
  return $data;
}

There's still the issue of Yoast tossing in meta tags. You can remove those using the following filters:
Code:
// Remove Yoast Date Meta Tags From Header
add_filter('wpseo_og_article_published_time', '__return_false');
add_filter('wpseo_og_article_modified_time', '__return_false');
add_filter('wpseo_og_og_updated_time', '__return_false');

Also, for those wanting to remove the HTML comments from around this section in the header, this code still works:
Code:
// Remove All Yoast HTML Comments
function ryu_remove_yoast_comments() {
  // Conditional in case future versions break this class
  if ( !class_exists('WPSEO_Frontend') ) { return; }
  // Get the class so we can manipulate it
  $instance = WPSEO_Frontend::get_instance();
  // Conditional in case we cannot get the WPSEO_Frontend class
  if ( !method_exists( $instance, 'debug_mark' ) ) { return; }
  // Removes Yoast comments from HTML head
  remove_action( 'wpseo_head', array( $instance, 'debug_mark' ), 2 );
}
add_action( 'template_redirect', 'ryu_remove_yoast_comments', 9999);

The one you see floating around the internet is kind of absurd, using output buffering and regex to strip the line and replace it with nothing. This is still the best way, though it's been deprecated. It still works just fine.

And finally, there's all the crap in the XML sitemaps if you use those. There's no automatic way I've found of dealing with that. You'll have to pull up the files and edit them manually on every update. Probably not worth doing, though I do it because I'm anal.

I'm over the sitemap stuff for now since only Google sees it, but the last time I went in and changed it, these were the lines in the files (they change by a few lines often, but you can still find it close by):
Code:
• wordpress-seo/css/main-sitemap.xsl
Have to get this one through FTP
Change the XML Sitemaps page to get rid of Yoast stuff and can add your brand to the title.
Lines 73-76 - Delete paragraph
Line 72 - H1 tag

• wordpress-seo/inc/sitemaps/class-sitemaps-renderer.php
Gets rid of Yoast comment in Sitemap HTML
Line 136 - Yoast stuff

By the way, to those who switched to RankMath during the "shilling event" if that's what it was (doubtful), you may want to keep your eyes on things. Though Yoast is a pain in the butt that keeps getting more bloated, they're past a lot of these simple problems, such as sanitizing their inputs: WordPress Plugin SEO by RankMath Security Update
 
Joined
Sep 3, 2015
Messages
770
Likes
513
Degree
2
By the way, to those who switched to RankMath during the "shilling event" if that's what it was (doubtful), you may want to keep your eyes on things. Though Yoast is a pain in the butt that keeps getting more bloated, they're past a lot of these simple problems, such as sanitizing their inputs: WordPress Plugin SEO by RankMath Security Update
Thanks, I was trialling it on one small site and saw no improvement. Together with that article gonna go back to Yoast. No need for me to be running two different SEO plugins across my network.
 
Joined
Mar 18, 2019
Messages
24
Likes
33
Degree
0
Thanks, I was trialling it on one small site and saw no improvement. Together with that article gonna go back to Yoast. No need for me to be running two different SEO plugins across my network.

For what it's worth, I have been using RankMath for several weeks on all my sites, and haven't noticed any ranking improvements that I would feel comfortable attributing to RankMath, either. Obviously, it's important to stay on top of any plugin updates, as the article above mentioned, but I have zero faith that Yoast will be any better than RankMath on that front, given what happened last year.

I can't say RankMath has improved my rankings, but I do feel that it is slicker than Yoast, and it is more helpful to me in formatting my posts than Yoast was. The recommendations it makes are pretty good (with the exception of keyword density) and I like that I can paste several keywords into it and see how my post is rated for all of those keywords.

In the end, I plan to stick to RankMath for the time being. I wouldn't recommend people drop everything and switch over to it, but I also wouldn't tell people to shy away from it. Basically, I see it as a reasonable Yoast alternative with some significant positive aspects, and a good choice for those who don't want to deal with Yoast.
 

Politico

Boot Camp
Joined
Oct 6, 2014
Messages
108
Likes
137
Degree
1
Hey yall

Saw something interesting today and wanted to share. @Ryuzaki started a thread/case study about freshness and "updated date/publish date" and this ties in to what he's sayin there.

Here's what happened.

Had a review page ranking 1-3 for years, let go of a bunch of PBNs (lost the links) and hadn't updated the page itself in 2 years. Dropped to positions 10-12.

Monday I updated the page with bits of new content, changed some headers and the title/description, changed post date to current day. Also added "Last Updated: June 2019" at the top of the content itself.

Literally nothing else. Today I saw the keyword jump back up to spot 4.

Keep your posts updated kids.
 

tyealia

BuSo Pro
Joined
Aug 27, 2018
Messages
169
Likes
184
Degree
1
Anyone ever tried the wp last modified info plugin? Im using thrive themes with all in one seo pack and they by default show the first published date, this plugin adds the last modified date and some text about when your content was last modified, theres also a schema option...

"JSON-LD Schema Markup Mode: Default mode (creativework)"

I enabled this schema but saw no schema change using googles structured data testing tool.

This may be over my head, but is this plugin actually useful, and should i be finding a way to switch the thrive published date to last modified in the template?
 

harrytwatter

just be nice ffs
Joined
Jan 13, 2017
Messages
277
Likes
181
Degree
1
Sorry if this should be it's own thread, but recently saw John Mueller roasted a guy on Reddit for asking about including "year" in titles.

https://www.reddit.com/r/bigseo/comments/ekss5a/pro_tip_if_you_have_a_webpage_ranking_near_the/

Looking with my own eyes at SERPs however would seem to indicate this is still a thing, and when I see whole first pages with dates in titles, in multiple niches, I HAVE to think it is more than just herd-mentality and that it does in fact have enough influence in either/or freshness or CTR to make it worth doing.

Seeing that we just entered a year, I'll be going in and updating some titles with "2019" in them. Just debating changing it to "2020" or removing the year in the title altogether (making life simpler in the future).

What ya'll doing?
 
Joined
Apr 12, 2019
Messages
258
Likes
489
Degree
1
Sorry if this should be it's own thread, but recently saw John Mueller roasted a guy on Reddit for asking about including "year" in titles.

https://www.reddit.com/r/bigseo/comments/ekss5a/pro_tip_if_you_have_a_webpage_ranking_near_the/

Looking with my own eyes at SERPs however would seem to indicate this is still a thing, and when I see whole first pages with dates in titles, in multiple niches, I HAVE to think it is more than just herd-mentality and that it does in fact have enough influence in either/or freshness or CTR to make it worth doing.

Seeing that we just entered a year, I'll be going in and updating some titles with "2019" in them. Just debating changing it to "2020" or removing the year in the title altogether (making life simpler in the future).

What ya'll doing?

Keeping 2020 in all of my review titles. I don't see how it could possibly hurt having it there.
 

Ryuzaki

お前はもう死んでいる
Moderator
BuSo Pro
Digital Strategist
Joined
Sep 3, 2014
Messages
6,117
Likes
12,697
Degree
9
I don't do this simply because I don't want to have to update them. I know Yoast can do [year] or whatever in the meta title. I just don't like it as a personal preference.

With that being said, if you look up search terms, there's plenty that include the year with enough volume to warrant it. In the past people said they'd get crazy amounts of extra long-tails doing that.

But it's now 2020 and things are different. I'm assuming that Google is using the "updated date" to recognize what's relevant for the new year more than having the year in the meta title.

I'd test it and see, honestly. Cutts/Mueller are both pretty good at trying to dissuade people from doing things that work and are "exploitative" but not against the rules.
 

DD1

Joined
Oct 2, 2017
Messages
79
Likes
76
Degree
0
I'm savvy enough to look at the date published in gray on white in the SERPs (which should correspond to the "updated date".

My vertical has many 40-60 y.o. men who might not pay attention to it, or whose eyes could catch the "2020" in from the SERP title more easily. It has bigger contrast overall: bold, blue on white, bigger font.

As I see it, keeping it on the title makes more sense because it provides better UX. (It also helped seeing the SERPs already climbing after updating the updated dates and the titles 5 days ago.)
 
Joined
Apr 12, 2019
Messages
258
Likes
489
Degree
1
If you use a standard line in your title like "Reviews Updated 2020" you can use a plugin like Better Search and Replace to quickly replace all instances of "Reviews Updated 2019" with "Reviews Updated 2020". Takes all of a minute.
 
Joined
Jul 26, 2019
Messages
88
Likes
61
Degree
0
@Ryuzaki
Interesting research, and I would like to take this a bit further.

Don’t know if this is the result of xml-rcp.php or regular WP queries, still need to check and confirm that, but have a look at the screenshot and the query I used.

You probably need to scroll past the regular SO stuff if you like to replicate this, but these results showed up pretty quick.

oacS8RN.jpg
 

Ryuzaki

お前はもう死んでいる
Moderator
BuSo Pro
Digital Strategist
Joined
Sep 3, 2014
Messages
6,117
Likes
12,697
Degree
9
Don’t know if this is the result of xml-rcp.php or regular WP queries

I checked some of those results. It's Javascript and JSON objects being exposed within visible HTML for one of two reasons: 1) They broke their HTML code so everything past the error is rendering or 2) They pasted their JS scripts into <div style="display:none;"> instead of <script> tags.

-----

In other news, I just discovered that these goodies for Yoast:

Code:
add_filter('wpseo_og_article_published_time', '__return_false');
add_filter('wpseo_og_article_modified_time', '__return_false');
add_filter('wpseo_og_og_updated_time', '__return_false');

Are no longer working. For some reason they always change stuff and deprecate stuff and never document it or keep the old filters around for backwards compatibility. It's always a run around with Yoast having to figure out the new solution. It's stupid, annoying, and I hope they read this and realize how stupid and annoying that practice is.

-----

Seems like the new solution will be to filter their "Presenter Class" like so:

Code:
add_filter(
    ‘wpseo_frontend_presenter_classes’,
        function ( $filter ) {
            if (($key = array_search(‘Yoast\WP\SEO\Presenters\Open_Graph\Article_Modified_Time_Presenter’, $filter)) !== false) {
        unset($filter[$key]);
         }

return $filter;
        }
);

add_filter(
‘wpseo_frontend_presenter_classes’,
        function ( $filter ) {
            if (($key = array_search(‘Yoast\WP\SEO\Presenters\Open_Graph\Article_Published_Time_Presenter’, $filter)) !== false) {
        unset($filter[$key]);
}

return $filter;
    }
);

I've not tested this, because what I'm going to actually test is to see if Google is smart enough yet to pick up the modified date without getting confused if the publish date is still present in the open graph meta.