It's been almost a year since Pixmat stopped using widely WordPress sites for all of our clients and began using other technologies and systems to build the same sites in a lower amount of time and with vast improvements in performance.
It was a radical change and improvements have been huge, reducing costs and the time that we took to design a new site. We want to share with you our experience with alternative systems for design and development of websites.
This approach is very useful and recommended for smaller sites and customers, as institutions, brochure type sites or pages that you, as developer, will manage on your own.
What did we do before?
Pixmat has been making websites since 2008. From the beginning we have made from full web platforms and applications, to small sites. For all the sites that we designed and we developed we used Drupal (at the beginning),Expression Engine, PyroCMS and WordPress for more than four years.
Making WordPress sites and with other systems is extremely useful and has many advantages:
- You have an Administration Panel available, on all your projects.
- There is a huge community beyond any of these platforms.
- There are plug-ins, templates, documentation and tutorials available, almost everywhere.
- It is easy to design for them.
- They are really flexible, you can do almost anything with them.
While this allows for any number of sites, this approach also has some disadvantages, especially for small sites (and customers):
- Reliance on a database, making even the simplest site to need a database.
- There are customers who are not interested in having an Admin Panel or manage their site on their on, so it becomes unnecessary.
- Your client needs a server with an available database.
- Those sites are slow: even when you optimized your server and you are serving cached versions, it is no more efficient than serving purely static files.
No more headaches
Consider a customer scenario: a small institution where they are only interested in having extensive information of the institution, what they do, their team and maybe a small gallery. Your client does not maintain the site for himself, so an admin panel is completely unnecessary. Your client is widely interested in the site to be fast and they have a limited budget
Year and a half ago we would've said: WordPress, now:
- Is it really necessary to have an administration panel, even if your customer will not use it?
- Why do you need a database, if you will only use certain data? You will not have complex relations or anything. The Database is no longer a necessity.
- Your client has a limited budget will you charge him more for integration with WordPress, even if he doesn't need it?
- Because of your "laziness", now you have a website widely consuming a database. Goodbye speed, unless you spend a lot more money optimizing server.
Welcome to Jekyll
We used Jekyll for the first time about a year ago. Jekyll is a static website generator written in Ruby.
Jekyll allows to generate static sites (HTML) using templates. All Jekyll Site Content is written using basic markup languages like Markdown or Textile. Jekyll is well known and widely used and is the technology behind GitHub Pages.
The concept for using Jekyll is very simple:
- We write all content as blog posts or the full content using a simple text editor (as Byword for Mac).
- We generate templates for sections.
- We generate configurations and even translations application wide.
To edit the contents of Jekyll from GitHub we use Prose.io, which we use only once and it’s really useful if we have our own allocated code in GitHub and if we will use GitHub Pages. There are some alternatives to Jekyll, which the most known would probably be Middleman.
- Jekyll generates only static files and sites, so we cannot use it for comments, serving videos or photographs. By doing Jekyll sites we also use other external services, for example: Amazon S3 to store images, videos and static HTML. We can even save an entire site for a few cents a month ;).
- Transloadit to handle images.
- Vimeo to save videos.
- Facebook or DISQUS for comments.
Welcome to Kirby
After almost a year using Jekyll we find an alternative written in PHP called Kirby. The process is very similar to what we carry with Jekyll: we make static content using a simple editor and write individual templates per section.
We have used Kirby for two sites already and our first impression is: Kirby is tops!. Kirby is almost a Jekyll clone written in PHP:
- You have templates per page, mapped the same way by filename.
- You have automatic URL mapping by file name.
- You have global settings, content written in a language resembling Markdown.
- It has a community and support emerging very good.
- Kirby is easy to extend, only that instead of using Ruby you use PHP.
- Native support for multiple languages.
- Kirby also has an optional Admin Panel.
- All the code is open and available.
The only downside is that Kirby is $ 30.00 for use but I can assure you it’s totally worth.
Advantages of this approach
This new approach has been gaining new fans for months and it is increasingly common to read of people who stopped using Drupal or WordPress for Jekyll, Statamic or Kirby. Every day More people write about this.
There are many benefits, but to name a few:
- Our process is actually faster. No need to set up a CMS like WordPress searching for compatibility of modules or plug-ins or updating the system. Just write content, design and implement.
- The flexibility that we have to develop sites is limitless.
- The resulting applications are fast, really fast.
- Maintenance costs are much lower. The server costs are minimal.