Latest
Joel Salomon: The Truth About MoneyReddit Is Putting Up a Login Wall. Wikipedia Won’t Be Far Behind.Victoria Chemko: The Body Is the First TechnologySir Patrick Stewart: A TributeA Yale Economist Says We Won’t Be Missed. He Forgot the Bread Line.Walter Koenig: A TributeAI Has Paid Off Outside Tech. Apollo Is Reading the Wrong Scoreboard.I Don’t Post Bad ARC Reviews. I Send the Author a Note.The Little Red Book of Stuff That Works!Your Kids Are Your Own FaultGrow a PairYou’re Broke Because You Want to BeIt’s Called Work for a Reason!No Time for TactShut Up, Stop Whining, and Get a LifeWilliam Bessette: AI Enablement and Child Welfare TechnologyFree Book Planning ToolsWhat’s New at The Writing King: Week of October 18, 2026Ghostwriting by the Numbers: Timelines, Word Counts and the First CallPromising Young Woman (2020) ReviewBillions for AI, Pennies for the Plumbing: AI Companies Should Pay to Keep PHP AlivePHP2Shell: AI Found a 22-Year-Old Crack Under Your Website in Two DaysPetrov Day: The Officer Who Didn’t Believe the ComputerKindle Unlimited Is Now Kindle+. AI Audiobooks Just Joined the BuffetWhen to Quit Writing a Book: I’ve Abandoned Dozens, and I’d Do It AgainMo Gawdat Says the AI Dystopia Starts in 2027. Read the List, Skip the DatesThe Society of Authors Signed an Ethical AI Charter, Then Ran From It in Eight DaysChina Is Using Bots to Fan the Data Center Backlash. The Backlash Is Still Real.Getty Images Filed for Bankruptcy. Can You Prove You Licensed Your Book’s Images?Fluff Words: Cut Them From Your Prose, Keep Them in Your DialogueWhere Are the Independent Bookstores and Public Libraries Worth Visiting in Tampa Bay? Author Richard Lowe Profiles 44 of ThemWhere Can Writers Learn Storytelling From Movies? Richard Lowe Publishes 1,226 Film and TV Reviews With Writing Craft NotesWhere Can You Hear Founders and Executives Tell Their Own Stories? Richard Lowe’s Leaders and Their Stories Publishes Every Unscripted Interview With a Full TranscriptWhat Should You Know Before Hiring a Ghostwriter? The Writing King Publishes 57 New Answers, Including What to Do When It Goes WrongAuthor Richard Lowe Publishes Eight Volumes of Enemies of You, a Researched Series on the Forces Working Against Ordinary AmericansThe Jackal (1997) ReviewThe Day of the Jackal (2024) ReviewYour First Novel Is an Apprentice Piece: What Beta Readers and Editors Can’t FixWhen the Cloud Gets Bombed: What the AWS Data Center Strikes Teach About BackupsHuman-Written Book Labels Are Gatekeeping With a FeeThe Enshittification of Microsoft Office: Why I Switched to a Free CloneGlobal Encryption Day: The Padlock Every Writer Depends OnWriting Your Worst Moments in a Memoir: Show the Evidence, Skip the VerdictHow to Register a Copyright for Your Book (and What Doesn’t Count)Your AI Chats Aren’t Private: Deleted ChatGPT Logs in CourtI Joined the Science Fiction Book Club 30 TimesThe Board Seat Scam: A 419 Letter in a Business SuitCitations in a Memoir: Endnotes, Footnotes and Fair UseThe Stores That Still Care: Publix, Walmart, Aldi, Best Buy and the RestThe Grocery Store Plan: Why Every Store Starts With Flowers
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.

It was a 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.

Developers ship working dead weight forever, because nobody is ever going to file a ticket about a cursor that doesn’t exist.

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, which 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.

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.

Fixing a bloated WordPress theme by situation
Your situation What to do Why it works
Choosing a new theme Pick the one that does less Every unused feature ships to visitors on every page load
Want a safer starting point Look at the default WordPress themes Designed from scratch, and newer block themes are leaner
About to commit to a theme Run the vendor demo through PageSpeed Insights A slow demo means your site will score worse
Already stuck with a monster Turn off unused options, demo sections and bundled plugins Containment gives real relief; enough for a hobby site
Slow site, adding cache plugins Know caching only fixes server time Dead code still runs in the visitor’s browser
Site earns money Fork the theme once and strip what you don’t use Took one site from sluggish to 100 on desktop

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

My take

Pick the theme that does less. Every unused slider and demo ships to your visitors on every page load. Run the vendor’s demo through PageSpeed Insights first, and if it’s slow on their hosting, believe them. Already stuck with a monster? Turn off what you don’t use and contain it. If the site earns money, fork the theme once and strip it to what you use. Mine went from sluggish to 100 on desktop.

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.

Sources

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