Static Ultra aims to be easy to use, easy to maintain, portable and useful. But admittedly, a few sacrifices had to be made to achieve this. This page aims to be as honest as possible about the potential downsides of using Static Ultra, so that you can make an informed choice. Personally I think it's worth it - after all, not only am I using Static Ultra to power this Static Ultra website, but I'm using it on my own website as well.

Search Engines

Static Ultra relies on client-side JavaScript to load content, mix it together and deliver the final result to the visitor's web browser. In my experience, generally search engines like Google and Bing ARE able to index and crawl content generated this way, but it can be unpredictable/unreliable. I've had the odd page refuse to show up, and I'm not sure whether or not this is the cause. If search engines are crucial for your website, Static Ultra may not be the right solution for you.

First Page Load

On "first page load", that is, the first time someone visits your site, Static Ultra is a little slower than a traditional webpage. On a fairly "average" page, it can take about 1 second, occasionally up to 2 seconds. The reason for that is as follows:

When loading a webpage, there is something called the "waterfall". Each stage on the waterfall is a trip to the server (or several trips in parallel). On a traditional webpage, the waterfall looks like this:

  1. Load HTML
  2. Load CSS + JS
  3. Render page and load CSS referenced images
  4. Render loaded images

Static Ultra, on first page load, has a larger waterfall. It looks like this:

  1. Load HTML
  2. Load Static Ultra initialiser
  3. Load config.js with timestamp to force latest version
  4. Load Static Ultra
  5. Load site-wide sheets/scripts, theme HTML, page HTML
  6. Load theme sheets/scripts, page sheets/scripts and re-usable HTML blocks
  7. Render Page and Load CSS referenced images
  8. Render loaded images

As you can see, Static Ultra has a few more trips to the server, so your page will take longer to load and render. Once done, subsequent page loads are much faster because Static Ultra overrides the default behaviour of link clicks and only loads what it needs to. Additionally, much stuff will be cached (stored) by the browser.


Static Ultra is equipped so that you can write custom JavaScript and use it on your website, but you have to do it a certain way. Static Ultra works best when you put your scripts into functions or classes inside of .js files, add the file paths to the config, your theme, or the appropriate arrays in your pages, and then call/create those functions/classes from the appropriate Static Ultra entry point. See the JS Guide for a tutorial.

In some situations Static Ultra doesn't work so well with inline JavaScript, that is, JavaScript code entered directly in your HTML files.

Personally I've not had a situation as of yet where this has been an issue, and thus far Static Ultra's entry points have been sufficient to get the job done. But I figured it was worth a mention.

That's all I can think of

If I think of or discover anything else, I'll add it here!


Oh, someone's still here? Alright let's Get Started with Static Ultra!

» Getting Started