When running a WordPress multisite, in the site directory each site has a Last Updated property. I previously incorrectly assumed this reflected when the site's metadata changed, for example the site's attributes. However, archiving and deactivating a site does not change the Last Updated value, so what does it do in WordPress 5.2.1?
As usual the best place to look is the WordPress codebase. It turns out that, on a multisite, this value is updated whenever a post is updated or deleted. It reflects the last content update, not the site's metadata.
By inspecting the html and looking up the property name, we find that the function that updates this is called wpmu_update_blogs_date
and there is an action hook wpmu_blog_updated that receives the site_id
variable. This function can be called whenever we want to update the value. It isn't used anywhere else.
If we're looking to update this date whenever the site's status changes, then via the same process it appears that he actions to hook into site attribute updates are in wp_maybe_transition_site_statuses_on_update
so one could write a quick mu-plugin that updates the Last Updated property whenever these fire.