ericmann / dynamic-cdn
Dynamic CDN for front-end assets.
Installs: 11
Dependents: 0
Suggesters: 0
Security: 0
Stars: 36
Watchers: 4
Forks: 13
Open Issues: 2
Type:wordpress-plugin
Requires
- php: >5.6
- composer/installers: ~1.0.25
Requires (Dev)
- php: >7.0
- 10up/wp_mock: ^0.1.1
- antecedent/patchwork: 1.4.0
- phpunit/phpunit: ^4.8
- satooshi/php-coveralls: ^1.0
This package is auto-updated.
Last update: 2024-10-29 05:04:39 UTC
README
Contributors: ericmann, 10up
Donate link: https://eamann.com
Tags: CDN, images, performance
Requires at least: 3.8.1
Tested up to: 4.5.2
Stable tag: 0.4.0
License: GPLv2 or later
License URI: https://github.com/ericmann/dynamic-cdn/blob/master/LICENSE.md
Dynamic CDN for front-end assets.
Description
Dynamic solution for rewriting image asset URLs to a hosted content delivery network (CDN) with optional domain sharding for concurrent downloads.
This plugin is based heavily on the CDN dropin from Mark Jaquith's WP_Stack (https://github.com/markjaquith/WP-Stack).
Installation
Manual Installation
- Upload the entire
/dynamic-cdn
directory to the/wp-content/plugins/
directory. - Activate Dynamic CDN through the 'Plugins' menu in WordPress.
Frequently Asked Questions
Will this work as a mu-plugin?
Yes. The plugin, as designed, will work just fine in the mu-plugins directory. We highly recommend a second mu-plugin be added to configure the CDN domains used by the system.
How do I add a domain?
In a function wired to dynamic_cdn_first_loaded
, you'll reference the ->add_domain()
method of the Dynamic_CDN
object. For example:
function my_cdn_domains() {
$manager = DomainManager::last();
$manager->add( 'cdn0.mydomain.com' );
$manager->add( 'cdn1.mydomain.com' );
$manager->add( 'cdn2.mydomain.com' );
}
add_action( 'dynamic_cdn_first_loaded', 'my_cdn_domains' );
What if I want to add my domains through wp-config.php?
Simply define a DYNCDN_DOMAINS constant that's a comma-delimited list of your cdn domains. For example:
define( 'DYNCDN_DOMAINS', 'cdn0.mydomain.com,cdn1.mydomain.com,cdn2.mydomain.com' );
What if I don't add any domains, will this break my images?
Hopefully not. If you haven't added any domains the plugin will not rewrite anything, bypassing your images entirely.
Screenshots
None at this time.
Changelog
0.4.0
- New: Unit tests for core functionality
- Fix: Ensure srcsets don't filter in admin views
0.3.0
- New: Add support for WordPress 4.4 srcsets
0.2.0
- New: CDN domains can be added with a constant.
- Fix: Make domain mapping multisite aware. props @trepmal
0.1.0
- First release
Upgrade Notice
0.4.0
Domain management has moved from a general-purpose class to a purpose-built DomainManager
object. This object is
instantiated with your current site's domain name, and can be accessed throught the static DomainManager::last()
helper.
(This method automatically returns the last-instantiated domain manager). If you weren't manipulating CdN domains
programmatically, you won't need to change anything at all.
0.1.0
First Release