=== MeetLet Amazing Performance Boost ===
Contributors: meetlet
Donate link: https://meetlet.net
Tags: performance, optimization, http, woocommerce, monitoring
Requires at least: 5.8
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.5.27
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Monitor and control outgoing HTTP requests, reduce admin bloat, and improve site speed on networks with limited international connectivity.

== Description ==

**MeetLet Amazing Performance Boost** by [MeetLet](https://meetlet.net) helps you improve WordPress performance when international connectivity is slow or unreliable.

The plugin lets you see outgoing HTTP requests, block unnecessary calls, and disable slow external services — without editing `functions.php`.

= Key features =

* **HTTP monitor** — Log outgoing server requests (`wp_remote_*`)
* **Smart blocking** — Block a single URL or an entire domain with an allowlist (payment gateways, crawlers, local services)
* **Core optimizations** — Gravatar, Emoji, XML-RPC, Google Fonts, DNS Prefetch
* **Advanced tricks** — Browse Happy, oEmbed, timeout caps, cron deferral, conditional CF7/Elementor loading
* **Crawler guard** — Exceptions for search bots and marketplace crawlers
* **WooCommerce** — Remove admin bloat, marketing noise, cart fragments, and more
* **WordPress bloat removal** — Heartbeat, Dashicons, Jetpack promos, and similar overhead
* **Plugin manager** — Conditionally disable plugins on the frontend or in the admin
* **Dashboard widgets** — Detect and disable slow admin widgets
* **Browser blocking** — Block fetch/XHR to analytics hosts such as Mixpanel
* **Plugins screen speed** — Skip wordpress.org update checks on `plugins.php`

= Good for =

* WooCommerce stores in regions with limited international bandwidth
* Sites affected by filtering or national-network routing
* Admins who need visibility into where WordPress sends HTTP traffic

= Privacy =

This plugin does not send data to external MeetLet servers. HTTP logs are stored only in your site's database.

= Links =

* Website: [meetlet.net](https://meetlet.net)
* Developer: Mohammad Reza Zamani

== Installation ==

**Recommended:** In WordPress admin go to Plugins → Add New → Upload Plugin and choose `meetlet-amazing-performance-boost-{version}.zip`. WordPress extracts the inner `meetlet-amazing-performance-boost/` folder automatically.

**Manual FTP / cPanel:** Use `meetlet-amazing-performance-boost.zip` (unversioned filename) and extract it directly into `wp-content/plugins/` so the result is `wp-content/plugins/meetlet-amazing-performance-boost/`. Do **not** extract a versioned zip (`meetlet-amazing-performance-boost-1.5.16.zip`) into `plugins/` — that creates a double-nested folder and activation will fail.

1. Upload or extract the plugin folder into `wp-content/plugins/`.
2. From the WordPress admin, activate **MeetLet Amazing Performance Boost**.
3. Open **MeetLet Amazing Performance Boost** in the admin menu.
4. On the **HTTP Requests** tab, start with log-only mode and browse a few pages.
5. Then block unnecessary external domains as needed.

== Frequently Asked Questions ==

= How do I get started? =

Set HTTP mode to log only. Open the admin and a few frontend pages. Review the HTTP tab, identify slow domains, and block what you do not need.

= Will payment gateways still work? =

Yes. Keep your payment-provider domains in the accessible-hosts list.

= Will crawlers such as Google or Torob be blocked? =

Incoming bot requests are not controlled by the HTTP monitor. Keep crawler protection enabled if you use REST restrictions.

= Why is the Plugins screen slow? =

WordPress tries to fetch update data from wordpress.org for every plugin. Enable the plugins-screen speed option in the Optimization tab.

= Is it compatible with caching plugins? =

Yes. This plugin complements LiteSpeed Cache, WP Rocket, and similar tools by focusing on outgoing HTTP traffic and WordPress bloat.

== Screenshots ==

1. Overview dashboard and request statistics
2. HTTP monitor grouped by domain
3. Optimization settings and advanced tricks

== Changelog ==

= 1.5.27 =
* Fix admin UI language: do not fall back to Persian translations when WordPress locale is English

= 1.5.26 =
* Silence Plugin Check false positives for AJAX save handler (nonce already verified in verify_ajax)

= 1.5.25 =
* WordPress.org review: remove directory banner/icon assets from the plugin package
* Stop writing PHP files into wp-content/mu-plugins; clean leftover MU files from older versions
* Run plugin filters and uninstall prompts from the main plugin instead of auto-installed MU loaders
* Sanitize dashboard widget maps on save; use wp_enqueue / wp_add_inline_* for WooCommerce admin CSS/JS

= 1.5.24 =
* Fix Persian UI: rebuild bundled fa_IR.mo with a valid binary catalog (previous .mo file was unreadable by WordPress)
* Add fa locale fallback and more reliable translation loading on plugins_loaded/init

= 1.5.23 =
* Fix remaining Plugin Check warnings: SQL table-name phpcs blocks, input sanitization, MU loader nonce context, overview tab variable naming

= 1.5.22 =
* Fix WordPress.org Plugin Check: use literal text domain string in all i18n functions (required by automated scan)
* Remove phpcs.xml.dist from plugin package (development config moved to project root)
* Normalize line endings in admin view templates

= 1.5.21 =
* Fix save bar icon alignment against WordPress core button styles (flex + float reset)

= 1.5.20 =
* Fix vertical alignment of save bar button icons (Save settings / Save + Purge Cache)
* Remove Quick guide section from Overview tab

= 1.5.19 =
* Fix English admin UI: save button icons, table alignment, LTR option cards, expand arrows, sidebar spacing
* Translate remaining HTTP monitor JavaScript strings
* Fix plugin management persistence (screen ID keys + save with main Save button)
* Admin widgets: show only detected/manual widgets; remove pre-blocked defaults
* Sortable table columns in HTTP, widgets, and plugin management tables

= 1.5.18 =
* Bilingual UI: English source strings with bundled fa_IR translation — follows WordPress locale automatically
* Admin layout direction uses is_rtl() (LTR for English, RTL for Persian)
* Translate uninstall confirmation prompts on the Plugins screen

= 1.5.17 =
* Use MEETLET_AMAZING_PERFORMANCE_BOOST_TD constant for all translation calls (fixes Plugin Check TextDomainMismatch during slug migration)
* Add phpcs.xml.dist with correct text domain configuration

= 1.5.16 =
* Rename plugin to MeetLet Amazing Performance Boost (new slug: meetlet-amazing-performance-boost)
* Migrate settings from prior slug option keys on upgrade

= 1.5.15 =
* Rename plugin to MeetLet Amazing Boost for Wordpress (slug: meetlet-amazing-boost-for-wordpress)
* Rewrite readme.txt in English for WordPress.org compliance
* Fix Plugin Check SQL, security, and coding-standard issues
* Migrate settings from the previous option key on upgrade
* Remove discouraged load_plugin_textdomain() call for WordPress.org hosting

= 1.5.14 =
* Fix fatal error with Elementor: stop firing wp_dashboard_setup on MeetLet settings pages
* Dashboard widget list uses stored detection data; visit WP Dashboard once to refresh widgets
* Lower hook priorities to avoid PHP 8.3 float-to-int deprecation noise

= 1.5.13 =
* Fix activation “48 characters unexpected output” — remove UTF-8 BOM from PHP files
* Fix PHP 8.3 deprecation fatal errors from PHP_INT_MAX hook priority in HTTP monitor
* Stop flushing WordPress alloptions cache (could break admin on object-cache hosts)

= 1.5.12 =
* Fix debug mode: reliable runtime pause flag, MU loader removal, and settings cache flush
* Add WP Rocket and LiteSpeed Cache purge integration (and other popular cache plugins)
* Two save buttons: save only, or save with cache purge (with confirmation)

= 1.5.11 =
* Fix option card layout: top toolbar rows side-by-side RTL; group sections one card per full row
* Auto-block detected dashboard widgets that are in the default block list (no manual add needed)
* Deep-merge widget block defaults on upgrade so new preconfigured widgets apply to existing installs

= 1.5.10 =
* Fix save button icon color — white on primary button

= 1.5.9 =
* Add dashboard widgets: TorobPay, QuadLayers News, Zhaket Booster
* Fix option card grid layout (multi-column cards restored)
* Fix crawlers section layout in Advanced Tricks tab
* Move WooCommerce tracker/geolocation settings to WooCommerce tab
* Add Bloat tab explanation of what "bloat" means
* New Third-party plugins tab with conditional availability (Jetpack, CF7, Elementor, Rank Math, SkyVerge)

= 1.5.8 =
* Hide WooCommerce tab and settings when WooCommerce plugin is not active
* WooCommerce module does not run on the site without WooCommerce installed
* WooCommerce-related options in Tricks, Plugin loading, and Client tabs hidden when unavailable

= 1.5.7 =
* Admin menu title changed to MeetLet optimizer label
* All user-facing WooCommerce labels translated in the admin UI

= 1.5.6 =
* Fix option card grid alignment on Client blocker and Plugin loading tabs
* Fix dashboard widget Location column — detect sidebar/context and show readable labels
* New Plugin Settings tab consolidates module controls, debug mode, database wipe, and uninstall options
* Help tab now documentation-only; Modules tab removed from navigation (legacy tab=modules redirects)

= 1.5.5 =
* Fix admin notices appearing inside the header box on the plugin settings page
* Notices now render above the MeetLet header (includes debug mode and third-party notices)

= 1.5.4 =
* Fix ZIP packaging: build script now enforces forward-slash paths only (no Windows backslashes)
* Post-build verification rejects archives with backslash entry names

= 1.5.3 =
* Configurable uninstall data handling: ask before delete, always purge, or keep database data
* Interactive delete prompt on the Plugins screen when mode is "ask"
* Uninstall cleanup reuses Meetlet_Data::purge_all_data() for full database removal
* MU loader syncs on activation and on load for upgraded installs
* Help tab setting for default uninstall behaviour

= 1.5.2 =
* Remove all remaining references to prior product naming in code and documentation
* Stale prior-install database keys are purged via opaque runtime lookup

= 1.5.1 =
* Fix activation when the plugin is double-nested after manual extraction of a versioned ZIP
* Dynamic bootstrap_slug() detects canonical, versioned, and nested install paths
* MU loader resolves plugin directory for all install layouts
* Build script also outputs meetlet-amazing-performance-boost.zip for safe manual/cPanel extraction
* Repair ghost bootstrap entries in active_plugins on activation

= 1.5.0 =
* Standardize plugin constants and settings option key
* Purge stale database entries from prior installs on activation and load
* Single canonical bootstrap slug

= 1.4.1 =
* Fix plugin activation on fresh installs (MU loader no longer runs during activate/deactivate)
* Detect installed bootstrap path for alternate folder layouts
* Remove ghost bootstrap entries from active_plugins without forcing activation paths
* Reliable ZIP build script for WordPress-compatible package structure

= 1.4.0 =
* Global debug mode — fully pause the plugin for troubleshooting
* Per-module controls for HTTP, optimization, WooCommerce, browser blocking, and more
* Module control bar on each settings tab
* WooCommerce checkout page exceptions in browser blocker
* MU loader sync when debug mode or plugin manager settings change

= 1.3.1 =
* WordPress.org repository compatibility fixes
* Remove update transient filters for plugins and themes

= 1.3.0 =
* SPA-style admin panel with unified settings save
* HTTP monitor grouped by domain with expandable URLs
* Toast notifications for save and block actions
* Plugins screen speed option
* Advanced tricks and expanded help tab

= 1.2.0 =
* Advanced tricks tab and crawler protection
* Per-option help tooltips

= 1.1.0 =
* WooCommerce optimization and WordPress bloat removal
* Conditional plugin loading

= 1.0.0 =
* Initial release: HTTP monitor, core optimizations, dashboard widgets, browser blocking

== Upgrade Notice ==

= 1.5.16 =
Plugin renamed again for WordPress.org compliance. Request slug reservation for meetlet-amazing-performance-boost before resubmitting.

= 1.5.15 =
Plugin renamed for WordPress.org trademark compliance. Request slug reservation for meetlet-amazing-performance-boost before resubmitting.

= 1.5.6 =
Module controls and uninstall settings moved to the new Plugin Settings tab. Documentation remains under Help.

= 1.5.5 =
Admin notices on the MeetLet settings page now display above the header instead of inside it.

= 1.5.4 =
Re-download the plugin ZIP if activation failed due to backslash paths in a previous package.

= 1.5.3 =
Choose whether plugin data is purged or kept when uninstalling from the Plugin Settings tab.

= 1.5.2 =
Codebase cleanup; stale prior-install data is purged automatically on load.

= 1.5.0 =
Settings option key standardized — stale data from prior installs is purged automatically.

= 1.4.1 =
Fixes "Plugin file not found" activation errors on fresh installs.

= 1.4.0 =
Adds module controls and debug mode for troubleshooting site issues.

= 1.3.1 =
Compatibility fixes for the WordPress.org plugin directory.

= 1.3.0 =
New admin UI with unified save and grouped HTTP monitor.
