Linux 软件免费装
Banner图

ByteCoreStack - Cache Invalidation for Amazon CloudFront

开发者 bytecorestack
更新时间 2026年8月18日 21:07
PHP版本: 7.4 及以上
WordPress版本: 7.0
版权: GPLv2 or later
版权网址: 版权信息

标签

cloudfront cache invalidation cache manager cdn cache aws cloudfront

下载

1.0.0

详情介绍:

ByteCoreStack - Cache Invalidation for Amazon CloudFront is a dedicated CloudFront cache invalidation plugin for WordPress, built around one job and doing it well: keeping your Amazon CloudFront CDN cache in sync with your content. If your site runs behind a CloudFront distribution, this plugin gives you complete control over cache invalidation — a one-click manual purge, automatic CloudFront cache clearing the moment content changes, or a recurring scheduled cache clear — all from your WordPress admin, with no AWS Console visits required. This plugin speaks the CloudFront REST API directly using AWS Signature Version 4 request signing, and is purpose-built around how CloudFront invalidations actually work: targeted path invalidation instead of blanket wipes, batching to protect your invalidation quota, and a live invalidation history pulled straight from the CloudFront API. Features Key Features Manual CloudFront Cache Clearing Perfect For Requirements Documentation Full setup instructions and documentation available at https://bytecorestack.com/plugins/cloudfront-manager

安装:

From WordPress Admin
  1. Go to Plugins > Add New
  2. Search for "ByteCoreStack - Cache Invalidation for Amazon CloudFront"
  3. Click "Install Now" and then "Activate"
  4. Configure your AWS credentials in wp-config.php
  5. Go to Settings > CloudFront Manager to manage your CloudFront 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('CLOUDFRONT_DISTRIBUTION_ID', 'your_distribution_id'); Note: AWS_DEFAULT_REGION is not needed — CloudFront's control-plane API is a single global endpoint always signed with region us-east-1, regardless of where your site or distribution lives. Running on an EC2 instance with an IAM role attached? You can skip AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY entirely — the plugin automatically uses the instance role's temporary credentials. CLOUDFRONT_DISTRIBUTION_ID is still required. Finding Your Distribution ID:
  1. Log in to the AWS CloudFront console
  2. Go to Distributions
  3. Find your distribution and copy its ID (e.g. E2SF6Q2IFE653G) Creating AWS Credentials:
  4. Go to the AWS IAM console
  5. Create a new user or use an existing one
  6. Attach the required CloudFront permissions (see IAM Permissions on the Configuration tab: cloudfront:CreateInvalidation, cloudfront:GetDistribution, cloudfront:ListInvalidations, cloudfront:GetInvalidation)
  7. Generate access keys
  8. Add the keys to wp-config.php Verifying Your Setup:
  9. Open Settings > CloudFront Manager > Configuration tab
  10. Click "Test Connection" to confirm your credentials and distribution ID are valid
  11. Click "Check Permissions" to confirm each required IAM action is granted

屏幕截图:

  • Auto-Clear tab — choose which post types trigger automatic, targeted CloudFront cache invalidation
  • Schedule tab — interval, weekly, or monthly cache clearing with a live countdown timer
  • Invalidation History tab — recent CloudFront invalidations pulled live from AWS, with path details and pagination
  • Configuration tab — AWS credential status, Test Connection, Check Permissions, and IAM setup guidance
  • WordPress Dashboard widget — AWS status, Auto-Clear/Schedule state, and last cleared time at a glance

升级注意事项:

1.0.0 Initial release.

常见问题:

How do I clear my AWS CloudFront CDN cache from WordPress?

Install and activate this plugin, add your AWS credentials to wp-config.php, then go to Settings > CloudFront Manager and click "Purge Entire Distribution." No need to log in to the AWS Console at all.

What is AWS CloudFront?

Amazon CloudFront is AWS's content delivery network (CDN) service that caches your website content at edge locations worldwide, making your site faster for visitors globally. This plugin manages CloudFront cache invalidation specifically — clearing cached content so visitors see your latest updates.

Do I need an AWS account?

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

How do I get my AWS credentials?

Create AWS credentials (an Access Key ID and Secret Access Key) from the AWS IAM console. Make sure the credentials have permission to manage CloudFront invalidations — see the Configuration section above for the exact IAM actions required.

Can I run this without static AWS keys?

Yes, if your WordPress site runs on an EC2 instance with an IAM role attached. Leave AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY undefined in wp-config.php, and the plugin will automatically fetch temporary credentials from the EC2 instance metadata service. You still need to define CLOUDFRONT_DISTRIBUTION_ID.

How do I know if my AWS credentials and IAM permissions are set up correctly?

Use "Test Connection" on the Configuration tab to verify your access key, secret key, and distribution ID against the live CloudFront API. Use "Check Permissions" to test each required IAM action individually (GetDistribution, ListInvalidations, GetInvalidation) and see exactly which one is missing if something's misconfigured.

Is this plugin secure?

Yes. The plugin uses AWS Signature Version 4 for secure request signing, credentials are stored only in wp-config.php (never in the WordPress database), and no plugin option or AJAX response ever exposes your secret key. All AJAX requests are protected with WordPress nonces and a manage_options capability check.

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

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

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

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

Does auto-clear invalidate my whole distribution every time?

No. Auto-Clear invalidates only the specific paths affected — the post's own permalink, its taxonomy term archives, its post-type archive, and the homepage — instead of a blanket full-site purge. A full "/*" invalidation only happens if a single change touches more than 10 paths at once, or when you explicitly click "Purge Entire Distribution."

Can I schedule cache clears at specific times?

Yes. The plugin supports interval (every 5 minutes up to every 24 hours), weekly, and monthly scheduling with customizable times. Choose the exact time and day/date for cache clearing, with a live countdown to the next run, fully aware of your WordPress site's timezone.

Can I see a history of my CloudFront invalidations?

Yes. The Invalidation History tab lists your most recent invalidations, fetched live from the CloudFront API, with pagination and a per-invalidation path-list detail view. Nothing is stored in your WordPress database.

What happens if cache clearing fails?

The plugin displays a specific, actionable error message explaining what went wrong — for example, an incorrect distribution ID, a signature/credentials mismatch, or a missing IAM permission. Use "Test Connection" and "Check Permissions" to diagnose issues before they happen.

Will this slow down my site?

No. Cache invalidation requests only fire when you manually clear cache, when content changes (if Auto-Clear is enabled), or during a scheduled clear — never on regular visitor page loads.

Does this work with WooCommerce?

Yes. WooCommerce registers products as a custom post type, so you can enable Auto-Clear for products (and product variations) to keep your storefront's CDN cache fresh whenever inventory, pricing, or product details change.

Can I trigger a cache purge from the command line or a CI/CD pipeline?

Yes. The plugin includes WP-CLI support: run wp bcs-cfm flush all for a full distribution purge, or wp bcs-cfm flush /some/path,/another/path to invalidate specific paths — handy for firing a CloudFront cache purge automatically after a deploy.

Are there costs to running CloudFront invalidations?

AWS grants 1,000 free path invalidations per month; a full "/*" invalidation only counts as a single path. Beyond that allowance, standard CloudFront invalidation pricing applies. The plugin's targeted, batched invalidations are designed to make efficient use of this quota.

Does this work with multisite?

Yes, the plugin is compatible with WordPress multisite installations. Each site can have its own AWS credentials, distribution ID, auto-clear settings, and cache clearing schedule.

更新日志:

1.0.0