{"id":37708,"date":"2015-07-26T11:58:18","date_gmt":"2015-07-26T11:58:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/cdn-enabler\/"},"modified":"2026-03-02T09:05:53","modified_gmt":"2026-03-02T09:05:53","slug":"cdn-enabler","status":"publish","type":"plugin","link":"https:\/\/azb.wordpress.org\/plugins\/cdn-enabler\/","author":14469171,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.0.8","stable_tag":"2.0.8","tested":"6.9.4","requires":"5.1","requires_php":"5.6","requires_plugins":null,"header_name":"CDN Enabler","header_author":"KeyCDN","header_description":"","assets_banners_color":"047aed","last_updated":"2026-03-02 09:05:53","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/www.keycdn.com","rating":4.1,"author_block_rating":0,"active_installs":10000,"downloads":849995,"num_ratings":51,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"keycdn","date":"2015-08-02 11:44:53"},"1.0.2":{"tag":"1.0.2","author":"keycdn","date":"2015-12-21 18:37:59"},"1.0.3":{"tag":"1.0.3","author":"keycdn","date":"2016-05-17 17:43:43"},"1.0.4":{"tag":"1.0.4","author":"keycdn","date":"2017-01-20 12:07:10"},"1.0.5":{"tag":"1.0.5","author":"keycdn","date":"2017-10-05 17:40:06"},"1.0.6":{"tag":"1.0.6","author":"keycdn","date":"2017-11-28 12:15:58"},"1.0.7":{"tag":"1.0.7","author":"keycdn","date":"2018-03-02 10:28:17"},"1.0.8":{"tag":"1.0.8","author":"keycdn","date":"2018-08-20 08:47:45"},"1.0.9":{"tag":"1.0.9","author":"keycdn","date":"2019-05-07 16:21:37"},"2.0.0":{"tag":"2.0.0","author":"keycdn","date":"2021-02-10 16:28:15"},"2.0.1":{"tag":"2.0.1","author":"keycdn","date":"2021-02-19 14:39:59"},"2.0.2":{"tag":"2.0.2","author":"keycdn","date":"2021-02-19 17:02:25"},"2.0.3":{"tag":"2.0.3","author":"keycdn","date":"2021-03-22 18:18:15"},"2.0.4":{"tag":"2.0.4","author":"keycdn","date":"2021-07-21 09:07:07"},"2.0.5":{"tag":"2.0.5","author":"keycdn","date":"2022-05-26 08:17:35"},"2.0.6":{"tag":"2.0.6","author":"keycdn","date":"2023-12-15 11:07:08"},"2.0.7":{"tag":"2.0.7","author":"keycdn","date":"2024-01-18 08:00:41"},"2.0.8":{"tag":"2.0.8","author":"keycdn","date":"2026-03-02 09:05:53"}},"upgrade_notice":[],"ratings":{"1":10,"2":1,"3":1,"4":0,"5":39},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":2472538,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":2472538,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":2472538,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":2472538,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0.7","1.0.8","1.0.9","2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":2472538,"resolution":"1","location":"assets","locale":""}},"screenshots":{"1":"CDN Enabler settings page"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[3863,3864,10536],"plugin_category":[59],"plugin_contributors":[78996],"plugin_business_model":[],"class_list":["post-37708","plugin","type-plugin","status-publish","hentry","plugin_tags-cdn","plugin_tags-content-delivery-network","plugin_tags-content-distribution-network","plugin_category-utilities-and-tools","plugin_contributors-keycdn","plugin_committers-keycdn"],"banners":{"banner":"https:\/\/ps.w.org\/cdn-enabler\/assets\/banner-772x250.png?rev=2472538","banner_2x":"https:\/\/ps.w.org\/cdn-enabler\/assets\/banner-1544x500.png?rev=2472538","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/cdn-enabler\/assets\/icon-128x128.png?rev=2472538","icon_2x":"https:\/\/ps.w.org\/cdn-enabler\/assets\/icon-256x256.png?rev=2472538","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/cdn-enabler\/assets\/screenshot-1.png?rev=2472538","caption":"CDN Enabler settings page"}],"raw_content":"<!--section=description-->\n<p>CDN Enabler is a simple and easy to use WordPress plugin that rewrites URLs, such as those for CSS, JavaScript, and images, to be served by a content delivery network (CDN). This helps improve site performance, reliability, and scalability by offloading the majority of traffic to a CDN.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Fast and efficient rewrite engine<\/li>\n<li>Easy cache purging (when a <a href=\"https:\/\/www.keycdn.com\">KeyCDN<\/a> account is connected)<\/li>\n<li>Include URLs in the rewrite by file extensions<\/li>\n<li>Exclude URLs in the rewrite by strings<\/li>\n<li>WordPress multisite network support<\/li>\n<li>WordPress REST API support<\/li>\n<li>Works perfectly with <a href=\"https:\/\/wordpress.org\/plugins\/cache-enabler\/\">Cache Enabler<\/a><\/li>\n<\/ul>\n\n<h4>How does the rewriting work?<\/h4>\n\n<p>CDN Enabler captures page contents and rewrites URLs to be served by the designated CDN.<\/p>\n\n<h4>Documentation<\/h4>\n\n<ul>\n<li><a href=\"https:\/\/www.keycdn.com\/support\/wordpress-cdn-enabler-plugin#installation\">Installation<\/a><\/li>\n<li><a href=\"https:\/\/www.keycdn.com\/support\/wordpress-cdn-enabler-plugin#settings\">Settings<\/a><\/li>\n<li><a href=\"https:\/\/www.keycdn.com\/support\/wordpress-cdn-enabler-plugin#hooks\">Hooks<\/a><\/li>\n<li><a href=\"https:\/\/www.keycdn.com\/support\/wordpress-cdn-enabler-plugin#wp-cli\">WP-CLI<\/a><\/li>\n<li><a href=\"https:\/\/www.keycdn.com\/support\/wordpress-cdn-enabler-plugin#faq\">FAQ<\/a><\/li>\n<\/ul>\n\n<h4>Want to help?<\/h4>\n\n<ul>\n<li>Want to file a bug, contribute some code, or improve translations? Excellent! Check out our <a href=\"https:\/\/github.com\/keycdn\/cdn-enabler\/issues\">GitHub issues<\/a> or <a href=\"https:\/\/translate.wordpress.org\/projects\/wp-plugins\/cdn-enabler\/\">translations<\/a>.<\/li>\n<\/ul>\n\n<h4>Maintainer<\/h4>\n\n<ul>\n<li><a href=\"https:\/\/www.keycdn.com\">KeyCDN<\/a><\/li>\n<\/ul>\n\n<!--section=changelog-->\n<h4>2.0.8<\/h4>\n\n<ul>\n<li>Fix self class handling<\/li>\n<\/ul>\n\n<h4>2.0.7<\/h4>\n\n<ul>\n<li>PHP 8.2 compatibility<\/li>\n<\/ul>\n\n<h4>2.0.6<\/h4>\n\n<ul>\n<li>WordPress 6.1 compatibility<\/li>\n<\/ul>\n\n<h4>2.0.5<\/h4>\n\n<ul>\n<li>Add server input sanitization<\/li>\n<\/ul>\n\n<h4>2.0.4<\/h4>\n\n<ul>\n<li>Update configuration validation to include the Site Address (URL) as an HTTP <code>Referer<\/code> (#42)<\/li>\n<li>Update URL matcher in rewriter to match URLs that are in escaped JSON format (#41)<\/li>\n<li>Update CDN hostname validation to trim surrounding whitespace characters (#40)<\/li>\n<\/ul>\n\n<h4>2.0.3<\/h4>\n\n<ul>\n<li>Update output buffer handling (#29)<\/li>\n<li>Fix purge cache request handling (#31)<\/li>\n<\/ul>\n\n<h4>2.0.2<\/h4>\n\n<ul>\n<li>Update URL matcher in rewriter (#28)<\/li>\n<li>Update full URL rewrite (#28)<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Update URL matcher in rewriter (#25)<\/li>\n<li>Update settings conversion (#26)<\/li>\n<li>Add <code>cdn_enabler_exclude_admin<\/code>, <code>cdn_enabler_contents_before_rewrite<\/code>, and <code>cdn_enabler_contents_after_rewrite<\/code> filter hooks (#27)<\/li>\n<li>Fix configuration validation for installations in a subdirectory (#27)<\/li>\n<li>Remove <code>cdn_enabler_page_contents_before_rewrite<\/code> filter hook in favor of replacement (#27)<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Update output buffer timing to start earlier on the <code>setup_theme<\/code> hook instead of the <code>template_redirect<\/code> hook (#23)<\/li>\n<li>Update settings (#23)<\/li>\n<li>Update requirements check (#23)<\/li>\n<li>Update purge CDN cache handling (#23)<\/li>\n<li>Add new rewrite engine (#23)<\/li>\n<li>Add WP-CLI cache purging (#23)<\/li>\n<li>Add configuration validation (#23)<\/li>\n<li>Add <code>cdn_enabler_user_can_purge_cache<\/code>, <code>cdn_enabler_page_contents_before_rewrite<\/code>, <code>cdn_enabler_bypass_rewrite<\/code>, <code>cdn_enabler_site_hostnames<\/code>, and <code>cdn_enabler_rewrite_relative_urls<\/code> filter hooks (#23)<\/li>\n<li>Fix requirement notices being shown to all users (#23)<\/li>\n<li>Fix rewriting limitations (#23)<\/li>\n<li>Deprecate <code>user_can_clear_cache<\/code> filter hook in favor of replacement (#23)<\/li>\n<\/ul>\n\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>Rewrite URLs filtering the_content so that rendered HTML in REST API use CDN<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Purge CDN redirects to admin dashboard to avoid error messages<\/li>\n<li>Better error messages<\/li>\n<li>Do not display nag notice when KeyCDN API credentials are set<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Minor bug fixes (pass-by-reference)<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Minor bug fixes<\/li>\n<li>Improved CDN purging<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Multiprotocol CDN rewriting<\/li>\n<li>Add purging through KeyCDN API<\/li>\n<li>Don't rewrite if in admin preview mode<\/li>\n<li>Rewrite to HTTPS if enabled and client connects through HTTP<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Removed unused code<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Improved exclusions for directories and extensions<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Switched from siteurl to home (e.g. for bedrock support)<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>First major release<\/li>\n<li>Fixed warnings<\/li>\n<\/ul>\n\n<h4>0.0.1<\/h4>\n\n<ul>\n<li>First release<\/li>\n<\/ul>","raw_excerpt":"A content delivery network (CDN) integration plugin for WordPress that rewrites URLs, like for CSS, JavaScript, and images, to be served by a CDN.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/37708","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=37708"}],"author":[{"embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/keycdn"}],"wp:attachment":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=37708"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=37708"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=37708"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=37708"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=37708"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=37708"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}