Fastly

Description

Usage:
1. To proceed with configuration you will need to sign up for Fastly (at fastly.com/signup) and create and activate a new service. Details of how to create and activate a new service can be found at Fastly’s documentation. You will also need to find your Service ID and make a note of the string.
2. From Fastly’s configuration interface, create an API token with the default scope and access level. Make a note of the credential.
3. Set up the Fastly plugin inside your WordPress admin panel
4. Once the plugin is installed into your WordPress instance, you will need to enter your API token and Service ID into the plugin’s configuration page.
5. That’s it! Everything should just work. In order to route production traffic through Fastly, you will likely need to change some records with your domain registrar. Refer to Fastly’s documentation for more instructions about which CNAME records to use.
6. In order to get the most value out of Fastly, you should create a number of VCL Snippets that let you define some custom logic for how the Fastly CDN should handle requests to your WordPress instance. You can add Snippets to your service from the side menu when editing the configuration of your Service version. These are the Snippets that you should create:
https://github.com/fastly/WordPress-Plugin/tree/master/vcl_snippets

For more information, or if you have any problems, please email us.

Note: you may have to disable other caching plugins like W3TotalCache to avoid getting odd cache behaviour.

  • Pulls in the Fastly API
  • Integrates purging in post/page/taxonomies publishing
  • Includes an admin panel in wp-admin
  • Integrates some of the advanced purging options from Fastly API
  • Allows to monitor purging using webhooks for slack

Using this plugin means you won’t have to purge content in Fastly when you make changes to your WordPress content. Purges will automatically happen with no need for manual intervention.

Customization:

Available wordpress hooks (add_action) on:

Editing purging keys output
purgely_pre_send_keys
purgely_post_send_keys
functions: add_keys

Editing surrogate control headers output(max-age, stale-while-revalidate, stale-if-error)
purgely_pre_send_surrogate_control
purgely_post_send_surrogate_control
functions: edit_headers, unset_headers

Edit cache control headers output (max-age)
purgely_pre_send_cache_control
purgely_post_send_cache_control
functions: edit_headers, unset_headers

Example:
add_action(\’purgely_pre_send_surrogate_control\’, \’custom_headers_edit\’);
function custom_headers_edit($header_object)
{
$header_object->edit_headers(array(\’custom-header\’ => \’555\’, \’max-age\’ => \’99\’));
}

add_action(\’purgely_pre_send_keys\’, \’custom_surrogate_keys\’);
function custom_surrogate_keys($keys_object) {
$keys_object->add_key(\’custom-key\’);
}

About Fastly

Fastly is the only real-time content delivery network designed to seamlessly integrate with your development stack.

Fastly provides real-time updating of content and the ability to cache dynamic as well as static content. For any content that is truly uncacheable, we’ll accelerate it.

In addition we allow you to update your configuration in seconds, provide real time log and stats streaming, powerful edge scripting capabilities, and TLS termination (amongst many other features).

License

Fastly.com WordPress Plugin
Copyright (C) 2011,2012,2013,2014,2015,2016,2017 Fastly.com

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see http://www.gnu.org/licenses/.

Screenshots

  • Fastly General Tab
  • Fastly Advanced Tab
  • Fastly Webhooks Tab

Installation

You can either install from source (you\’re looking at it), or from the WordPress plugin directory.

  1. Register on https://www.fastly.com/signup
  2. Register new Service with your domain and obtain API token and Service ID [https://manage.fastly.com/account/personal/tokens]
  3. Deploy the new Version of the Service.
  4. In your WordPress blog admin panel, Under Fastly->General, enter & save your Fastly API token and Service ID
  5. Verify connection by pressing TEST CONNECTION button.
  6. If connection is ok, press Update VCL button
  7. That’s it! Everything should just work. :metal: If you have any problems, email us.

Note: you may have to disable other caching plugins like W3TotalCache to avoid getting odd cache behaviour.

FAQ

Installation Instructions

You can either install from source (you\’re looking at it), or from the WordPress plugin directory.

  1. Register on https://www.fastly.com/signup
  2. Register new Service with your domain and obtain API token and Service ID [https://manage.fastly.com/account/personal/tokens]
  3. Deploy the new Version of the Service.
  4. In your WordPress blog admin panel, Under Fastly->General, enter & save your Fastly API token and Service ID
  5. Verify connection by pressing TEST CONNECTION button.
  6. If connection is ok, press Update VCL button
  7. That’s it! Everything should just work. :metal: If you have any problems, email us.

Note: you may have to disable other caching plugins like W3TotalCache to avoid getting odd cache behaviour.

Contributors & Developers

“Fastly” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Fastly” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.2.4

  • Added fix for not yet existing pages not being purged (404 pages key issue)
  • Added admin entry for always purged keys
  • Make surrogate keys comply with multi-site configurations

1.2.3

  • wp_cli added configuration listing and updating functionality
  • Enabled setting of HTML for Maintenance/Error page (503)
  • Minor fixes

1.2.2

  • Action Hooks fix

1.2.1

  • Minor VCL clean up

1.2.0

  • Added purge by url
  • Changes regarding logging logic
  • VCL update User Interface changes
  • Fixed and enabled support for wp_cli

1.1.1

  • Some Purgely plugin functionalities integrated into Fastly (along with some advanced options)
  • Purging by Surrogate-Keys is used instead of purging by url
  • Added webhooks support (Slack focused) to log purges and other critical events
  • Added debugging logs option, purge all button for emergency
  • Advanced options: Surrogate Cache TTL, Cache TTL, Default Purge Type, Allow Full Cache Purges, Log purges in error log,
    Debug mode, Enable Stale while Revalidate, Stale while Revalidate TTL, Enable Stale if Error, Stale if Error TTL.
  • Fastly VCL update
  • Curl no longer needed

1.1

  • Include fixes for header sending
  • Enable \”soft\” purging

1.0

  • Mark as deprecated
  • Recommend Purgely from Condé Nast
  • Add in link to GitHub repo

0.99

  • Add a guard function for cURL prequisite
  • Bring up to date with WP Plugin repo standards

0.98

  • Security fixes for XSS/CSRF
  • Only load CSS/JS on admin page
  • Properly enqueue scripts and styles
  • Use WP HTTP API methods
  • Properly register scripts

0.94

  • Change to using PURGE not POST for purges
  • Correct URL building for comments purger

0.92

  • Fix bug in port addition

0.91

  • Make work in PHP 5.3

0.9

  • Fix comment purging

0.8

  • Fix url purging

0.7

  • Fix category purging

0.6

  • Remove bogus error_log call

0.5

  • Switch to using curl
  • Change PURGE methodology
  • Performance enhancements