Updates & privacy

Academia is distributed by us rather than through the WordPress.org theme directory, so it updates through the mechanism WordPress added in 6.1 for exactly that: the theme declares an Update URI header, WordPress calls it during its normal twice-daily update check, and anything it returns flows into Dashboard → Updates, the Appearance → Themes notice and auto-updates.

No bespoke updater, no extra cron job, no nag screen. It looks and behaves like any other update.

The companion plugin does the same thing through the plugin equivalent, so its releases appear on the Plugins screen.

What an update check sends

In full, and nothing else:

Sent Example
The product and the version installed academia, 1.1.0
Your WordPress version 7.1
Your PHP version 8.5
Your locale en_GB
Whether the install is multisite 0
A site identifier a 32-character hash

That identifier is an HMAC of your site's home URL salted with your own install's AUTH_SALT. It is stable for your site, and it cannot be turned back into a URL by us or anyone else, because the salt never leaves your server.

It exists for one reason: so a count of installs is a count of sites rather than a count of requests.

Not sent, and not stored: your IP address, your site's name, your site's URL, your email address, any user's details, any content.

Switching it off

add_filter( 'academia_check_for_updates', '__return_false' );

Put that in a child theme's functions.php or a small must-use plugin. It covers the companion plugin too, which defers to the theme's setting.

Being honest about the trade: this also switches off update notifications. There is no way to be told about a release without asking for one. You would need to check the Academia page yourself.

To keep updates but send the bare minimum:

add_filter( 'academia_update_payload', function ( $payload ) {
	return array(
		'theme'   => $payload['theme'],
		'version' => $payload['version'],
	);
} );

Updating by hand

Download the current zip and upload it over the top through Appearance → Themes → Add New → Upload Theme. Your content, your Global Styles and your edited templates are stored in the database, not in the theme, so none of it is affected.