Here’s a list of things I wish I had known before I set out on my blogging / site-making / IndieWeb journey. (In no particular order)
Had I known these, and carefully considered each, I would have saved myself A LOT of time fixing stuff, and even now, would have a lot less things to fix and add. For example, my CSS files are a mess, I have a lot of poorly managed inline .JS everywhere, accessiblity nightmares abound and much more… Learn from my mistakes!
Understand and properly leverage Semantic HTML Elements. This approach will help your code be more readable, more modular and more descriptive.
Be purposeful and methodical with your CSS “code”. Try to define common sense CSS and make it reusable. To the best of your ability, try to avoid overusing inline CSS. It will make things harder to troubleshoot and more annoying to maintain over time. Take the time to understand dynamic HTMl stuff for different screen-sized devices, etc… You’re going to want your site to look good on desktops and phones, simple as that.
Use JavaScript sparingly, try to design your site to work well-enough for those who completely disable JavaScript. Look, my site has plenty of JS, and I know certain things would completely break if it were disabled (looking at you hamburger menu). That’s really too bad for folks who want to use my site. I’d like to fix this, but just haven’t had time to figure it out. Also consider The JavaScript Trap. JS not only has incompatibility issues, but can also just slow down your site and introduce potential security vulns. Important things to consider!
Don’t box yourself in creatively—REALLY! Allow yourself to write about whatever you want. Use things like collections, different post types or tags to logically differentiate things you think are meant for different audiences if you must.
Version one of your site should have a theme toggle (i.e. dark/light mode) and a search function. You’re going to want these eventually, and it’s worth getting them right in the initial design if you ask me.
Build accessibility in from the get-go. I’ve put very little effort into this, and that sucks. One of my Guiding Principles for this site is that it is available to be consumed by all. Yet, if I’ve not made it adequately accessible, it will never meet this mantra. It’s not necessarily hard to do, but if you don’t consider it from t=0, it becomes harder and more time-consuming to retroactively make it so.
Write for yourself, not for some perceived “audience”. Don’t try to be a persona (i.e. some “professional” fragment of your true self)—just be yourself.
Do some basic website wireframing as part of your initial size build. Carefully consider what you want your home page to look like, how you want people to navigate about, what you want your posts to look like, etc…
How “social” do you want your site to be? In the age of the social web, there is a lot you can add or implement to make your site interoperate with ActivityPub, IndieWeb protocols, comment systems, etc…
Check out my guide on Good Sitekeeping—Site Styling & Design Things I Enjoy and Recommend.
Oh, and here’s a bunch of things you shouldn’t worry about, and some things I suggest you avoid. Best of luck!