Wordpress REST API Slow Response time

Overview: So the issue is a limitation of WordPress as of version 4.8. WordPress is designed to load plugins and themes and all of its core every REST API request. Here is the reason for the slow response time.

Solution: The only current solution is an ajax call to a file in your plugin and loads only part of the WordPress core. The code below is direct file access while still being able to use WordPress functions with fast response time.

//Tell WordPress to only load the basics
define('SHORTINIT',1);

//get path of wp-load.php and load it
require_once $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php';

// register global database
global $wpdb;

// return data selected from DB to user

Results: Response times are down to 100ms. That's a huge difference from 1069ms to 108ms.

Reference: https://deliciousbrains.com/wordpress-rest-api-vs-custom-request-handlers/

Last notes: The Wordpress REST API is very new, quite powerful and you should be using in most situations where response time is not an issue.


If response time is critical for your app, and you don't mind spending the time and effort, i would recommend creating your own entry point to retrieve the data you need. Baseline for this method is illustrated in the following article: https://medium.com/@yairlevy/wp-rest-api-too-slow-2da859f3cc93


I've just found this plugin -> https://wordpress.org/plugins/wp-rest-cache/

This is really time-saving plugin and tested on our live website.

Results: 1200ms went down for 50ms average.

Tags:

Php

Wordpress