Let me tell you about the moment I realized carousels had become the web design equivalent of Comic Sans.
I was reviewing a potential client’s existing website. Nice enough site. Clean design. Good branding. And right there on the homepage was a five-slide carousel, auto-rotating every three seconds, each slide featuring a different service with a generic stock photo and a “Learn More” button.
I watched all five slides cycle through. Then I asked: “Do you have analytics on how many people click on slides 2 through 5?”
Long pause.
“We… have analytics?”
Turns out, 94% of interactions were with slide one. The other four slides? Might as well not exist. They were just slowing down the page load and annoying the 6% of visitors who actually bothered to wait for them.
This is why carousels have a bad reputation. And honestly? They deserve it.
But here’s the thing most people miss: the problem isn’t carousels themselves—it’s how we’ve been using them.
The Carousel Problem
If you’ve spent any time reading about web design best practices over the last decade, you’ve heard it: carousels are bad. Don’t use them. They hurt conversions. Users hate them. They’re a waste of space.
And… yeah, that’s mostly true.
Here’s why the anti-carousel crowd is right:
Auto-rotating hero sliders are conversion killers. Studies show that users ignore them entirely (banner blindness), or they’re forced to wait through slides they don’t care about to get to content they want. Either way, nobody wins.
They’re often a political solution, not a design solution. Five departments all want their message on the homepage? Stick them all in a carousel! Problem “solved.” Except now you have five mediocre messages instead of one strong one.
They’re usually terrible for accessibility. Screen readers struggle with them. Keyboard navigation is often broken. Auto-play interferes with people trying to read other content on the page.
They kill performance. Most carousel plugins are bloated JavaScript libraries that add hundreds of kilobytes to your page load. Some require jQuery. Some load dozens of files. All for something that most users ignore.
Mobile experience is often awful. Tiny dots for navigation. Auto-advance before you finish reading. Accidental swipes when you’re trying to scroll. It’s a nightmare.
So yeah, if you’re thinking about putting an auto-rotating hero slider on your homepage with five different marketing messages, please don’t. I’m begging you.
But—and this is important—not every carousel is a homepage hero slider.
When Carousels Actually Make Sense
Here’s what changed my thinking: I started paying attention to where carousels actually worked on the web.
Product galleries on e-commerce sites. You know those image viewers that let you click through multiple product photos? That’s a carousel. And they’re essential. Nobody wants to scroll through 47 images vertically to see a product from every angle.
Testimonial showcases. If you have twelve client testimonials and limited page real estate, a user-controlled carousel makes perfect sense. The visitor can browse at their own pace, and you’re not forcing them to scroll through a mile-long page.
Before/after galleries. Perfect use case. Show the transformation, let users flip through examples. Way better than stacking twelve before/after images vertically.
Portfolio work. If you’re a photographer, designer, or creative professional, a gallery-style carousel lets you showcase work without overwhelming the page.
Case study highlights. Three or four brief case studies in a carousel format? Works great, especially if you’re letting users choose which ones to explore.
Notice the pattern here? These are all situations where:
- The user is choosing to browse through content
- The content is similar in nature (all testimonials, all photos, all case studies)
- There’s a legitimate reason not to display everything at once
- The carousel isn’t blocking access to other important content
The problem was never the carousel format itself. The problem was using it for the wrong purpose in the wrong place with terrible implementation.
The Technical Problem Nobody Talks About
Even when carousels make sense conceptually, most implementations are still terrible.
Here’s what typically happens:
A designer decides they need a carousel. They install a carousel plugin. The plugin is a giant JavaScript library built five years ago, hasn’t been updated in eighteen months, and was designed to do everything for everyone. It adds:
- 250KB of JavaScript
- 80KB of CSS
- jQuery as a dependency (another 95KB)
- Six HTTP requests
- Auto-play that you can’t fully disable
- Accessibility features that are technically there but barely work
- Touch support that conflicts with your mobile navigation
Congratulations. You just added 425KB and a bunch of layout shift to your page for a feature that displays three testimonials.
This is like buying a semi-truck to drive three blocks to the grocery store.
The carousel isn’t the problem. The implementation is the problem.
The Modern Approach
So what does a good carousel implementation look like?
It should be lightweight. You don’t need a 250KB library to create a functional carousel. Modern CSS and minimal JavaScript can handle this.
It should be accessible. Keyboard navigation, screen reader support, respecting user motion preferences—these should be built-in, not afterthoughts.
It should give users control. No auto-play (or at least, give users an obvious pause button). Clear navigation. Let people browse at their own pace.
It should perform well. Lazy loading images. No layout shift. Fast initial render. Mobile-friendly touch controls.
It should be purpose-built. A product gallery carousel has different needs than a testimonial carousel. One-size-fits-all solutions rarely work well.
This is where modern WordPress development has actually gotten really good. Block-based tools can create carousels that check all these boxes without the bloat.
A Better Way: Block-Based Carousels
The new GenerateBlocks Carousel Block is a good example of doing this right.
(Full disclosure: I use GenerateBlocks extensively on client sites, but this isn’t a sales pitch. It’s just the best example I have of a modern implementation.)
Instead of installing a separate slider plugin, the carousel functionality lives natively in the block editor. You build it the same way you build any other page content. Want a testimonial carousel? Add your testimonials as blocks. Want a product gallery? Add your images. Want a hero slider (even though we just spent 800 words explaining why you probably shouldn’t)? You can do that too.
Here’s why this approach works better:
No plugin bloat. You’re not installing a separate plugin that tries to do everything. The carousel functionality is part of your existing page builder.
Block-based flexibility. Each slide can contain any combination of blocks. Heading, paragraph, image, button, custom fields—whatever you need. No fighting with slider-specific limitations.
Performance-focused. Because it’s built for modern WordPress, it uses native browser features where possible. Smaller file sizes. Better performance. Fewer compatibility issues.
Accessible by default. Keyboard navigation works. Screen readers work. Motion preferences are respected. These aren’t optional add-ons—they’re built in.
Query-based options. This is where it gets really powerful. You can create a carousel that automatically pulls from your blog posts, testimonials, case studies, or any custom post type. Update your content, and the carousel updates automatically.
That last point is huge for maintenance. Instead of manually updating a carousel every time you add a testimonial, the carousel just queries your testimonials post type and displays the latest ones. One place to update content, everywhere reflects the change.
Real Use Cases for Client Sites
Okay, so when would I actually use a carousel on a client site?
Testimonial showcase. A service-based business with 8-10 solid client testimonials. Rather than listing them all on the homepage (which would be overwhelming), a carousel lets visitors browse at their own pace. Each slide shows one testimonial with the client’s name, company, and optionally a photo.
Service overview. A consulting firm offers four main service areas. Each needs a paragraph of explanation and a call-to-action button. A carousel lets them present all four without creating a mile-long homepage. Users can click through to learn about each service.
Portfolio highlights. A designer wants to showcase recent work. Each project gets a slide with an image, brief description, and link to the full case study. The carousel provides visual interest without requiring visitors to scroll through dozens of project images.
Product feature highlights. A software company has a product with five key features. Each feature deserves more than a bullet point but less than a full section. A carousel with one slide per feature lets them provide adequate explanation without overwhelming the page.
Before/after galleries. A contractor wants to show transformation projects. Each slide shows a before image and after image side-by-side, with a brief description. Visitors can flip through examples at their own pace.
Notice what all of these have in common? The carousel is serving a specific purpose, not just filling space. And in every case, the user is in control—no auto-play, clear navigation, purposeful browsing.
The Principles That Actually Matter
If you take nothing else from this, remember these principles:
Give Users Control
Auto-play is almost always wrong. If you absolutely must use it (maybe for a gallery that’s purely decorative), give users an obvious pause button and respect their motion preferences.
Have a Real Purpose
Don’t use a carousel because you can’t decide on one hero message. Use it when multiple pieces of similar content need to be browsable without overwhelming the page.
Implement It Right
Lightweight, accessible, performant. If your carousel implementation doesn’t check all three boxes, reconsider whether you need a carousel at all.
Test It
Does it work with a keyboard? Does it work with a screen reader? Does it work on mobile? Does it actually improve the user experience? If any of these answers is no, fix it or remove it.
Consider Alternatives
Sometimes a carousel seems like the solution, but a grid of items or a simple list would work better. Don’t force it.
The Bigger Picture: Making Thoughtful Choices
Here’s what this is really about: making intentional design decisions based on user needs, not trends or convenience.
Carousels got a bad reputation because they were overused and poorly implemented. The solution isn’t to ban them forever—it’s to use them thoughtfully when they actually serve a purpose.
The same principle applies to everything in web design:
- Animations aren’t bad. Excessive, purposeless animations are bad.
- Pop-ups aren’t bad. Aggressive, immediate pop-ups that block content are bad.
- Video backgrounds aren’t bad. Auto-playing, sound-enabled videos that crush page performance are bad.
The tool isn’t the problem. How and when we use the tool is the problem.
Modern WordPress development gives us better tools. Block-based systems like GenerateBlocks let us create carousels (and other interactive elements) that are lightweight, accessible, and purpose-built. We can implement features that used to require bloated plugins with native functionality that performs better and integrates seamlessly.
But better tools don’t automatically make better websites. That still requires thinking critically about what the user actually needs and making deliberate choices about when and how to use each feature.
For OGAL Clients: What This Means
If you’re working with me on a website project, here’s what you can expect:
I’ll ask hard questions about carousels. If you want a carousel, I’m going to ask why. What purpose does it serve? Could we accomplish the same goal another way? Is this the best experience for users?
If we use one, it’ll be implemented right. Lightweight, accessible, performant. No bloated plugins. No auto-play nightmares. No mobile experience disasters.
We’ll have a real purpose. Every carousel (and every other design element) will exist because it serves a specific user need, not because it looks cool or fills space.
We’ll test it. Keyboard navigation. Screen readers. Mobile devices. Performance impact. User behavior. If it doesn’t work well, we’ll fix it or find a better solution.
We’ll keep it maintainable. Using modern block-based tools means you can update content easily without breaking the design. No calling me every time you want to change a testimonial.
The Bottom Line
Yes, carousels have a bad reputation. And most of the time, that reputation is earned.
But the blanket rule of “never use carousels” is just as lazy as the old practice of “always use carousels on the homepage.”
The real question isn’t “should I use a carousel?” It’s “does this specific implementation of a carousel serve a real user need, and am I implementing it in a way that’s lightweight, accessible, and performant?”
Sometimes the answer is yes. Most of the time, it’s no.
And when the answer is yes, modern WordPress tools make it possible to do it right—without the bloat, without the accessibility nightmares, without the performance penalties that gave carousels their bad name in the first place.
The future of WordPress design isn’t about following rigid rules. It’s about having better tools and making more thoughtful decisions about when and how to use them.
Want to know if your website is making smart design choices? I offer comprehensive website audits that evaluate performance, accessibility, and user experience—including whether your current features are actually helping or hurting.

