Extension list

Skip to main content

List of all our extensions

Create an account

JP Joom2Static


Article Index

JP Joom2Static is a powerful Joomla component developed by JPro Studio that converts your dynamic Joomla website into a complete static HTML website.

You can continue using Joomla as your content management system while publishing a lightweight static version of the frontend. The generated website can be served without Joomla, PHP processing, or database queries on the destination server.

JP Joom2Static supports multilingual Joomla websites, category layouts, flexible HTML conversion modes, incremental generation, single-page export, image optimization, CSS and JavaScript optimization, webhook automation, live generation progress, and automatic deployment to FTP, Netlify, AWS S3 compatible storage, and GitHub Pages.


Why use JP Joom2Static?

JP Joom2Static converts your Joomla frontend into static HTML files. Publishing your website as static HTML provides several advantages:

  • Faster page loading: Static files can be served directly without repeatedly executing Joomla, PHP, extensions, templates, and database queries.
  • Reduced server requirements: The published static site requires significantly fewer server resources.
  • Improved frontend security: The public static website does not require the Joomla administrator or Joomla database to be exposed on the destination server.
  • Flexible hosting: Static websites can be hosted on traditional web hosting, FTP servers, Netlify, GitHub Pages, AWS S3, Wasabi, and other S3-compatible platforms.
  • Better scalability: Static HTML files can handle high traffic efficiently because pages do not require database processing for every visitor.
  • Automation ready: Webhook support makes it possible to integrate static generation with external applications and CI/CD workflows.

Who can use JP Joom2Static?

  • Joomla website owners
  • Web agencies
  • Joomla developers
  • Digital marketers
  • Corporate websites
  • Documentation websites
  • Landing pages
  • Multilingual Joomla websites
  • High-traffic websites
  • Security-conscious website owners
  • Teams using automated or CI/CD publishing workflows

What's New in JP Joom2Static?

HTML Conversion Mode

JP Joom2Static now provides two different methods for discovering and converting Joomla pages.

  • Selected Menus (Default): Generates static pages from the Joomla menu types selected in the configuration.
  • Full Site Crawler: Automatically discovers and converts reachable internal pages across the website.

The Full Site Crawler is useful for larger Joomla websites where manually maintaining menu-based page selections is not practical.

Live Generation Progress

Static generation now displays real-time progress inside an AJAX-powered modal window.

During the conversion process, JP Joom2Static displays:

  • Current generation step
  • Processed URLs
  • Total URLs
  • Completion percentage
  • Currently processed URL
  • Successful conversions
  • Failed conversions

When generation is completed, a final summary is displayed together with an option to view the generated HTML output.

Incremental Export

Incremental Export allows JP Joom2Static to rebuild only pages that have changed since the previous static generation run.

This can significantly reduce generation time on larger websites that receive frequent content updates.

Single Page Export

A specific Joomla page can now be regenerated without rebuilding the complete website.

For example:

/news/article-alias

Enter the required path into the Single Page Export field and click Export Single Page.

Native PHP GD Image Optimization

Images can now be optimized directly on the Joomla server using native PHP GD functions.

This provides an alternative to the TinyPNG API and includes an adjustable image quality setting from 1 to 100.

Standalone Webhook Trigger

A standalone webhook.php endpoint allows external applications to securely start a complete static site export without requiring an interactive Joomla administrator login.

This feature can be used with:

  • GitHub Actions
  • CI/CD pipelines
  • External applications
  • Third-party webhook systems
  • Automated publishing workflows

New Deployment System

All deployment providers are now available from one consolidated Deployment section.

Supported deployment targets include:

  • Local output
  • FTP Server
  • Netlify
  • AWS S3
  • Wasabi / S3-compatible storage
  • GitHub Pages

The configuration automatically displays only the settings required for the selected deployment provider.

Improved GitHub Pages Deployment

GitHub repository parsing has been improved. JP Joom2Static can correctly extract the repository information even when a full GitHub repository URL is supplied, helping prevent deployment failures caused by incorrectly formatted repository values.

Improved CLI and Background Generation

The site URL context is now explicitly supplied during CLI execution, resolving the Uri::root() exception that could previously interrupt CLI or background exports.


How to Install JP Joom2Static

  1. Download the latest JP Joom2Static installation package from JPro Studio.
  2. Log in to your Joomla Administrator.
  3. Install the downloaded ZIP package using Joomla's Extensions installation interface.
  4. After successful installation, open Components → JP Joom2Static.

The JP Joom2Static dashboard provides access to static generation, component configuration, subscription status, documentation, support links, and deployment settings.

Download Key and Automatic Updates

JP Joom2Static uses a Download Key for extension updates.

The dashboard can display the following subscription states:

  • Action Required: A Download Key has not been configured.
  • Active: The configured Download Key is valid.
  • Invalid Key: The Download Key is invalid or expired.

Configure a valid Download Key to receive future JP Joom2Static updates through Joomla's extension update system.


JP Joom2Static Configuration

JP Joom2Static settings are grouped into logical configuration sections for static generation, optimization, security, automation, and deployment.

HTML Conversion Mode

Parameter: convert_html

Select how JP Joom2Static should discover pages for static conversion.

  • Selected Menus: Converts pages belonging to the configured Joomla menu types.
  • Full Site Crawler: Automatically discovers reachable internal pages across the website.

Selected Menus is the default mode. Menu replacement configuration fields are automatically hidden when Full Site Crawler is selected.

HTML Folder

Parameter: html_folder

Specify the local folder where the generated static website files will be stored.

The output folder can contain:

  • HTML files
  • Images
  • CSS files
  • JavaScript files
  • Other collected static resources

Incremental Export

Parameter: incremental_export

Available values:

  • No
  • Yes

When enabled, JP Joom2Static rebuilds pages that have changed since the previous generation run instead of unnecessarily rebuilding the complete website.

Single Page Export

Single Page Export is an on-demand generation feature rather than a saved configuration parameter.

Enter the URL path of the required Joomla page and click Export Single Page.

Example:

/blog/my-article


Menu Item Configuration

Menu configuration is used when Selected Menus is selected as the HTML Conversion Mode.

Menu Items Replacement

Parameter: menuitems

Select the primary Joomla menu type for each installed language.

Additional Menu Items Replacement 1

Parameter: menuitems2

Select an additional menu type for each language when required.

Additional Menu Items Replacement 2

Parameter: menuitems3

Select a second additional menu type.

Additional Menu Items Replacement 3

Parameter: menuitems4

Select a third additional menu type.

Additional Menu Items Replacement 4

Parameter: menuitems5

Select a fourth additional menu type.

These options provide support for websites using multiple Joomla menu structures and multilingual configurations.

CSS and JavaScript Optimization

Minify CSS and JS

Parameter: minify_js

Available values:

  • No
  • Yes

Enable this option to minify CSS and JavaScript resources during static-site generation.

Combine CSS and JS Files

Parameter: combine_js

Available values:

  • No
  • Yes

Enable this option when CSS files and JavaScript files should be combined during static-site processing.


Image Optimization

Image Optimization Method

Parameter: optimize_method

Available options:

  • None
  • Native PHP (GD)
  • TinyPNG API

The related configuration fields are automatically displayed according to the selected optimization method.

Native PHP (GD)

Select Native PHP (GD) to optimize supported images directly on your Joomla server using PHP GD functions.

Optimization Quality

Parameter: optimize_quality

Allowed range:

1 - 100

The default configuration value is 80.

Higher values preserve more image quality, while lower values can produce stronger compression.

TinyPNG API

Select TinyPNG API to optimize images using the TinyPNG service.

TinyPNG API Key

Parameter: tinykey

Enter your valid TinyPNG API Key. This field is displayed only when TinyPNG is selected as the Image Optimization Method.

Create Articles Within Category Menus

Parameter: force_catitems

Available values:

  • No
  • Yes

Enable this option when articles located inside Joomla category menu layouts should also be generated even if an individual article does not have its own associated Joomla menu item.


.htaccess Settings

Add .htaccess File

Parameter: htaccess

Available values:

  • No
  • Yes

Enable this option when an .htaccess file should be generated with the static website.

.htaccess Content

Parameter: htaccess_data

Enter the content that should be written to the generated .htaccess file.

This can be used for rewrite rules and other Apache directives required by your static website.

Search Engine Friendly URLs

Parameter: sefurl

Available values:

  • No
  • Yes

Enable this option when JP Joom2Static should use its Search Engine Friendly URL handling.

Important: The JP Joom2Static SEF URL option requires Add .htaccess file to be enabled.


Manual Image Inclusion

Include Files

Parameter: add_files

Some images or other files may be referenced dynamically by JavaScript and may therefore not be automatically discovered during normal page generation.

Add the required file paths manually to ensure they are included in the generated static website.

.htaccess Lock Details

If the source Joomla website is protected using HTTP authentication through .htaccess, JP Joom2Static can use authentication credentials while reading frontend pages.

Site HTACCESS Lock Enabled

Parameter: htaccess_lock

Available values:

  • No
  • Yes

HTACCESS Username

Parameter: htaccess_user

Enter the username required to access the protected Joomla frontend.

HTACCESS Password

Parameter: htaccess_pass

Enter the corresponding password.


Webhooks & REST API Triggers

JP Joom2Static provides automation endpoints that allow external systems to integrate with the static generation process.

Webhook Secret Token

Parameter: webhook_secret

The Webhook Secret Token protects the standalone static generation endpoint.

If a token has not already been configured, JP Joom2Static can generate a secure token automatically.

Keep this token private. Anyone with access to the complete webhook URL may be able to initiate the configured export process.

Webhook Trigger URL

JP Joom2Static automatically displays the webhook trigger URL.

The URL follows this structure:

https://your-domain.com/administrator/components/com_jp_joom2static/webhook.php?secret=YOUR_SECRET

This endpoint allows authorized external applications to trigger static-site generation without requiring an interactive Joomla administrator login.

REST API Status Endpoint

JP Joom2Static also provides a status endpoint using the following structure:

https://your-domain.com/index.php?option=com_jp_joom2static&task=api.status

This endpoint can be used by integrations to access the available JP Joom2Static API/status information.


Deployment

JP Joom2Static consolidates all remote publishing options into one Deployment section.

Target Host

Parameter: deploy_target

Available deployment targets:

  • None (Local only)
  • FTP Server
  • Netlify
  • AWS S3 / Wasabi / S3 Compatible
  • GitHub Pages

When a deployment target is selected, only the configuration fields associated with that provider are displayed.

None (Local only)

Select this option when the generated static website should remain in the configured local HTML Folder without automatic remote deployment.


FTP Deployment

Select FTP Server as the Target Host to automatically deploy the generated static website to a standard FTP server.

FTP Server

Parameter: ftp_server

Enter the FTP hostname or server IP address.

Example:

ftp.example.com

FTP Port

Parameter: ftp_port

Enter the FTP connection port. The default value is:

21

FTP Username

Parameter: ftp_username

Enter the username for the FTP account.

FTP Password

Parameter: ftp_password

Enter the password for the FTP account.

FTP Path

Parameter: ftp_path

Enter the remote FTP directory where the generated static website files should be uploaded.


Netlify Deployment

Select Netlify as the deployment target to publish the generated static website directly to a Netlify site.

Netlify Site ID

Parameter: netlify_site_id

Enter the unique Site ID of the destination Netlify site.

Netlify Personal Access Token

Parameter: netlify_auth_token

Enter a valid Netlify Personal Access Token with the permissions required to deploy to the selected site.

Treat this token as sensitive account information.


AWS S3 / Wasabi / S3-Compatible Deployment

Select AWS S3 / Wasabi / S3 Compatible when the generated website should be deployed to supported S3-style object storage.

S3 Bucket Name

Parameter: s3_bucket

Enter the destination bucket name.

S3 Region

Parameter: s3_region

Enter the region associated with the storage bucket.

The default configuration value is:

us-east-1

S3 Access Key

Parameter: s3_access_key

Enter the access key used to authenticate with the S3-compatible storage provider.

S3 Secret Key

Parameter: s3_secret_key

Enter the corresponding secret key.

S3 Endpoint

Configuration parameter: s3_endpoint

The component configuration includes an S3 Endpoint parameter for S3-compatible service configurations. In the supplied current configuration interface, this parameter is not displayed as a separate editable field.


GitHub Pages Deployment

Select GitHub Pages as the deployment target to publish the generated static website to a GitHub repository.

GitHub Repository

Parameter: github_repo

Specify the destination GitHub repository.

Example:

owner/my-static-site

JP Joom2Static also includes improved repository parsing so repository information can be extracted when a full GitHub repository URL is supplied.

GitHub Personal Access Token

Parameter: github_token

Enter a GitHub Personal Access Token with the required permissions to update the destination repository.

GitHub Branch

Parameter: github_branch

Enter the branch that should receive the generated static website.

The default configuration value is:

gh-pages


Generate Your Static Joomla Website

After completing the required configuration:

  1. Save the JP Joom2Static configuration.
  2. Click Generate Static HTML.
  3. JP Joom2Static initializes the generation process.
  4. The live progress modal displays the current conversion activity.
  5. Monitor processed URLs, total URLs, percentage, current URL, successful conversions, and failed conversions.
  6. When generation finishes, review the completion summary.
  7. Click View HTML to review the generated website.

For smaller content changes, consider using Single Page Export or Incremental Export instead of performing a complete site rebuild.

Recommended JP Joom2Static Workflow

  1. Configure the HTML Folder.
  2. Select Selected Menus or Full Site Crawler.
  3. Configure multilingual menu selections when using Selected Menus.
  4. Enable Incremental Export when appropriate.
  5. Configure CSS and JavaScript processing.
  6. Select an Image Optimization Method.
  7. Configure image optimization quality or the TinyPNG API Key when required.
  8. Configure .htaccess and SEF handling if required.
  9. Add manually referenced images or assets when necessary.
  10. Configure HTTP authentication when the source Joomla website is protected.
  11. Configure the Webhook Secret Token when external automation is required.
  12. Select the required Deployment Target.
  13. Enter the credentials required by the selected deployment provider.
  14. Save the configuration.
  15. Generate the static HTML website.
  16. Review the live generation results.

Configuration Parameter Reference

The following primary configuration parameters are used by JP Joom2Static:

ParameterDescription
downloadid Download/update identifier.
convert_html HTML Conversion Mode: Selected Menus or Full Site Crawler.
html_folder Local static HTML output folder.
incremental_export Enables incremental static generation.
menuitems Primary menu selection by Joomla language.
menuitems2 Additional menu selection 1.
menuitems3 Additional menu selection 2.
menuitems4 Additional menu selection 3.
menuitems5 Additional menu selection 4.
minify_js CSS and JavaScript minification.
combine_js CSS and JavaScript file combining.
optimize_method Image optimization method.
optimize_quality Native PHP GD image quality from 1 to 100.
tinykey TinyPNG API Key.
force_catitems Generates articles inside category menus when required.
htaccess Controls generation of the .htaccess file.
htaccess_data Content written to the generated .htaccess file.
sefurl JP Joom2Static Search Engine Friendly URL handling.
add_files Manually included static files.
htaccess_lock Enables source-site HTTP authentication.
htaccess_user Protected-site username.
htaccess_pass Protected-site password.
webhook_secret Security token used by the standalone webhook trigger.
deploy_target Selected remote deployment provider.
ftp_server FTP hostname or IP address.
ftp_port FTP connection port.
ftp_username FTP account username.
ftp_password FTP account password.
ftp_path Remote FTP destination directory.
netlify_site_id Netlify Site ID.
netlify_auth_token Netlify Personal Access Token.
s3_bucket S3 bucket name.
s3_region S3 storage region.
s3_access_key S3 access key.
s3_secret_key S3 secret key.
s3_endpoint S3-compatible endpoint configuration parameter.
github_repo GitHub destination repository.
github_token GitHub Personal Access Token.
github_branch GitHub deployment branch. Default: gh-pages.

Note: Single Page Export URL, Webhook Trigger URL, and REST API Status Endpoint are operational interface values rather than persistent configuration parameters.


Security Recommendations

JP Joom2Static can use credentials for external hosting and automation services. Keep all authentication details private.

Pay particular attention to the following values:

  • Webhook Secret Token
  • FTP Password
  • Netlify Personal Access Token
  • S3 Access Key
  • S3 Secret Key
  • GitHub Personal Access Token
  • .htaccess Username and Password

Do not include these credentials in public screenshots, documentation, support posts, frontend HTML, or public Git repositories.

If any credential is accidentally exposed, revoke or rotate it immediately through the corresponding service.


Conclusion

JP Joom2Static provides a complete workflow for managing website content with Joomla while publishing the frontend as fast, lightweight static HTML.

With Selected Menu conversion, Full Site Crawling, Incremental Export, Single Page Export, Native PHP GD image optimization, TinyPNG integration, real-time AJAX generation progress, webhook automation, REST API status access, FTP deployment, Netlify deployment, S3-compatible deployment, and GitHub Pages deployment, JP Joom2Static can support both simple Joomla websites and advanced automated static publishing workflows.

You continue creating and managing your content through Joomla while JP Joom2Static handles the conversion and deployment process for your static website.