=== Lightsail CDN Cache Manager ===
Contributors: bytecorestack
Tags: lightsail, lightsail cdn, cache manager, cdn cache, aws lightsail
Requires at least: 5.3
Tested up to: 7.0
Requires PHP: 7.2
Stable tag: 1.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Manual, auto, and scheduled cache clear for your AWS Lightsail CDN — manage your Amazon Lightsail distribution's cache directly from WordPress.

== Description ==

**Lightsail CDN Cache Manager** is a focused WordPress cache manager built around one job — Lightsail cache clear, done right. If your site runs behind an **Amazon Lightsail** content delivery network (CDN) distribution, this plugin puts you in full control of that cache: a manual clear, an auto cache clear the moment you publish, or a scheduled cache clear on a recurring timer — all from your WordPress admin, no AWS console required.

Use it to manually purge your Lightsail CDN cache with one click, fire an auto cache clear the instant you publish or update content, or set a scheduled cache clear so your cache invalidates itself on its own — daily, weekly, monthly, or at custom intervals.

= Why Use This Plugin? =

If you've wished WordPress cache management for Lightsail was as simple as clicking a button, this is it:

* **Built specifically for Amazon Lightsail** — not a generic CDN plugin awkwardly bolted on; it speaks the Lightsail API directly using AWS Signature Version 4.
* **No stale content after publishing** — auto-clear on publish/update means visitors never see outdated cached pages.
* **Set-and-forget scheduling** — interval, weekly, or monthly cache clears with a live countdown so you always know when the next clear runs.
* **Credentials never touch the database** — AWS keys live in wp-config.php only, never exposed in the admin UI or REST API.
* **One-click connection test** — verify your AWS Lightsail credentials and distribution name are correct before you ever rely on it.

= Key Features =

**Manual Cache Clearing**
* Run a Lightsail cache clear in seconds, right from WordPress admin
* Instant feedback on cache clearing status
* Perfect for when you need immediate control

**Automatic Cache Clearing**
* Automatically clear CDN cache when content is published or updated
* Select which post types trigger cache clearing
* Support for custom post types
* Immediate content updates across your CDN

**Scheduled Cache Clearing**
* Set up recurring cache clears on your schedule
* Interval, weekly, or monthly options
* Choose specific times and days
* Live countdown timer showing next scheduled clear
* Uses your WordPress timezone settings

**Test Connection**
* One-click AWS connection test before you rely on it
* Verifies your access key, secret key, and Lightsail distribution name
* Calls the read-only Lightsail API — never touches your cache
* Clear, specific error messages when something's misconfigured

**Easy Configuration**
* Simple wp-config.php based credentials
* Clear status indicators
* Helpful configuration examples
* Secure AWS Signature Version 4 authentication

= Perfect For =

* WordPress sites and blogs hosted behind an Amazon Lightsail CDN distribution
* Agencies and freelancers managing multiple client sites on AWS Lightsail
* Publishers and news sites that need fresh content delivered fast after every update
* Developers who want automated, hands-off Lightsail cache invalidation
* WooCommerce and membership sites with frequently changing content
* Anyone replacing manual AWS console cache purges with a WordPress-native workflow

= Requirements =

* An AWS account with an active Amazon Lightsail content delivery network (CDN) distribution
* AWS Access Key ID and Secret Access Key with Lightsail permissions
* WordPress 5.3 or higher
* PHP 7.2 or higher

= Documentation =

Full setup instructions and documentation available at https://bytecorestack.com/plugins/lightsail-manager

== Installation ==

= From WordPress Admin =

1. Go to Plugins > Add New
2. Search for "Lightsail CDN Cache Manager"
3. Click "Install Now" and then "Activate"
4. Configure your AWS credentials in wp-config.php
5. Go to Settings > Lightsail Manager to manage your cache

= Manual Installation =

1. Download the plugin ZIP file
2. Upload to /wp-content/plugins/ directory
3. Extract the ZIP file
4. Activate the plugin through WordPress admin
5. Configure AWS credentials (see Configuration section)

= Configuration =

Add these constants to your wp-config.php file:

`define('AWS_ACCESS_KEY_ID', 'your_access_key_here');
define('AWS_SECRET_ACCESS_KEY', 'your_secret_key_here');
define('AWS_DEFAULT_REGION', 'us-east-1');
define('LIGHTSAIL_DISTRIBUTION_NAME', 'your_distribution_name');`

**Finding Your Distribution Name:**
1. Log in to AWS Lightsail console
2. Go to Networking > CDN distributions
3. Find your distribution and copy its name

**Creating AWS Credentials:**
1. Go to AWS IAM console
2. Create a new user or use existing one
3. Attach Lightsail permissions
4. Generate access keys
5. Add keys to wp-config.php

== Frequently Asked Questions ==

= How do I clear my AWS Lightsail CDN cache from WordPress? =

Install and activate this plugin, add your AWS credentials to wp-config.php, then go to Settings > Lightsail Manager and click "Clear CDN Cache Now." No need to log in to the AWS console at all.

= What is AWS Lightsail CDN? =

AWS Lightsail CDN is a content delivery network service from Amazon Web Services that caches your website content at edge locations worldwide, making your site faster for visitors globally.

= Do I need an AWS account? =

Yes, you need an AWS account with an active Amazon Lightsail distribution and appropriate IAM permissions.

= How do I get my AWS credentials? =

You can create AWS credentials (Access Key ID and Secret Access Key) from the AWS IAM console. Make sure the credentials have permissions to manage Lightsail distributions (see the Configuration section above for the exact actions required).

= How do I know if my AWS credentials are set up correctly? =

Use the built-in "Test Connection" button on the Configuration tab. It verifies your access key, secret key, and distribution name against the AWS Lightsail API without clearing your cache, and tells you exactly what's wrong if something fails.

= Is this plugin secure? =

Yes, the plugin uses AWS Signature Version 4 for secure authentication. Your credentials are stored in wp-config.php (not in the database) and are never exposed in the admin interface.

= What's the difference between Amazon Lightsail and Amazon CloudFront? =

Amazon Lightsail CDN is the simplified content delivery network bundled with Lightsail distributions, while CloudFront is AWS's standalone, more advanced CDN. This plugin is built specifically for Lightsail CDN distributions — if you're using CloudFront instead, you'll need a CloudFront-specific plugin.

= Can I automatically clear the cache when I publish or update a post? =

Yes. Enable Auto-Clear in the plugin and choose which post types (posts, pages, products, or any custom post type) should trigger an automatic cache invalidation whenever they're published or updated.

= Can I schedule cache clears at specific times? =

Yes! The plugin supports interval, weekly, and monthly scheduling with customizable times. You can choose the exact time and day/date for cache clearing, with a live countdown to the next run.

= What happens if cache clearing fails? =

The plugin will display an error message with details about what went wrong. Common issues include incorrect credentials or an incorrect distribution name — use "Test Connection" to diagnose this before it happens.

= Will this slow down my site? =

No, cache clearing operations happen in the background and don't affect your site's performance. The plugin only communicates with AWS when you manually clear cache, when content is updated (if auto-clear is enabled), or during scheduled clears.

= Does this work with WooCommerce? =

Yes. WooCommerce registers its products as a custom post type, so you can enable auto-clear for products to keep your storefront's CDN cache fresh whenever inventory or product details change.

= Can I clear cache for specific pages only? =

Currently, the plugin clears the entire CDN cache. Selective/partial cache clearing may be added in future versions.

= Does this work with multisite? =

The plugin is compatible with WordPress multisite installations. Each site can have its own cache clearing schedule.

== Screenshots ==

1. Main admin interface with manual cache clearing
2. Auto-clear settings for automatic cache invalidation
3. Scheduled cache clearing with live countdown timer
4. Configuration panel showing AWS status

== External Services ==

This plugin connects to the AWS Lightsail API to perform CDN cache invalidation operations.

**AWS Lightsail API**

This plugin sends requests to the AWS Lightsail REST API endpoint:

`https://lightsail.{region}.amazonaws.com/`

**What data is sent:**

* Your Lightsail distribution name (stored locally in wp-config.php)
* A cache reset request signed with your AWS credentials using AWS Signature Version 4

**When data is sent:**

* When you manually click "Clear CDN Cache Now"
* When a post/page is published or updated (if Auto-Clear is enabled)
* On a recurring schedule (if Scheduled Auto-Clear is enabled)

No personal data, user data, or site content is transmitted to AWS beyond the distribution name and the cache-clear command.

**AWS Terms of Service:** https://aws.amazon.com/service-terms/
**AWS Privacy Policy:** https://aws.amazon.com/privacy/

== Changelog ==

= 1.1.0 =
* Renamed to "Lightsail CDN Cache Manager" (same plugin, same settings — only the display name changed)
* Add "Test Connection" button in Configuration to verify AWS credentials and the distribution name without clearing the cache
* Migrate legacy option keys from prior plugin name variants (lightsail_*, bptcdnmgr_*, blsm_*) on activation
* Clean up deprecated individual schedule options
* Redesign admin UI: full-width layout, boxed page header, cards split into header/body sections, icon tiles on stat cards
* Fix admin fonts not loading in the dashboard
* Fix mobile/tablet layout issues: square header icon, badge alignment, single-line scrollable tabs, removed unwanted horizontal page scroll
* Fix duplicate checkmark rendering on Auto-Clear post type checkboxes
* Fix plugin text domain to match the plugin slug
* Raise minimum required WordPress version to 5.3 (already required by existing timezone functions)

= 1.0 =
* Initial release
* Manual cache clearing functionality
* Automatic cache clearing on content updates
* Scheduled cache clearing (interval, weekly, monthly)
* Live countdown timer for scheduled clears
* Support for custom post types
* Local timezone support for scheduled clears
* Comprehensive AWS error reporting
* Clean, modern admin interface
* Full WordPress coding standards compliance

== Upgrade Notice ==

= 1.1.0 =
The plugin has been renamed to "Lightsail CDN Cache Manager". Your settings, schedule, and AWS configuration are unaffected — only the display name changed. This release also adds a "Test Connection" button.

= 1.0 =
Initial release.

== Support ==

For support, feature requests, or bug reports, please visit:
* Plugin page: https://bytecorestack.com/plugins/lightsail-manager
* Author website: https://bytecorestack.com/

== Privacy Policy ==

This plugin does not collect, store, or transmit any user data. All AWS credentials are stored locally in your wp-config.php file and are only used to communicate with the AWS Lightsail API for cache management operations. See the External Services section above for full details on what is sent to AWS.

== Credits ==

Developed by ByteCore Stack.

== License ==

This plugin is licensed under the GPLv2 or later.
