{"id":308240,"date":"2026-05-07T08:41:08","date_gmt":"2026-05-07T08:41:08","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/smooth-cdn-connector\/"},"modified":"2026-06-03T13:50:10","modified_gmt":"2026-06-03T13:50:10","slug":"smooth-cdn-connector","status":"publish","type":"plugin","link":"https:\/\/tah.wordpress.org\/plugins\/smooth-cdn-connector\/","author":23457722,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.3","stable_tag":"1.2.3","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Smooth CDN Connector","header_author":"Smooth CDN","header_description":"Connect your WordPress media library with Smooth CDN and keep synced assets up to date.","assets_banners_color":"343846","last_updated":"2026-06-03 13:50:10","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/smoothcdn.com\/cdn-connector","header_author_uri":"https:\/\/smoothcdn.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":316,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"smoothcdn","date":"2026-05-07 08:40:34"},"1.0.1":{"tag":"1.0.1","author":"smoothcdn","date":"2026-05-07 08:49:06"},"1.0.2":{"tag":"1.0.2","author":"smoothcdn","date":"2026-05-07 08:54:40"},"1.0.3":{"tag":"1.0.3","author":"smoothcdn","date":"2026-05-07 09:01:36"},"1.0.4":{"tag":"1.0.4","author":"smoothcdn","date":"2026-05-07 09:16:44"},"1.0.5":{"tag":"1.0.5","author":"smoothcdn","date":"2026-05-14 09:33:58"},"1.0.6":{"tag":"1.0.6","author":"smoothcdn","date":"2026-05-15 12:22:21"},"1.1.0":{"tag":"1.1.0","author":"smoothcdn","date":"2026-05-18 08:24:01"},"1.1.1":{"tag":"1.1.1","author":"smoothcdn","date":"2026-05-18 09:00:48"},"1.2.0":{"tag":"1.2.0","author":"smoothcdn","date":"2026-05-27 10:41:35"},"1.2.1":{"tag":"1.2.1","author":"smoothcdn","date":"2026-05-27 11:39:09"},"1.2.2":{"tag":"1.2.2","author":"smoothcdn","date":"2026-05-27 13:56:43"},"1.2.3":{"tag":"1.2.3","author":"smoothcdn","date":"2026-06-03 13:50:10"}},"upgrade_notice":{"1.2.3":"<p>Maintenance update.<\/p>","1.2.2":"<p>Improves sync lock expiration handling.<\/p>","1.2.1":"<p>Hardens synchronization and unsync process handling.<\/p>","1.2.0":"<p>Adds a guided setup wizard for first-time plugin configuration and adjusted synchronization process.<\/p>","1.1.2":"<p>Improves restore asset filtering for existing media variants.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3525203,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3525203,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3525203,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.1.0","1.1.1","1.2.0","1.2.1","1.2.2","1.2.3"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[7626,3863,84,247],"plugin_category":[50,54,59],"plugin_contributors":[258115],"plugin_business_model":[],"class_list":["post-308240","plugin","type-plugin","status-publish","hentry","plugin_tags-assets","plugin_tags-cdn","plugin_tags-media","plugin_tags-performance","plugin_category-media","plugin_category-security-and-spam-protection","plugin_category-utilities-and-tools","plugin_contributors-smoothcdn","plugin_committers-smoothcdn"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/smooth-cdn-connector\/assets\/icon-128x128.png?rev=3525203","icon_2x":"https:\/\/ps.w.org\/smooth-cdn-connector\/assets\/icon-256x256.png?rev=3525203","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Smooth CDN Connector helps you connect WordPress media and site assets to Smooth CDN without changing your publishing workflow.<\/p>\n\n<p>Use it to sync selected Media Library files, serve assets through CDN URLs, offload media from local storage, restore files when needed, and manage protected asset delivery directly from wp-admin.<\/p>\n\n<p>The plugin creates or reuses a Smooth CDN connector project for your WordPress site, keeps a local record of asset sync state, and gives you clear admin views for media items, codebase assets, access management, and cleanup workflows.<\/p>\n\n<p>Smooth CDN Connector is focused on real WordPress files and assets: uploads, generated image sizes, selected media files, and supported JS\/CSS assets detected from active themes and plugins.<\/p>\n\n<p>This plugin does not scan REST API endpoints or generate JSON snapshots. For REST API acceleration, use Smooth API Accelerator.<\/p>\n\n<h3>Why use Smooth CDN Connector?<\/h3>\n\n<ul>\n<li>\ud83d\ude80 <strong>CDN delivery for WordPress assets<\/strong> \u2013 serve selected media and site assets through Smooth CDN<\/li>\n<li>\ud83d\uddbc\ufe0f <strong>Media Library workflow<\/strong> \u2013 manage sync state directly from wp-admin<\/li>\n<li>\ud83d\udd01 <strong>URL rewriting<\/strong> \u2013 rewrite uploaded media and detected JS\/CSS asset URLs to Smooth CDN<\/li>\n<li>\ud83d\udce6 <strong>Media offload<\/strong> \u2013 move synced media away from local storage while keeping restore flows available<\/li>\n<li>\ud83d\udd12 <strong>Protected asset delivery<\/strong> \u2013 protect selected files and grant time-limited access when needed<\/li>\n<li>\ud83e\uddf9 <strong>Unused asset review<\/strong> \u2013 monitor synced assets and identify files that may no longer be used<\/li>\n<li>\ud83e\udde9 <strong>Controlled rollout<\/strong> \u2013 choose which assets stay disabled, sync to CDN, or use the enabled-assets workflow<\/li>\n<\/ul>\n\n<p>Useful for:\n* WordPress sites with growing media libraries\n* Agencies and developers managing client websites\n* Content-heavy sites that want a cleaner asset delivery workflow\n* Projects that need CDN delivery without rebuilding the whole site architecture\n* Sites that want to offload selected media from local WordPress storage\n* Teams that need protected delivery for selected files\n* WordPress installations that want better control over synced and unused assets<\/p>\n\n<h3>How it works<\/h3>\n\n<ol>\n<li>Connect your WordPress site to Smooth CDN using account mode or guest mode<\/li>\n<li>The plugin creates or reuses a connector project for the current site<\/li>\n<li>Smooth CDN Connector indexes WordPress media items and detects supported JS\/CSS assets from active themes and plugins<\/li>\n<li>You choose which assets should stay disabled, sync to Smooth CDN, or be managed through the enabled-assets workflow<\/li>\n<li>Synced media files, generated image sizes, and supported codebase assets are uploaded to Smooth CDN<\/li>\n<li>Depending on your settings, assets can stay local, use rewritten Smooth CDN URLs, or be offloaded from local storage<\/li>\n<li>Offloaded media can be restored later from Smooth CDN when needed<\/li>\n<\/ol>\n\n<h3>Features<\/h3>\n\n<ul>\n<li>Smooth CDN account and guest authentication flows<\/li>\n<li>Automatic connector project creation with type <code>cdn_connector<\/code><\/li>\n<li>Media Library based asset management instead of endpoint scanning<\/li>\n<li>Indexing for WordPress media files and generated image sizes<\/li>\n<li>Detection of supported codebase JS\/CSS assets from active themes and plugins<\/li>\n<li>Manual and scheduled sync for enabled assets<\/li>\n<li>Automatic re-sync when attachments change<\/li>\n<li>URL rewriting for uploaded media and detected JS\/CSS assets<\/li>\n<li>Offload mode for synced Media Library files<\/li>\n<li>Restore flow for offloaded media assets<\/li>\n<li>Protected asset delivery with access grant and revoke flows<\/li>\n<li>Unused assets view based on synced assets cross-checked against Smooth CDN usage logs<\/li>\n<li>Access management for protected files<\/li>\n<li>Maintenance tools for sync, unsync, restore, and cleanup workflows<\/li>\n<\/ul>\n\n<h3>Settings overview<\/h3>\n\n<p>Key settings that affect sync behavior:<\/p>\n\n<ul>\n<li>Guest connection lets you authenticate the connector without choosing an existing Smooth CDN account session.<\/li>\n<li><code>Auto sync frequency<\/code> controls how often scheduled WP-Cron sync runs. Available values: <code>hourly<\/code>, <code>daily<\/code>, <code>weekly<\/code>.<\/li>\n<li><code>Asset mode<\/code> controls whether synced assets stay local, use rewritten URLs, or whether synced Media Library files are offloaded after upload.<\/li>\n<li><code>Custom subdomain<\/code> lets you use your Smooth CDN custom subdomain when the connected plan supports it.<\/li>\n<\/ul>\n\n<p>When <code>Asset mode<\/code> is changed to offload, the plugin syncs enabled media and can remove local Media Library files after upload. When offload is turned off, the plugin restores local media files from Smooth CDN.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to Smooth CDN to authenticate the site, create or reuse a connector project, upload and delete synced media assets, manage protected asset access, and optionally restore offloaded files from Smooth CDN URLs.<\/p>\n\n<p>When you connect the plugin, it sends your site domain to Smooth CDN so the service can authenticate the session and create or reuse the related connector project.<\/p>\n\n<p>When you sync media, it sends selected media files and related asset metadata such as filenames, paths, hashes, protection settings, and project identifiers to Smooth CDN so the assets can be uploaded, updated, delivered, and managed.<\/p>\n\n<p>When you revoke, grant, or inspect protected asset access, it sends the relevant project identifiers, access identifiers, recipient email address, selected asset paths, and optional expiration date to Smooth CDN to manage protected delivery.<\/p>\n\n<p>When local offload restore is used, the plugin downloads the previously synced asset file from its Smooth CDN delivery URL back to your WordPress uploads directory.<\/p>\n\n<p>This service is provided by Smooth CDN:\nTerms of Service: https:\/\/smoothcdn.com\/terms\nPrivacy Policy: https:\/\/smoothcdn.com\/privacy<\/p>\n\n<h3>License<\/h3>\n\n<p>GPLv2 or later<\/p>\n\n<!--section=changelog-->\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Updated plugin catalogue description.<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Improved sync lock expiration handling.<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Hardened synchronization and unsync process handling.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added a guided setup wizard for first-time plugin configuration.<\/li>\n<li>Adjusted synchronization process.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Small bug fixed.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Improved restore asset filtering for media variants that still belong to existing WordPress attachments.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added configurable CDN deletion sync for Media Library deletions.<\/li>\n<li>Added a Restore assets view for CDN assets missing from the WordPress Media Library.<\/li>\n<li>Improved restore handling for original asset downloads and image metadata.<\/li>\n<li>Improved media offload handling for WordPress original and scaled image files.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Adjusted restore for offloaded protected assets.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Removed project level tokens.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Fixed SVG bug.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Added support for uploading additional video file formats.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fixed the Unused assets list so unsynced assets are no longer shown there.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Refreshed the plugin readme to reflect the current feature set and positioning.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Sync, offload, protect, and deliver WordPress media and site assets through Smooth CDN.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/308240","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=308240"}],"author":[{"embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/smoothcdn"}],"wp:attachment":[{"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=308240"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=308240"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=308240"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=308240"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=308240"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=308240"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}