Turn your WordPress REST API into a fast, edge-delivered data layer.
Smooth API Accelerator prepares your API responses for instant delivery through Smooth CDN. Instead of generating responses on every request, your data is pre-built, optimized, and served as static JSON files from the edge.
Connect your site once, select the endpoints you want, and let the plugin handle the rest.
Perfect for:
* Headless WordPress setups
* Mobile apps using WordPress as a backend
* Frontends built with React, Next.js, or other frameworks
* High-traffic APIs that need stable and fast responses
This plugin connects to Smooth CDN to create and manage the remote project used for JSON acceleration.
It communicates with Smooth CDN when you:
Unsync or Purge endpoints.Depending on the action, the plugin may send:
Smooth CDN service links:
blocks field generation for structured contentcontent field for lighter responseswp-jsonUnsync and Purge endpoints remove both local and CDN dataSingle endpoints are uploaded as one JSON file:
https://cdn.smoothcdn.com/<user-slug>/<project-slug>/wp/v2/pages/42.json
Collection endpoints are uploaded as:
https://cdn.smoothcdn.com/<user-slug>/<project-slug>/wp/v2/posts.json
https://cdn.smoothcdn.com/<user-slug>/<project-slug>/wp/v2/posts/page-1.json
https://cdn.smoothcdn.com/<user-slug>/<project-slug>/wp/v2/posts/page-2.json
The collection metadata file contains:
{
"per_page": 50,
"total_pages": 2,
"pages": [
"https://cdn.smoothcdn.com/<user-slug>/<project-slug>/wp/v2/posts/page-1.json",
"https://cdn.smoothcdn.com/<user-slug>/<project-slug>/wp/v2/posts/page-2.json"
]
}<h3>Settings overview</h3>Key settings that affect synced output:
Add blocks field adds a normalized blocks field when supported content is available.Remove content field is available only when Add blocks field is enabled and removes content after blocks is added.Protected assets uploads synced JSON files as protected Smooth CDN assets.Collection sync page size controls pagination for collection endpoints. Available values: 10, 25, 50, 100. Default: 50.Auto scan and sync controls how often WP-Cron runs automatic scan and sync.Changing output-affecting settings invalidates previous sync markers and queues a faster full scan + sync through WP-Cron.
Use scdn_api_accelerator_save_post_related_routes to add custom routes/templates that should be refreshed and synced after save_post.
Example:
add_filter( 'scdn_api_accelerator_save_post_related_routes', function( $rules, $post_id, $post ) {
$rules[] = 'product|route:/custom/v1/products/{post_id}';
$rules[] = 'product|template:/custom/v1/products';
$rules[] = [
'post_type' => 'page',
'route' => '/custom/v1/page-index',
];
return $rules;
}, 10, 3 );
Use scdn_api_accelerator_pre_send_json to adjust endpoint payload before upload.
Example:
add_filter( 'scdn_api_accelerator_pre_send_json', function( $data, $route, $context ) {
if ( '/wp/v2/posts' === $route && is_array( $data ) ) {
foreach ( $data as $index => $item ) {
if ( ! is_array( $item ) ) {
continue;
}
unset( $data[ $index ]['class_list'], $data[ $index ]['meta'] );
}
}
return $data;
}, 10, 3 );<h3>Maintenance</h3>`Unsync` removes selected endpoints from sync, deletes their CDN files, and returns them to detected state.
Purge endpoints removes all synced data from Smooth CDN and clears local state.<h3>License</h3>GPLv2 or later