C3 Cloudfront Cache Controller

説明

This is simple plugin that clear all cloudfront cache if you publish posts.
You can easy use CloudFront in front of WordPress.

Fixtures

  • wp_is_mobile()
    Check device viewer type by CloudFront header.
    Now supports HTTP_CLOUDFRONT_IS_MOBILE_VIEWER and HTTP_CLOUDFRONT_IS_TABLET_VIEWER.

  • preview url
    In preview page, plugin add post_date query to avoid CloudFront cache.
    And set wordpress_loginuser_last_visit cookie for avoid CloudFront cache too.

The wordpress_loginuser_last_visit cookie will be removed if user sign out.

無効化(キャッシュクリア)するページのURL

This plugin send following page url to CloudFront Invalidation API.

  • トップページの URL
  • Published Post Page URL
  • Category Archive Page URL

AWS IAM Policy Example

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "cloudfront:GetDistribution",
                "cloudfront:ListInvalidations",
                "cloudfront:GetStreamingDistribution",
                "cloudfront:GetDistributionConfig",
                "cloudfront:GetInvalidation",
                "cloudfront:CreateInvalidation"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}

Adding your configuration through env vars

The plugin can be configured by defining the following variables:

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY
  • C3_DISTRIBUTION_ID

You can put these variables like the code into the wp-config.php

php
define( 'AWS_ACCESS_KEY_ID', '' );
define( 'AWS_SECRET_ACCESS_KEY', '' );
define( 'C3_DISTRIBUTION_ID', '' );

Cookie

This plugin set a Cookie named wordpress_loginuser_last_visit to the user.
It prevents CDN caching when the user is previewing his posts or contents.
Once logging out from Dashboard, plugin removes this cookie from user.

5.5.1

  • [Update] Replace the top level menu with a Settings submenu

5.5.0

  • [Update] Can use defined variables for AWS Credentials

5.4.2

  • [Bug fix] Set cookie path in preview page

5.4.1

  • [Bug fix] Undefined Paths index in invalidation query cron event

5.4.0

  • [Update] Update preview fix plugin

5.3.4

  • [Bug fix] Small bug fix

5.3.3

  • [Change SDK] replace sdk

5.3.2

  • [Bug fix] Use EC2 role if using as AMIMOTO Managed hosting

5.3.1

  • [Add filter] Can select AWS SDK version by filter

5.3.0

  • [Update SDK] Use AWS SDK v3 when you using php 5.6 or later

5.2.1

  • [For AMIMOTO Managed] bug fix to run by WP-CLI

5.2.0

  • [Add filter] We can disable to register wp-cron that retry request invalidation.
  • [Readme] Update readme to see IAM Policy example.

5.1.0

  • [Update preview fixture] Set cookie to avoid CloudFront cache if user sign in
  • [Update preview fixture] Unset cookie for avoide CloudFront cache if user sign out

5.0.0

  • Support CloudFront viewer params on wp_is_mobile().(4.9.0 or later)

4.4.0

  • Fix small bug
  • Add some feature for AMIMOTO Managed hosting user

4.3.1

  • Fix cron interval
  • add filters 'c3_invalidation_interval, c3_invalidation_cron_interval, c3_invalidation_item_limits.
  • update default invalidation interval & items.

4.3.0

  • Schedule cron event if you published many post at the same time

4.2.1

  • Fix ‘c3_credential’ filter position

4.2.0

  • Support AMIMOT Dashboard

4.1.0

  • Show Invalidation Logs

4.0.3

  • Auto Deploy by Travis

4.0.2

  • Add WP-CLI param check ( wp c3 flush)
  • change transient_key

4.0.1

  • Bug fix ( conflict Nephila Clavata )

4.0.0

  • Support AWS SDK Version3
  • Remove action hook -> ‘c3_add_setting_before’
    use ‘c3_after_title’ filter hook instead.
  • Remove action hook -> ‘c3_add_setting_after’
    use ‘c3_after_auth_form’ filter hook instead.

3.0.0

  • Include CF Preview Fix plugin
  • Rename

2.4.3

  • Fix Catch Exception BUG

2.4.2

  • CLI のバグを修正

2.4.1

  • CLI のバグを修正

2.4.0

  • WP-CLI コマンドを追加 (設定の更新)

2.3.0

  • WP-CLI コマンドを追加

2.2.2

  • Force Invalidation

2.2.1

  • Fix Typo

2.2.0

  • Add Filter for using EC2 Instance Role.
  • Translationable in t.w.org

2.1.1

  • Fix too many invalidation url error.

2.1.0

  • 無効化する URL をカスタマイズするためのフックを追加
  • support new invalidation url, terms.
  • Manualy invalidation button added

2.0.2

  • Change AWS SDK
  • コードリファクタリング by wokamoto
  • Invalidation URL

2.0.1

  • Change AWS SDK
  • コードリファクタリング by wokamoto
  • Invalidation URL

1.0

  • 初回リリース

インストール

  1. WordPress の「プラグイン」メニューからプラグインを有効化してください
  2. Create IAM user to attach valid IAM Policy for AWS CloudFront
  3. Configure the plugin settings from wp-admin

FAQ

When it send invalidation request?

If post published,this plugin post invalidation request to CloudFront.

Can we select AWS SDK version ?

You can select AWS SDK version to add a plugin like …

<?php
/*
 * Plugin Name: Should use AWS SDK v2
 * Version: 0.0.1
 * Plugin URI:https://github.com/amimoto-ami/c3-cloudfront-clear-cache
 * Description: To use aws sdk v2 for C3 Cloudfront Cache Controller
 * Author: hideokamoto
 * Author URI: https://wp-kyoto.net/
 */
add_filter( 'c3_select_aws_sdk', function() {
    return true;
} );

評価

2018年7月30日
Works well and very easy to get going. Occasionally disabled itself when used with other plugins e.g. backupbuddy. Would be nice to store AWS credentials in wp-config.php too. Otherwise excellent. Thank you.
2017年9月8日
Tried a couple of others until I found this amazing simple plugin ! But After I enter the credentials there should be some screen... I see a blank page :/ But It works!!!
2件のレビューをすべて表示

貢献者と開発者

C3 Cloudfront Cache Controller はオープンソースソフトウェアです。以下の人々がこのプラグインに貢献しています。

貢献者

“C3 Cloudfront Cache Controller” は1ロケールに翻訳されています。 翻訳者のみなさん、翻訳へのご協力ありがとうございます。

“C3 Cloudfront Cache Controller” をあなたの言語に翻訳しましょう。

開発に興味がありますか ?

コードを閲覧するか、SVN リポジトリをチェックするか、開発ログRSS で購読してみてください。