JP Joom2Static
Article Index
- JP Joom2Static
- Why use JP Joom2Static?
- What's New in JP Joom2Static
- Installation
- General Configuration
- Menu and Asset Configuration
- Image Optimization
- .htaccess Settings
- Manual Files and Protected Sites
- Webhooks and REST API
- Deployment
- FTP Deployment
- Netlify Deployment
- AWS S3 Deployment
- GitHub Pages Deployment
- Generate Static HTML
- Configuration Parameter Reference
- Security Recommendations
- Conclusion
- All Pages
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
- Download the latest JP Joom2Static installation package from JPro Studio.
- Log in to your Joomla Administrator.
- Install the downloaded ZIP package using Joomla's Extensions installation interface.
- 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:
- Save the JP Joom2Static configuration.
- Click Generate Static HTML.
- JP Joom2Static initializes the generation process.
- The live progress modal displays the current conversion activity.
- Monitor processed URLs, total URLs, percentage, current URL, successful conversions, and failed conversions.
- When generation finishes, review the completion summary.
- 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
- Configure the HTML Folder.
- Select Selected Menus or Full Site Crawler.
- Configure multilingual menu selections when using Selected Menus.
- Enable Incremental Export when appropriate.
- Configure CSS and JavaScript processing.
- Select an Image Optimization Method.
- Configure image optimization quality or the TinyPNG API Key when required.
- Configure
.htaccessand SEF handling if required. - Add manually referenced images or assets when necessary.
- Configure HTTP authentication when the source Joomla website is protected.
- Configure the Webhook Secret Token when external automation is required.
- Select the required Deployment Target.
- Enter the credentials required by the selected deployment provider.
- Save the configuration.
- Generate the static HTML website.
- Review the live generation results.
Configuration Parameter Reference
The following primary configuration parameters are used by JP Joom2Static:
| Parameter | Description |
|---|---|
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.