Small Bites, Big Wins: How Kanopi Brings AI Solutions to our Clients

At Kanopi Studios, we’re not just experimenting with Artificial Intelligence (AI) tools, we’re putting it to work in meaningful, client-centric ways. While artificial intelligence might feel like a buzzword, we see it as a practical toolkit to deepen collaboration, speed up delivery, and amplify impact.

Here’s how we’re using AI today, and how we’re building toward what’s next.

But first, a quick note ….

Our AI Approach: Ethics, Trust, and Human Oversight

AI should never replace human judgment, empathy, or creativity. We build with clear principles:

  • Always keep a human in the loop
  • Be transparent about AI’s limitations, and work to identify hallucinations and bias
  • Avoid using AI for sensitive content, especially medical, legal, or financial, without expert human review
  • Make accessibility and inclusivity non-negotiable

Our teams of engineers, designers, writers, and strategists collaborate to ensure ethical implementation and responsible innovation.

What We Mean by “AI Solutions”

AI isn’t a monolith. It’s a spectrum of technologies and techniques that help us solve problems more efficiently and creatively. When we say “AI solutions,” we’re referring to specific features and enhancements we can embed into client websites or workflows. They are small, practical tools that create outsized impact.

From streamlining content workflows to powering multilingual chatbots, our AI solutions aren’t experiments. They’re real, usable features we’re already delivering.

What We Can Already Do With AI

Within Web Development

Across Drupal and WordPress, we’ve implemented AI to:

  • Auto-generate and translate content
  • Summarize articles and reports
  • Finesse content for tone, clarity, or audience
  • Create accessible image alt text
  • Produce AI-generated imagery and audio
  • Transcribe media and moderate user-generated content
  • Recommend content based on user behavior
  • Smartly crop images and tag content

These features are already helping our clients work faster, with better quality and accessibility.

Within Strategy and UX

We view AI as a way to enhance, not replace, human creativity and strategic thinking. By streamlining repetitive and data-heavy tasks, our Creative, UX, and Strategy teams gain the efficiencies that let us focus on insights that drive meaningful impact for clients.

AI supports our work in three key ways:

  • User testing analysis: Quickly parsing large sets of data to reveal patterns and opportunities.
  • Content audits: Reviewing content at scale for brand consistency, clarity, and tone.
  • SEO insights: Highlighting keyword gaps and optimization opportunities to strengthen performance.

With AI taking care of the heavy lifting, our strategists and creatives can spend more time on what matters most: crafting meaningful, human-centered experiences that are grounded in research, aligned with brand values, and designed for long-term success.

AI for Every Sector: Real Ideas for Real Clients

Different sectors face different challenges, and AI can be tailored to meet those needs. Here are just a few ways we’re imagining (and building) value:

Nonprofits

  • Mission-driven chatbots can guide visitors to donate, volunteer, or find services
  • AI form helpers can pre-fill grants or surveys, suggest resources
  • Smart content repurposing can transform reports into digestible executive summaries and social media posts

Higher Education

  • Multilingual translation and summarization for tuition pages or course content
  • Lecture transcription can enhance accessibility and content searchability
  • AI lecture recaps can help students stay informed

Healthcare

  • Dynamic campaign landing pages personalized by location or health condition
  • Natural-language search improves discoverability across large, complex websites

Airports & Municipal Clients

  • AI policy lookup assistants use internal docs to answer partner questions
  • Civic AI chatbots handle FAQs like “How do I pay a parking ticket?” or “Where’s the dog park?”
  • Real-time passenger chat supports multilingual travelers 24/7 with embedded Drupal or WP widgets

What Powers These AI Features?

AI services generally fall into several type of operators:

  • Text-based tools: Chatbots, summarization, translation
  • Visual tools: Text-to-image generation, image tagging, smart cropping
  • Audio tools: Text-to-speech, speech-to-text, and even audio-to-audio processing
  • Search tools: Embeddings, Retrieval-Augmented Generation (RAG), and smart contextual lookup
  • Moderation tools: Screening for unsafe or harmful content
  • AI-based Scaffolding: Code and configuration generation 

Technologies like Model Context Protocol (MCP) and llms.txt help us safely and efficiently integrate AI into your existing CMS and infrastructure and guide AI to the content we want it to parse.

Starting Small: What Makes a Good First AI Project?

We recommend beginning with:

  • A task that’s repetitive but easy to validate
  • A solution that speeds up an existing workflow
  • A use case that works with public or low-sensitivity data
  • A scope that’s clear, limited, and measurable

Our goal is to help clients win with small steps that build confidence and long-term value.

Our Suite of AI Recipes for Drupal

When we create AI tools, we first work to define the base requirements that will work on any site.  This allows us to standardize on solutions, and then customize for client needs.  In Drupal, we do this by creating recipes.

Our suite of recipes is called Saplings. In nature, saplings are young trees, older than a seedling, that with care, can grow into a full grown tree.  Our Saplings recipes give us a jump start on building our tools for your website, and can be combined together to grow a forest of functionality.

Saplings AI Agents

Adds an AI powered chatbot for Drupal site building, and imports AI Agents.

Saplings AI MCP

Creates and configures a general-purpose Model Context Protocol (MCP) server configuration to enable MCP clients to connect and interact with your Drupal site.

Saplings AI CKEditor Experience

Creates and configures AI tools for content creators in CKEditor. Creators can generate, translate, summarize, and rewrite content with a dozen different included tones that can be easily expanded for more.

Saplings AI Agent Modeler

Configures a Modeler in the Drupal User Interface (UI) to allow for creation or editing of AI agents.

And we’re always working on creating more!

Let’s Explore AI Together

Whether you’re a nonprofit leader, a university strategist, or a digital director at a hospital or airport, AI has something to offer you. Kanopi can help you unlock it.

Have an idea for your website or want to explore what’s possible? We’re ready to brainstorm, build, and bring it to life, responsibly.

Thanks to Will Jackson who helped me put together this blog post, and along with Kerry Murphy, manage lot of the Drupal AI tooling mentioned in this article.

Accessible personas: the key to inclusive web design

The World Health Organization (WHO) estimates over 15% of the world’s population — or 1.3 billion people — self-identify as having a disability.

That’s why creating inclusive and accessible websites isn’t just a nice-to-have in today’s online world; it’s an absolute necessity. 

As hospitals, universities, and nonprofits strive to meet the needs of everyone who visits their websites, it becomes all the more crucial to understand the diverse challenges folks face when attempting to interact with inaccessible content (and the impact this can have on customer acquisition, applications, and fundraising.)

Here at Kanopi, we’d argue that to understand what people with disabilities need from your website, you should develop accessible personas — detailed representations of your different website visitors, particularly those with disabilities.

This blog explores why accessible personas are essential, how they help design better user experiences and the best practices for developing them. Let’s get started!

What are accessible personas?

We’ve written about them before here, but simply put, a persona is a fictional yet data-driven representation of your target customer, written as if the persona were a real person. It’s documented in a way that lists everything from demographic information to hobbies, to pain points, and motivators. 

A persona is a tool you can use to create sales and marketing materials that have a specific target user in mind, rather than a generic one. They are designed to guide content writers, designers, and developers in crafting websites that can be easily accessed and navigated by everyone, regardless of their abilities.

But what many personas lack is taking accessibility needs into account. We can’t forget or ignore that site visitors can have various impairments, including permanent, temporary, and situational disabilities (see below for more on those). This is particularly critical in healthcare, where users come to a website with any number of accessibility needs and need information quickly and easily. 

Example: a persona for a UCSF Department of Urology patient

Example: a persona for a UCSF Department of Urology patient

By focusing on different disability types — such as mobility, visual, hearing, cognitive, and neurological impairments — organizations can better anticipate the needs of folks who may face barriers when interacting with their websites.

Dyslexia alone affects 20% of the population and represents 80–90% of all those with learning disabilities. It’s the most common of all neurocognitive disorders. Limiting all capitalization and breaking up large walls of text to add white space are just a few design solutions that help ensure your site content is dyslexia-friendly. 

It’s also essential to consider the three different types of impairments:

  • Permanent impairments, like blindness or permanent mobility limitations.
  • Temporary impairments, such as an eye injury or recovering from surgery.
  • Situational impairments, like those faced by a person in bright sunlight or within a noisy environment.

There’s a strong business case for developing accessible personas.

Improved usability for everyone

Accessible personas help organizations understand the unique challenges faced by people with disabilities, leading to more inclusive and user-friendly web design. 

The insights drawn from accessible personas ensure that accessibility isn’t an afterthought but an integrated part of the design process. 

By considering different abilities, you create a better experience not only for folks with disabilities but for everyone — whether they’re navigating your website with a keyboard, voice control, or even in a noisy or visually cluttered space.

Most organizations must comply with accessibility laws, such as the Americans with Disabilities Act (ADA) and Section 508 of the Rehabilitation Act

Then there’s the issue of ethics. Put simply, ensuring your website is accessible to people with disabilities means equal access to your site’s content for all, not just a few. 

Enhances content, UX, & design

Creating accessible personas encourages teams to focus on key aspects of accessibility, such as content clarity, navigation ease, and intuitive design. 

For instance, a persona with a hearing impairment might require captions for videos and a visual indicator for sound cues. 

Additionally, a person with a visual impairment might need large text options and high-contrast colors. 

These solutions — along with many more outlined in our content scorecard — help ensure that everyone who visits your website can read, navigate and use your content as intended.

Fosters empathy & inclusion

Developing personas based on real-world impairments fosters empathy among strategists, content writers, designers, and developers. 

When teams are guided by detailed personas that represent real-world people, you can create a stronger emotional connection to your organization’s accessibility goals. 

This empathy can shift the focus from mere compliance to a genuine commitment to creating more inclusive and usable digital experiences for everyone.

Best practices for developing accessible personas

Consider permanent, temporary, & situational disabilities

Disabilities can vary widely in terms of permanence. Some folks might have lifelong disabilities, like blindness, while others might have temporary conditions, such as an eye injury. 

Situational impairments — like a noisy environment or bright lighting — also affect how people interact with your website.

Account for diverse impairments

A disability can impact someone’s senses and abilities differently, including:

  • Mobility: People with limited motor control may require options to navigate your website without precise mouse movements. Ensure your site provides keyboard navigation, large buttons, and clear visual cues for all clickable elements.
  • Visual: Permanent impairments like blindness or color blindness and temporary issues such as cataracts or eye injuries require solutions including alt text, high-contrast colors, and adjustable font sizes.
  • Hearing: People with hearing impairments need captions and transcripts for videos and visual cues for audio content.
  • Cognitive & Neurological: People with cognitive impairments benefit from clear, simple language, step-by-step instructions, and tutorials that help them navigate your website easily.

Embed accessibility in Drupal

Once you’ve designed your personas, make it easy to implement how you’ll meet people’s needs.

The Drupal A11y Project Checklist created and maintained by developers at Kanopi offers helpful, integrated guidance on interaction methods, navigation, and structure for individuals, organizations, and governments.

Screenshot of the Drupal.org A11y project checklist

Practical solutions for a variety of impairments

Avoid taking a one-size-fits-all approach. Different solutions assist different impairments. For example:

  • Mobility Impairments: Ensure folks can navigate your site using their keyboard or screen reader. Avoid requiring precise mouse movements, which can be difficult for people with motor impairments.
  • Visual Impairments: Craft high-contrast color schemes and resizable text options, and use descriptive alt text for images and videos. These features benefit people with blindness, color blindness, and even temporary impairments like eye injuries. 
  • Hearing Impairments: Use captions, transcripts, and visual cues to replace audio information. Additionally, provide clear, concise language to ensure understanding.
  • Cognitive Impairments: Simplify language, use step-by-step instructions, and minimize complex interactions. Visual aids can be beneficial for people with cognitive or neurological impairments.
  • Neurological impairments: Avoid extreme flash and strobe of visual content, parallax effects, and scroll-triggered animations, considering the needs of the 50 million people worldwide who have epilepsy and the 1.8 million adults worldwide who have bilateral vestibular hypofunction (BVH).

Where to start for creating your own accessible personas 

The UK Government Digital Service (GDS) has developed seven different open-source accessibility personas that you can use as a reference to get started. However, the GDS also notes that creating accessible personas is not a substitute for including people with access needs in your user testing.

Guidelines from Microsoft’s Inclusive Design methodology provide a comprehensive approach to developing accessible personas as well.

Accessible personas not only humanize your site’s users but also help prioritize and align content, UX, and design solutions to better meet their needs.

At Kanopi, we create personas from many different sources, including:

  • user research
  • interviews with real people
  • data gathered through analytics
  • and market knowledge best practices.

We’ve developed accessible personas for many organizations, including Flagler College, the Gilder Lehrman Hamilton Education Program, and the UCSF Department of Urology.

While it may seem like a daunting task, taking small, incremental steps can improve your site’s accessibility over time. For example, you could start by focusing on your website’s forms.

How We Give Websites Unnaturally Long Life

We recently came across a very interesting blog post from our friends at Orbit Media on a subject we’ve actually wanted to cover for a while now: the average website lifespan. 

They discovered that the average lifespan is two years, one month. That’s it.

A low bar, indeed. 

They also point out that you can extend your website’s lifespan well beyond two measly years by following some established best practices. This is something we know about first hand here at Kanopi.

In fact, we’ve found that the websites we build for our clients regularly last 10 years or more. 

So what’s our secret sauce? It comes down to two things:

  • how we define support, and
  • how we provide that support.

Both of these are based on years of experience and focus on a complete process that leads to steady improvement and intentional growth. 

We focus on setting clear expectations from the start, ensuring clients understand the purpose, share our mindset, and are fully on board. It’s not just about making updates; it’s about bringing marketing, design, and development together so every change has a real impact.

In fact, it’s been a core part of how we work for so long that we see it as more than just a methodology. It reflects our mindset as an agency. And it’s the #1 reason the websites we build for our clients enjoy the longevity that they do.

If you’re curious to learn how we help clients build websites that last five times longer than the industry average, it starts with these steps:

We begin with both qualitative and quantitative research. Every project begins with qualitative and quantitative research. (If you’re unsure what the difference is or why both are equally important, check out this post.) The research we do informs our UX design and content strategy, ensuring optimal usability right from the outset — which results in fewer problems down the road and helps avoid premature obsolescence. This is why even when the budget we’re given is relatively small, we do as much research as possible with what we have. This step is far too important to omit.

We employ skilled, experienced professionals. Senior-level website designers and developers are capable of superior-quality work, faster problem-solving, and efficient project execution. This results in websites that remain performant, efficient, and relevant for years. By minimizing technical debt and ensuring adaptability, their experience and skill helps prevent costly rebuilds.

Also, we’ve found that full-time employees tend to have a more vested interest in client projects. So while we may occasionally complement our staff with contractors (who are also senior-level), our clients can trust that their projects will be handled almost entirely by full-time staff.

All the Kanopi staff, about 70 people, smiling at the camera for a group photo
The talented Kanopi staff

Support is not the same thing as maintenance.

The word ‘support’ in our industry has come to be synonymous with technical tickets and tasks. And notifying a help desk when there’s a problem with your site, and speaking with a technician to get the problem resolved, and then forgetting about them until you need them again.

Of course, this type of maintenance work is nonetheless important and we do provide it for our clients. But it has very little to do with how we define ‘support’ at Kanopi. 

For us, support is about making an ongoing investment to ensure optimal functionality at all times. Long-term support is critical after your site launches.

It’s more than making sure the code works and the add-ons and features don’t glitch. Instead, it’s a process that involves ongoing evaluation and iteration, where we continually ask questions like these:

User Experience & Accessibility

  • Have user needs evolved?
  • Is the website fully responsive and optimized for different devices and browsers?  
  • Are there any new accessibility standards or guidelines we need to implement?  

SEO & Content

  • Is the content current? Are we keeping things fresh, adding interesting new content and archiving/repurposing older content that’s no longer relevant?
  • Are we monitoring search trends and adjusting our SEO strategy accordingly?
  • Are we leveraging AI tools or automation to enhance SEO performance?

SEM & Paid Marketing 

  • Are our paid search campaigns (Google Ads, social media ads) optimized for ROI?
  • Are we testing and iterating on ad creatives and messaging for better engagement?
  • Are we using remarketing strategies effectively to re-engage visitors? 

Conversion & Engagement  

  • Are our landing pages optimized for conversions?
  • Are we A/B testing CTAs, headlines, and page layouts to improve engagement?
  • Are we analyzing user behavior to refine marketing strategies (e.g., heatmaps, scroll depth, click tracking)?

Brand & Positioning

  • Are we maintaining a consistent brand voice across all marketing channels?
  • Are we engaging with our audience through social media, email marketing, and community-building efforts?  

Scalability & Infrastructure  

  • Is our hosting environment still the best fit for our current traffic and resource needs?
  • Has the open source community recently invented or improved features that would enhance this website, or be a better fit than those we’ve previously implemented?
  • Are we monitoring uptime and performance metrics to prevent downtime?
  • Would implementing a CDN or other optimizations improve site speed?  

Automation & Workflow

  • Can any repetitive development tasks (e.g., updates, testing, deployments) be automated?
  • Are there any new integrations (AI-Search, APIs, CRM, analytics tools) that could improve efficiency?

Performance & Security 

  • Are all core, theme, and plugin/module updates applied and tested for compatibility?
  • Are there any deprecated functions or outdated dependencies that need refactoring?
  • Is the site loading efficiently (e.g., optimized images, caching, minimized scripts)?  
  • Are security best practices being followed, such as firewalls, backups, and malware scans?  

By revisiting these questions regularly, we ensure your digital presence continues to evolve with your users and the broader web landscape. And it helps us focus on what matters most: performance, usability and long-term value.

Conclusion (in convenient listicle form)

We didn’t actually set out to write this post as a how-to guide, but if you want to ensure your website enjoys unnaturally long life blessed with perpetual relevance, usability and neverending optimal results, these are the steps you’d need to follow:

  1. Do your homework; include both quantitative and qualitative analytics as part of your thorough research process.
  2. Entrust your strategy, design and development to the most deeply skilled, experienced team of professionals you can find. Bonus points if most of them are your full-time employees.
  3. Transform your definition of support from something that happens only when problems occur into a mindset of constantly looking for opportunities to enhance and improve every facet of your site.

Simply commit to these three steps with every fiber of your being and your website is guaranteed to exceed the average lifespan by a great many years. And if that seems overwhelming, you can always partner with an agency that demonstrates their passion for website longevity by writing lengthy blogs.

Happily Ever After: Why Long-Term Website Support is Critical After Your Site Launches

Launching a new website is exciting for any organization. After months of planning, preparation and hard work, your new site experience is ready for all of your users to enjoy. But here’s the truth that many organizations overlook: launch day is actually the first day of your project, not the finish line.

Websites are not static; they evolve and change as your organization grows and they need ongoing attention and refinement to remain effective. If you want your website to continue to engage your audience while evolving to meet your ongoing business goals, long-term support should be part of your website strategy from day one.

Support Is More Than Just Bug Fixes and Security Updates

Many people assume website support is just about keeping the lights on with bug fixes and security updates. While these are crucial to the ongoing health of your site, a comprehensive support strategy goes far beyond the basic upkeep required to keep your site online. A successful long-term support strategy should always include:

  • Design Revisions: As design trends shift, your website should remain visually appealing and aligned with modern aesthetics.
  • Information Architecture Adjustments: Content organization and structure should evolve based on user behavior and your business goals.
  • UX and Navigation Enhancements: Making it easier for visitors to find what they need improves conversions and engagement.
  • Performance Optimization: Ensuring fast load times and smooth interactions keeps users engaged and prevents bounce rates from climbing.
  • Regular testing: Ensuring your site runs smoothly while identifying opportunities for further optimization.
  • Conversion Optimization: Regularly check CTAs, forms and other conversion points to make sure they are driving conversions.
  • Accessibility compliance is a moving target: Stay current on WCAG requirements and run frequent accessibility checks on your website. 

With a well-thought-out support plan, your website remains a valuable asset rather than slowly declining over time.

Consider The “Afters.” Where Will Your Website Be in 12 to 24 Months?

Is it still performing at its peak? Will your content still be relevant and easy to update? Will your navigation still make sense as your organization grows? Without ongoing support, websites can quickly become outdated, difficult to navigate, or misaligned with your current business objectives. If there’s one thing you can count on in the digital world, it’s change. Your website needs ongoing care and support in order to adapt accordingly. 

A well-maintained website not only stays fresh and engaging but also avoids the slow decline that plagues many neglected sites. Instead of scrambling to redesign an underperforming site every few years, ongoing support ensures continuous improvement and a fresh experience for users.

The Cost Benefits of Long-Term Support

Long-term website support can significantly extend the lifespan of your site, and reduce the need for costly redesigns every few years (we have one client whose site we’ve been maintaining for 10 years!). Instead of dealing with an expensive overhaul every three years, long-term support allows you to make strategic, iterative improvements over time. This spreads out costs, making it a more budget-friendly strategy while ensuring your website remains competitive and up to date. It also allows for the maintaining strong SEO performance and a positive user experience which means you won’t frustrate potential customers or advocates for your mission due to outdated design or functionality.

Your Website Deserves A Long-Term Strategy

If you’re considering redesigning your website, don’t just focus on launch day, think about what comes after. Ideally you’ll build your site for longevity, but additionally a long-term support plan will make your site last even longer. Partnering with an agency (shameless plug: like us) that offers long-term support ensures your website continues to work for you and remains relevant well into the future. Ongoing support is a cost-effective way for you to stay competitive, maximize your investment, and keep your website thriving—not just surviving.

More hands, more impact: when to use staff augmentation

Sometimes you need a few extra hands. 

When it comes to managing their digital presence, mission-driven organizations face unique challenges. Maintaining a strong website requires precision, collaboration, and expertise — from safeguarding data to ensuring accessibility and compliance with industry regulations.

For many teams, hiring an outside agency for a large website build can feel risky — especially if past experiences led to sites that didn’t meet their needs or felt disconnected from their mission. Their biggest fear is that they’ll end up with a site that’s built in a way their internal team won’t be able to edit, support, or extend on their own. 

To avoid these challenges, many organizations are turning to staff augmentation to get the support they need while retaining control of the process. It allows their internal teams to keep their autonomy while getting the extra help or expertise needed to get their website across the finish line.

How can staff augmentation help your website?

Instead of outsourcing an entire project, staff augmentation provides targeted support where it’s needed most — whether that’s design, development, accessibility, or ongoing maintenance.

It’s a model that offers some important benefits for teams, allowing them to:

  • Maintain control over the vision and execution of your website.
  • Boost team capacity to meet tight timelines or handle larger projects.
  • Fill skills gaps with specialized expertise, like compliance with ADA accessibility standards, security needs, or HIPAA regulations.
  • Collaborate seamlessly with professionals who integrate into your workflow without disrupting your team’s dynamic.

Here at Kanopi, we’ve been offering staff augmentation for years — often helping clients under pressure to deliver high-quality websites that serve users, staff, and stakeholders alike.

How we partner with organizations

Clients who partner with us for staff augmentation often prefer us to sign non-disclosure agreements, so we can’t share those specific case studies. However, we can list a few non-specific examples of ways we’ve supported clients and their in-house teams:

  • Bringing expertise to fill gaps: A Fortune 50 company brought us in to strengthen their team with custom Drupal module development, secure API integration for PPI compliance, assist with designs, keep projects on track, meet deadlines, and maintain high-quality standards. 
  • Collaborating under tight deadlines: When a hospital system’s in-house team was stretched thin during a major redesign, we stepped in to handle development work. We delivered on time while staying aligned with the team’s goals.
  • Enhancing accessibility and compliance: A nonprofit provider required updates to ensure their site met both accessibility and HIPAA compliance standards. Our specialists joined their internal team to address gaps, ensuring the site was compliant, user-friendly, and patient-focused.

One example we can cite is the UCSF Department of Surgery. We partnered with their IT team to develop a template for 80+ sites, allowing each to feature unique content or share content across multiple domains.

Ready to enhance your team?

Even with a dedicated internal team, there are times when an extra set of hands — or a niche skillset — can make all the difference. If you need staff augmentation for your website, we’re here to collaborate with your team, helping you overcome resource challenges and build a website that meets both your current and future goals.

Let’s create something amazing together. Contact us if your latest project could use consulting services or helping hands within our full spectrum of web services.

All About Drupal CMS

Drupal has always been a huge part of the Open Web, empowering its users to create ambitious websites. The Drupal community continues to make the platform more accessible and feature-rich. One of the most exciting advancements in this space is the introduction of Drupal CMS, which is designed to provide an easy-to-use, out-of-the-box experience.

What is Drupal CMS?

Drupal CMS aims to make Drupal more accessible to a broader, less technical audience. This project joins the best of Drupal’s contributed project ecosystem to create a streamlined experience. Building on top of Drupal core, Drupal CMS takes advantage of recent core initiatives like Recipes, Project Browser, and Automatic Updates.

The goal? To make it easier than ever for users to go from installation to a fully functional website, even if they have little to no prior Drupal experience. Drupal CMS comes pre-packaged with carefully curated “recipes” that cater to everyday use cases. By guiding site builders through a smoother, faster setup process, Drupal CMS aims to reduce barriers to entry and attract new users to Drupal.

Drupal CMS is designed to compete directly with Wix, WordPress, Squarespace, and other out-of-the-box solutions so users can spin up a site quickly and effectively, but with the bonus of getting the most commonly used components of Drupal — and the power of Drupal — built in!

The Drupal CMS interface when you first download it.

What’s in Drupal CMS?

Administration experience

Drupal CMS has a stunning admin experience out of the box, using Gin for the admin theme to give the user interface (UI) a gorgeous, airy look. Users can log in with a username or password. Once they do, they will land on a brand-new Dashboard.

Drupal core’s Navigation module adds a new left-hand navigation bar. Together with the search in the top bar provided by the Coffee module, this makes navigating the Drupal admin screens much faster.

The Drupal CMS dashboard, showing all the navigation.

The Page

The base Drupal recipe comes with a Page content type and many niceties, such as a Trash bin, auto-saving of edit forms, page duplication thanks to Quick Node Clone, core Media enhancements like Focal Point, and, of course, Project Browser to find new recipes, modules, and automatic updates.

Drupal CMS's page for Project Browser, where you can search for various components.

Content types

Additional content types can be added in the installer or later in Project Browser.

The Blog, Case Studies, Events, News, Person profiles, and Project recipes all have their respective content types, dependent entities like taxonomies to categorize themselves or locations for events. They also have a listing page and a Drupal view that lists individual news, events, and other content types.

Content types in Drupal CMS

Additional Recipes

Not only are there content-type recipes, but you can also add functionality to Drupal CMS’ using prebuilt add-ons provided by recipes. The application is fast, and what would take a developer hours or days to configure is now done in the blink of an eye. These recipes include:

SEO Tools

It adds standard search engine optimization tools such as meta tags, XML sitemap, robots.txt management, and more.

Google Analytics

This recipe adds tracking of website traffic using Google Analytics and Google Tag Manager. Requires a Google Tag Manager ID.

Accessibility Tools

Adds automated checks to help ensure content conforms to web accessibility guidelines.

AI Assistant

Adds integration with AI services, such as alt text generation and a chatbot to assist with site-building. Requires an API key from Open AI or Anthropic.

Search

Adds a search to help visitors find content.

Forms

This recipe adds a simple contact form and tools for building forms.

Where can I try Drupal CMS?

There is a Drupal CMS Trial at https://new.drupal.org/drupal-cms/trial, where you can spin up a temporary instance of Drupal CMS and test all the features.

You can also download the Drupal CMS code directly from https://www.drupal.org/project/cms

What if my site gets too robust for Drupal CMS?

This is one of the advantages of Drupal CMS: If a marketer wanted to expand their Drupal CMS site into a more complex one as their needs grow, it would be easy to do! Drupal CMS installs the latest version of Drupal 11. So the goal is one spins up a Drupal CMS site, grows it over time, and when additional support is needed to expand the site, it can be seamlessly expanded to take advantage of all the flexibility and complexity that Drupal offers. 

The Future of Drupal CMS

Drupal CMS 1.1 will be released in the short term in early 2025. This release will contain not only bug fixes but also minor enhancements. Still, it will also include a demo of Experience Builder (XB), then a new page builder that will empower site builders to construct and theme their entire website solely within their browser using basic HTML, CSS, and templating markup, eliminating the need for extensive coding experience and Drupal expertise. A full release of XB is expected in the fall of 2025 and will be the main feature in Drupal CMS 2.0.

2025 will also bring new tracks to Drupal CMS as work wraps up on existing tracks.

Project Browser

Work will continue on the Project Browser initiative as an official Drupal CMS track. The tool continues to evolve to support recipe application and re-application, module discovery, and as a gateway to automatic updates with the eventual goal of adding Project Browser to the core.

Workspaces as content moderation

Workspaces is a module in Drupal core that allows for staging content changes beyond simple Draft <> Published workflows. As page creation evolves with Experience Builder, making changes to any number of different components and pages at once will be possible, and those changes will be able to be published en masse, providing next-level content staging.

Telemetry

Telemetry is a process of collecting information about how software acts in the real world and how users interact with it. Besides collecting module usage information, Drupal has never previously collected data about how users interact with Drupal. This is a new initiative where we aim to improve the product with actual data from users.

Migration

Migrating into Drupal’s structured data architecture has always been a developer-centric task. As more folks adopt Drupal and may want to migrate off their existing platforms, the track aims to simplify content importing into Drupal. AI-assisted migration demos have already been demonstrated using existing websites and even PDFs. Still, this track will look at all options for making migration to Drupal easier.

Tours

The Drupal Tour module, powered by the open-source Shepherd JavaScript library, provides users with tours through web content using tooltips. This track aims to provide user-facing documentation of the Drupal CMS administration area in an instructive and seamless manner to educate users about all the tools and possibilities.

Translation

Initially slated for the initial release of Drupal CMS, extending Drupal core’s multilingual capabilities to recipes and Drupal CMS is a big task that will expand its global audience. Since Drupal CMS is built on top of Drupal, users can manually configure all of Drupal’s multilingual tools. Having them preconfigured with improvements in translation tools and workflows will make Drupal CMS much easier to use.

Single Sign On (SSO)

Single sign-on, managing who can log into your CMS and what permissions they have in an external system, is a popular request for sites we build. Numerous platforms and services can be used, each with nuances and requirements. This track will aim to create easy-to-use solutions to aid organizations in user management.

A New Design System

Experience Builder will require a design system of easy-to-use components that site builders can adapt to their own organization’s styles and one that designers can adapt to their visions. Mediacurrent, an open-source product agency, has been selected to lead that track. Look for a preview at DrupalCon Atlanta 2025.

Contribution in Drupal CMS

Kanopi Studios is playing a key role in the development of Drupal CMS, sponsoring contributions first on the Recipes Initiative going back to 2022, and now being a top-tier agency committing time and resources to the development of Drupal CMS 1.0.

Engineering Manager Jim Birch serves as a Drupal Recipes Initiative Coordinator and a Drupal Core Subsystem Maintainer for Recipes and Default Content. These roles are vital because Recipes form the foundation of Drupal CMS, ensuring that preconfigured solutions are available for various website use cases. Recipes simplify the site-building process by providing modular, ready-to-use solutions that are easily customized to meet specific needs.

In addition to his work with Recipes, Jim is a Drupal CMS Lead for the SEO Track alongside John Doyle from Digital Polygon. Together, they oversee the integration of SEO best practices into Drupal CMS. This ensures that websites built using Drupal CMS are optimized for search engines out of the box.

Kanopi Studio’s involvement doesn’t stop there. Jim Birch is also a member of the Drupal CMS Advisory Council, which helps guide Drupal CMS’s strategic direction. The council bridges the Drupal CMS team, the Drupal Association, Drupal core, and the wider community.

Drupal CMS is a bold new chapter for Drupal!

This is an exciting development in the Drupal project that really speaks to those marketers and content creators who are looking for easier and better ways to share their content online. By combining Drupal core with pre-packaged recipes, Drupal CMS aims to make the web a nicer place.

Screengrab of the on-demand webinar from Jim Birch about Drupal Recipes and Starshot

Want to dig deeper into Recipes and Starshot? Check out this webinar by Kanopi’s Jim Birch called “Recipes. Starshot, and the Future of Drupal.” (47 minutes)

A Handy Visual Guide to Drupal Versions, from 7 to Modern Drupal

If yours is one of the 42% of Drupal sites that are still using Drupal 7, we’re writing this post specifically with you in mind. 

After all, you’ve probably heard the news by now; as of January 5th, 2025, everyone’s beloved, trusted Drupal version 7 will reach its end-of-life. If you haven’t done so already, this means it’s time to start thinking about the ‘m’ word — yup, migration — to a newer version.

Modern Drupal’s versions 8, 9, 10, and the newly released 11 are similar in many ways, yet very different in others. The Drupal 7 migration process is kind of similar to finally trading in your trusty old well-worn VW camper van for a brand new Porsche. As you can imagine, a transition of such magnitude could be a tad jarring for some — not to mention a wee bit confusing.

That’s why we’ve created this handy infographic, to give you an overview of the key differences between each modern Drupal version, their respective functionalities, and how they solve specific business needs. 

What about Drupal 8 & 9?

Since these versions have both reached their end-of-life, there’s no long term support for them. We’ve still included them in our comparison, since their features are integral to understanding the path of version 10 and beyond; however, we don’t recommend them for new builds or upgrades.

An overview of Drupal 7 to Drupal 12

This chart is best viewed when downloaded.

Kanopi Drupal Infographic

The one thing to keep in mind is that anything higher than Drupal 8 is part of Drupal’s composable future — i.e., not only can Drupal integrate with virtually any business or marcom software or service, but it in itself is composable. Taking the best open source tools — CKEditor, Symfony, and Twig, for example —  allows modern Drupal to keep innovating and improving while keeping your website’s appearance and functionality intact.

Drupal remains an excellent platform, and its newest releases demonstrate its commitment to staying current and providing the best possible experience to its users. It’s also incredibly complex, which is why any successful migration from Drupal 7 will involve a great deal of planning and resources — not to mention expertise. That’s why it’s highly recommended to work with a web developer, whether as part of your organization or a third-party web development firm.

Where does Drupal CMS fit in?

Drupal CMS aims to make Drupal more accessible to a broader, less technical audience while keeping the platform feature-rich. Rather than downloading and installing the latest version of Drupal, a user who wants to spin up a Drupal site quickly can instead download Drupal CMS for an easy-to-use, out-of-the-box experience. This makes it easier than ever for users to go from installation to a fully functional website, even if they have little to no prior Drupal experience. Drupal CMS comes pre-packaged with carefully curated “recipes” that cater to everyday use cases. We’ve written about Drupal CMS here.

Screengrab of the on-demand webinar from Jim Birch about Drupal Recipes and Starshot

Kanopi worked on its Recipes initiative. Check out this webinar by Kanopi’s Jim Birch called “Recipes. Starshot, and the Future of Drupal.” (47 minutes)

Need more help?

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

We’ve also written several blog posts about the various Drupal versions and their upgrade paths: 

Ready to launch the migration process? Contact our team today!

References:

Default Content in Drupal

In Drupal 10.3, the DefaultContent API was added to Drupal core as part of the experimental Recipes APIs. These APIs allow Drupal to create content from files that are part of a recipe.

This content that we programmatically create isn’t intended for deploying or migrating content, we have the Workspaces and other modules for that.

Instead, it can be a great tool in our toolkit for creating demos and test content, while freeing developers and testers from the drudgery of repetitive content creation.

How did we get here?

Starting back in 2011, a group of open-source Drupal developers started working on a new install profile for Drupal called Snowman. Instead of having a generic and unopinionated starting point, the idea behind Snowman was that it wanted to provide a ready-to-use Drupal site tailored for a specific use case.

One such use case was for an install profile for a band site, during which it looked like Lee Rowlands (larowlan) came up with the idea which eventually became the Default Content module.

The Default Content contrib module

While we added a way in core to consume content config files from recipes, we are still at the start of what core can do, and mid-journey of what the contrib module aims to do.

Until the recent interest from the Recipes Initiative team, the Default Content module has always been used for creating default content configuration files for custom modules and install profiles. You could create content on a local site, export it to your module or a module in an install profile, and when that module was enabled (or a site was started from the install profile), and you installed the default content module as a dependency, you would get your content imported. This all still works exactly as it always has, and now it can also be used with recipes. 

Drupal Recipes are a framework and set of tools for automating the configuration of a site. They allow developers to rapidly configure entities, fields, and other settings. A recipe can be applied to any number of different sites. This means creating multiple sites can be achieved faster and with a greater degree of consistency in how they are configured. A great deal of human error and forgetfulness can be avoided by using Recipes, particularly for repetitive config. (Check out my comprehensive guide to Drupal recipes.)

Using the Default Content module

The export process is the same for modules and recipes. Let’s review that now.

Getting set up

Install the module as you normally would.  Since I am using the module for creating content for recipes, I install it in the dev section of my composer requirements as I do not need it in production.

composer require --dev drupal/default_content

And enable the module:

drush en -y default_content

The module doesn’t have a user interface. Instead, it provides drush commands that can be run to export content.

What can we export?

Out of the box, we can export the following entity types:

  • Content type nodes: node <node id>
  • Taxonomy Terms: taxonomy_term <taxonomy term id>
  • Files: file <file id>
  • Media: media <media id>
  • Menu Links: menu_link_content <menu link id>
  • Content blocks: block_content <block id>
  • Shortcuts: shortcut <shortcut id>

At this time, there isn’t a way to export by bundle type, think all nodes of type Article, or all menu links from the main menu, but there is a patch for it.

Let’s take a look at the three commands that the module provides to export content.

Default content drush commands

default-content-export-references

Exports an entity and all its referenced entities. This is my go to command as it helps you export referenced media, files, taxonomy terms, and users from the parent node.

Alias:

  • dcer

Arguments:

  • entity_type – The entity type to export.
  • entity_id – The ID of the entity to export

One of these arguments is required.

Options:

  • folder – The module or recipe’s content folder to export to. Entities are automatically grouped by entity type into directories.

Examples:

# Exports node 123 and all its dependencies.
# To a module:
drush dcer node 123 module_name 

# To a recipe:
drush dcer node 123 --folder=recipes/recipe_name/content

# Export all nodes and all their dependencies.
drush dcer node --folder=modules/custom/my_custom_module/content

default-content-export

Exports a single entity. If you want to manage your own dependencies.

Alias:

  • dce

Arguments:

  • entity_type – The entity type to export.
  • entity_id – The ID of the entity to export

Both of these arguments are required.

Options:

  • file – Write out the exported content to a file instead of stdout

Examples:

# Exports node 123 only. You are responsible to export dependencies.
drush dce node 123 module_name

default-content-export-module

Exports all the content defined in a module info file. This is most helpful for distribution and install profile maintainers where they would want to maintain and update default content from a canonical source.

Alias:

  • dcem

Arguments:

  • module – The machine name of the module

The argument is required.

Options:

  • None

Examples:

# Exports all the content defined in a module info file.
drush dcem module_name

# The module's info file would need to have a section like this:
default_content:
  node:
	- c9a89616-7057-4971-8337-555e425ed782
	- b6d6d9fd-4f28-4918-b100-ffcfb15c9374
  file:
	- 59674274-f1f5-4d6a-be00-fecedfde6534
	- 0fab901d-36ba-4bfd-9b00-d6617ffc2f1f
  media:
	- ee63912a-6276-4081-93af-63ca66285594
	- bcb3c719-e266-45c1-8b90-8f630f86dcc7
  menu_link_content:
	- 9fbb684c-156d-49d6-b24b-755501b434e6
	- 19f38567-4051-4682-bf00-a4f19de48a01
  block_content:
	- af171e09-fcb2-4d93-a94d-77dc61aab213
	- a608987c-1b74-442b-b900-a54f40cda661

Creating a Drupal recipe with Default content

So let’s create a recipe that can store default content we can send to a test server so our QA engineer can test. We’ve created a node that has our new feature on our local environment. Rather than having to rebuild that page manually, we will export the content, and apply the recipe after it has been deployed.

Create the recipe structure

We keep our recipes in the recommended folder above the webroot.

You can manually create a recipe folder, the content folder, and a recipe.yml file or use the command line:

mkdir recipes/recipe-name
mkdir recipes/recipe-name/content
touch recipes/recipe-name/recipe.yml

In our recipe.yml file, we only need a name, description, and type.

name: 'Recipe name'
description: 'Demo content for ticket xyz'
type: 'Content'

Export your content

Using the drush commands above, usually the dcer command to export the content you need. Verify in your /content folder that you now have the entities you expect. It should look something like this:

We can now uninstall the Default Content module from our local environment.

Normally we just use recipes in our local development environments and deploy the resulting config, but when leveraging the Default Content module in your recipes, you will deploy them to your server. 

Once deployed and applied on your site, you’ll probably want to remove your recipe in a subsequent pull request as you don’t need it in production.

Commit and deploy your new recipe along with your code changes as you normally would.

Applying the recipe

Once your deployment has finished, you can use Drupal core’s recipe script to apply the recipe. If you have cli access to your server, from the webroot you can run:

php core/scripts/drupal recipe ../recipes/recipe-name -v

This uses the recipe PHP script from Drupal to apply the recipe from its current location. The -v flag prints verbose information during the application process.

If you are using Drush 13 or above, they added a recipe command which is a wrapper around the core script.

drush recipe ../recipes/recipe-name -v

If you are on Pantheon, you can user Terminus to run either command:

# PHP script
terminus drush site.env -- ev "passthru('php core/scripts/drupal recipe ../recipes/recipe-name -v');"

# Drush 13+
terminus drush site.env -- recipe ../recipes/recipe-name -v

Verify the content has been created as expected and have your PMs and clients rejoice in the fact that you saved them some time having to recreate it!

What Default content isn’t made for

Default content is not meant to be a replacement for content deployment solutions. It can be a good starting point on new sites. It’s great for demo sites, and quality assurance and user acceptance testing, but there are better solutions like the Workspaces module in Drupal core that allow for you to stage content and deploy it later. 

One of the biggest reasons is that we don’t know what the IDs will be on the destination site. You may have started out with the same database, but there is a good chance that the IDs have been increased on the production site by content editors adding new articles or pages.

You can also apply a recipe multiple times, or install and uninstall a module and add that default content again. There are issues in the module’s queue to address some of these situations, but work still needs to be done to improve the processes.

What’s next?

There are plenty of issues in the module’s issue queue to improve the quality and functionality of Default content, and the eleven year old Support default content entities core issue that has recently won some success thanks to the Recipes initiative.

I’d love to hear your thoughts and feedback on how you are using Default Content, or how you plan on using it! Please reach out to me in the Drupal Slack or on LinkedIn.

All About Drupal 11

The next major Drupal version was just released — laying the foundation for its future.

Drupal 11 was recently released on Drupal’s timeline. Unlike previous major versions, where releases needed to accommodate underlying technologies’ end of life like Symfony, Drupal 11 was released because it was the right time to solidify new features and free us from deprecated code so development can continue to improve functionality and performance.

The initial Drupal 11 release has the same functionality as Drupal 10.3, to which most Drupal sites should have been upgraded in the spring — although Drupal 11 does have a few differences. For example: 

  1. Instead of having deprecated code and modules identified, they are now removed. 
  2. Dependencies and dependency requirements were upgraded. The minimum PHP version for Drupal 11 is 8.3, which brings impressive performance and a better developer experience. jQuery, Symfony, and PHPUnit were also upgraded to allow for code and testing modernization and performance.

As Drupal works to become more performant and valuable as a framework, overly specialized or underutilized modules are continually being removed from core. This includes the Actions UI, Book, Tracker, Forum, Statistics, and Tour modules. 

However, they aren’t gone! Instead, they’ve been moved to the Drupal contrib space. If your website relies on any of these modules, a simple command can switch versions. The great news is that with new contrib maintainers, development will continue to improve these modules. 

The Tour module, which I presented about at DrupalCon Europe 2021, has already seen several improvements and bug fixes. It has combined my Tour Enhancements module and the Tour UI module in its 2.x release.

New Features in Drupal 11

Drupal 10.3 and 11 include several significant new features and improvements, including:

  • The Drupal core Workspace module moved from being experimental to stable. You can create multiple workspaces for development, testing, and staging with Workspaces. Each workspace can have its own set of configurations and content, allowing you to test changes without affecting the live site. Developers have had multidev environments for a while. This is now the content editor’s version!
  • Drupal now supports Single-Directory Components in core. SDCs provide a simplified front-end development workflow based on components, where all the files needed for the component are in the same directory. This increases developer productivity and makes components more shareable.
  • The new Navigation module, which rewrites the admin toolbar using modern tools. This Navigation toolbar adds a collapsible left-aligned sidebar that organizes the administration menu and allows customization by including other blocks or menus.
  • One of the most significant additions is the experimental Recipes API, for which I am a core subsystem maintainer. Recipes allow for the easy sharing of module configuration changes and additions, allowing you to add functionality without rebuilding it every time. An example recipe would add an Event system—and it includes everything you need, including a content type, taxonomies, a calendar view, meta tags, etc.

    Recipes are the backbone of the Drupal Starshot initiative which aims to create Drupal CMS, a new preconfigured install of Drupal.

    For an in-depth look at Recipes and how Starshot and we are using them, check out our on-demand webinar, Recipes, Starshot, and the Future of Drupal.
  • The new Access policy API allows developers to create access verification and granting that extend well beyond Drupal’s already robust roles and permissions systems. Imagine you want to limit how many pages a person can make or restrict access to a site to only certain hours. You can now build custom policies to suit an ever-increasing number of options.

These are our favorite new features in Drupal 11. To learn more, visit Drupal.org’s Drupal 11 page.

Upgrading to Drupal 11

If you’re starting a new project today, there isn’t much holding you back from starting on Drupal 11. You may need to patch a couple of contrib module’s core_version_requirements, but more and more updates are happening daily.

Update to the latest version of Drupal 10.3. All sites upgrading from 10 to 11 must be on the latest version, so be sure to update to 10.3 first.

  1. Update to PHP 8.3. Verify that your host, local development environment, and custom code all work with PHP 8.3, which is required for Drupal 11.
  2. Run Upgrade Status and Drupal Rector.

This will find and fix any modules that need updating and deprecated code. 

If you’re a Kanopi client, we run rector on every pull request to ensure we catch and fix deprecations early, as most of the deprecations for Drupal 11 were documented on Drupal 10.2. If you want to learn more about our continuous website improvement services, please contact us.

You have time to upgrade!

Drupal 10 will continue to be supported until Drupal 12 is released in June 2026. This still gives you plenty of time to prepare your site if you have custom code or have contributed modules that need to be upgraded to PHP 8.3.

However, if your site can run on Drupal 10.3 and PHP 8.3, upgrading to 11 should be part of your short-term development plan — in order to stay current and take advantage of the additional performance enhancements and new tools available.

And if you need assistance, we’re here to help, as always.

Screengrab of the on-demand webinar from Jim Birch about Drupal Recipes and Starshot

Interested in Drupal CMS? Check out this webinar by Kanopi’s Jim Birch called “Recipes. Starshot, and the Future of Drupal.” (47 minutes)