=== Universal WP Speed Optimizer ===
Contributors: aivenico
Tags: performance, speed, core web vitals, lcp, lazy load, defer
Requires at least: 6.4
Requires PHP: 8.0
Stable tag: 1.1.0
License: GPLv2 or later

A licensed, compatibility-first WordPress performance plugin with safe defaults and opt-in advanced controls.

== Philosophy ==

There is no single safe "make every WordPress site 99" switch.

Themes, WooCommerce, LMS plugins, page builders, consent tools, chat widgets, sliders,
analytics, and cache/CDN products all create different dependency graphs.

This plugin therefore has two layers:

1. Safe defaults enabled immediately.
2. Advanced options disabled until the administrator measures a real bottleneck.

== Safe defaults ==

* Disable legacy emoji assets.
* Remove wp-embed.js.
* Remove Dashicons for logged-out visitors.
* Lazy-load iframe embeds in post/widget/block content.
* Disable frontend Heartbeat.
* Remove small legacy head tags.
* Optimize logged-out visitors only.

== Advanced features ==

* Optional exact LCP image preload.
* Optional preconnect origins.
* Optional font preloads.
* Conditional Contact Form 7 unloading.
* Conditional WooCommerce unloading outside commerce contexts.
* Conditional Gutenberg CSS unloading on non-block singular posts.
* Defer scripts by exact WordPress handle.
* Delay selected third-party scripts until interaction.
* Async-load CSS by exact WordPress handle.
* Optional critical CSS.

== Important compatibility notes ==

Do not use advanced CSS/JS unloading blindly.

For example:
* global WooCommerce mini carts may require WooCommerce assets on every page;
* navigation/menu scripts may break if deferred incorrectly;
* async-loading the main theme stylesheet can cause FOUC or CLS;
* an LCP image should generally not be lazy-loaded;
* page caching must be purged after changing optimization behavior.

== Cache plugins ==

This plugin is designed to coexist with WP Rocket, LiteSpeed Cache, Cloudflare and
similar products. It does not implement disk page caching, CDN delivery, Brotli/Gzip,
or server-level browser-cache rules because those are better handled by the web server,
host, CDN, or dedicated cache plugin.

== Installation ==

1. Upload the ZIP in WordPress > Plugins > Add New > Upload Plugin.
2. Activate.
3. Go to Settings > WP Speed Optimizer.
4. Enter the UWPS license key delivered after purchase and activate this site.
5. Leave the safe defaults enabled.
6. Purge all caches.
7. Test logged-out desktop and mobile.
8. Run PageSpeed Insights.
9. Enable advanced options only when a report identifies the corresponding bottleneck.

== Licensing ==

The plugin uses a one-way site fingerprint and the Aivenico License Manager REST API. It does not
send page content, visitor data, passwords, or analytics. Licensed optimization behavior is disabled
when the installation has no active license. The license can be deactivated from the settings page
before moving it to another WordPress site.

== Rollback ==

Deactivate the plugin and purge caches. The plugin does not modify theme files,
WordPress core, media files, or database schema.


== Usage Guide ==

A complete beginner-to-advanced usage guide is included inside the plugin package as USAGE-GUIDE.txt.
