Fastly

0

Installation: You can either install from source (you’re looking at it), or from the WordPress plugin directory. To proceed with configuration you will need to sign up for Fastly an

Version
Last updated
Active installations
WordPress Version
Tested up to
Rating
Total ratings
Tag
This plugin is outdated and might not be supported anymore.

Description

Installation:

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

  1. To proceed with configuration you will need to sign up for Fastly and create and activate a new service (unless you already have one). Details of how to create and activate a new service can be found here. You will also need to find your Service ID and make a note of the string.
  2. You will need to create an API token with the Global API access option selected. Click here for token management screen.
  3. Set up the Fastly plugin inside your WordPress admin panel
  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. In order to get the most value out of Fastly we recommend you upload VCL snippets from https://github.com/fastly/WordPress-Plugin/tree/master/vcl_snippets. These snippets will add code for following

– Force certain paths to be passed (not cached) e.g. wp-admin, wp-login.php
– Makes sure that logged in user sessions are never cached
– Handling for serving stale on error

You can upload them by hand or press Update VCL button in the UI.

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

Note: you may have to disable other caching plugins like W3TotalCache or WP Rocket 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

Edge Modules

Edge Modules are a framework that enables specific functions to be enabled on Fastly Edge without
the need to write VCL. Current list of functions that can be included includes

  • Enable Blackfire metrics and tracing
  • Set CORS headers
  • Enable support for bot detection partners such as Datadome/Netacea
  • Redirect one domain to another e.g. domain.com => www.domain.com
  • Rewrite URLs going to a backend e.g. /sitemap.xml => /media/sitemap.xml
  • Domain masking an external backend/origin

More details can be found at https://github.com/fastly/WordPress-Plugin/blob/master/EDGE-MODULES.md

Image optimization

Image Optimization is a separately contracted feature. Please contact support@fastly.com to request
pricing and activation.

Once activated on service level, you will be able to enable it in your blog under Fastly->Advanced.

Breakdown of IO options:
Enable Image Optimization in Fastly configuration – Activating this uploads VCL that steers image traffic to the image optimization service

Enable Image Optimization in WordPress - Main switch to activate IO which is needed for all other options to work.

Enable adaptive pixel ratios - Switch for adaptive pixel ratios implementation. This replaces adaptive pixels srcset to format which Fastly IO can parse and replace. Initially works only on inserted attachments like featured images, but can be applied on content images if enabled.

Adaptive pixel ratio sizes - Select pixel ratios that will be generated when creating image srcset html.

Enable image optimization for content images - Safe switch for Image optimization of content images (due to difference from featured images, those are processed differently). To fully utilize, insert full size images in content.

WordPress Hooks

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’);
}

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

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/.