this post was submitted on 26 Feb 2024
37 points (93.0% liked)

Selfhosted

40394 readers
382 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

Hello community,

I am looking for a system to replace wordpress.

My goal is to build a webpage with a simple start page, an 'about me' and an impressum, so nothing special, but hopefully good looking.

I only use open source software, FOSS whenever possible. I have a rough understanding of some HTML, CSS, PHP, but I am happy if my future webpage doesn't rely too heavy on my knowlege of those languages.

Wordpress feels very over the top and not many things work out of the box - you have to pay for premium products if you want a functional page, that doesn't look exactly like twenty twenty-two. I wanted to move my wordpress site from one host to another host.. Not easy, unless you pay for a plugin of course.

Now I found ModX, a CMS which looks like it is much less clunky, has more free 'plugins' and it looks quite intuitive with it's folder structure.

My questions:

  • Has anyone used both CMS and can compare them based on their personal experience?
  • What CMS or other way do you prefer to build your simple webpage (FOSS only version)?

Edit: Thank you all for great recommendations and for sharing your experience! I learned: A full CMS is overkill for my usecase. Other, more suitable options, are:

  • Flat-file CMS (Grav, Automad,..)
  • static-file-generators (Hugo,..)
  • Emacs-org-html-export (.........)
  • Build from scratch with html and css
top 27 comments
sorted by: hot top controversial new old
[–] [email protected] 24 points 9 months ago

A CMS is way overkill for what you need.

I suggest something like Hugo, with plenty of templates available and even the ability to host it out of Github, it's a pretty good option.

[–] [email protected] 12 points 9 months ago (4 children)

If it's really just three pages I would just build them with static HTML and CSS. Maybe use PHP to have common elements in a separate file, but that's about it.

[–] [email protected] 6 points 9 months ago

Another neat trick is to generate your website on your own PC and only publish the static version.

You can publish static files to a CDN service, which costs very little compared to traditional hosting that includes a dynamic language and database.

A CDN is also usually distributed across the world and has cool features like built-in scalability and redundancy which means very little chance of outages, can deal with traffic spikes, and fast response no matter where the visitors are from.

[–] [email protected] 3 points 9 months ago (1 children)

This is also what I suggest. I moved from WordPress to Grav. It’s good, but a lot of work to customize.

Here’s a very useful resource of code snippets to make your website attractive and functional, without aCMS. https://www.w3schools.com/howto/default.asp

[–] code 2 points 9 months ago

I love grav. Yes its a chore intially but ive move 30+ site from wp to it and all my clients love it

[–] [email protected] 3 points 9 months ago* (last edited 9 months ago)

CSS can become tedious, especially if you are targeting mobile device and tablets and building this in plain HTML CSS and PHP is way too much work and the end result will probably still not be very responsive and won't look so great.

This approach is definitely an overkill and if the OP doesn't want to use this as an educational project I will strongly suggest not to go this route. Just use some of the tools the other has suggested here, like Grav, Hugo, etc.

[–] [email protected] 2 points 9 months ago (1 children)

I have done this, but instead of PHP, I have used Server Includes, which is a performant and simple way to add repeating headers and footers etc without extra dependecies. Nginx, Apache and Caddy all supports Server Includes, but with different syntax. I have used Caddys templating language, which I am most comfortable with.

[–] [email protected] 2 points 9 months ago (1 children)

Oh man this brings back memories! It is indeed a simple way to get some basic "site template" without needing a lot of infrastructure.

[–] [email protected] 1 points 9 months ago

It actually works great for slightly more complex stuff to, like converting markdown to HTML etc. Caddys documentation is made using Server Includes for example.

[–] [email protected] 7 points 9 months ago

I would go with a static site generator which supports markdown (flat file). They're often easy to setup and hassle free. Some of them also have many themes/templates which can be freely used.

[–] [email protected] 6 points 9 months ago* (last edited 9 months ago) (2 children)

You might like Grav. It’s open source, a lot lighter weight than Wordpress, and you don’t need to know css, html, etc…

I started messing with it a few days ago and so far it’s pretty nice.

edit: removed open source redundancy

[–] [email protected] 3 points 9 months ago* (last edited 9 months ago) (1 children)

Is Grav still peddling their premium version all over the back end and support site? That turned me off their software ~5-6 years ago but I guess you could just not install the admin plugin...

Edit: "Grav", not "Grab"...

[–] [email protected] 2 points 9 months ago

When I was testing, I didn’t really notice it being overly obnoxious when I was logged in to the admin web ui. I wasn’t paying too much attention to that aspect of it since I have no intention of paying for premium. They may have toned it down since that kind of thing turns me off as well and I tend to notice if it’s egregious.

[–] possiblylinux127 1 points 9 months ago (1 children)

Grav is slow in my experience.

[–] [email protected] 1 points 9 months ago (1 children)

Slow as a web server? I’ve only poked around it a little bit, the very little I did felt responsive, but I put no real load on it.

[–] possiblylinux127 2 points 9 months ago (1 children)

Slow to load for the end user. Maybe I just needed a CDN.

[–] [email protected] 1 points 9 months ago

I’ll keep that in mind. Thank you.

[–] [email protected] 5 points 9 months ago* (last edited 9 months ago)

I suggest using a flat-file CMS, which is easy to deploy and suited for your case. There are plenty, but I did really enjoy Automad.

If you still want something more sophisticated, I can recommend Contao CMS, which has lots of solid core features, is extendable and easy to install via their «Contao Manager».

[–] [email protected] 5 points 9 months ago

I can relate. Wordpress has an intense „low tech vibe“ imo and caters to people with not much tech background while having tons of possible extensions. Absolutely not the right thing if you want simple yet individual. I have to agree with the other commenter suggesting html and css. I built a couple of these pages for companies and it really works great. No hassle, basically indestructible. Good luck

[–] [email protected] 4 points 9 months ago

Don't use WordPress for static sites! Other poster mentioned straight up html, js, css with PHP if you're feeling frisky. WordPress is so bloated and unnecessary for what you're wanting to do.

[–] [email protected] 3 points 9 months ago
[–] [email protected] 3 points 9 months ago

I have actually used ModX for quite a while. Was pretty nice compared to other CMS's. But i agree with the other comments that a CMS seems like overkill for your use case and flat file is probably better

[–] [email protected] 3 points 9 months ago

There's also things like grav or other simple flat file (and generally db less) tools.

[–] [email protected] 3 points 9 months ago

Try gethomepage.

I've been eyeing it.

[–] [email protected] 3 points 9 months ago* (last edited 9 months ago) (1 children)

I'm currently experimenting with Seppo for my website, which is... not ready yet. So maybe not the greatest suggestion. But development is happening fast, and I like it for a couple of reasons.

  1. It's incredibly easy to install. Just upload a file, set permissions, and open it in the browser. I'm somewhat incompetent, so I appreciate that even though deploying WordPress is obviously not very difficult either.
  2. Content is stored in basic XML files, making it easy to access with just basic PHP and an XSLT stylesheet. Basically it easy to incorporate posts into your site however you want it.
  3. It federates with ActivityPub, so people can follow your blog directly and get the content directly into their feeds.
  4. It's lightweight - very little bullshit.

Basic functionality such as editing and deleting posts does not work yet, so it's absolutely not ready for primetime. But it's a project worth following, especially for those of us with an interest in the social web.

Edit: I guess this would be more if you wanted to create a basic website yourself, and add a tool for content management to it. I read the post a bit too quickly - if you're not interested in writing some code there are much better options to go for out there. Seppo I think is nice for those who actively want to tinker a bit. :)

[–] [email protected] 3 points 9 months ago

Seppo... lol

[–] possiblylinux127 1 points 9 months ago

Build your own in JavaScript as its actually not as hard as you think. Just use markdown files for the content and nodejs with the http module and marked.

If you want it to look a bit nicer you can use something like bootstrap4.