Kanopian from the back looking at a laptop. Their tshirt says kanopi.com on the back.

The Pros and Cons of a Headless Website

What is a “headless” website?

In the ever-changing world of web development, staying ahead of the curve is crucial. Traditional monolithic websites have served us well, but as the demand for more dynamic, interactive, and flexible digital experiences grows, so does the need for more advanced solutions.

A headless website separates the backend (your content management system or CMS, such as Drupal or WordPress) from the front end (the user interface), allowing developers to deliver content via APIs to any device or platform. This architectural approach provides numerous advantages but isn’t appropriate for every project. So when does a headless website make sense for your business, and why might it benefit your next web development project?

When is a headless website the right choice?

Omnichannel Delivery

A headless CMS delivers content across multiple platforms — web, mobile, IoT (Internet of Things) devices, smartwatches, and more. The headless architecture empowers you to integrate and deploy content and experiences via APIs, ensuring consistency and flexibility across various channels. With a headless site, you can create content once and distribute it everywhere, enhancing your reach and user engagement. You can also create a single, unified experience that ties your disparate platforms together — so your CMS, e-commerce platform, membership program, and any other tool you can think of can be integrated into a seamless experience for your users.

Technical Flexibility

Headless websites offer unparalleled flexibility for projects requiring high customization and a unique user interface. Since the site decouples the front and back end, developers can build the user interface using any technology or framework (React, Vue.js, Angular, etc.). This freedom enables bespoke, highly interactive, and performance-optimized websites tailored to your business needs.

Improved Performance and Scalability

Headless websites can significantly improve performance and scalability. Decoupling the front and back ends allows you to optimize each layer independently. This separation allows for faster load times and a more responsive user experience. Additionally, it’s easier to scale different parts of the architecture according to demand, ensuring your website can handle traffic spikes without compromising performance.

Enhanced Security

Security is a paramount concern for any website. Headless architectures can enhance security by reducing the attack surface. Since the front and back end are separated, attackers find it harder to exploit vulnerabilities. Furthermore, APIs can be secured independently, and sensitive data can be better protected, giving you peace of mind.

Content Personalization and A/B Testing

Personalizing content for different user segments and conducting A/B testing are essential strategies for improving user engagement and conversion rates. A headless CMS makes these tasks straightforward and more efficient. By leveraging APIs, you can dynamically deliver personalized content and easily integrate A/B testing tools to optimize user experience in real-time.

Future-Proofing Your Digital Strategy

As technology continues to evolve, having a future-proof digital strategy is crucial. A headless architecture ensures your website can adapt to emerging technologies and platforms without requiring a complete overhaul. This adaptability allows your business to stay competitive and quickly respond to market changes and technological advancements.

Streamlined Workflow for Development Teams

Headless websites foster a more streamlined workflow for development teams. Frontend and backend developers can work simultaneously without dependencies, accelerating the development process. This parallel workflow reduces bottlenecks and enhances collaboration, leading to faster project completion and more efficiency.

When might a headless website not be the right choice?

While headless websites offer numerous benefits, they might only suit some projects. Here are a few scenarios where a traditional monolithic approach might be more appropriate:

Ease of Familiarity

WordPress or Drupal are well known to users and are known for their ease of use and user-friendliness. This familiarity makes it simple for non-technical users to update the site’s configuration.

Although a headless site can have content driven by WordPress or Drupal, technical knowledge is paramount when adding and updating configuration. A developer will usually be required.

Plugin/Module Ecosystem

WordPress and Drupal boast an almost endless ecosystem of plugins/modules that can extend the functionality and features of your website, from SEO to commerce, forums, and beyond.

A headless site can have its own suite of plugins, and if driven by WordPress and Drupal, some plugins/modules will play nicely with the headless front end. However, your pool of choice is drastically reduced.

Content delivery

Even if you do need to share content from your CMS with your mobile applications and other systems, you can still do so using Drupal or WordPress in a traditional CMS build. These platforms provide robust and customizable APIs that other applications can leverage, whether the main content site is headless or not.

This allows you to allow your CMS to do what it does best, manage content while serving the content you choose to the applications that need it.

Theming and Design

WordPress and Drupal both offer many free themes for almost every industry. Vendors in this space can build you a custom theme that is nearly endlessly flexible — and flexible to the content editor. This allows editors to create unique landing pages on the fly and move components around as they see fit without the need to bring in a developer.

Although a headless CMS has complete freedom when it comes to design, the design still needs to be implemented on the front end. This takes a lot of time and budget. Once built, that end product can actually be a bit rigid, requiring you to get a developer every time you want to create a different type of landing page or move a component above or below the fold.

Cost and Technical Debt

WordPress and Drupal will have a lower initial cost to build and maintain, even with maintenance, to ensure that all security updates are released in a timely manner. The pool of skilled developers and agencies is vast, and hosting partners offer automated updates, allowing you to find a maintenance package that fits your budget.

A headless CMS will require a significant investment to build initially and may cost more to maintain than a traditional CMS build. You are now maintaining two systems: your back end and your front end. Developers familiar with this architecture are highly specialized, and development may take longer or require more expensive and less widely available development resources. Depending on your hosting partner and final architecture, managing two hosting environments may also be a challenge: one for your front end and one for your back end.

Real-time Preview

WordPress and Drupal provide real-time feedback while managing content. They allow you to preview content before publishing it to the public. The instant visual feedback in the editor allows you to better illustrate your message by knowing how it will display on the front end.

While real-time preview in headless environments is becoming better and more prevalent, it can require a separate build process, which may slow down content creation.

Edit in Place

In a CMS such as WordPress and Drupal, editing in place (inline editing) has become common practice. It is supported by core WordPress or Drupal or by plugins and modules that add or expand it. Editing in place gives the content creator the ability to modify content directly on a webpage without having to navigate to a separate editing interface, much like you would in Google Docs or MS Word.

Editing in place on a headless website is possible, but may be more complex. Using plugins to bring inline editing into your site requires up-front investment and development efforts. One of the main differences here is that plugins on a headless site are not plug-and-play and often require development efforts to ensure that they work correctly without issues across the entire breadth of your site’s content.

Page Caching

WordPress, Drupal, and the respective hosting partners that specialize in managed hosting handle page caching extremely well. Whether you publish a new page or update an existing one, the CMS knows the ID of the page being created/updated and clears only that page’s cache on the front end immediately. When this does not happen, it is usually due to aggressive caching practices that a vendor can help you tailor to your needs.

Rebuilding a page’s cache in a headless CMS can be cumbersome and require revalidating large sections of your site at once — sometimes even the entire site.  It can result in a large performance hit just to publish a simple content update. Maximizing performance with aggressive caching on the front end can prevent content from going live until the next time the site cache is cleared or the API data refreshes. 

SEO

WordPress and Drupal have a vast number of SEO features built-in and provided by contributed plugins/modules. Allowing content editors and administrators to tailor their SEO on the fly without the need for developer intervention.

A headless CMS requires heavy manual effort up front to configure and set up the site’s SEO. Any changes to the SEO strategy will require a developer to work with the site’s code. 

Support & Community

Both WordPress and Drupal have the support of a well-established, massive, and ever-growing community of developers and advocates. This makes it easy to find resources, well-trained and knowledgeable developers, and efficient issue troubleshooting.

Headless websites require specialized skills and expertise. While the headless community is growing, there are a vast number of implementation methods out there, making the community specialized and fragmented. This makes it harder to troubleshoot issues, find skilled developers, and maintain the site long-term. Implementing and maintaining a headless architecture might be challenging for your team if they need to gain experience with modern front-end frameworks or API management.

Simple Websites with Limited Interactivity

A headless architecture might be overkill if your website is straightforward with minimal interactivity. Traditional CMS platforms like WordPress can efficiently handle such requirements.

What if I have an existing CMS?

If you have an existing WordPress or Drupal CMS, then there is good news. Both of these popular platforms have evolved to support a headless CMS architecture. The content management capabilities that you are used to are separated from the presentation layer or front end and used solely for storing and managing content. 

The front end can be built with the technology we previously mentioned, including React. This approach provides a backend that is familiar to your organization while allowing for the flexibility of a headless front end.

Although a headless approach makes tasks like personalization and A/B Testing more flexible and achievable, they are possible within your existing CMS. Third-party tools and plugins like Lytics and Optimizely can be used to provide these services.

The choice is yours.

Headless websites offer flexibility, performance, and scalability that traditional monolithic architectures cannot match. Some projects demand omnichannel delivery, customized user interfaces, improved performance, enhanced security, content personalization, future-proofing, and streamlined development workflows. In that case, a headless website might be the right choice for you.

Evaluating your specific project requirements, budget, and available resources is essential before deciding on your site architecture. By carefully considering these factors, you can determine whether a headless website is the right fit and ensure the success of your digital strategy.

Whether you choose a headless or traditional approach, the key is to deliver exceptional user experiences that meet your business goals and keep your audience engaged. 

Is this you?

You’re always on edge. You can’t relax. You can’t sleep. You’re thinking about it constantly. At the neighbor’s BBQ. At your daughter’s recital. Even yoga class provides no respite. It’s not giving you a moment’s peace. 

Of course, I’m talking about your website.

Hey, we’ve seen it a thousand times before here at Kanopi. You have a website that was built in the Drupal content management system (CMS), and now it’s making your life a living hell. Content updates — even ones that should be simple and routine — are an excruciating, soul-crushing ordeal.

There’s a name for this condition: Drupal Burn. And if it’s happening to you, it may comfort you to know you’re not alone.

We’ve seen it happen, with Drupal 7 clients and onward. Even clients on modern Drupal, like Drupal 10 or 11, aren’t always immune. In fact, we’ve seen cases so severe in some clients that they’re practically begging us to scrap it all and rebuild in a different CMS — even if they just built a modern Drupal site in recent years.

Degrees of Drupal Burn

At Kanopi, we diagnose Drupal Burn according to 1st, 2nd and 3rd degrees:

1st Degree Drupal Burn

  • Updating your site is a constant struggle. 
  • Edits take way longer than they should. 
  • Each update to a section of the site requires multiple humans to sort out. 
  • Your site search constantly brings back incorrect, irrelevant information.
  • Your current or previous vendor is holding you hostage; i.e. not providing you with administrative access to the site, the code, and the database.

2nd Degree Drupal Burn

All 1st degree symptoms, plus:

  • You don’t like the design.
  • The site isn’t converting. 
  • You need to find workarounds everytime you edit the site.
  • You don’t have access to the site, or are unsure where it is hosted, or registered, or if it’s even being maintained. 

3rd Degree Drupal Burn

All 1st and 2nd degree symptoms, plus:

  • Your site is constantly down due to performance and security issues.
  • Your performance scores are so low they are in the sub-basement.
  • You can’t edit the site without it crashing.
  • You’re in constant triage and reactive mode.
  • You’ve been abandoned by your previous vendor.

At this point you hate Drupal with the passion of a thousand suns, and are ready to give up on it altogether. Alas, do not despair, Drupal Burn victims. Despite how things may seem, it is a highly curable condition.

How to cure Drupal Burn

Quite often, the cure for Drupal Burn is much simpler than a complete rebuild. Believe it or not, all it takes is some training, along with reworking parts of your site to address pain points.

In fact, we’ve developed a specific treatment for each stage of Drupal Burn.

Treating 1st Degree Drupal Burn

  • Training

Like many things in life, editing-related headaches large and small are often a matter of proper training. We’ll work with you to identify editing issues and provide thorough, efficient, relevant training. 

Each training session is recorded and provided to you for future reference. We can also provide written training documentation upon request. 

  • Full site access

It’s a frustrating feeling when you lack proper access to your site and its various assets, especially since it all belongs to you. We’ll ensure that you can always access your site’s properties, including:

  • You administrative account
  • Hosting
  • Domain registration
  • Analytics
  • Code
  • Database
  • Plus all third-party integrations. 

Treating 2nd Degree Drupal Burn

These types of Drupal Burn can typically be treated by implementing strategic enhancements with ongoing support hours. This allows us to work with you to target priority issues causing Drupal Burn. Prioritizing these items is a collaborative effort that involves ranking issues according to importance, impact, and effort level. In doing so, we can customize an editing experience that works best for you and your team.

Treating 3rd Degree Drupal Burn

These, of course, are the most severe types of Drupal Burn; however, even these are treatable.

In addition to technical work, we find that our Drupal Burn patients also require emotional support — helping you navigate, sort, and file the negative experience of a content management system that didn’t allow you to manage content. 

Along with combining 1st and 2nd degree treatments, treating 3rd degree Drupal Burn also requires:

  • Pinpointing troublesome code, and replacing it with modules or efficient, secure code.
  • Installing and testing upgrades and updates.
  • Locating and resolving content editing issues
  • Create an editing flow that works for you and your team.
  • Analyzing your hosting environment,
  • Making recommendations to improve performance and security.

Just don’t burn your Drupal site

We know Drupal Burn hurts. It’s frustrating. It wastes your time, and it can make you feel like you’ve wasted a lot of money. Hang in there and don’t give up. Reach out for help. We’ve provided numerous clients with a permanent cure for their Drupal burn, including:

 We’re here for you, too.

After all, your website has klout. It has SEO juice. It was a big investment, and is of course an ongoing investment. And  remediating a modern Drupal site (Drupal 8+) is a far lower level of effort and investment than rebuilding your site from scratch. 

When properly configured and supported, your modern Drupal site can run cost-effectively and produce results for 10 years or more. We’re here to help you make it happen. Think of Kanopi as the prescription for your Drupal Burn.

If you’ve been to the doctor’s office recently and seen your provider taking notes on a computer, there’s a good chance they are logging notes into Epic. Epic is a leading electronic health record (EHR) software system that aids healthcare providers in managing and exchanging patient information. Many organizations seek to enhance healthcare websites by providing providers and patients with a more holistic user experience. 

Benefits of Epic Integration

One of the most impactful ways to achieve this unified experience is by creating an online presence integrating Epic with your public-facing Drupal or WordPress website. Epic data exchange can facilitate all aspects of a patient’s care, including:

  • Giving individual patients easy, real-time access to their medical records
  • Enhancing the patient experience with accessible, intuitive presentation of their information
  • Providing individual patient information that facilitates clinical decision support for providers alongside relevant informational and reference content

Epic integration lets you facilitate these activities and much more from a single, unified location. Leveraging Epic’s interoperability allows you to work with the rich, full-featured editorial experience you’ve come to love in your Drupal or WordPress site alongside the power of your Epic EHR implementation. 

Integrating Epic with Drupal or WordPress CMS

Epic offers a robust set of HL7® FHIR® compliant APIs that developers can use to create custom applications for your needs. There’s no suitable “one size fits all” solution for Epic interoperability. Regardless of your CMS, you’ll want to build a solution tailored to your needs.

Security and compliance are paramount when interacting with your patient data. When working with Epic’s APIs, a partially decoupled architecture can protect your patient data while still leveraging the ease of use of a CMS for the rest of your on-site content. 

Consider an entirely headless approach to maximize the security and performance of patient and site data. A headless approach is a website with the backend decoupled from the frontend. The frontend is written with javascript like ReactJS, or VueJS. The content of a headless site typically comes from API’s. This means there is no database like we see in Drupal or WordPress. Your site-data, patient-data, and front-end will all live in different places. 

You can learn more about WordPress and Headless in our blog post. 

While a headless website gives you modern flexibility and separates the end-user experience from your sensitive data stores, it comes with technical complexities and tradeoffs. It may only be suitable for some organizations:

  • organizations with multiple API integrations, including site-content that is centralized and dispersed to multiple services or apps, 
  • those that have the extensive monthly budgets, bandwidth, and expertise to maintain a decoupled system, and 
  • organizations that require the highest security and performance possible may wish to consider a completely headless solution.

There are advantages and disadvantages to each approach. The below Pros and Cons list is an attempt to provide a quick overview to help you make an informed decision.

PRO

CON


CMS only

PRO

  • Site data is easily updatable
  • Skilled developers and agencies are plentiful
  • Ease of use
  • Templating and flexibility in content creation
  • Lower initial cost

CON

  • Patient data could be stored in the database
  • Only as flexible as the content management system allows
  • Only as performant as the CMS will allow for with the coupled front and backend.
  • The site itself is as secure as the CMS and the hosting provider.

Semi Decoupled site

PRO

  • Site data is easily updatable
  • Patient data is very secure
  • Templating and flexibility in content creation
  • Specially skilled developers are required
  • Maintainability cost is lower

CON

  • The site itself is as secure as the CMS and the hosting provider
  • The site itself is as performant as the CMS and the hosting provider.

Entirely Headless Site 

PRO

  • Patient data is very secure
  • Highly performant
  • Highly secure
  • Highly flexible
  • Omnichannel
  • Adaptable

CON

  • Site data is updatable but may require additional caching to be cleared
  • Specially skilled developers are required
  • May require multiple systems and personnel to publish a single update
  • Highest initial cost
  • Most content may be created with raw inputs and APIs

Conclusion

Integrating Epic with WordPress and Drupal empowers healthcare organizations to improve patient engagement, streamline clinical operations, and ensure compliance with regulatory standards. Whether using WordPress for its user-friendly interface or Drupal for its scalability and customization capabilities, healthcare providers can leverage Epic’s EHR functionalities to optimize the patient experience and create better health outcomes.

WordPress Maintenance and Support: The Ultimate Guide

After building an engaging WordPress website that tells your organization’s story to the world, you might be tempted to take a break from web development and let maintenance concerns fall by the wayside. However, ongoing WordPress maintenance is critical to the long-term health of your website. 

A lot goes into maintaining a WordPress site, especially if you want longevity, security, and the ability to grow. We’ve put together a guide to help you sort out what you need to make your site last, stay safe, and continue to meet your needs down the road. Here’s what we’ll cover: 

Why is WordPress maintenance so important?

To answer this question, we must consider another: what happens if you don’t maintain your site? What if you just pop a site up on a host somewhere and never touch it again?

In the best-case scenario, nothing. Your site exists, but that’s about it. It will be left in the dust as the rest of the web progresses. Even search engines will “forget” about it, so to speak, as they give higher priority to sites that are updated regularly. And since search engine optimization (SEO) performance and user expectations evolve monthly, your site may not be able to continue meeting your audience’s needs effectively. 

Worst-case scenarios are far more interesting to talk about. With all those security holes, from the lack of updates to WordPress core and your third-party plugins, the site could easily be hacked—remember, when they release the fix, they also reveal the security flaw. If you have no backups, you can’t restore to a version before the hack (where it will still be vulnerable to the same hack).

Or, your website host could one day alert you that they no longer support the version of PHP or MySQL your site is using. Some hosts automatically update these tools, and some even update Core for you, but not your plugins. Depending on how out-of-date your site is, these could be site-breaking compatibility issues. 

Clearly, it’s a huge risk to keep a poorly maintained or completely unmaintained website. On the other hand, the benefits of good maintenance and consistent support far outweigh the costs. Maintaining your website allows you to:

Benefits of ongoing website maintenance (described in the bulleted list below) 
  • Reduce security risks
  • Stay current with SEO trends and requirements 
  • Grow your site and use new and updated features
  • Increase traffic and conversions

However, proper maintenance can be time-consuming, requiring extensive research and hosting, WordPress, and website development expertise. That’s why many organizations and businesses turn to expert support providers like Kanopi to lighten the load (more on our services in a bit!). 

WordPress maintenance and support tasks

The exciting (and stressful) truth about the web is that it changes daily. Designers and developers must quickly become proficient in techniques they may have never heard of before. 

For site owners, this constant change means a lot of upkeep. What’s standard today could be different in a month. You must commit to regular, ongoing website maintenance to ensure your WordPress website stays healthy and up-to-date. While hosting companies will maintain your site’s server (where your website lives on the internet), most don’t offer the kinds of hands-on updates and support your specific website needs.

With that in mind, here are the most essential support tasks you must conduct regularly to keep your site healthy: 

A list of essential WordPress maintenance tasks (described in the sections below) 

Backups

You’re not really a web developer until you’ve deleted something critical and had to restore it. Most hosts offer backup plans, or at the very least provide you with a method of downloading your own backups. At Kanopi Studios, we use hosts that provide daily backups and let us create manual backups, ensuring we have total control in the event a site needs to be restored. 

WordPress core updates

WordPress is a growing, living thing. That’s what those little version numbers really mean—version 6.5.4 is out as of this writing. Core updates include security patches, as well as new or updated features that your developer can use to add innovative functionality to your site. 

The real cornerstone of this process is the security updates; when the WordPress team finds and resolves a security problem, they release an updated version of WordPress core, along with an explanation of that flaw. This means that the same security bug is now public knowledge and available to nefarious individuals to take advantage of. That’s why it’s essential to update your site promptly after a new core release.

Theme and plugin updates

Likewise, purchased themes or third-party plugins are subject to change for similar reasons—plugging security holes or adding new and improved features. It’s good practice to update these elements at least once a quarter to stay on top of it. 

Plus, it’s almost always easier to jump between minor versions (eg. 6.4.2 to 6.4.5) than to wait and go from one major release to another (eg. 4.3.1 to 6.4.5). Although, it is a good way to get that adrenaline pumping, especially if you don’t have backups (but we strongly advise against it if you want your site to stay intact!).

Transients and caching assessment

Both servers and browsers cache websites to deliver content faster. A cache essentially stores a “snapshot” of a website and then delivers that snapshot upon subsequent visits to reduce load time. 

Of course, as a website owner, you want this snapshot to update when you add new information. Sometimes caching can be too aggressive or non-existent. It’s valuable to consider your website’s specific needs to choose the right type of caching. WordPress also uses something called transients, which allow developers to add additional caching for specific types of database queries. This is essential for large or complex sites.

Caching can be done in several ways: your website host may have caching, you could use a third-party caching plugin or service, a developer could add caching-specific code, or you could implement a combination of all three.

Database optimization

Over time, new content is added to your website database, with either new rows or columns of data, new database tables, or new connections between tables. It’s like your website’s filing cabinet, going back to the beginning of time. This growth can get messy if it’s not maintained and pruned regularly. 

Some hosts offer manual “one-click” database optimization solutions, but for a real thorough cleanup, you need someone with the technical know-how and familiarity with your site. Also, backups. Always backups.

Security and malware scans

Sometimes, you may do everything you can to keep WordPress core and your plugins updated, but your site still ends up vulnerable to cyber attacks. Because of WordPress’s popularity, it is by far the most hacked CMS (it’s the target of 90% of all hacking attempts). That’s why it’s wise to run ongoing security checks and malware scans to catch any potential issues. 

WordPress offers a variety of security plugins to manage these scans. However, we recommend working with an experienced web developer who can recommend the right tool for your site that won’t compromise performance. 

Performance enhancements

Website performance involves the ongoing tasks and elements that allow your site to run like a well-oiled machine. When load speeds, conversion opportunities, and other technical factors are optimized, your site will be a performant resource that exceeds your audience’s expectations. With that in mind, you should conduct the following performance checks every few weeks: 

  • Assess your site’s load speeds. Ideally, your website should load in 2 seconds or less. You can use PageSpeed Insights to test your site’s pages. 
  • Set up a notification if your site goes down. Whenever a website goes offline, even if it’s just for a few minutes, it can damage the site’s reputation and reduce conversions. Use a free tool or plugin to set up a notification if your site goes down so you can identify the issue and get your site back up and running. 
  • Test your site’s most important conversion forms. Your site’s conversion opportunities enable casual visitors to engage with your organization, whether through making a purchase, donating, signing up for your newsletter, registering to volunteer, or taking another action. Ensure your conversion forms work properly and load quickly on laptops and mobile devices. 

Accessibility audit

Last (but certainly not least), you must make accessibility a core priority for your WordPress maintenance efforts. Emphasizing accessibility ensures your website can remain a usable resource for all audience members. Accessibility best practices and technologies constantly evolve, so you must stay up to date with relevant guidelines and assistive tools

You can use automated tools to assess your site’s accessibility (we cover a few options in the next section), but we also recommend manually testing your site. This allows you to recreate the user experience and catch any issues that may have slipped through undetected. 

To build a website that’s truly accessible at its core, we recommend taking a holistic approach to accessibility with the help of an experienced web design partner. For example, here’s a quick look at Kanopi’s integrated accessibility approach:

Contact us to learn how we can support your unique accessibility needs based on your audience’s characteristics. 

10 effective WordPress maintenance services and tools

There are plenty of WordPress maintenance tools and services available online that can help you maintain a high-quality website for years to come. We’ve rounded up a few of our favorite solutions to help you get started. 

Pantheon: WordPress Host

Pantheon homepage

Pantheon is one of Kanopi’s partners for a reason! We love using their platform for hosting WordPress sites. They have powerful features for iterative development and rollouts, and you can even check your plugin versions right from the dashboard with security alerts attached.

WP Engine: WordPress Host

WP Engine homepage

WPEngine also specializes in WordPress hosting, which means they know the ins and outs of the CMS and can help with common problems. Their support is fast, knowledgeable, and dedicated. Their platform also keeps up with the latest stable PHP version and WordPress core, with easy testing and deployment.

Yoast: WordPress Search Engine Optimization

Yoast homepage

Yoast is a plugin we regularly use and recommend for WordPress websites. Yoast automatically adds basic schema data to your website, creates a sitemap XML, and empowers you to create dynamically generated metadata for your various post types. The free version has all the features you need, making this an affordable addition to your tech stack. 

Screaming Frog SEO Spider: Website Crawler

Screaming Frog homepage

Screaming Frog’s SEO Spider is another solution that can help you monitor and improve your site’s technical performance, which will in turn boost your SEO rankings. The SEO Spider crawls your website to identify issues like broken links, redirect chains, defective meta descriptions and titles, and duplicate content. Then, you can quickly correct these issues to enhance your site’s performance and make it easier for search engines to crawl and index the site. 

Google Analytics: Website Analytics Platform

Google Analytics homepage

Google Analytics offers website analytics to assess the effectiveness of your engagement and conversion opportunities. With Google Analytics, you can track metrics such as your website’s page views, bounce rate, time on page, traffic sources, and other detailed information. This data provides a well-rounded picture of who your visitors are and what they want from your site. 

HotJar: User Experience Assessment Tools

HotJar homepage

HotJar is a WordPress plugin that advertises itself as a tool to discover “Everything you ever wanted to know about your website… but your analytics never told you.” In practice, this means HotJar offers detailed user experience tracking tools such as website heatmaps, user session recordings, and feedback and survey tools to gather input from real site visitors. 

HotJar is effective for gaining a comprehensive understanding of the user experience on your website and ways you can improve the experience as part of your ongoing maintenance efforts. 

Kraken.io: Image Optimization

Kraken.io homepage

Images make up a lot of your website’s “weight,” which is why it’s necessary to compress images to ensure faster page load speeds. Kraken.io is a paid service with a WordPress plugin that allows you to create optimized images for your website. For quick image optimization, you can also use a free tool like TinyPNG.

PageSpeed Insights: Page Speed and Accessibility Assessments

PageSpeed Insights homepage

PageSpeed Insights gives you a quick overview of how well your site is doing across the board, including performance, SEO, accessibility, and best practices. Put any URL in and see how it stacks up compared to Google’s standards. You can also download this as an extension (Google Lighthouse) for Chrome and run it directly in your browser.

Siteimprove: Accessibility Checker

Siteimprove's website accessibility checker

Siteimprove offers a free accessibility checker and WordPress accessibility plugin to help ensure your site aligns with the Web Content Accessibility Guidelines (WCAG). You can assess key components of your site’s accessibility, such as color contrast, headings, alt text, broken links, navigation, and anchor text descriptiveness. 

Kanopi: WordPress Maintenance Services

To keep your site healthy and expand its functionality over the years, you need more than just simple maintenance services and security scans. You need a dedicated partner who can learn your website inside and out and offer reliable support all year round. That’s where Kanopi comes in!

We work with some great hosting partners who understand what we’re about, and it lets us hold the right reins when it comes to our client sites. Our developers are experienced with the CMS and strive to uphold WordPress’s own standards. 

Top Features of Kanopi’s WordPress Maintenance Services

Kanopi’s well-rounded team of experienced designers, strategists, and developers enables us to support your WordPress website at any stage of its lifecycle. Got a lemon that needs a serious overhaul? Need a complete rebuild? Have a freshly built higher ed website or hospital website that needs extra care to keep it going? We’ve got the combination of skills and people needed to handle your website wherever it’s at.

Like your site, our team is also always growing its knowledge base. We stay up-to-date with security releases, changes to WordPress core, industry standards, and new technologies. If the next version of PHP is on the way, we’re already preparing your site for the update.

Specifically, here’s an overview of our services

  • Module and plugin upgrades
  • Bug fixes and security patches
  • Development modifications
  • Updating content types/views
  • Third-party integrations
  • CSS/HTML changes
  • Commerce updates
  • Performance enhancements
  • Content revisions and updates
  • Managing support tickets with your host

We’re not just about keeping your website running—Kanopi works closely with you to genuinely understand your organization. Forging this partnership allows us to help you create a website that truly represents your organization as we strategize together. 

We take a continuous improvement and growth-driven approach with incremental updates like navigation strategy and SEO fixes that boost your site over time. Here’s a look at how our growth-driven approach works vs. traditional website design and development: 

Interested in learning more about Kanopi’s WordPress services? Check out our WordPress work to see examples of how we’ve supported and improved sites over time. We work with all types of WordPress websites across industries, including healthcare, education, nonprofit, corporate, and arts and culture sites.

Final thoughts

To summarize, yes, you need to maintain your WordPress website, yes, there’s a lot to do, and yes, someone else can do it for you. If you’re interested in a partnership with Kanopi, we’d love to hear from you. If you need more information about the maintenance process, start with these additional resources: 

Drupal logo on a blue background with a circular pattern

The Ultimate Guide to Drupal Planning and Development

This post was last updated in September 2024 to incorporate information about the recent release of Drupal 11. 

Kanopi is a Drupal Certified Partner and can help with your migration needs.

Drupal is an open-source software content management system (CMS) that powers over 1 million websites globally. As a Drupal user, you were probably drawn to the platform because of its scalability and flexibility. You also know your site requires continual planning and updates to retain an informative, engaging online presence. 

To ensure your website continues to excel, you must stay up-to-date with the latest changes in the Drupal world. Specifically, Drupal’s latest version, Drupal 11, launched in August 2024. 

Now is a good time to review how these changes will impact your CMS planning. We’ve crafted this Drupal planning and development guide to help you prepare for upgrades and migrations and preserve your website well into the future. Let’s start by looking at some frequently asked questions from Drupal users regarding planning and development. 

Drupal Planning and Development FAQs

What is the difference between WordPress and Drupal? 

Both Drupal and WordPress are user-friendly, open-source platforms used to build powerful, comprehensive websites. Generally speaking, WordPress is known for its relatively simple admin user experience with many ready-made themes to choose from. By contrast, Drupal is often used by organizations looking to build complex sites, integrate with other services, and receive ongoing support from an agency or in-house developers. 

If you’re looking to switch systems or are adopting a robust CMS for the first time, compare each platform’s features to determine which one better suits your needs. Kanopi’s Drupal vs. WordPress guide can help steer your decision-making. 

I see Drupal 11 is the latest version. Should I upgrade to Drupal 11? 

Upgrading your website to Drupal 11 depends on your current codebase and whether you have the resources and time needed to manage a migration. An audit of your existing Drupal site can help you decide when the best time to update to Drupal 11 should be.

Kanopi can help you work out the best upgrade or migration path. We’ll take a deep dive into your Drupal planning and development roadmap later on in this post

How often should I make security and module updates in Drupal?

Review Drupal core security updates and contributed modules as they are released and apply them with expedience based on their Security Risk level. The higher the level, the more risk the vulnerability is to the site.

Non-security module updates are best done monthly or quarterly depending on time available or budget. Keeping your code up to date with the latest releases helps make future site upgrades easier, takes advantage of bug fixes, and can add additional functionality.

How can I get started building my Drupal planning and development strategy?

If you’re unsure where to begin with your Drupal planning, consider partnering with a Drupal development specialist. We’ve compiled a list of key support tasks you should expect to receive from an agency offering to assist you with your Drupal planning. They should:

  1. Work with you to create a Drupal strategy roadmap.
  2. Get familiar with your organization and your budget.
  3. Define the best way to curate existing content to maximize conversions.
  4. Provide module support.
  5. Offer Drupal training.

We’ll highlight additional ways a Drupal specialist can help optimize your website later on in this post

Where can I find Drupal talent? 

Drupal.org is a great place to start if you’re looking for Drupal talent. Kanopi also has a friendly team of Drupal experts ready to help you strategize your Drupal planning and development. Each of our Drupal experts has an average of 11 years of experience in Drupal development. 

Where can I find more Drupal development tools and resources?

Kanopi’s resource library can help you learn more about Drupal, stay up to date on release updates, and craft your development strategy. Drupal also has a dedicated Slack channel for users. Other resources include:

Preparing Your Drupal Planning and Development Roadmap

Have you reviewed your website users’ needs recently? What about your site’s usability, accessibility, and content quality? 

User needs change over time. That’s why it’s essential to have the most up-to-date picture of your users’ unique needs and take steps to determine whether your website content meets those demands. 

If you’re brainstorming your Drupal roadmap, we suggest carefully considering the following: 

These are the elements of a Drupal planning and development roadmap, outlined in the text below.
  • Undertaking user experience (UX) research. Use your website analytics and traffic patterns to determine how effectively different website aspects engage visitors. For instance, does your nonprofit’s online donation form have a high conversion rate? Can visitors easily find your business’s contact information and event calendar? Test site elements such as load speed, mobile-friendliness, and accessibility. 
  • Streamlining your user decision journey. The user decision journey is the steps your audience members take to learn about your organization and determine whether they want to engage with you further. This might involve purchasing one of your products or services, donating to your cause, or signing up to become a member of your group. Assess whether your website streamlines the user journey by asking questions about how visitors are likely to engage with your site. Do you have a variety of calls to action throughout the site that encourage visitors to get more involved? 
  • Fine-tuning your user personas. Is your website reaching the right people? Creating in-depth audience profiles allows you to understand your audience’s needs, goals, and interests and design your website content accordingly. Reassess your user personas to determine whether your audience has changed. Use the information in your customer or constituent relationship management system to assess your audience’s demographics, purchasing habits, and other distinctive characteristics. 

By assessing the UX and appealing to your user personas, you can deal with blockages in your customers’ decision journey and create a more valuable website experience. You can also identify any sweet spots where your site currently excels that could be built upon ahead of your site migration. 

Planning Pathways for Drupal Users

Your upgrade and maintenance process will differ depending on the Drupal version you’re currently using. This article explores the options available to Drupal users who intend to stay on the system.

Drupal planning pathways for Drupal 7, 8, 9, and 10 users (explained in the sections below)

Exploring Drupal 11

As mentioned, Drupal 11 was released in August 2024. Our recent blog post recaps everything you need to know about Drupal 11’s new features, including: 

  • The Drupal core Workspace module, which helps manage content changes by staging new content or previewing a major site overhaul.
  • Single-Directory Components that are now supported in core to provide a simplified front-end development workflow.
  • Navigation module that updates the admin toolbar with modern options.
  • Recipes API to help apply complex configurations.
  • Access policy API to build custom policies to accommodate a wide variety of access verification needs.

Drupal 11 has the same basic functionality as Drupal 10.3, which many sites were upgraded to in the spring of 2024. Drupal 11 was released to offer new features and eliminate deprecated code. 

So, how can you prepare for D11? No matter what Drupal version you’re currently using, we’ve got a planning and development roadmap for you. 

Drupal Planning: 7 to 11

Drupal 7’s end-of-life (EOL) date was adjusted to January 2025. Therefore, many D7 users have decided to stick with this version to give themselves more time to prepare for an eventual transition to a later version. 

Although you can remain on D7 for a while longer, now is a great time to transition to D11. Your D7 to D11 migration roadmap should include the following tasks:

  • Make a plan for content that can be retired from your site before moving to Drupal 11.
  • Map out how redirects will be handled for any content you remove from the current site to ensure your SEO isn’t negatively affected.
  • Review the modules you use in Drupal 7 and investigate the upgrade path needed for those modules to be compatible with Drupal 11.
  • Identify and recommend alternative modules, tools, or third-party services for modules that aren’t available for Drupal 11.
  • Look at the site’s content types and determine if anything needs to be changed or combined to meet your users’ needs and/or make the site easier to maintain. 

We recommend switching to D11 before D7 reaches its end-of-life (in January 2025) so you can continue benefiting from security team updates and fixes.. 

Drupal 8 and 9 Users

There’s good news and bad news for Drupal 8 and 9 users. Let’s start with the bad news: D8 reached its end-of-life in November 2021, and D9 reached EOL in November 2023. Drupal 8 and 9 are no longer supported and no more bug fixes or improvements will be released, so if your site is currently running on one of these versions, it’s more vulnerable to cyber-attacks and other security threats. 

Here’s the good news: if you plan to upgrade from D8 or 9 to 11, you are looking at a very simple, streamlined migration process.

Your Drupal development partners can create a roadmap with these elements:

  • Look for any deprecated code in your code base that may need to be updated for D11.
  • Make sure that the modules you use in Drupal 8 or 9 are compatible with Drupal 11, or have a target date for compatibility.
  • Ensure that the site’s configuration files are tidy so that it’s easy to export/import configuration during the upgrade.

Upgrading your D8 or 9 site to D11 as soon as possible will help you maintain its security and functionality.

Drupal 10 Users

If you’re currently using D10, you’re in a great position to migrate to D11. Support for Drupal 10 will end in 2026, so you still have some time to transition, but it’s never a bad idea to stay ahead of the curve to make the most of the new features available in D11.

You can prepare for D11 by staying up-to-date with bug fixes and other security updates. If you have custom code on your site, keep an eye out for deprecation notices as well, and update that code regularly to remove them. You can use Upgrade Status and Drupal Rector to identify modules and deprecated code that need to be updated. 

You’ll also need to update your website to the latest version of Drupal 10.3 because, as Drupal explains, “all core updates added prior to 10.3.0 have been removed. If any modules or themes have been removed you may use the respective contributed project instead.” 

Consider working with a web development consultant to help you stay on top of all updates. For instance, the Kanopi team offers website support services for all Drupal users. This includes:

  • Module and plugin updates
  • Bug fixes and security patches
  • Performance enhancements
  • Development modifications

Use this checklist to help ensure your organization is completely ready to migrate your site to a newer version of Drupal:

Drupal Migration Readiness Checklist

0% Complete

Exploring Kanopi’s Drupal Planning and Development Services

Kanopi can support your Drupal site until it’s ready for an upgrade, even if that means going beyond the end-of-life date of your current operating version. Instead of large structural changes, we recommend focusing on incremental changes that can be delivered with a potentially fluctuating budget, such as:

  • Improved navigation
  • Revised content strategy
  • New content curation
  • Accessibility support
  • Search engine optimization (SEO)

We can also provide a website growth plan for you, which typically includes: 

  • How to increase website conversions for your organization
  • Customization based on your unique situation
  • A breathing window to maintain your site ahead of a migration (if your site is operating on D7)

Along with our Drupal 7 maintenance package, we also have options for Drupal 8, 9, and 10 users to help create a game plan or launch a migration. 

Looking for more information to learn more about Drupal planning and development? These additional Kanopi resources can help:

A stethoscope sits on top of a laptop

7 HIPAA-Compliant Website Analytics Tools for Healthcare

Healthcare websites are subjected to a higher standard of data security than other organizations due to the sensitive nature of the information they have access to. With that in mind, your organization must use a HIPAA-compliant website analytics tool to avoid any potential violations of this law. 

This guide explores how HIPAA impacts healthcare websites and highlights seven effective analytics tools. 

What is HIPAA and how does it impact healthcare analytics tracking?

The Health Insurance Portability and Accountability Act of 1996 (HIPAA) requires healthcare organizations and hospitals to maintain the privacy and security of patient health data, known as “protected health information” (PHI). The law aims to “assure that individuals’ health information is properly protected while allowing the flow of health information needed to provide and promote high quality health care and to protect the public’s health and well being.” 

HIPAA helps protect patient privacy, control fraud, and establish national standards for electronic healthcare transactions. It applies to any form of data—written, spoken, paper, or electronic. 

HIPAA data protection requirements

HIPAA requires healthcare organizations to practice many physical and digital data security and privacy measures, including: 

  • Pointing computer screens away from public view
  • Locking computer rooms
  • Destroying sensitive data 
  • Conducting risk assessments with a HIPAA security officer
  • Not discussing patient information in public places
  • Using strong passwords
  • Sharing how patient data is used and shared outside your healthcare facility
  • Getting signed consent from patients to use or disclose their personal information

Website analytics tools track and measure online user behaviors using external software, so there’s a risk of disclosing sensitive information with a third-party organization in a way that violates HIPAA. 

That’s why many healthcare organizations seek HIPAA-compliant analytics tools to mitigate risks while still gathering the valuable website data they need to create a positive online experience. 

Features of HIPAA-compliant analytics tools 

To find a HIPAA-compliant analytics tool, make sure the platform you use:

  • Doesn’t share protected health information with non-compliant platforms
  • Offers a business associate agreement (BAA) outlining their roles and responsibilities in protecting patient data and ensuring HIPAA compliance
  • Allows you to not collect website visitors’ IP addresses
  • Encrypts sensitive data

7 best HIPAA-compliant analytics tools

Let’s review the top options for managing your healthcare website’s analytics tracking. These tools may also be useful for other industries requiring stricter data protections, such as higher education, airport, or government websites. 

Freshpaint

Image showing how Freshpaint uses its healthcare privacy platform to prevent private information from being shared with analytics tools

Freshpaint is a healthcare privacy platform. It prevents protected data from being shared with non-compliant technologies by centralizing all website visitor data into one secure platform supported by a BAA. 

Rather than requiring users to filter out sensitive data from being collected, the platform’s default approach is to not share sensitive information at all. You can use Freshpaint to block any HIPAA identifiers from being shared with Google Analytics. 

Instead, the platform creates an anonymous user ID and leverages irreversible cryptographic hashing to de-identify the user data. This way, you can still view complete visitor journeys without knowing each individual’s identity. 

Siteimprove

Product image for Siteimprove

Siteimprove offers both content and marketing analytics solutions. Users can ensure HIPAA compliance by enabling the platform’s IP Anonymization feature. Siteimprove also protects data with advanced encryption measures, such as managing their own encryption keys. 

Using Siteimprove, you can:

  • Track key KPIs
  • Monitor conversions
  • Gain real-time visitor insights
  • Analyze the complete user journey 

This solution makes it easier to design a more useful and engaging website for your audience. 

Piwik

Piwik homepage

Piwik provides a suite of analytics tools, including dashboards, customer journey optimization, and customization options. They offer two options for making their platform HIPAA-compliant

  1. De-identifying all PHI in your data
  2. Signing a BAA with Piwik

The platform fully supports either option. Users can also benefit from features such as secure hosting, safe backup storage, SOC 2 security standards, data encryption, and more. 

Heap

Product image for Heap

Heap’s analytics platform offers a variety of useful website insights, including:

  • User session replay
  • Website visitor heatmaps
  • Visual user journey maps
  • User segmentation capabilities

You can configure Heap to be HIPAA-compliant by blocking the collection of IP or geolocation information. Their tools are also designed to meet other security regulations like The General Data Protection Regulation (GDPR) and The California Consumer Privacy Act (CCPA). 

Matomo

Matomo homepage

Matomo’s analytics platform prioritizes data privacy to protect your organization’s reputation and maintain compliance. Similarly to Heap, you can configure Matomo to be HIPAA-compliant. The process requires multiple steps, which you can view on their website. The Matomo team can support the setup process through installation, configuration, and troubleshooting. 

Countly

Countly home page

Countly is a privacy-first product analytics platform built for web, mobile, and desktop apps. It’s popular in healthcare because it can be self-hosted, keeping sensitive data under your control while still offering rich analytics and engagement tools.

Features:

  • Full data ownership with on-premise or cloud hosting
  • HIPAA/GDPR-compliant by design
  • Funnels, cohorts, retention, and crash analytics
  • Engagement tools (push, surveys, A/B testing)
  • Broad SDK support for quick integration

Improvado 

Improvado homepage

Improvado is an AI-powered marketing analytics platform that offers marketing dashboards, customizable data visualizations, and AI insights. They offer BAAs to clients who are subject to HIPAA regulations. They also employ SOC 2 Compliance and safeguards for other data privacy regulations such as GDPR and CCPA.

PostHog

PostHog homepage

PostHog is a full-service platform for testing, deploying, and analyzing new website features. Their analytics features include:

  • Session replay
  • Feature flags
  • A/B testing
  • User surveys

PostHog can provide customers with a BAA to enable HIPAA-compliant use of their platform.

Wrapping up

Protecting your patients’ personal data is key to not only remaining compliant with industry regulations but also fostering trust in your community. Use this list as a starting point to understand your analytics options and find a solution that aligns with your needs and budget. 

Looking for more healthcare website resources? Start here:

Drupal and Wordpress Logos

Boosting Site Performance in Drupal and WordPress: Strategies to Try and Avoid

Performance is crucial for any website, and a website built with the Drupal or WordPress content management system (CMS) is no exception. Search engines prioritize mobile website performance, and users abandon websites that load too slowly, so ensuring fast loading speeds is essential.

While Drupal and WordPress offer a solid foundation, adding features, themes, and modules/plugins can slow down your site. In this blog post, we’ll explore strategies to improve the performance of your Drupal and WordPress sites and some pitfalls to avoid.

Measuring Performance with Google Pagespeed Insights

How fast is your site? Google Pagespeed Insights is an excellent tool for measuring performance. It provides Core Web Vitals and an overview score with recommendations for improvement. Focus on achieving a general site performance score of 80+ and passing all Core Web Vitals.

Strategies for Boosting Pagespeed

1. Cache and Aggregate

Caching can significantly enhance performance. WordPress Performance plugins can handle CSS/JS caching, while full-page and database query caching require additional plugins and fine-tuning for optimal results. Drupal, however, has these performance enhancements already baked into the CMS.

Consider using performance-oriented plugins on your WordPress site. Autoptimize, Phastpress, and Hummingbird are popular options that can significantly enhance site performance. 

Drupal handles this with its internal caching. Enable Drupal’s built-in caching for all your pages, blocks, and views, and enable CSS and JavaScript aggregation on the Performance page.

These plugins and configurations may require platform-specific adjustments or specific settings for certain hosting environments, so testing is crucial.

2. Choose a Good Hosting Environment

Shared website hosting can be affected by other websites, adversely impacting your page speed. Dedicated or managed hosting environments offer better performance at a reasonable cost. Providers like Pantheon offer dedicated hosting for Drupal and WordPress, whereas Acquia provides dedicated Drupal hosting. WPEngine and Kinsta provide dedicated WordPress hosting. Any of these managed hosting providers are an excellent starting point.

Managed hosting environments often provide their own caching mechanisms that are worth exploring for their known performance benefits.

Varnish, for example, can dramatically improve performance. Consider Memcached or Redis for faster, more scalable caching — especially with complex Drupal or WordPress sites.

3. Image Size Matters

Even Drupal and WordPress have limits when compressing large images. Upload images close to the required size or aspect ratio. Configuring Drupal and WordPress to resize images automatically is essential for a fast experience.

4. Optimize Images

WordPress and Drupal can generate adequately sized images for your website, but newer formats like SVG, WebP, and Avif offer better compression without compromising quality. 

WordPress plugins like WebP Express, ShortPixel, SVG Support, and Safe SVG can reduce image size quickly and offer SVG support. 

In Drupal, the SVG Image module lets you add support for SVG files to the standard image field. It also facilitates web image format conversion through a filter within Drupal core image styles, which you can configure according to your needs.

It’s equally important to ensure the image loads are sized appropriately for the device accessing your site. Whether using Drupal or WordPress, you’ll want to ensure that responsive images are set in the SRCSET or your IMG tag. WordPress typically adds responsive images by default. You can manipulate these defaults using the wp_calculate_image_srcset() and wp_calculate_image_sizes() filters outlined within the WordPress Developer Resources. In Drupal, we do this using the module Easy Responsive Images.

Lazy loading images is an effective way of deferring the load of images until they’re about to enter the viewport.

Optimizing video embeds is as effective as optimizing your images. With Drupal, we do this using the Lite Youtube Embed module, which allows the videos to be lazy loaded.

5. Avoid Too Many Scripts

Google Tag Manager makes it easy to add multiple scripts for user journey tracking — but too many scripts can hinder performance. Regularly review and remove unnecessary third-party scripts to optimize site speed. We wrote a blog post on how to improve performance in Google Tag Manager. 

6. Copy/Pasting? Clean Your Content

When copying and pasting text from another document, clean out extra metadata and styling. Drupal and WordPress can clean some of it, but it’s best to avoid loading unnecessary content. When possible, always paste text without formatting.

7. Update, Update, Update

Regardless of which platform you choose, it’s critically important to keep the content management system and its corresponding modules or plugins up-to-date. Drupal core and modules and WordPress core and plugin updates can offer performance and security fixes.

Be sure to keep PHP on the most recent stable version supported by Drupal or WordPress to benefit from performance and security fixes.

Strategies to Avoid

1. WordPress Page Builders

Avoid using page builders on the built-in WordPress block editor (Gutenberg). Gutenberg has improved site editing to the point where additional page builders — such as Elementor or Beaver Builder — are rarely needed. They can negatively impact site performance.

In Drupal, however, there is no equivalent page builder. It is important to use themes and modules that do not provide unnecessary bloat. 

2. Excessive Plugins

Many Drupal modules or WordPress plugins can have unnecessary features that slow down your site. If you only need one feature from a module or plugin that loads many others, consider finding a more lightweight alternative. The functionality provided by that one feature within that module or plugin may be able to be written within your theme or a custom Drupal module or WordPress plugin for a more performant and secure site.

It’s always essential to audit your Drupal modules and WordPress plugins regularly. We would recommend quarterly. Disable unnecessary Drupal modules and WordPress Plugins that consume resources, and consider removing them from the code base completely where possible.

3. Frameworks and Bloated Themes

Adding frameworks like Bootstrap, icon packs, and fonts to a theme can increase CSS and JS bundle size. If you can’t optimize these effectively, stick to creating what you need on an existing theme. Less is definitely more in this case.

The payload of CSS for what loads above the fold on a page can be managed using Critical CSS. 

Some parting advice:

Write efficient custom code in your theme and Drupal module or WordPress plugin to ensure it is optimized for performance. If you’re a developer,  disable caching and aggregation when developing to avoid issues. 

As always, test, test, and test again. Test the site under heavy load to simulate real-world scenarios to uncover bottlenecks, and use third-party services such as New Relic to help dig into these bottlenecks.

Drupal and WordPress provide a solid foundation for performance, but modules, plugins, themes, and functionality can reduce site speed. Monitoring performance is crucial — and pairing it with continuous optimization is essential. For more advanced assistance, feel free to get in touch; we’d be happy to provide expert advice, and even a few performance improvements.

Did you know that Shane is our very first Kanopi employee, ever? If you’ve enjoyed reading his post, please check out his other great works in our blogosphere, such as: 

Drupal Logo

The Comprehensive Guide to Drupal Recipes

At the keynote speech at DrupalCon 2022, Dries Buytaert, the founder of Drupal, presented the idea of “Starter templates” to help ambitious site builders quickly and easily create solutions. From that, the Distributions and Recipes initiative was born.

Drupal recipes are the foundation for the new Starshot Initiative, which aims to make Drupal easier to use and out of the box for all users. It took a couple of years, but Recipes have been added to Drupal core in 10.3 as Experimental APIs.

(If you prefer webinars, I gave a webinar on Recipes, Starshot, and the future of Drupal. Check it out.)

The Problem

For decades, developers have been packaging functionality together for Drupal to create different solutions, such as eCommerce stores, blogs, LMS, social media, and publishing sites. Many approaches were taken, each with its own pain points.

Installation Profiles

  • You can only start with them.
  • Once you start with them, you are stuck with them forever!
  • You can’t change to a different install profile.

Distributions

  • Complex dependencies that need to be maintained
  • Updates could break customizations
  • Would be hard to get solutions into Drupal core.

Features and Custom modules

  • As with the above, these often become complex and hard to manage.
  • Need update hooks or manual steps to alter core and other contrib module’s configuration.

The Solution

An issue has been created to add four new APIs to Drupal that will allow Recipes to be applied to Drupal. These recipes allow Drupal module automation, theme installation, and configuration at any time during the lifecycle of a Drupal site. They can install modules, import configuration, alter existing configuration, and even provide content to a Drupal site. Recipes are ephemeral; once applied, the results become the site’s responsibility.

What makes up a Drupal Recipe?

A recipe needs only a folder with the recipe’s name, which contains a recipe.yml file.  Beyond that, optional items are a /config folder, a /content folder, and a composer.json file. You can also include README.md and LICENSE.md files like a module or theme.

Recipe structure

  • recipe_name folder
    • recipe.yml
    • /config folder
      • node.type.event.yml
    • /content folder
    • composer.json

recipe.yml structure

name: 'Event'
  type: 'Content type'
recipes:
  event_manager
install:
  datetime_range
  node
config:
  actions:
    user.role.event_manager:
      grantPermissions:
        'delete any event content'
        'edit any event content'

What can’t a Recipe do?

To keep things functional and sustainable, recipes can’t do certain things.  For instance, recipes can’t…

  • Have their own code. If you need code, have your recipe install a module with that code.
  • Make dynamic changes.
  • Provide their own upgrade path (functionality is now part of the site).

Applying a recipe to an existing site

Recipes are applied to Drupal, not installed. Until the code is merged into Drupal core, you need to patch Drupal.  Patches can be found here on the project page.

Once you’ ha’ve patched your Drupal core version, you can use the internal script to apply a recipe to an existing site. On your command line, run the following command from your webroot:

php core/scripts/drupal recipe core/recipes/standard -v

This command uses PHP to find the “recipe” script in core/scripts/drupal. Then list the full path to the recipe. The -v flag has the recipe runner output the application steps as they happen on the command line. 

Once you apply the patch, you will get Drupal recipes from core! Core’s recipes currently include the Standard installation profile recreated as recipes. You can apply Standard and get all the functionality or apply them individually as needed. They were created to be very atomic — so that you can choose your own adventure.

Applying a recipe using Quick Start

Another Drupal script allows you to install Drupal from a recipe. When you do this, you do not start from an install profile! This is a new change. Previously, you at least had to start with a minimal profile; now, that is no longer needed.

If you’re starting a new Drupal install, you can use the following script:

php core/scripts/drupal quick-start core/recipes/article_content_type

The new Recipe APIs

The core of the recipe’s code are four new APIs.

  • Drupal\Core\Config\Action
  • Drupal\Core\Config\Checkpoint
  • Drupal\Core\Recipe
  • Drupal\Core\DefaultContent

The Recipe API depends on DefaultContent, Action, and Checkpoint. The other three APIs have no interdependencies.

Drupal\Core\Config\Checkpoint

A checkpoint is made for the site’s configuration when a recipe is applied. The recipe runner uses this to revert if the application fails, but there may be other uses for this in the future, like unapplying a recipe.

Drupal\Core\DefaultContent

This API’s code came from the contributed Default Content module. It allows recipes to provide content to Drupal using YAML files.

Drupal\Core\Config\Action

The Config Action API is the magic of the recipe system. It allows you to alter configurations already in a site, including core’s configs!

Drupal\Core\Recipe

Finally, the Recipe API puts it all together and applies the recipe. The recipe runner takes a recipe, and follows the following steps:

  1. Applies dependent recipes
  2. Install modules and themes
  3. Imports configuration from the /config folder
  4. Alters configuration based on actions
  5. Imports content from the /content folder

Deep Dive into an Actual Recipe

This recipe creates two fully configured content types. It includes meta tags, paths, configured admin forms:

name: 'Saplings - Content types'
description: 'Configuration for the Saplings Content types.'
type: 'Site'
# Here we require other dependent recipes.
recipes:
  - saplings-content-base
  - saplings-component-types
# Now we install modules.
install:
  # Core.
  - menu_ui
  - tour
  # Contrib.
  - access_unpublished
  - field_group
  - metatag_open_graph
  - metatag_twitter_cards
  - pathauto
  - publication_date
  - scheduler
  - scheduler_content_moderation_integration
  - schema_article
  - simple_sitemap
  - token_or
  - ui_patterns_layouts
config:
  # Now can import configuration
  import:
    # Core.
    menu_ui: "*"
    # Contrib.
    access_unpublished: "*"
    pathauto: "*"
    # If we only want to import certain configs, we can identify them like this.
    scheduler:
      - scheduler.settings
      - views.view.scheduler_scheduled_content
  # Config actions are where we can change configuration in Drupal 
  actions:
    # Set Metatag Home page:
    metatag.metatag_defaults.front:
      simple_config_update:
        tags.canonical_url: '[site:url]'
        tags.description: '[node:sa_description|node:sa_seo_description]'
        tags.image_src: '[node:sa_seo_image:entity:field_media_image:sa_social_media_facebook|node:sa_featured_image:entity:field_media_image:sa_social_media_facebook]'
     tags.og_description: '[node:sa_description|node:sa_seo_description]'
    # Set permissions for anonymous role.
    user.role.anonymous:
      ensure_exists:
        id: anonymous
      grantPermissions:
        - 'access content'
        - 'access sitemap'
        - 'access_unpublished node sa_page'
        - 'access_unpublished node sa_post'
    # Set permissions for content editor role.
    user.role.content_editor:
      ensure_exists:
        id: content_editor
      grantPermissions:
        - 'access administration pages'
        - 'access block library'
        - 'access content overview'
        - 'access environment indicator'
        - 'access environment indicator ribbon'
        - 'access help pages'
        - 'access media overview'
        - 'access media_entity_browser entity browser pages'
        - 'access media_entity_browser_modal entity browser pages'

What are Config Actions?

As you can see in the recipe example above, you can import config from modules and themes, and take action against config that already exists. Config actions are written to make specific changes to config files — including Drupal core configuration files, which previously could only be done through update hooks.

Look for this list to update as the initiative digs into phase 2 and creates more recipes and possibilities.

Available to all config entities

simple_config_update

This is a config action that can be used to make foo: bar type updates to any configuration file.

setThirdPartySetting(s)

The setThirdPartySetting(s) config actions allows recipe authors to set third-party

settings values.  Add the ‘s’ to apply multiple third part settings.

ensure_exists

This action can be used to ensure as a user role exists before applying other actions.  It helps a recipe not fail if the role does not exist.

create

The create config action can be used to create a config entity, but it is much easier to just put the config file in the /config folder.

Applicable to specific config entity types

addItemToToolbar

Used to add a button to the toolbar of a CKEditor 5 editor.

addToAllBundles

Used to add a field to all bundles of an entity type. Should be used in combination with setComponent(s) below to make sure the field displays on forms and displays.

addNodeTypes, addTaxonomyVocabularies

Used to add editorial workflows to node and taxonomy bundles.

grantPermission(s)

Used to grant permissions to any user.role.* config files.  Add the ‘s’ to add multiple permissions.

setComponent(s)

Used to to add fields to an entity’s view or form display configs.

What’s next for Drupal Recipes?

Now that recipes are in Drupal core, the phase 2 of the roadmap will soon be updated. Integration with Project Browser, and recipe creation in Starshot are definitely on the top of the list, but there are lots more things to do.  Stay tuned and check out the issue queue to learn more!

Want to learn more via an on-demand webinar?

View Jim’s on-demand webinar on Drupal Recipes and Starshot.

Screenshot from Jim Birch's webinar on Drupal recipes and Starshot
Close up of a laptop with one person's hands on the keyboard, while the other person's hand is pointing at the screen.

The Ultimate Drupal 7 to 10 Migration Guide for Marketers

This post was last updated in September 2024 to incorporate information about the recent release of Drupal 11. 

Kanopi is a Drupal Certified Partner and can help with your migration needs.

Drupal users were delighted when Drupal 10’s release in 2022 introduced many changes and improvements to the platform. Now, the latest version of Drupal, Drupal 11, is available after its launch in August 2024. As a Drupal 7 user, you may be wondering what this means for your website. 

Keeping up with new Drupal releases ensures that your site is secure and that it benefits from the latest advanced functionality. Ultimately, this allows you to serve your website’s audience more effectively. 

As a marketing manager or CMO for your organization, it’s important to understand the steps of the Drupal migration process so you can effectively work with your developer while they upgrade your site. This guide covers what you need to know to prepare for a Drupal 7 to 10 migration (and an eventual upgrade to Drupal 11). 

FAQs about the Drupal 7 to 10 Migration

Let’s start with a few fast facts and frequently asked questions about Drupal 7, 10, and 11. 

When was Drupal 7 released?

Drupal 7 was released on January 5, 2011. 

How long will Drupal 7 be supported? 

Drupal 7’s end-of-life date is set for January 2025. After this time, Drupal 7 will no longer receive many bug fixes or security patches. By staying on Drupal 7, you could also risk having faulty modules. Plus, you won’t be able to take full advantage of the new features available in Drupal 11. 

When were Drupal 10 and 11 released?

Drupal 10 was released in December 2022, and Drupal 11 was launched in August 2024. 

What new features are included in Drupal 10 and 11?

Drupal 10’s updates reflected ongoing efforts to modernize the back-end editing experience and provide a streamlined front-end user experience. Specifically, Drupal 10 offered these upgrades and new features: 

  • New default administrative theme. The Claro administrative theme is modern, mobile-friendly, and optimized for accessibility. 
  • New default frontend theme. The new Olivero front-end theme also prioritizes accessibility and modernity alongside a streamlined and elegant color palette, form builder, and typography. 
  • Upgrade from CKEditor 4 to CKEditor 5. CKEditor 5 facilitates a streamlined author experience with the ability to track editing histories, collaborate in real time, and easily import content from Word. 
  • More modern JavaScript elements. Drupal 10 swaps large jQuery elements with more performant solutions. 
  • Upgrade from Symfony 4 to 6 and upgrade to PHP 8. This represents a significant improvement to the PHP scripting language. 

Drupal 11 builds on these features with additional functionality to improve the development experience with flexibility, streamlined workflows, and better content governance. Developers were especially excited about these new features:

  • The new experimental Recipes feature, which helps easily apply complex configurations.
  • Robust content staging through Workspaces tools that allow developers to Stage new content or preview a full site overhaul by using multiple workspaces on a single site. 
  • Single-Directory Components that simplify front-end development.

Drupal 11 will receive new features every six months, so you can expect more exciting features to come.

When should I switch to Drupal 10? 

You should consider switching to Drupal 10 as soon as possible to take advantage of the updated features. Plus, you’ll need to upgrade to Drupal 10.3 before you can migrate to Drupal 11. According to Drupal, “Drupal sites running 10.2.x or earlier versions must first update to 10.3.0 or later prior to updating to Drupal 11, because all core updates added prior to 10.3.0 have been removed. If any modules or themes have been removed you may use the respective contributed project instead.”

In addition, Drupal 7 will no longer be supported after January 2025, so it’s a good idea to plan your migration before then. 

Steps of the Drupal 7 to 10 Migration

So, what will the Drupal 7 to 10 migration actually look like? It’s recommended to work with a web developer during this stage. This may either be your organization’s internal web developer or a third-party web development firm.

As a marketing professional, you will mainly play a supporting role in the Drupal 10 migration process. You can help ensure that your site’s SEO rankings are maintained, check that your site’s themes and modules are updated regularly, and run regular tests to ensure a high level of performance. The developer will handle the more complex technical aspects of the migration process. 

However, it’s still helpful to understand what exactly goes into a migration and how you can support the development team throughout the process. 

With that in mind, here are the steps you and the developer will take throughout the upgrade process. These steps will help prepare your site for newer Drupal versions.

1. Audit your Drupal 7 site. 

A site audit allows you to optimize your Drupal website for performance and security as well as identify data and content types to migrate to your new site. 

During an audit, a developer will identify the following elements to prepare them for the migration:  

  • The content types and structure of your current site. In this stage, you’ll define all of the data that will migrate to the new site and eliminate any broken or unnecessary code. 
  • The functionality of the Drupal 7 site that needs to be recreated in your new Drupal 10 site. The developer will note any features that will have to be manually redeveloped. 

2. Identify necessary redirects for content you’re removing from your site to maintain SEO rankings.

Identify top-performing content and determine whether you’ll need to implement a redirect to maintain SEO performance. 

3. Create a backup site copy.

This copy will serve as a migration source and provide a resource for you to reference after your new Drupal 10 site goes live. You can compare your Drupal 10 site to the copy to ensure that everything is in the right place and make adjustments as needed. 

4. Review hosting for technical requirements needed for Drupal 10.

Ensure your website host can support PHP 8.1’s minimum technical requirement. You can also review your host for performance elements such as speed, security, and reliability. 

In addition, your developer will ensure that your host provides options for development workflows and site testing. This allows you to stage your site and test new elements and features without affecting the live production environment. 

5. Migrate your site’s content. 

Content migration informs the structure of the new site, making it the first step in the migration process. Plan your content strategy by determining which content types you’d like to maintain or alter. Then, your developer will initiate the process of migrating your data to your new Drupal 10 site. 

6. Upgrade your themes and modules.

Modules are foundational elements of your Drupal website that extend its functionality. Your developer will take the following steps to upgrade your modules and themes in Drupal 10: 

  • Replace contributed modules with their modern counterparts.
  • Identify custom modules and code, verify the functionality required in the new site, and rebuild them.
  • Rebuild the theme using the more modern Twig framework.

7. Finalize migration, deploy, and run tests. 

Run both automated and manual tests to check your new site. For example, the Kanopi team uses automated code-checking tools like PHPstan and Drupal Rector. These tools allow you to see if your code is functioning as expected. 

We also recommend performing manual tests that replicate the user experience. Test your forms, links, navigation, and other site elements to catch any issues and correct them before promoting your new site to audience members. 

How a Drupal development expert can help

As mentioned, working with a Drupal developer will make your migration experience smooth and painless. When finding a Drupal development partner to work with, seek experts that can: 

  • Facilitate a smooth migration process, taking care of the technical details and maintaining data integrity. 
  • Prioritize accessibility, ensuring all aspects of your Drupal 10 site comply with the Web Content Accessibility Guidelines (WCAG). 
  • Develop custom modules to ensure that your Drupal website has all the features it needs to serve your audience members effectively. 
  • Craft a search-engine-optimized website that helps your content appeal to search engines and visitors. 
  • Implement third-party integrations such as payment processors, security portals, and other tools your organization uses. 
  • Construct a mobile-responsive theme that ensures your website looks and works great on mobile devices. 
  • Provide ongoing support, updating content, implementing security updates, and managing performance upgrades as needed. 

When searching for the right Drupal partner, it’s helpful to find an organization with experienced developers who contribute to the Drupal project on an ongoing basis. For example, Kanopi Studios offers Drupal development services for all types of organizations, including nonprofits, corporations, healthcare organizations, and higher education institutions. 

Each of our Kanopi team members has an average of 11 years of Drupal development experience and several of them are Acquia-certified. We also are a supporting partner to the Drupal Association and regularly contribute to the Drupal Project.


By following these steps and providing your developer with context and insight into your website strategy, you can make the Drupal 7 to 10 (and eventually 11) migration simple and painless. Contact the Kanopi team today if you’re ready to launch the migration process. 

Looking for more Drupal development and migration resources? Check out these Drupal guides: