Not Sure Which Static Site Generator to Pick?

Static Site Generators (SSGs) are a great option for many web developers and bloggers looking to build fast websites that can handle a lot of content without relying on bulky servers or databases. But there are dozens of different generators on the market, with each one declaring itself to be the “simplest and fastest” SSG on the market. So which one should you choose?

If you’re a newbie blogger who wants to get into coding, then you’ll need something a little more user friendly. If you’re a programming-savvy developer, on the other hand, you could tackle something a little more intense. Here we’ll compare a few of the most popular SSGs to help you decide which direction is the best for your site.

Jekyll

Website: jekyllrb.com

Language: Ruby

Templates: Liquid

License: MIT

Similar: Octopress. Serif, Enfield, JAQ

jekyll-1024x516

Jekyll markets itself as “a simple, blog-aware, static site generator” and it’s one of the most popular choices when it comes to SSGs, especially for first-time users. Jekyll allows you to blog straight from your desktop, giving you more control over every aspect of your blog without having to deal with heavy databases and bloated frameworks. In terms of speed, the performance is nearly unbeatable. But does that mean Jekyll is the right option for you? Let’s take a look at some of its best (and worst) features.

Best Features

User friendly. Jekyll is built on Liquid, a templating engine that originated with Shopify, which means that it includes ready-made templates that are fairly straightforward to use. If you’re a developer that doesn’t want to spend hours creating your templates from scratch, then Jekyll is the easiest choice by far.

Built for blogging. Jekyll is almost ready-made for blogging, as its pages are automatically organized by post. It also lets you import existing blogs from Joomla, Drupal, WordPress, or almost any other dynamic blog engine with relative ease, so if you’re transitioning from a current blog to Jekyll, you won’t have to go through the tedious setup process.

A large support community. Because Jekyll is so popular, it has a great community support system if you ever need to troubleshoot an issue. This is especially good news if you’re hosting your site through GitHub, the equally popular public webhosting service most commonly linked to Jekyll. If you ever have questions you can’t answer, the solutions are only a few clicks away.

Worst Features

Less customization. While the Liquid templates are great if you just need something basic to get started, they don’t offer much in the way of customization. Because its engine is primarily designed to support Shopify, it doesn’t allow for any custom code whatsoever, which isn’t helpful for developers wanting to give their sites a unique look and feel. If you want to do something more customized, you’ll need to develop your own Liquid helpers, which can be time consuming.

Poor support for Windows users. If you’re running your website from Windows, you might be at a disadvantage. Jekyll doesn’t officially support the Windows platform, so setup requires a lot more time, effort, and maneuvering to work properly if you’re not already on OSX.

Who should use Jekyll?

If you’re a first-time SSG user or blogger, Jekyll is the perfect choice. Because Jekyll doesn’t require advanced knowledge of web development, it’s extremely user friendly and still includes powerful features for those with more experience. If you like building your own templates in Liquid, you’ll also do great with Jekyll.

But if you’re not familiar with Ruby (or you don’t like it), or you feel limited by the templates supported by Liquid and don’t want to spend time building your own from scratch, you might want to go with a different SSG.

Pelican

Website: blog.getpelican.com/

Language: Python

Templates: Jinja2

License: AGPL

Similar: Urubu, Lektor, Hyde, Nikola, Acrylamid

pelican-1024x516

Pelican is another popular SSG built using Python. It incorporates templates from Jinja, a Python-based template engine, which gives it added flexibility when customizing themes and templates. Pelican also supports WordPress and Tumblr and includes its own RSS feed, making it a good choice for bloggers looking to make the move from dynamic to static. Let’s review a few features that make Pelican stand out from the crowd.

Best Features

Flexible options. Pelican features multi-language content posting and can use multiple formats, such as reStructuredText, Markdown, or ASCiiDoc. It also allows for code (syntax) highlighting and has a variety of plugin options, making it a good choice for developers who want to use styles that are familiar and friendly.

Great for full websites. Because it supports Jinja templates, Pelican can cater to a variety of unique templates that go far beyond basic blogging. The themes and templates coming from Jinja are also extremely easy to use, which means less time for developers when it comes to customizing and coding.

Import friendly. If you’re looking to move your dynamic site to a static site but don’t want to spend more time than is absolutely needed, Pelican is the perfect choice. It supports import from a variety of different blogging sites, making it one of the easiest to use in terms of moving existing sites over to a static platform.

Worst Features

Requires knowledge of Python. When it comes to coding, Python is a higher-level programming language and takes a fair amount of experience to use. For those who are familiar with Python, using Pelican shouldn’t be a problem, but if you’re more familiar with JavaScript or Ruby, then you might run into more problems than using Jekyll or another Java or Ruby based SSG.

Trouble with org-mode integration. If you’re one of the few developers using org-mode for Emacs to write your blog posts, you’ll have trouble using Pelican. While there’s a plugin to read org files (org_reader), it isn’t as well supported as other SSGs and often crashes. If org-mode is something essential for you, then Pelican isn’t the right choice.

Who should use Pelican?

Developers familiar with Python who want flexibility when it comes to coding will naturally gravitate towards Pelican. Those looking to build a website that goes beyond blogging, or who want to import existing WordPress blogs to a static site, will also love Pelican.

But if you’re a developer who is more comfortable using Ruby or JavaScript, then Pelican isn’t for you. And if you’re an avid org-mode user, you can probably find another SSG more suited to your needs.

Metalsmith

Website: metalsmith.io/

Language: JavaScript

Templates: HBS/Any JS

License: MIT

Similar: Brunch, Docpad, Cabin, Wainwright

metalsmith-1024x516

Metalsmith is perhaps slightly less well known than Jekyll or Pelican, but it is by far the most flexible. Branding itself a “pluggable” site generator, it boasts an impressive library of plugins that gives your site any feature it needs, making it useful as more than just an SSG. Metalsmith’s website showcases it used for everything from generating eBooks to creating technical documents in addition to building blogs. Let’s take a look at a few of Metalsmith’s unique qualities.

Best Features

Built for developers. Metalsmith utilizes a very simple core and the rest is managed through plugins, making it very flexible and easy to use (that is, if you know what you’re doing). You simply give the site a source directory and then tell it which plugins to use. If you’re a developer that has used Gulp and you’re very familiar with Node.js (or any .js), you’ll love Metalsmith.

Not just for blogging. While it will handle all the basics of a blog, it can also be used for a variety of other projects, like converting markdowns to ePub files or creating project scaffolds. You could also use it to generate PDFs for your blog posts, making it a super flexible option for anyone wanting to add interesting projects alongside their static site.

Supports chained API. Maybe the most programmer-friendly feature, Metalsmith uses consistent and simple chained API, providing significantly reduced processing time. It also allows for things like unlimited linking, reduced client/server coding, and ID security. If these are features you need in your site, then Metalsmith should be your go-to SSG.

Worst Features

Less user friendly. Even though Metalsmith is designed for easy use, it takes a fair amount of programming knowledge to get it working to its full potential. This is definitely an SSG for developers who know what they’re doing, so if you’re a newbie, keep looking.

Small community. Unlike larger SSGs like Jekyll, Metalsmith has much less support when it comes to troubleshooting. A lack of resources and experienced users means less help when you run into tricky problems, though they do have a Slack group to help developers ask and answer questions.

Who should use Metalsmith?

If you’re an intermediate or advanced developer looking for more flexibility and control over your content, you’ll love Metalsmith. It’s also great for those wanting to do more than just blog, and if you’ve got a good understanding of JavaScript and don’t mind spending a little extra time developing your site, this is a great option.

But if you’re a newbie developer or someone unfamiliar with JavaScript, or you just want a good support system if you run into trouble, this SSG is not for you.

7 Quick Wins to Improve Your Website’s Loading Speed

You could have the most visually appealing website with absolutely mind-blowing content, but if your site takes too long to load, your users won’t stick around long enough to experience it. Slow websites drive away potential business and prevent your site from being found on search engines like Google and Bing.

Slow speeds can also affect customer satisfaction. As one study conducted by the Aberdeen Group shows, even a one-second delay in page loading speed can decrease customer satisfaction by 16 percent and reduce conversion rates by 7 percent. Basically, speed sells, and slower speeds mean less return on your investment.

With that in mind, here are 7 quick wins – the easiest, most inexpensive, and quickest implementations – to improve your website’s loading speed.

1. Upgrade your hosting plan

The most obvious solution for speeding up your site is to have the most bandwidth available to you. Choosing a hosting plan with sufficient bandwidth is one of the most important decisions you will make when building your site, and choosing the wrong plan can have major consequences.

Many new site owners choose to host through a shared plan because shared plans are cheaper, but what they save you financially in the beginning will end up costing you down the road in slow speeds during high traffic periods. By investing in proper hosting from the beginning of your site’s development (or by upgrading your current shared hosting plan), you’ll eliminate the risk that your site will crash or stall when people need it the most.

For WordPress users, WPBeginner has a list of the top web hosting services that support high speeds.

2. Choose a responsive theme

When it comes to loading time, a basic responsive site will almost always outweigh a complicated, flash-based site. According to Yahoo, 80% of your site’s loading time will be spent downloading components like images, stylesheets, and scripts. These elements take a lot of time to load, so the more components there are on a page, the slower it will be. Basically, the simpler the site, the faster it will be.

The simplicity of your site’s theme also has a huge impact on loading speeds. If you’re using WordPress, it can be tempting to choose the fanciest flash theme to draw attention to your business, but bulky frameworks and heavy coding can slow down loading speeds for your users. The quickest way to overcome this obstacle is by choosing a responsive or mobile-friendly theme – a theme that responds to each individual user’s screen size.

Responsive designs cut down on unnecessary components and coding allowing for faster loading times. If you’re using WordPress, here’s a compiled list of 100+ responsive website themes that are both beautiful and fast.

3. Streamline your home page

Your homepage is the first impression you’ll make on any visitor. While it can be tempting to go “all out” and inundate them with as many widgets and graphics as possible, having an overwrought homepage can backfire on your site’s performance. By focusing more on content and limiting widgets, graphics, and extra features that may weigh your site down, you’ll not only reduce load times but improve your SEO and give visitors a chance to trust your expertise without the use of over-the-top gimmicks. A simple homepage is a win-win for you and your customers.

A few ways to improve your home page (or any high-traffic landing page) include:

  • Showing excerpts instead of full posts for blogs or news sections
  • Removing unnecessary widgets or sharing features and putting them on shareable content or on relevant landing pages
  • Minimizing flash features like rotating images or videos

4. Enable caching

Enabling caching lets you temporarily store data on a user’s computer so they don’t have to wait for each page to load as they click around the site. Most browsers will save anything from basic images to stylesheets, JavaScript, or even entire landing pages.

Be aware that most caches have a shelf life, however. Static elements like images can be cached up to a week, but third-party elements like ads or widgets can be cached for only a day or so. Optimizing your site with more static elements will help improve caching, which will in turn improve speed.

WordPress sites can use integrated plugins to handle caching for you, such as WP Total Cache or WP Super Cache. There are a few ways you can add caching without using a plugin, but if you’re looking to improve your WordPress site quickly, plugins are the easiest way to go.

5. Use Content Delivery Networks (CDNs)

Similar to caching, using a Content Delivery Network, or CDN, can reduce download times and improve your sites performance. CDNs take your static files (images, JavaScript, CSS, etc.) and host them on servers in geographic locations near your users, giving their computers quicker access. This system provides faster download speeds and can greatly improve your site’s traffic capabilities, as most CDNs also protect against large surges.

For WordPress users, using a content delivery network like MaxCDN will help reduce costs while providing easy-to-use integration with your current site.

6. Optimize your images

They say pictures are worth a thousand words, but pictures that are too big for your site are also worth thousands of lost conversions from slow load times. It’s common practice for many web developers to upload large images and then scale them down using CSS, but the problem with this method is that browsers still load the images at full size even if they appear smaller on the site.

The solution is to scale your images before loading them so you minimize the impact. As a note for designers and developers, make sure you’re using the correct file types, as they can make a big difference on loading speed. Using JPEG and PNG files instead of BMP or TIFF will help increase speeds and reduce download times.

If you have a WordPress site and you need a cheap and easy way to upload optimized photos without bothering your graphic designer, try using integrated plugins like WP-SmushIt or Lazy Load to simplify the process.

7. Delete unused plugins

One of the biggest changes you can make to improve your site’s performance is disabling unused plugins or widgets. It’s important to delete plugins you don’t plan to use – simply deactivating a plugin won’t stop it from taking up space.

It should also be noted that the number of plugins you have active doesn’t always affect loading speeds, and that well-coded and up-to-date plugins will not usually affect your site as much as poorly supported plugins. It’s important to keep track of which plugins you use on a consistent basis and eliminate the ones that don’t add value to your site, while keeping valuable plugins updated to the latest versions.

For WordPress users it’s important to find plugins that are WordPress optimized and have great support from their respective developers.

Final Thoughts

Improving your site’s loading speed can be overwhelming and often involves many different components of your site, but the main thing to remember is that simplicity is key. Focusing on strong content, simple design, optimized elements, and plugins that benefit your pages will all work toward improving speeds. If you’re unsure about your site speed, you can always start by doing a speed test. Below are a few tools to help you determine your site’s current speed.