By Greg Nowak. Updated 27 July 2026.
A free Drupal theme can save time, but the download price is rarely the important cost. The real expense appears later: template overrides, inaccessible components, difficult upgrades, slow pages, and editors who need a developer for routine campaign work.
For a commercial website, choose the theme as part of the delivery architecture—not from screenshots alone. It should support the Drupal version you are deploying, suit the team’s front-end skills, handle real content cleanly, and remain understandable when another developer or agency takes over.
First, remove obsolete themes from the conversation
Drupal 7 reached end of life on 5 January 2025. Its core and contributed projects no longer receive official community releases or security support on Drupal.org. Themes remembered from Drupal 7 roundups—including old Bootstrap implementations, Foundation-based themes, and Commerce Kickstart designs—may still provide visual inspiration, but they are not sensible foundations for a new build.
For every contributed theme, check its Drupal.org project page. Look for a stable release compatible with your exact core version, security-advisory coverage, recent maintenance, usable documentation, and an issue queue that shows problems being understood and resolved. A familiar name is not enough.
The shortlist: four credible starting points
| Starting point | Best suited to | Main trade-off | Practical verdict |
|---|---|---|---|
| Olivero | Content-led sites, public information, modest branding, and rapid launches | Distinctive brand work will require a separate custom layer | Use it as the quality baseline, even if it is not the final design |
| Core Starterkit | Businesses that need a genuinely custom design with limited dependency risk | Your team owns the generated code and future maintenance | Often the cleanest route for a long-lived custom theme |
| Bootstrap 5.x | Agency teams already fluent in Bootstrap and Drupal components | A framework can add markup and assets the site does not need | A sound accelerator when Bootstrap is an intentional team standard |
| Radix 6 | Component-driven teams comfortable with Sass, Node.js, and a front-end build process | More tooling and onboarding than a simple theme | Strong for design systems; excessive for a small brochure site |
Olivero: the benchmark, not merely the default
Olivero has been Drupal’s default front-end theme since Drupal 9.4. It provides a useful reference for responsive behavior, readable content, navigation, forms, focus states, and Drupal’s standard markup. Start an evaluation by loading representative content in Olivero. If a contributed theme makes that content harder to use or substantially more fragile, it needs to deliver a clear business benefit in return.
Olivero can also be sufficient for a straightforward organization or campaign site when the brand can be expressed through typography, color, photography, and a restrained set of components. Do not edit files inside Drupal core. If the design requires substantial template and component work, generate or adopt a proper custom theme instead.
Core Starterkit: the sensible custom option
Drupal’s Starterkit generator creates an independent custom theme rather than leaving the site permanently coupled to a base theme. From the Drupal root, a basic starting command is:
php core/scripts/drupal generate-theme company_theme --path themes/custom
The generated theme becomes project code, so budget for ownership: templates, CSS, JavaScript, accessibility fixes, regression testing, and documentation. This route is particularly attractive when the design is bespoke but the team wants a small, transparent foundation without inheriting a large framework.
Bootstrap 5.x: useful when the team already speaks Bootstrap
The long-running Drupal Bootstrap project now has a Bootstrap 5, jQuery-free branch using Drupal’s component-oriented approach. Its current 5.x line supports Drupal 10.3 and Drupal 11, with simple CSS and Sass sub-theme options. Install it through Composer:
composer require 'drupal/bootstrap:^5.0'
Bootstrap is valuable when the delivery team already has established components, conventions, and testing knowledge. It is less convincing when chosen simply because somebody recognizes the name. Decide whether assets will be built locally or loaded from a CDN, record that decision, and avoid shipping an entire framework for a handful of utility classes.
Radix 6: for component-led agency delivery
Radix 6 combines Bootstrap 5 with Sass, modern JavaScript tooling, Starterkit support, and Drupal Single Directory Components. Its supported release line covers current Drupal 10.3+, 11, and 12 projects. The Composer command is:
composer require 'drupal/radix:^6.0'
Radix makes sense when an agency is building a reusable component library and can maintain the Node-based toolchain. For a small site with occasional changes, that machinery may increase handover and upgrade costs without creating equivalent value.
Test operations, not just the homepage
Install the candidate on a staging copy and use realistic content. Test long titles, missing images, embedded media, multilingual text, search results, menus, forms, validation errors, password reset, and restricted pages. For commerce, include product variations, promotions, cart updates, checkout errors, account pages, and order history.
Review mobile layouts first. Navigate by keyboard, zoom the interface, check visible focus, and confirm that errors are understandable without relying on color alone. Measure pages using local and production-like hosting; a CDN is not automatically faster for every audience or deployment.
Finally, ask an editor to build a landing page without developer help. This exposes awkward image requirements, unclear component names, fragile layouts, and missing preview states far earlier than a design review does.
Make the decision easy to maintain
Record the chosen project and release line, why it was selected, how assets are built, where custom templates belong, which page types were tested, and who owns future upgrades. Never modify a contributed theme directly. Keep site-specific work in the generated theme or supported sub-theme so dependency updates remain reviewable.
If the choice is still unclear, a short theme and front-end architecture review is usually cheaper than undoing the wrong foundation during checkout work or a redesign. Greg can help turn a shortlist into a scoped, maintainable Drupal implementation plan.
Related on GrN.dk
- Critical CSS for Faster Pages: When It Helps and When It Does Not
- Apache 2.4.68 Is a Reminder That Old Proxy Rules Need a Real Audit
- CMS Upgrades in 2026: Choosing PHP for WordPress and Drupal
Need help with this kind of work?
Discuss your Drupal theme shortlist with Greg Get in touch with Greg.