Documentation

Performance

Overview

Performance of Page Generator Pro’s generation routines depends on several factors including, but not limited to:

  • Server Resources
  • PHP Version
  • Plugins Activated
  • Dynamic Elements
  • Number of Keywords and Terms
  • Generate System (Browser, CLI)

Server Configuration

For good performance, ensure your hosting meets the minimum Hosting Requirements.

For best performance, ensure your hosting is a VPS running minimum versions as follows:

  • WordPress 6.2+
  • nginx 1.23.0+
  • PHP 8.1+
  • MySQL 8.0.16+ / MariaDB 10+
  • 2 vCPUs
  • 4GB RAM
  • WP-CLI 2.7+

Plugins Activated

For each generated Page, WordPress effectively loads its Theme and active Plugins.  However, many of these Plugins don’t need to be active for the purpose of generation.

Enabling the Performance Addon will safely deactivate unnecessary Plugins whilst generation takes place.  This does not impact site visitors or other WordPress Users; activated Plugins will load for them.

When using any Page Generator Pro Dynamic Elements, excluding Related Links, or the Featured Image functionality, and the element/image is configured to request data from a third party source (such as Wikipedia, Yelp, Youtube, Pexels or Pixabay), the Generation process may take a few seconds or longer for each Page.  This is because Page Generator Pro converts the dynamic output into actual HTML output, querying the third party services to insert the actual contents into each Page.

This ensures that the resulting Page does not dynamically query these third party services every time your site visitor views the generated Page. Doing so would result in the page taking a long time to load for every single visitor (and, in turn, affect your rankings on SERPs).

By taking a one time performance hit on slower page generation, the performance of your generated Pages for SERPs and all site visitors is dramatically increased, ensuring better rankings.

The Related Links shortcode does not convert dynamic output into actual HTML.  This is by design, to ensure that it will perform live queries on each page load, resulting in the correct Related Links being displayed.

Orphaned Metadata

Detection and ignoring of Orphaned Metadata is available in page Generator Pro 3.3.7, releasing Thursday August 12th 2021 23:59 UTC

Orphaned (or ‘old’) Post Metadata (commonly used by Page Builders, SEO Plugins, Schema Plugins etc) can remain in a Content Group if third party Themes or Plugins have not deleted their data when deactivated. For example:

  • Used a Page Builder, deactivated it and then used a different Page Builder,
  • Changed the SEO Plugin used on the site,
  • Imported a Content Group from a Page that contains orphaned metadata

As this data is not controlled by Page Generator Pro, it will attempt to ignore orphaned metadata based on the currently active Theme and Plugins.  This may increase generation time slightly, however ensures:

  • The correct detection of Keywords
  • Only the required metadata (e.g. Page Builder / SEO / Schema metadata) is copied to the Generated Pages, reducing the amount of data stored in the WordPress database.

However, there may be some third party Themes and Plugins where this detection is not possible.  In these cases, Page Generator Pro would copy this orphaned (old) metadata to the Generated Pages, and this data might be unnecessary for correct working functionality of the site.  It’s therefore recommended (for both performance and generation times) that you:

  • Reactivate the old Theme/Plugin holding the data
  • Edit the existing Content Group
  • Remove data from e.g. Page Builder / SEO Plugin as necessary
  • Save the Content Group
  • Deactivate the old Theme/Plugin
  • Delete existing Generated Pages
  • Generate Pages

Example Performance: Basic Content Group

This is purely a guide, and not to be used as a benchmark or comparison.  Your performance will vary, due to a variety of factors including server performance, connection speed, Plugins installed, number of third party dynamic elements used, spintax etc.  Whilst we are happy to investigate edge cases, please don’t use the figures quoted here as a comparison or expectation.

Server Configuration

ItemSpecification
Hosting ProviderDigitalOcean
vCPUs2
Memory4GB
SSD20GB
Web Servernginx 1.23.0
PHP8.1.9
MySQL8.0.16
WordPress6.2
Active PluginsClassic Editor
Page Generator Pro
Active Theme2023 Theme

Keyword Configuration

A total of 57,352 Pages will be generated.

KeywordTerms
{location}All Cities and Counties in TN, USA (7,169), generated from the Generate Locations functionality
{service}Bathroom Design and Planning
Bathroom Installations
Bathroom Remodelling
Bathroom Plumbing
Bathroom Shower Installation
Bathroom Bath Installation
Bathroom Flooring Installation
Bathroom Underfloor Heating Installation

Content Group Configuration

ItemValue
Title{service} in {location(city_name)}, {location(county_name)}
ContentSee https://gist.githubusercontent.com/n7studios/8e8fe6074d325b559ec4962a055b102d/raw/b4f81e7060d06ade8e7c51def60c83a61dc3891a/page-generator-pro-tutorial-content.htm
Permalink{service}-{location(city_name)}-{location(county_name)}
Post TypePage
StatusPublish
DateNow
MethodAll
Spin ContentNo
OverwriteYes, if existing Page generated by this Group
Overwrite Sections(enable all choices)

Results: Generate via Browser

Page Generator Pro: Performance: Generate via Browser

MetricValue
Average Time per Generated Page0.033 seconds
Total Time to Generate all Pages1,892 seconds (approx. 32 minutes)
Total Pages Generated57,352
Memory Usage17MB
Peak Memory Usage30MB

Results: Generate via WP-CLI

Page Generator Pro: Performance: Generate via CLI

MetricValue
Average Time per Generated Page0.024 seconds
Total Time to Generate all Pages1,376 seconds (approx. 23 minutes)
Total Pages Generated57,352
Memory Usage28MB
Peak Memory Usage45MB

Example Performance: Content Group with Spintax

Adding to the Basic Content Group example above, the following changes are made:

Content Group Configuration

ItemValue
ContentSee https://gist.githubusercontent.com/n7studios/8e8fe6074d325b559ec4962a055b102d/raw/9b71d9976b67b602f00787d36d1dfbcb7bfb26fe/page-generator-pro-tutorial-content-edited-2.htm

Results: Generate via Browser

Page Generator Pro: Performance: Generate via Browser with Spintax

MetricValue
Average Time per Generated Page0.033 seconds
Total Time to Generate all Pages1,892 seconds (approx. 32 minutes)
Total Pages Generated57,352
Memory Usage17MB
Peak Memory Usage30MB

Results: Generate via WP-CLI

Page Generator Pro: Performance: Generate via CLI with Spintax

MetricValue
Average Time per Generated Page0.024 seconds
Total Time to Generate all Pages1,376 seconds (approx. 23 minutes)
Total Pages Generated57,352
Memory Usage28MB
Peak Memory Usage45MB

Example Performance: Content Group with Spintax and Dynamic Elements

Adding to the Spintax Content Group example above, the following changes are made:

Content Group Configuration

ItemValue
ContentAdded Pixabay Image and Google Map. See https://gist.githubusercontent.com/n7studios/8e8fe6074d325b559ec4962a055b102d/raw/9b71d9976b67b602f00787d36d1dfbcb7bfb26fe/page-generator-pro-tutorial-content-edited-3.htm

Results: Generate via Browser

Page Generator Pro: Performance: Generate via Browser with Pixabay Dynamic Element

MetricValue
Average Time per Generated Page0.68 seconds
Total Time to Generate all Pages39,000 seconds (approx. 10.8 hours)
Total Pages Generated57,352
Memory Usage17MB
Peak Memory Usage30MB
This is expected performance, as the Plugin has to query Pixabay for an image based on the {service}, download that image, store it in the Media Library, optimize it and output it to the content. You could use your own library of images, storing them in the Media Library and then use the Media Library Dynamic Element for faster performance.

Results: Generate via WP-CLI

Page Generator Pro: Performance: Generate via CLI with Pixabay Dynamic Element

MetricValue
Average Time per Generated Page0.6 seconds
Total Time to Generate all Pages34,411 seconds (approx. 9.6 hours)
Total Pages Generated57,352
Memory Usage28MB
Peak Memory Usage45MB
This is expected performance, as the Plugin has to query Pixabay for an image based on the {service}, download that image, store it in the Media Library, optimize it and output it to the content. You could use your own library of images, storing them in the Media Library and then use the Media Library Dynamic Element for faster performance.

Example Performance: Content Group using Spintax, Elementor Page Builder

Adding to the Spintax Content Group example above, the following changes are made:

Content Group Configuration

ItemValue
PluginsInstalled and activated Elementor Page Builder 3.13
ContentAdded to a Text Editor widget in Elementor. See https://gist.githubusercontent.com/n7studios/8e8fe6074d325b559ec4962a055b102d/raw/9b71d9976b67b602f00787d36d1dfbcb7bfb26fe/page-generator-pro-tutorial-content-edited-2.htm

Results: Generate via Browser

Page Generator Pro: Performance: Generate via Browser with Elementor

MetricValue
Average Time per Generated Page0.045 seconds
Total Time to Generate all Pages2,580 seconds (approx. 43 minutes)
Total Pages Generated57,352
Memory Usage18MB
Peak Memory Usage30MB

Results: Generate via WP-CLI

Page Generator Pro: Performance: Generate via CLI with Elementor

MetricValue
Average Time per Generated Page0.054 seconds
Total Time to Generate all Pages3,097 seconds (approx. 51 minutes)
Total Pages Generated57,352
Memory Usage29MB
Peak Memory Usage46MB

Example Performance: Content Group using Spintax, Elementor Page Builder with Performance Addon

Adding to the Spintax, Elementor Page Builder Content Group example above, the following changes are made:

Content Group Configuration

ItemValue
Page Generator Pro > Settings > GenerateUse Performance Addon = Yes
Performance Addon: Load Plugins = Elementor
Due to performance improvements in PHP 8.1+ and WordPress 6.2+, the Use Performance Addon setting provides no improvement. It may be useful on older PHP and WordPress versions, or sites with a large number of activated plugins.

Results: Generate via Browser

Page Generator Pro: Performance: Generate via Browser with Performance Addon

MetricValue
Average Time per Generated Page0.045 seconds
Total Time to Generate all Pages2,580 seconds (approx. 43 minutes)
Total Pages Generated57,352
Memory Usage18MB
Peak Memory Usage30MB

Results: Generate via WP-CLI

Page Generator Pro: Performance: Generate via CLI with Performance Addon

MetricValue
Average Time per Generated Page0.054 seconds
Total Time to Generate all Pages3,097 seconds (approx. 51 minutes)
Total Pages Generated57,352
Memory Usage29MB
Peak Memory Usage46MB

 


Published

Last Updated