Technology choices for websites

Over the years I've worked with a lot of different technologies for building and maintaining websites. For a lot of small businesses, the choices have either been WordPress, which is a well established content management system (CMS) or a DIY platform like Wix or Squarespace. The other choices were either too big and complicated or required programming knowledge.

Site Builders

A few years ago tools like Wix appeared on the scene, promising to make publishing websites easy enough that anyone to do it. These tools have gotten better over time and new ones like Framer and Webflow have come to market.

Even with the latest DIY tools there is still a tradeoff between flexibility and ease of use. If you can publish a website with "just a few clicks in minutes", then you're giving up a lot of control. You may be able to switch out a font, change a few colors, and drop in a logo, but that's likely about it. You're stuck with whatever layout the platform spits out.

These tools also give you the ability to create websites that don't look at all professional because most users of these platforms aren't designers. They're regular people who need a basic website and are trying to spend as little money as possible.

If you're a small community organization just trying to get some basic information out to your town, this is likely a great solution. But if you're a small business or professional, your image matters. An amateurish looking website can actually hurt your image, since it shows visitors that you don't even care enough to make your site look professional.

A middle ground with these tools is adding your your own HTML and CSS to get a more polished look, but there's a lot of extra complexity in learning how to use the platform. These tools may be great for experienced designers who want to focus on design and not functionality, but not ideal for someone trying to DIY it.

Perhaps the biggest downside to site builder platforms is their function. Adding blogging or e-commerce functionality may not be possible, work only with specific tie-ins, or support only certain types of data.

WordPress

A few years ago I worked strictly with WordPress, primarily to build my own websites for my photography business. Although there was a learning curve, the WordPress ecosystem offered a lot of visually stunning possibility in the form of plugins for displaying photographs.

As it was a CMS, blogging was built into the platform natively. But like other platforms I had to learn "how to do it in WordPress" which meant understanding things like the difference between a page and post, the query loop, featured images, widgets, and slugs. Again this isn't ideal for small businesses or professionals trying to get onto the web due to the complexity, despite having a point and click interface for customizations and adding content.

I was able to add a lot of additional functionality through the use of plugins for things like spam prevention, collecting email addresses, enabling downloads, and doing backups. Some of these plugins were free, others paid, but they all had their quirks and a very specific way of doing things.

One of the main reasons it still remains popular is that it can be customized to a pixel perfect design as created by a web designer by creating your own theme. It can also be extended to support e-commerce via more plugins and also supports adding custom code. In the end you have a platform with code from a lot of different sources that usually works together.

Beyond the learning curve, WordPress still has a number of issues though that can make it not an ideal web platform in some cases. The first is the plugin ecosystem; plugins may conflict with each other causing things to break. In other situations, the plugins can slow down a website because they require a lot of supporting code to be downloaded from the server. WordPress also requires that every page load retrieve data from a database before sending it to the browser.

The result is that the website can take longer to load content. Aside from potentially being irritating to the user, longer load times also affects the site's ability to appear higher in search results.

Complete Control with Code

Being a software developer and wanting to avoid the issues with WordPress, I started looking at coding frameworks that have made building websites considerably easier. The more modern platforms use Javascript heavily which means that a lot of functionality happens in the browser natively rather than coming from a server over the internet.

These platforms are also use the concept of serving a static site that's built at the end of a development cycle or content update. This means there is no connecting to a database to get content, except when it's necessary. The build step also removes any unnecessary supporting code and optimizes images, making the page loads smaller. In the end, page load times are significantly faster.

Because we're now coding instead of using a GUI, I can now create exactly what I want in terms of design or functionality. Need to connect to a proprietary inventory system? No problem. Need to use a specific font to fit with your other branding? No problem. Integrate ChatGPT and call yourself AI powered? No problem. You get the idea.

Of course, building websites from code isn't generally something you can do yourself and can take a lot more time, relatively speaking. The upside though is that you get a website that's completely customized, does exactly what you need it to do, with page load times that are as fast as possible.

For these reasons, I've decided to use the Astro, a Javascript based platform, to work with businesses who don't have the time or interest to do it themselves or don't like the results of a DIY approach. It allows me to offer the best technical and design solutions to help businesses truly put their best foot forward with their web presence.

If you're curious about how I might be able to help you and your business, drop me a note. I'd be happy to chat with you about it!