We use cookies to improve your experience. No personal information is gathered and we don't serve ads. Cookies Policy.

ExpressionEngine Logo ExpressionEngine
Features Pricing Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University
Log In or Sign Up
Log In Sign Up
ExpressionEngine Logo
Features Pro new Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University Blog
  • Home
  • Add-Ons
default app icon

Static Site Builder

By Blair Liikala
Performance
Free

Description

Create a flat static ExpressionEngine site using the site and templates you already have.

Overview

Make a static copy of your ExpressionEngine website. The addon crawls your site, starting with the homepage, or a location of your choosing, and creates a copy of what a user would see and all the files associated with it so it can be used to host a blazing fast, cheep and secure file-based static site.

Features include - Customized paths. - A full access log (that includes broken links). - Rewrite settings. - The option to rebuild on an entry change, with a queue system.

Who is this for?

Get the advantages of a headless site like speed, simplicity and security, but continue to use the EE templates and tagging you are used to. Or how about needing to take down EE but not the entire site?

The add-on is best for smaller and simpler website builds where there may be a higher upfront time or costs for switching to a more comprehensive builder. Great for marketing pages, and can include 3rd party resources (like Google Maps embed or YouTube), and even high page count blogs. Static files can be hosted on the same server, or on a less expensive CDN (S3+Cloudfront, Cloudflare, Vercel..etc). Like most headless sites, because the content is being delivered from files not dependent on ExpressionEngine for every request, EE can be freely upgraded, or taken offline when not in use.

The customizations in the add-on have to be fairly limited. It simply makes a copy of what is there with some adjustments and general rewrites. For more complex headless builds, like sites with a lot of dynamic content, or async calls to templates, it may be better to use a builder like Astro and GraphQL or an add-on like Bones.

System Requirements

PHP v8.4 or higher, and EE +7. Note that the php version is higher than ExpressionEngine’s version requirement, and is due to specific awesome functionality in php in the newer version.

This also runs within the limitations of php. It will not crawl forever and on really big (many thousands of pages), or really slow sites (+2sec load times) it may not complete in time.

Simple Use-case

ExpressionEngine can be hosted at a subdomain like ee.mysite.com/index.php. The production site is hosted at the top level domain as a static build mysite.com/index.html. Then build the site into that top level domain. Whenever changes happen in ExpressionEngine they can be previewed dynamically at something like ee.mysite.com/index.php/blog/5 and when proofed and ready, the addon can rebuild the static site.

Considerations

Static sites will not update any dynamically-generated content since no PHP is being run. For example, the site can not process a {if logged_in}foobar{/if} block. JavaScript will continue to work and can query other APIs to get data.

Static sites also need special handling for forms. A form, like a contact form, sends data to ExpressionEngine. EE requires the use of a token (csrf) generated at the time the page is created, and will not work much past the time the static site is created. It is better to use a 3rd party form service for the time being…

Additional Config Options

Located inside /config/config.php are overrides for settings. Note that the Settings UI page gets priority, then the config file, then the defaults.

Information
Version 0.2
Last Update 4 days ago
Compatibility EE 7
License Commercial
Links
  • Support
Free
ExpressionEngine Home Features Pro Contact Version Support
Learn Docs University Forums
Resources Support Add-Ons Partners Blog
Privacy Terms Trademark Use License

Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.