Guides

A Guide To 3 Web Stacks That Can Meet Most Any Need

What Kinds Of Websites Are There?

I can't believe I just wrote that sentence. There's of course every kind of website. But since Solspace makes its living by building and maintaining websites, we spend our time working on websites that make money for their owners. With this in mind, there are 3 types of websites that Solspace tends to work on. With these website types in mind, we’ll then discuss the web technology stacks that can serve them depending on complexity.

First, there are lead generation (lead gen) websites. These websites funnel prospective buyers to some kind of sales rep in order to buy a product or service.

Second, there are e-commerce websites. These directly sell products or services to customers online.

Third, there are web apps. These are websites that are themselves the product. People pay a subscription or some other fee to use the tools the website provides.

There are 3 web stacks that can be used to build and maintain any of these website types. I order them by the level of flexibility and complexity they can accommodate.

So what's a web stack?

I use the term web stack as a broad one to describe the different technology components that come together to make up the website or web app. The stack includes the servers, CMS, API integrations, caching, HTML, styles, scripts, backend, analytics, and other supporting systems. If it can break and cause the website to go offline or cause you to lose website data, it's part of the web stack.

A quick word about what we don't work on: Squarespace, Wix, Shopify, etc.

Even within my division of websites, there is room for further division. Sometimes a prospective client approaches us and it's clear that they don't need to hire an agency. The needs of their business for a website are very modest and can be met with self-service tools readily available on the web. In these cases, I recommend tools like Squarespace, Wix, and Shopify. Each of these self-service tools can support most small-scale website needs whether that's e-commerce, lead gen, or to a very limited extent web apps. These tools do away with the need for web professionals like designers, coders, server admins, SEO experts, etc. These are tools to help small mom-and-pop businesses conserve their limited funds.

Lead Generation Websites

A lead gen website is a landing place on the web for traffic coming from search, paid search, or other organic and non-organic traffic drivers. The job of the website is to help funnel prospective clients or customers into one of the services or product offerings of an organization.

Solspace.com is an example of a lead gen website. Since Solspace is primarily a provider of web development services, we need a way of educating our prospective clients so that they can more easily determine whether we are a fit for their web development needs.

A lead gen site is content-heavy. These sites lean into content marketing and serve as the platform for asserting expert authority for a given knowledge domain. Lead gen sites can also be highly interactive and lean more heavily on educational functionality rather than educational content.

A lead gen site is successful when prospective clients 'convert' and submit one of the forms or call the listed phone number. A good lead gen site is one that stays out of the way of the content creators and editors who create educational content while at the same time providing just the right kind of support to the prospective client as they educate themselves about your service or product offering.

E-Commerce Websites

We often feel like we're in the middle of a slow-motion hurricane. Most of the Solspace team began their careers shortly after the Netscape browser came out. In those years we have seen non-stop, relentless digital transformation of businesses. There's constant change and churn in the technology set. And there's constant motion in the ongoing transformation of businesses as they move into the digital realm. It's a steady storm. E-commerce is the eye of this storm.

With e-commerce, your website is your salesperson and your cashier. It's up to you and the creativity of the teams you surround yourself with to determine how much of your business can be transitioned into the self-service e-commerce realm. The key here is to be on a web stack that can keep up with the constant storm of the ongoing digital transformation that your company is going through. More on that below.

Web Apps

These are the fun ones. Web applications are the online tools that are themselves the product. Web apps are the most complex projects in web development because so much functionality and interactivity are dependent on them. Maybe the web app is a complex estimating system for a building trade company. Maybe it's a game. Maybe it's an online education program where all of the learning, testing, and interaction takes place through the web app.

As with e-commerce, a successful web app depends heavily on the flexibility of the underlying system. In years past we have seen clients build web apps on top of extensible CMS's. We've always regretted these eventually. These days, as technology has advanced and more developers have contributed to open source projects, there are web development frameworks that strike the right balance of baked-in functionality and open flexibility.

Craft CMS

For most websites Craft CMS is our go-to. Craft is a well-written and well-maintained LAMP stack CMS. It's extensible in that there is a well-defined and well-architected plugin architecture.

The core value of Craft is its superb editorial interface. Content editors and managers don't normally get a vote in the web stack, but when they are heard, they speak loudly for Craft's ease of use.

Craft is a tool that is at its best when it's set up and configured by experienced professionals. The content modeling is highly advanced and flexible. And as with anything that is extremely flexible, it can be set up poorly or well for any given use case. Employing experts in this part of web development is money well spent because great efficiencies can be obtained when an excellent content modeling experience is executed by an experienced professional.

By now you may be wondering why I'm making the content model sound so important. If your lead gen content marketing website just needs a blog and maybe some white paper downloads, you don't need much in the way of content modeling. But larger businesses, certainly enterprise clients using Craft will know what I'm talking about when I say 'flexible content modeling'. Our larger clients seem to have an endless need to creatively model their educational content. They are competing vigorously in their markets and must constantly evolve how they think about and present their expertise.

Craft is also very well suited for e-commerce sites. It offers a first-party e-commerce plugin that can support most any e-commerce offering whether physical products are being sold, digital goods are being purchased and downloaded, subscriptions are being maintained, etc. Craft excels here as well since content modeling is often important in e-commerce just as in lead gen.

Headless

A headless CMS or headless web stack seeks to decouple front-end web page rendering from the back-end CMS. In days of yore, a single monolithic CMS platform was where all website functionality had to reside. If the CMS could not do something or could not be extended to do something, it couldn't be done. As well, if a new business need arose that required something new on the website, the single monolithic CMS would get in the way and slow down digital transformation.

A headless architecture allows a web team to choose their favorite editorial experience. As long as that backend CMS or content store was capable of exposing an API, the editorial team could have anything they wanted, independently of front-end or other outside system requirements.

A headless stack might have something like Craft, which offers a GraphQL API, or Contentful which also offers natively a GraphQL API. The web development team then has maximum flexibility to ingest the content via the API. This team can use raw Javascript, React JS, Vue JS, or any of a number of other Javascript flavors to create a mix of static and dynamically served web pages.

Woah, lots of terms. Here are the basics in case you need them:

  • API is an Application Programming Interface that allows two applications to successfully share data.
  • GraphQL is a query language for APIs. This means it is great at asking just the right question (request) to get just the right data and content.
  • Contentful is a content and infrastructure management platform. It's a headless CMS that combines content in a single hub and distributes it via APIs.
  • Javascript, React JS, Vue JS, etc. are programming languages that allow content to be interactive and dynamic (not static).

Headless is a step up in terms of flexibility. If at some future time the editorial team comes to prefer a different content management resource, they can make that change as long as GraphQL is the output. A headless architecture is also highly flexible in the sense that there is no dependence on a templating language. The ability to compose HTML, CSS, and Javascript are what's required. With greater flexibility always comes a greater burden to manage. Headless stacks tend to require regular expert developer involvement.

How many times have I had clients itch to launch a new website section but shy away from it because it was too difficult within the constraints of the CMS's templating or content modeling structure?

When a website is going to serve as a salesperson in the sense that it allows a customer to explore the complexities of a configuration of a given product or service offering, headless is great. These 'configurators' are highly interactive. They're built in React or Vue or the like and depend on a content API for their source material. When the company's product offering changes significantly over time, headless is an excellent choice. With headless, these ‘configurators’ are not wedded to a central CMS other than for a data API. This allows the sales and marketing teams to transform these online experiences rapidly over time.

Laravel

When system complexity drifts into the territory of web application instead of merely website we break out Laravel.

Laravel is a PHP framework. It comes loaded with classes and methods for most of the baseline web app work we need to do. It's written and maintained in a way that both predicts and comes ready with solutions to complex problems but at the same time stays out of the way of the developer.

When we've needed to build systems that allow customers to move through a complex application or evaluation process such as in an educational or product certification setting, Laravel has been our tool of choice. It allows us to say yes to feature and functionality requests at the beginning of a project and continue to say yes as the system matures over the years.

If most of the work of your web stack has to do with managing content you would not choose Laravel first. If most of the work was in allowing a customer to interactively explore expert information or product specifications managed by a content system you would not choose Laravel first. When the scales tip away from content and more toward user interaction, Laravel ends up being our tool of choice. When your web team finds that they are fighting the assumptions of a CMS or a headless stack, Laravel is our tool of choice.

Summary

As a web development client, your choice of platform is critical. To make it well, ask yourself which of the 3 website categories above your site falls into. Then ask yourself how complex your offering is. Then ask how much flexibility you may need over the life of the site and weigh this against the financial support you can give this need for flexibility. I think with these questions proximally answered, you'll land on one of the 3 web stacks; Craft, Headless, or Laravel.