=== AQT alloq Tempo ===
Contributors: alloqdigital
Tags: performance, optimization, lazy-load, minify, speed
Requires at least: 6.9
Tested up to: 7.1
Requires PHP: 8.1
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Remove WordPress bloat, control scripts per page, lazy load, delay JavaScript, minify CSS, host fonts locally, clean the database.

== Description ==

AQT alloq Tempo bundles the performance features most sites need into one lightweight plugin. Everything is switched off after activation: you turn on only what you want, one switch at a time. A disabled feature costs nothing on the front end, its code is not even loaded.

Built by [alloq.digital](https://alloq.digital).

**What makes it different:** a per-page Script Manager (switch any script or style off where it is not needed, optionally as a must-use plugin so disabled plugins are not even loaded), fonts and analytics hosted locally for GDPR-friendly setups, and database cleanups with preview, schedule and log, all in one plugin and without upsells.

**What it does**

* **Clean up WordPress:** remove emoji, embeds, jQuery Migrate, Dashicons for visitors, head clutter; control Heartbeat, revisions and autosave; comments, feeds and REST API restrictions; XML-RPC hardening; custom login URL; WooCommerce script and style control; block style loading.
* **JavaScript:** delay scripts until the first interaction, defer scripts, minify JavaScript. Quick exclusions for popular plugins, per-page switches.
* **CSS:** minify CSS and remove unused CSS (generated locally on your server, no cloud service).
* **Images and media:** lazy load images, iframes, videos and CSS backgrounds, YouTube preview facade, add missing image dimensions, lazy elements, WebP/AVIF output for new uploads.
* **Preloading:** preload critical images and other resources, preconnect and DNS prefetch, fetchpriority, speculative loading, instant page, Early Hints headers.
* **Fonts and analytics:** host Google Fonts locally with font-display swap, local Google Analytics (gtag) copy with consent handling.
* **Script Manager:** disable scripts and styles on selected pages, one by one or all assets of a plugin or theme at once.
* **Database:** scan and clean revisions, transients, orphaned data; optimize tables; scheduled cleanup; autoload audit.
* **Tools:** safe mode, import and export, presets (safe, balanced, aggressive) with undo, system info, WP-CLI commands.

**Performance by design:** one output buffer and a single HTML pass for all features, no front-end JavaScript unless a feature needs it, a few kilobytes per feature.

**Testing tip:** append `?tempo=off` to any URL to load the page without Tempo's optimizations. Safe mode is available under Tools.

== External services ==

Tempo contains no telemetry, no licence or update checks and makes no external requests after activation. Every service below is used only by a feature that is **off by default** and that you switch on yourself.

**Google Fonts** (option "Local Google Fonts", tab Fonts)
Used to download the Google Fonts your theme or plugins already load, so they can be served from your own domain. When the feature is on and a page with a Google Fonts stylesheet is rendered for the first time, your server requests the CSS from `fonts.googleapis.com` and the font files from `fonts.gstatic.com` (again only when the stylesheet changes). Sent: your server's IP address and a browser user agent string. No visitor data is sent; visitors no longer contact Google for these fonts.
Terms: https://policies.google.com/terms - Privacy: https://policies.google.com/privacy and https://developers.google.com/fonts/faq/privacy

**Google Analytics** (module "Local Analytics", tab Analytics)
Used to measure visits with your own GA4 measurement ID. When the feature is on, your server downloads `gtag.js` from `www.googletagmanager.com` once and then daily via WP-Cron (sent: your server's IP address, a user agent with your site address, the measurement ID). On your pages, visitors' browsers send measurement data (page URL and title, referrer, screen size, language, a random client ID cookie, the visitor's IP address and user agent) to `www.google-analytics.com`; if no local copy exists yet, the browser loads `gtag.js` from `www.googletagmanager.com`. By default nothing is sent before consent. You remain responsible for your consent banner and privacy policy.
Terms: https://marketingplatform.google.com/about/analytics/terms/us/ - Privacy: https://policies.google.com/privacy

**YouTube** (option "YouTube thumbnails", tab Lazy Load)
Used to replace YouTube embeds that are already on your pages with a lightweight preview. Visitors' browsers load the preview image from `i.ytimg.com`; with "Store thumbnails locally", your server downloads the image instead (sent: your server's IP address and the video ID). The video player itself loads from `www.youtube-nocookie.com` (or `www.youtube.com` without "Privacy mode") only after the visitor clicks; then the visitor's IP address and user agent are sent to YouTube.
Terms: https://www.youtube.com/t/terms - Privacy: https://policies.google.com/privacy

**Not external services:** the CDN rewrite and the preconnect/DNS prefetch fields point visitors' browsers to hosts you enter yourself; the plugin does not contact them. Early Hints only sends HTTP `Link` headers from your own server. The payment hosts in the Delay JavaScript exclusions (for example `js.stripe.com`) are text patterns used to keep such scripts from being delayed; Tempo never requests them.

== Installation ==

1. Upload the plugin folder to `/wp-content/plugins/` or install it from the Plugins screen.
2. Activate it. A new "Tempo" menu appears.
3. Open "Tools" and apply a preset, or switch on single features in the tabs. Test your site after each change.

== Frequently Asked Questions ==

= Is it a caching plugin? =

No. Tempo optimizes the HTML, scripts, styles and media of your pages and works next to a page cache. It purges known cache plugins when its settings change.

= Something broke after enabling a feature. =

Add `?tempo=off` to the URL to see the page without optimizations, or enable Safe mode under Tools. Switch the feature off again or add the script to its exclusion list. Features can also be switched off per page in the editor sidebar box "Tempo".

= Where does Tempo store generated files? =

In `wp-content/uploads/aqt-alloq-tempo/` (on multisite in each site's uploads folder): minified CSS and JavaScript, used CSS, local fonts and the local analytics script. Tempo never writes PHP files there and does not write to `wp-content/mu-plugins/`. The folder is removed on uninstall when "Remove all data on deletion" is on.

= Does it work with multisite? =

Yes, settings are per site. Network tools exist for applying defaults to all sites.

= Is the interface translated? =

The interface is written in English and ships with a complete German translation (de_DE, also used for de_AT, de_CH and the formal variants). Other languages can be added through translate.wordpress.org.

= How do I remove all data? =

Enable "Remove all data on deletion" under Tools before deleting the plugin.

== Screenshots ==

1. Overview: active features, recommendations and environment check.
2. Assets: delay, defer and minify JavaScript and CSS.
3. Script Manager: switch scripts and styles off per page.
4. Lazy Load: images, iframes and videos.
5. Database: cleanups with preview, schedule and log.

== Changelog ==

= 1.0.0 =
* First public release.

== Upgrade Notice ==

= 1.0.0 =
First public release.
