TLDR: After considerable experimentation on alternatives, my choice is WordPress.org hosted at one of these sites.
The majority of scientists these days (including myself) are coding-literate, but don’t have any particular experience in developing websites. This makes tools that allow the creation of a nice website without directly writing .html, .css, etc. appealing, because it means that we don’t have to learn the details of these languages that we aren’t likely to be using outside of this context. In addition, we want to be focused on content, not maintenance.
For me, the following are the key prerequisites that a website builder should have:
- Easy to update/maintain.
- Reasonably easy to learn/use.
- Allows creation of a nice website with some flexibility in how it looks.
- Doesn’t require you to know complex .html, .css, etc.
- Cheap (or free, ideally).
Adobe Muse
I first started trying to develop my personal website using Adobe Muse.
Advantages:
- Intuitive to use, especially if you have experience in other Adobe products (e.g. Illustrator, Photoshop).
- Don’t have to learn a single thing about .html, .css, etc.
- Able to create nice websites.
- A great resource for getting started on a nice one page website here.
- Can export as a static website and host for free on GitHub Pages.
Disadvantages:
- Very annoying to edit/update and maintain formatting in many cases.
- Requires purchase of the subscription/license.
- Development and support ending within the next few years (read more about that here).
Ultimately, the disadvantages of using Adobe Muse were too great for my purposes – the website should be easy to update, and it is unclear what the future of the product will be.
WordPress
Enter WordPress.
Advantages:
- Intuitive to use.
- Don’t necessarily have to learn a single thing about .html, .css, etc., although knowing the basics makes customizing your website a lot easier.
- Very easy to edit/update without breaking the website.
- Able to create nice websites.
Disadvantages:
- Unless you have a significant amount of .html and .css experience, you are limited in your ability to customize your website.
- Cannot be hosted for free on GitHub Pages (or can it…? Read the note below).
This is the tool I ended up opting for, primarily due to how easy it is to edit and update the website. Furthermore, just a basic understanding of .html and .css allows you to make considerable customizations to the existing WordPress themes, which, for the most part, is enough to create a reasonably nice website that does/looks like what you want it to.
So can one host a WordPress website for free on GitHub Pages? Sort of… I initially tried to do so by:
- Installing WordPress locally using MAMP following the instructions here.
- Exporting as a static website then pushing to my GitHub Pages following the instructions here.
It worked in the sense that a website was pushed to GitHub Pages, but much of the formatting/styling that I had built in WordPress was not exported correctly. There may have been a way to correct these issues, but even if there was I was discouraged from pursuing this much further, simply because the fact that a workaround is necessary fundamentally goes against the prerequisites listed above (in particular the one about ease of updating).
So ultimately I ended up biting the bullet and paying for a domain on DreamHost. Of course you lose the advantage of version control, but since I wasn’t editing the .html and .css directly, its utility was limited anyway.
Note that wordpress.org is the software used to build WordPress websites, but wordpress.com is essentially just another domain hosting service. As far as I can tell, wordpress.com just puts up a paywall in front of many of the intermediate/advanced features in the WordPress software… On the other hand, if you get a domain hosted elsewhere you get full functionality of the WordPress software.
Alternatives
There are, of course, more options than Adobe Muse and WordPress. I haven’t looked extensively, but Jekyll and Adobe XD seem to be viable alternatives. I tried very very briefly to mess around with some Jekyll, but it seemed to me that you would basically have to learn another language anyway, which wasn’t what I was looking to do, so I didn’t pursue it any further.
Another option is Bootstrap. While this tool definitely requires learning some .html and .css, it does provide more control than WordPress does, and is widely used on the web. Perhaps a project for another day…