Latest
Anthropic Bans Cruelty Toward Claude: What It Means for WritersWork-for-Hire Contracts: What the Asimov’s Cover Fight Teaches FreelancersGenre Fiction vs Literary Fiction: Don’t Confuse Taste With SkillFlorida Hurricane Prep Rituals: The Grocery Run, the Water Pallet and the Generator in the BoxThe Most Insulting Line of Dialogue Ever Written for the ScreenLoki Through the Ages: From Norse Myth to Marvel, The Mask and Dogma“You Are Utterly Disgusting”: A Book Festival, an AI Cover Ban and a Pile-OnWho Rewrote the Sligachan Legend: AI or the Tour Buses?Why I Don’t Like Reedsy for Ghostwriting: The NDA ProblemLayers: How I Ride Out Florida Power Outages in My ApartmentThe Enshittification of AmazonPublishers Cancel Books Over AI While Using It in SecretI Was Getting 100 Spam Emails a Day. $4.50 a Month Fixed It.World Mental Health Day: Nothing Was Wrong With MeKessler Syndrome: How Space Debris Could Close Earth’s OrbitAmazon Is Blocking Real Readers From Book ReviewsShould a Novella Get a Paperback, or Go Ebook Only?BookFunnel Download Problems: Fixes, Scams and AlternativesSir Sean Connery: A TributeHow to Find Plot Holes in Your Novel (Most Are Character Holes)Reshoring: The Factory Is the Easy PartMost of the Books I Was Forced to Read in High School Were CrapPlot Armor: Signs Your Hero Is Too Safe, and How to Fix ItShould You Sell Lifetime Rights to Your Self-Published Book for a Modest Advance?Shame Doesn’t Stop Artists From Using AI. It Stops Them From Telling You.AI Labels on TikTok and Meta Are Flagging Human WorkAuthor Richard Lowe Completes Peacekeeper, a Four-Book Science Fiction Series He Started at Age 14Sir Sam Neill: A TributeFan Art Copied by AI: Glass Houses, Copyright and the Pile-OnReal Names in a Book: Who Gets Sued, the Author, the Publisher or the Ghostwriter?When Characters Take Over the Plot, Let ThemDoes Human Writing Have a Soul?“You’re Not a Real Author”: The Pile-On Over AI-Assisted BooksDoes AI Have a Soul? Wrong QuestionHumor in Book Marketing: Getting Attention Without BeggingHow Long Should a Chapter Be? Manuscript Habits That Save You LaterThe Business Novel and the Companion Workbook: Two Formats Business Authors OverlookThe Back of the Book: Index, About the Author, Acknowledgments and Back Cover CopyI Build My Own Software Tools With Claude, and Some of Them Bit MeWhat Years of Buying From IT Vendors Taught MeI Write Books for a Living. I Barely Read Them Anymore.Three Management Habits That Waste Good PeopleThe Coach and the Webinar That Sold Me NothingThe Work I’d Cringe At Now, and Why I’m Glad I DoWho Is Your Book For? Build a Reader Avatar Before Chapter OnePreface, Prologue, Foreword or Introduction: What Goes WhereWhy I Won’t Build a Ghostwriting Business That ScalesHow I Hire a Virtual Assistant: Do It, Script It, Hand It OffThe Mail Carrier Who Thought Flipping Houses Was EasyWhat Wedding Photography Taught Me About Pricing Creative Work
The Writing King Your Ethical Ghostwriter. Your Story, Done Right.

Why So Many WordPress Themes Are Frankenstein Monsters

TL;DR: I opened up my slow theme’s code and found a Frankenstein monster: parts grafted from page builders, dead JavaScript, and features stitched in for a demo I never used. Commercial themes are assembled to look like everything to everyone, and your visitors pay for it on every page load. Your site is your beacon, and the theme either strengthens it or slowly degrades it. The fix is a lean, single-purpose theme plus small plugins, and the site loses nothing visible.

I recently opened up the theme running one of my websites. Not the settings screen. The code. I have 33 years in technology, so this wasn’t my first look under a hood, but I was still surprised by what I found.

I have 33 years in technology, so this wasn’t my first look under a hood, but I was still surprised by what I found.
Share on X

The site had been slow for a while, and I’d eliminated everything else. Hosting fine, plugins lean, caching aggressive, images optimized. The only suspect left was the theme. So I unzipped it and started reading.

What I found was a collection of parts. This matters beyond speed. As I laid out in the opening article of this series, your website is your beacon on the internet. For a service business it’s where your credibility lives, and everything attached to it, starting with the theme, either strengthens that beacon or slowly degrades it.

The monster on the slab

There was JavaScript running an animation loop for a cursor follower, a decorative dot that trails your mouse around the screen.

Trendy effect a few years back. No page on my site ever displayed that element. The template that would have rendered it was never called from anywhere. But the code still ran on every single page load, attaching mouse listeners to every button, link, and form field, updating the position of an element that didn’t exist. Every visitor’s browser did that work for nothing.

There was CSS for a media player the theme never used. There were three different generations of settings systems living side by side, each added when the developers needed something the previous one couldn’t do, none removed when its replacement arrived. There were hooks for features that had been taken out, still firing on every request, calling functions that did nothing.

None of this was broken, exactly. The site worked. It just carried the dead weight on every page, for every visitor, forever.

I find that more irritating than a bug. Users report a bug and developers fix it. Developers ship working dead weight forever, because nobody is ever going to file a ticket about a cursor that doesn’t exist. I call it a Frankenstein’s monster because that’s what it is. Nobody sat down and designed this theme. Somebody assembled it, from pieces built at different times, by different people, for different purposes, and stitched the seams just well enough that it would stand up and walk.

How does a WordPress theme become a Frankenstein?

Anatomy of a Frankenstein themeA labeled anatomy of a reskinned commercial WordPress theme. At the center is your theme, a reskin of a reskin, with the modules bolted on: mega menus, sliders, tickers, a demo importer, a cursor follower and a dozen header layouts, all loading whether you use them or not.Anatomy of a Frankenstein themeStitched from a vendor's spare parts, loaded on every pageYour themeA reskin of a reskinMega menuFor a site with four pagesSliderNobody clicks slide twoNews tickerNo newsDemo importerUsed once, loaded foreverCursor followerA dot that chases yourmouseA dozen headersYou picked one
Anatomy of a Frankenstein themeA labeled anatomy of a reskinned commercial WordPress theme. At the center is your theme, a reskin of a reskin, with the modules bolted on: mega menus, sliders, tickers, a demo importer, a cursor follower and a dozen header layouts, all loading whether you use them or not.Anatomy of a Frankenstein themeStitched from a vendor's spare parts, loaded onevery pageYour themeA reskin of a reskinMega menuFor a site with fourpagesSliderNobody clicks slide twoNews tickerNo newsDemo importerUsed once, loadedforeverCursor followerA dot that chases yourmouseA dozen headersYou picked one

Every part is loaded on every page, whether you use it or not.

Once you understand how commercial themes are made, the mess stops being surprising and starts being inevitable.

Theme shops don’t build themes from scratch. They build a base once, a big one, loaded with every module a customer might ever want: mega menus, sliders, tickers, demo importers, cursor followers, a dozen header layouts. Then they produce new themes by reskinning that base. Change the fonts, change the colors, swap the demo content, give it a new name, publish it as a separate listing.

The economics drive everything. A theme shop makes money per listing. A theme built from scratch is one listing per year of work. Reskinning produces a listing per week. Guess which approach wins. The theme on my site was exactly this: a reskin of another theme by the same vendor. That was itself assembled from modules that appear across the vendor’s whole catalog. My theme was a diff on top of a pile of diffs.

When your product is an assembly of shared modules, removing anything is expensive. Strip the cursor follower out of one theme and you’ve created a special case your build process must track forever. Leave it in and it costs you nothing. It only costs your customers, a little, on every page load, multiplied by every visitor, multiplied by every site running the theme. That cost is invisible to the vendor, so the vendor never pays it.

A fact worth knowing: being in the official WordPress theme directory means less than most people assume.

Themes go through a largely automated check plus a volunteer review focused on requirements compliance. Passing that gate means the theme follows the rules. It doesn’t mean anyone vouched for the engineering. My Frankenstein came from the official directory.

That one is a real problem. Site owners see the directory badge and assume somebody checked the engineering, and nothing on the listing tells them the check was about rules compliance.

Why can’t a caching plugin fix a bloated WordPress theme?

The standard advice when a WordPress site is slow is to add a caching plugin, and caching does help. It helps the way painkillers help a broken leg.

Caching stores the finished page so the server doesn’t rebuild it for each visitor.

That fixes server time. It does nothing about what is in the page. If your theme ships 300 kilobytes of styles for modules you don’t use, the cache serves those 300 kilobytes faster. If the theme runs an animation loop for an element that doesn’t exist, that loop runs in your visitor’s browser, after the cache has done its job, on every page view. No cache layer touches it.

This is why so many site owners end up in a loop I’ve watched for years. The site is slow. They add an optimization plugin. The score improves a little.

The site is still slow, they add another plugin, and now they have two more moving parts and the same underlying problem. The weight is in the theme, and the theme is the one thing the optimization tooling works around instead of on.

How do you fix a Frankenstein WordPress theme?

Nobody is going to write their own theme, and I’m not going to pretend otherwise. The answer depends on where you are.

If you’re choosing a theme, choose by what is missing. The marketing pushes you the other way. Theme listings compete on feature count: 50 demos, 12 sliders, unlimited headers. Every one of those features is code that ships to your visitors whether you use it or not. A theme that does less is a smaller monster. Find a theme that does what you want instead of a box with tons of parts in it.

The default themes that ship with WordPress are among the few designed from scratch. The people building them have quality as their incentive instead of listings, and the newer block themes are structurally leaner than the old assemble-everything generation. They’re not glamorous. They’re also not carrying three settings systems and a ghost cursor.

Test before you commit. Every theme has a live demo, and the demo is the theme on its best behavior, running the vendor’s own content on the vendor’s own hosting. Run that demo through PageSpeed Insights before you install anything. Two minutes. If the demo scores poorly, your site will score worse, because your site adds your plugins and your content on top. A slow demo is the vendor telling you, in writing, that they don’t care. Believe them.

It’s a bitch to change themes, too. The original idea was that the theme holds the structure and the styles, so your data stays separate and you can swap themes. They’ve drifted from that. They store things in their own spots that don’t carry over, so I had to re-enter a lot of data each time. After the third switch I was done. I wrote my own plugin that stores that data in the custom CSS under Advanced > Customize CSS, so it survives a theme change.

If you’re already married to a monster, contain it. You can’t easily strip a bad theme, but you can stop feeding it. Every theme option you enable, every demo section you import, every bundled plugin you activate adds weight. Turn off what you don’t use, keep the plugin count ruthless, and let good caching mask what remains. Containment isn’t a cure, but it’s real relief, and for a hobby site it’s enough.

If your site earns money, fork it once and own it. This is what I finally did. I had the theme copied into a private version and stripped of everything my site doesn’t use: the phantom cursor, the unused player, the dead hooks, the styles for absent modules. One-time job, and the difference wasn’t subtle. The site went from sluggish to scoring 100 on desktop performance. More important, I now know what every line in that theme does, because every line that did nothing is gone.

This is the kind of work I take on for clients whose sites have earned it.

The moral of the monster

I don’t think theme developers are villains. They respond rationally to a marketplace that rewards listings and feature lists and never audits what ships inside. The incentives guarantee Frankenstein’s monsters, so stop being surprised when you get one.

Look at who pays. The vendor never feels the cost of that ghost cursor. The site owner does, in slow pages and visitors who give up and leave, and most of them will never open the code to find out why. A marketplace that ships dead weight to that many sites and calls it features deserves a lot more scrutiny than it gets.

Next in this series: what happened when I tried to leave two page builders, one because it was bad and one because it was excellent. The exit cost more than either arrival, and that asymmetry is the subject of Divorcing Your Page Builder.

Frequently Asked Questions

Why are commercial WordPress themes so bloated?
I found the answer by opening the actual code of a theme running one of my sites. Theme shops build one big base loaded with every module a customer might want, mega menus, sliders, tickers, demo importers, cursor followers, then reskin that base to produce new themes fast. Reskinning produces a listing every week while building from scratch takes a year, so the economics push vendors toward assembly and not design. Removing anything is expensive once modules are shared across a whole catalog, so old code from replaced settings systems or unused effects just stays in place. That’s how I ended up with three different settings systems and an animation loop for a cursor follower that no page on my site ever used.
How do bloated themes hurt a website?
On my own site, the theme was running an animation loop for a mouse-following cursor effect that no page ever displayed, and that loop still attached listeners to every button and form field on every page load. A caching plugin never touches that kind of cost because caching only speeds up building the finished page, not what runs in the visitor’s browser afterward. I also found CSS for a media player I never used and hooks still firing for features that had been removed entirely. All of that dead code ships to every visitor on every page. That’s why site owners can add optimization plugin after optimization plugin and still see a slow site. After I stripped my own theme down to only what I use, the site went from sluggish to scoring 100 on desktop performance.
How can you tell if a WordPress theme is a Frankenstein theme?
Skip the settings screen and open the code. Grafted parts announce themselves: three different JavaScript libraries doing the same job, CSS for features you never enabled, files named for products you never bought. A coherent theme reads like one mind built it.
What is the alternative to a bloated commercial theme?
A lean, single-purpose theme plus small plugins that each do one job. The site loses nothing visible and sheds the invisible weight. My beacon articles cover the principle: everything attached to your site either strengthens it or slowly degrades it.

About the Author
Richard Lowe, professional ghostwriter

Richard Lowe is a professional ghostwriter and author with 113+ books authored and 54+ ghostwritten. Before writing full time he spent 33 years in enterprise technology, including 20 years as Director of Computer Operations and Technical Services at Trader Joe's. He writes nonfiction, fiction and memoir, and works with executives and experts on books that build authority.

More about Richard Lowe →

Disclaimer

The views and opinions expressed in this blog post are solely those of Richard Lowe and are based on personal experience and research. This content is for informational purposes only and should not be construed as professional legal, financial, accounting, or business advice. Always consult with qualified professionals before making important business or legal decisions. Richard Lowe is not a lawyer, accountant, or licensed professional advisor, and this content does not establish any professional relationship.

0 comments

No comments yet. Yours can be the first.

Was this useful?

Leave a comment