Written by Katie
What are the base CMS requirements for a custom website?
A CMS should deliver some functionalities to at least a certain level, to be the right foundation for custom websites.
We often have detailed conversations with prospective clients about what they want their CMS to do. And indeed the pros and cons of SaaS and self-hosted CMSs like Craft CMS.
For basic sites, one of the attractions of some of the hosted CMS platforms is that they come with a suite of useful functionality and even ready-made flexible templates that make it faster and easier to get up and running.
But if you need something a little different and bespoke for your business you need something that can be configured for your needs and not presume anything. However, this also requires that you pay more attention to the base functionality of your website CMS.
You might have complex content modelling needs, frontend functionality or a unique way of going to market which simply isn’t catered for by existing services. You might be able to get part of the way there, but at the end of the day, they fall short.
What we really want to do is move the conversation onto the interesting challenge you have and how we can solve it.
So do that, here is a list of the things we consider important as a starting point for any Craft CMS set up for the kind of sites we build. But we would suggest this applies to any CMS you go with.
We believe that the content editor experience is one of the most important considerations when configuring a CMS. If the editing experience is intuitive and yes, enjoyable, people will be more motivated to push the quality of the output. And Craft CMS has an excellent approach to managing and editing content.
You need to consider the full content or publishing flow your business may need. This goes from importing varying amounts of content, building the pages, collaborating with colleagues, getting approval from key stakeholders, scheduling pages to be published, sharing on social, and of course SEO. That’s right, people think it’s all about designers and developers, but it’s the content makers who give the website a reason to exist!
If there is a large volume of content to get into the site, it’s helpful to have the ability to import content via CSV or JSON. Similarly, if you regularly update data or lists of content, an import flow approach will save hours.
Assets such as images, videos, and PDFs are no different to a page in many ways. Each asset includes fields to manage titles, alt descriptions for accessibility, and the ability to edit the filename. This ensures wherever the image is placed, you won’t need to keep adding the same information again. It also makes life easier to have the option to create folders and drag and drop assets to get organised. Of course, sometimes we may lock down where assets can be saved to help maintain order!
We don’t all have access to photo editing applications when we need them. The CMS allows you to upload an image and crop/rotate it for use on the site. You may also find our guide to image preparation useful too.
Focal points for image crops
If the uploaded image is used in multiple contexts, or has a different aspect ratio, you can set which part of the image you always want to be visible after it’s cropped. We don’t want any people chopped in half.
Finding content within the CMS
All content entries can be searched via a global search field and allows filtering based on attributes like dates (publish date, last updated), publish status, type of page etc.
The CMS is there to make it easy to manage complex content. At Pepper, we leverage this to build a mix of custom layouts that you can add to a page and reorder as needed. For sections with more complex layouts, you should also be able to select the correct layout via a visual list of available layout blocks.
There is often the need to embed third-party applications/widgets. This can be facilitated via a code block to allow the scripts to be placed on the site. In our experience, this is always needed by our B2B clients who have last-minute CRM forms to place on a site or an interactive infographic/chart.
It often takes a few edits to get a page ready to go. You may be waiting for content from other team members or simply want to try out different layouts. With drafts, you can save your edits and come back to it later to publish or um and ah about the best way to layout out the content.
When creating new pages you can see how it will look with your edits. This is useful when you want to check the overall page balance or how any dynamic or linked content will display on the page.
You will also be able to send secure preview links to a new version of a page before publishing. You could set up multiple versions to provide your collaborator with a choice. We find this very helpful when dealing with stakeholders who are not close to the website and have never logged into a CMS.
No one wants to sit around early in the morning to publish a new press release. If needed, you can automatically publish an entry at a set time and date. Similarly, you can schedule an entry to be removed from the site at a given time.
The key is that content is organised in a logical way for your business and website needs and is intuitive to use e.g. pages, and lists of content with their dedicated layout options and relationships. Each type of content can also have different custom columns in the entry list, making it much easier to scan to find what you’re looking for. For example, for a contact channel you would display the profile image, name, telephone, email and role.
Navigation is never constant, you will need an easy way to manage the top-level navigation links and drop-down menus. Sometimes it’s also helpful to split out navigational components by where they appear: header, footer, sidebars etc.
If you’re not using a third-party CRM system like Marketo or Salesforce it’s useful for content editors to be able to create custom forms and configure specific notifications. A given form can then be embedded where needed on a site.
Having a mobile-friendly control panel is great when you need a secure way to make updates via your phone if there is ever the need.
In the same way the frontend should always be accessible, so should the CMS. Craft CMS includes tools to make it easy for content editors to manage the site. The W3C has selected Craft CMS based on the accessibility approach and roadmap demonstrated by Pixel & Tonic.
Social and SEO meta
Of course, there are no excuses … fill out those SEO fields! We also recommend writing custom titles and descriptions, but as a fallback, it’s helpful to use other existing fields available on an entry as the title, description, and share image if nothing is added to the SEO fields.
There are many uses for redirects on any given website. You should therefore be able to create your own 301/302 redirects in the CMS. For example, to direct people to a relevant landing page if a given page is removed or to create more memorable URLs for campaigns. When launching a new site, we find the ability to import the old-to-new structural changes eases the migration process. In short, you should not be using htaccess for redirects.
In the background
There are some features and set-ups that are worth considering that are rarely seen by content editors on a day-to-day basis.
The site should generate XML site maps combined and automatically update when new pages are added or updated. While these are often configured by the SEO team or agency, it’s nice to know it’s all happening in the background!
The website will take care of all image resizing based on the context of where it appears on the site. We also usually reduce in size any large image uploaded by a content editor to a more manageable size for subsequent resizing. Very few sites need 6k images!
While meta fields can be set to auto-populate with manual overrides, ensuring they are always populated, there are a wide range of things that can also happen in the background. For example the output of structured data to provide search engines a better understanding of your content and business.
Configurable body text editors
Gone are the days when a WYSIWYG editor was used to manage more than marking up text correctly. We recommend that each field is only given the options needed for how the respective content presented on the site. For example, if adding a link within a paragraph is all that is needed, restrict it to just that.
The site will be able to output any number of structured XML or JSON feeds to make it easy for external websites or applications to pull in data. For example, a feed of your article content.
We recommend you use Google Tag Manager to place the required tracking scripts onto the site (e.g. Google Analytics). While not strictly a CMS consideration, we often work with ad agencies outputting custom data on the pages for use with campaign tracking.
Content Delivery Network (CDN) for assets
This means that the assets are stored in a dedicated file server separate from the main website server. It's great for performance and allows syncing across staging and production versions of the site.
A cache is a static version of a page (or parts of) that does not require the browser to request information from a database. This makes it faster to fetch the files. By using a service like Cloudflare these copies will be served to the visitor from a server located closest to them reducing the distance the data needs to travel. Craft CMS has some caching functionality and some excellent plugins that cater for these needs.
CMS user permissions
Ability to set up control granular permission per user group or individual e.g. access to certain sections, potential restrictions on the ability to edit other people’s entries, delete entries and whether they can publish. A user only sees what they have access to which keeps the interface uncluttered and focused.
That’s your base CMS configuration sorted, so lets’ now talk about your business challenges and how a CMS can be leveraged and extended to meet those needs.