A woman looking at the Linux Impact homepage on a mac

Want to easily create a good-looking website in minutes? This is how.

David Rutland
David Rutland Software

Creating websites isn't hard, and it doesn't have to be expensive either. Publii is an open-source static website generator that can have your content looking great, and posted online in a matter of minutes. It's easy to use, and it's totally free.

Making websites is fun!

Humans need hobbies. We get bored easily, and need to do things to scratch that itch. Sure, you could go for a run, or engage in some sort of sport. But it's too cold outside (or maybe too hot, or to wet). Play a computer game? Scroll through TikTok or the 'gram? Watch TV?

Sure. These are some OK ways to pass the time, and they'll stave off the inevitable ennui that comes with having nothing to do.

You could read, sure, but isn't it better to write?

Shitposting Engaging in discourse on Facebook / Reddit / The Fediverse / X is a waste of time. Once you spit your words into the character-limited text box, they're not yours anymore. And they'll vanish when your account is deleted, else be disappeared into the depths of 'the algorithm' never to surface again.

If you create your own website, you can write whatever you want without limits (bar legal ones). You're not restricted with an arbitrary wordcount, or a set layout, or topic or anything else.

You can post pictures, write about your day, your hobby, advertise your business, talk about cats, or religion, or politics. And when you've finished you can share it to your social media friends and followers and be proud of what you've done.

And it doesn't have to be difficult. You can easily create a website from scratch for free.

Static sites are lighter, faster, and (in most cases) better

Front page of Linux Impact

The majority of the sites you visit on the internet are created and managed using a web-based Content Management System (CMS) such as WordPress. A CMS is actually made up up of two parts: a content management application, into which you log in, create posts and organise your articles, and a content delivery application that converts your content into a web page that visitors can see. 

Web-based CMSes are great, but they come with a significant overhead, and your site may struggle under heavy loads. An unless you host your site on your own server, you'll have to pay for hosting.

Static sites are a collection of web pages. A web browser requests a particular page, and the server sends an HTML document back. Thery're insanely fast, there's very little behind-the-scenes work, and you can get no-strings-attached hosting for free.

Linux Impact is a static site.

There was a time when to create pages for a website, you needed to be able to understand and Use HTML. That time is long gone, and you don't ever need to be able to use a code-editor in order to create a fabulous-looking, attractive website quickly.

Static Site Generators (SSGs) act as an offline content management app, and convert your words and images to HTML files that you can push to any server.

One final advantage to having a static site rather than an online CMS is security. If someone can log into your CMS admin panel with a cracked or stolen password, or exploit a security flaw in a plugin, it's game over. With static pages, there's nothing to log into. It's safer and more secure. 

We've tried dozens over the years and can say with absolute certainty that none of them offer the same ease-of-use, friendly interface, and customisation options as Publii. 

Get Publii!

Publii is packaged as a binary (executable file), and is available from getpublii.com. Download and install it according to the instructions on the site.

Open Publii for the first time, and you'll be guided through the process of making a website. You'll pick an avatar, and a name for your website.

After that, it's worthwhile creating a few test posts to see how everything works. It's best if already have some posts ready-to-go, but if not, some Lorum Ipsum text and royalty free images will do. Or hey, you could actually focus on writing instead of messing round with configuration and looks.

Create your first Publii posts

Create a post for the first time, and you have a choice of what kind of editor you want to use. If you're coming from WordPress, or have experience with that CMS, the block editor is probably your best choice. Alternatively, the WYSIWYG (What You See Is What You Get) editor will give you an experience similar to that of a traditional word processor, with formatting options laid out along the top. The Markdown editor uses (unsurprisingly) Markdown, which is a lighweight language you can use to add formatting to text documents. If you're interested in Markdown, check out markdownguide.org.

Alternatively, if you already have your content published on a WordPress site, and are swapping to Publii because of the massive performance boost that comes with a static site, go to Tools & Plugins > WP Importer to start automatically importing your content, images, authors, and tags.

The text of this article being edited in the Publii WYSIWYG editor

In all three editors, you'll have access to a collapsible menu on the right side of the screen. In here, you'll find some supremely useful options. In the top section, you can configure the post author, and attributes including whether the article is classed as featured, whether to exclude it from your homepage, or even hide it completely.

Below this, you can set the featured image, together with alt text for visually impaired readers, captions, and credits.

The Tags section is important. These are the categories in which an article will appear on your site. It governs what shows up as a related article, and forms the basis of the menu structure.

In the SEO section you can tune your site to be more (or less) friendly for search engines. In Post Slug, you can customise your URL, change the itle, and meta description, and choose whether you want search engines to index the page.

Lastly, there's the other options, there are too many to cover here, but they allow you to tweak the way your post appears, and make it different from other posts on the site. Nothing major - options to show the date, author, tags and so on.

Return to the Posts menu, and preview your changes. Publii will open a local copy of your site in the default browser.

Make your Publii website pretty

themes in the Publii marketplace

By default, you'll only have the Simple theme installed. It's pretty good, and will render a classic list of posts with excerpts for your front page, along with a very nice layout for the articles themselves.

To truly customise your site, head over to the Publii marketplace. There isn't a huge quantity of themes (27 at the time of writing), but are all high quality, with examples suitable for everything from image galleries and basic blogs to feature heavy documentation sites and magazines. Around a third of the themes are completely free, with the rest priced at around $30. You'll have to download your theme manually, and upload and select it through the Publii interface. Don't worry though, the excellent documentation makes it a breeze.

We considered the excellent Editorial theme, but eventually settled on the fantastic looking, free, and functional Technews you're looking at now.

What's on the menu?

Theme settings for Publii

In the Theme menu (accessible the the nav bar on the left), you can further refine your spanky new theme to look and behave exactly how you want it to. Basic settings include pagination, excerpt length, and site logo, while the fun stuff is slightly further down in Custom settings.

Customising WordPress themes can be a bitch unless you invest some serious time into learning CSS - and who has time for that?

In contrast, customising a Publii theme is simplicity itself: there are sliders, you can type in values for column width, or select layout options from a dropdown.

Want expandable submenus on mobile? toggle the radio button. Fed up with the colour scheme? Choose some new hues with the colour-picker. Corners too rounded or too sharp? adjust the slider. Easy-peasy. Want Social share buttons or a search box? This is where you'll find them.

Navigation is key to making any website usable, and the tags you create when making a post form the basis of Publii's menu system. The primary tag (you can select this with a dropdown) is displayed on the posts page and front page of the site, but secondary tags are important, too.

Take for instance, our article on setting up your own XMPP server on a Raspberry Pi in under five minutes. The primary tag is self-hosted, and but it's also tagged as DIY, Internet, Linux, Privacy, Raspberry Pi, Software, and Tips. These tags influence the Related posts, you see at the bottom of the page. More importantly they mean that if a menu item is linked to that tag, the post will appear in that section of the site.

Adding a new menu item in Publii

Menus has its own item on the navigation sidebar. Click Add New Menu, and give it a name, then Add new menu item. You can add menu links to individual posts, such as an about page; to a tag link (this is how we do our category menus); to author pages; the front page; external links; internals; whatever. Simple eh?

Publish your website with Publii

You can spend hours customising your theme, and tweaking it to be exactly how you want it to be, but you'll be better off putting that time into writing.

When you're happy with the way your site looks, and have some quality content to give to the world, it's time to publish.

Before you can do this, make sure you have a domain name. Domain names aren't usually expensive, and you can buy a .com for around a tenner from NameCheap, or even go with with more esoteric options such as .xyz,or .gay, for around $2 (These are affiliate links, obviously). 

There are usually special offers where you can snap up something suitable for a few dollars. Alternatively, you can get a completely free domain names from freenom with a variety of TLDs - be warned though, you won't actually own these names, just have use of them.

You also need somewhere to store your static files. Sure, you can buy hosting - and there are some pretty good hosting deals (again, this is an affiliate link) out there , but you don't need to. It's pretty easy to convert an old PC or laptop to a server, or use a cheap and low-power Raspberry Pi as a server.

Another option is to use Github Pages to host your static files. This is what we do. It's completely free, and provided you're not pushing out porn, you can use the service to host whatever you want.

Differnt server types for publii

In the Server section of Publii's interface, you'll see an alarming number of options. If you've gone with traditional hosting, you'll probably want to select FTP or SFTP. Input your website URL, the port number, and other details, then save. The options are similar regardless what you choose.

Hit the big Sync your website button, and your content will be magically uploaded to your service of choice.

Alternatively, select Zip as your server type to have Publii produce a zip archive of your content that you can upload manually.

Is Publii right for you?

Probably, yes. Provided that what you're providing is simply static content, then Publii is the perfect publishing tool, giving you a fast, responsive website that looks great, costs nothing, and just works.

If you're selling something, or need a database then traditional hosting is a better option.

Expose yourself to the world

Once your website is online, it's accessible to everyone, so be careful what details you put on it. While it's natural to want to give visitors some means of getting in contact with you, please don't put your home address on your website, and take some steps to disguise your email address as well.