PoP speeds up the the application by implementing cache on several locations.

Page caching

Most pages in the website are cached, and generated into a static .html file to speed-up a subsequent request to the same URL. The caching happens independently if the user is logged in or not. This can be done because these pages have been stripped of all user information related to the page (eg: has the user recommended it?), so that the response is always the same for all users. All user information related to the page is loaded on a subsequent, immediate request.

Only those pages which show user-specific information (such as “Edit my profile”, “My events”, etc) are not cached.

Settings caching

In addition to caching the HTML response, the website caches the settings for all similar posts. This way, upon requesting two posts belonging to the same post type (such as events), the second post will access the cached settings and need only retrieve the object data from the database.

Front-end template caching

PoP websites implement their layouts using Handlebars templates, which are cached by the browser. These templates generate the HTML in the front-end, allowing the server’s response to send only settings and object data, thus speeding up the communication between the client and server.

Front-end object database caching

All the object data brought to the front-end is not discarded, but it is kept under a javascript object. This way, it is possible to re-use it later on: if keeping track of the user’s session, PoP enables to not go to the server to fetch the data if it knows that the corresponding object has already been fetched earlier on, so that its data is already loaded in the client.

Sign up to our newsletter:

Welcome to the PoP framework!
Break the information monopoly

the PoP framework is open source software which aims to decentralize the content flow and break the information monopoly from large internet corporations. Read more.