Open a fresh front-end page. View source. You still ship emoji detection scripts nobody asked for, Dashicons CSS for visitors who never see the admin bar, jQuery Migrate “just in case,” oEmbed discovery hooks, and Heartbeat polling that keeps waking the browser. None of that is your product. It is WordPress default weight.
Teams fix this with a graveyard of functions.php snippets, must-use plugins, and “cleanup” add-ons that disagree with each other. Six months later nobody knows which toggle still matters. Core updates quietly reintroduce scripts. Performance audits keep flagging the same requests.
Lightify is the DaftPlug performance plugin. This post is about Remove WordPress bloat / Cleanup: disable emojis, Dashicons, jQuery Migrate, and oEmbed; throttle Heartbeat; switch off XML-RPC. Scheduled database cleanup of revisions, spam, and transients is nearby but not the focus here (that story already lives in Clear WordPress revisions and spam on a schedule). Unused CSS, minify, cache preload, speculative loading, and YouTube facade are other articles. If Core Web Vitals are still noisy after you strip defaults, keep How to fix LCP, CLS, and INP on WordPress in 2026 as the metrics checklist.
What Lightify actually ships for bloat cleanup
Feature list for this article only:
- Disable emojis (front-end emoji scripts and related junk you do not need for most sites)
- Disable Dashicons on the front end when visitors do not need admin icon fonts
- Disable jQuery Migrate when your stack no longer depends on it
- Disable oEmbed discovery/provider noise you are not using
- Throttle Heartbeat so admin polling stops hammering every open tab
- Switch off XML-RPC when you do not need it (common attack surface and unused remote API)
- Nearby (mention, not focus): scheduled database cleanup of revisions, spam, transients
The contract is simple. Turn off WordPress defaults that cost requests and CPU. Keep one dashboard as the source of truth. Start with the toggles that match how you actually run the site.
Why default WordPress bloat still wins every audit
Emoji scripts, Dashicons, Migrate, oEmbed, Heartbeat, and XML-RPC are not exotic. They ship because WordPress optimizes for “works for everyone out of the box,” not for your storefront’s LCP.
Emoji scripts load even when you never insert a smiley. On many themes they add CSS and JS to every public page.
Dashicons are an admin icon font. Front-end visitors often still download them because a plugin or the admin bar enqueue path leaks to the public theme.
jQuery Migrate papers over old jQuery habits. If nothing on the site needs it, you pay for a compatibility file forever.
oEmbed wires discovery and provider endpoints. Fine if you embed everything. Wasteful if you do not.
Heartbeat keeps wp-admin tabs chatting with the server. Useful for post locks and some live features. Painful when every open editor tab polls aggressively on shared hosting.
XML-RPC is a classic unused door. If you do not need remote publishing or Jetpack-style connections that depend on it, leaving it open is all downside.
Cleaning these from one Lightify screen beats pasting five Gists into a child theme. Snippets rot. Plugin settings get reviewed.
How to turn the cleanup on in wp-admin
Assume Lightify is installed and you can measure before and after (PageSpeed, WebPageTest, or your host’s metrics). Cleanup is not a substitute for image work or a real cache. It removes known default weight so the rest of your stack has less junk to carry.
1. Open Lightify Cleanup / Remove WordPress bloat
In wp-admin, open Lightify. Find the Cleanup or Remove WordPress bloat controls. You should see toggles for emojis, Dashicons, jQuery Migrate, oEmbed, Heartbeat, and XML-RPC, not a code editor.
Take a baseline: one key template (home or product), logged out, with cache bypassed for the test. Note request count and transfer size. You want a before number so “it feels faster” is not vibes alone.
2. Disable emojis and Dashicons on the front end
Turn off emoji scripts first. Retest the front end. Most marketing and commerce sites never needed them.
Disable Dashicons for public visitors when you do not show the admin bar to logged-out users and no front-end UI depends on that icon font. If a page builder or slider hard-depends on Dashicons, you will see missing icons immediately. Flip the toggle back and fix the dependency, or keep Dashicons only if something real needs them.
3. Drop jQuery Migrate and oEmbed when unused
Disable jQuery Migrate only after a quick smoke test of interactive theme features: menus, sliders, sticky headers, checkout widgets. Console errors that mention Migrate-related helpers mean something still expects it. Keep Migrate on until those scripts are updated or replaced.
Disable oEmbed when you do not rely on automatic embeds from URLs in content. If editors paste bare YouTube links expecting a player, test that workflow before you leave oEmbed off permanently. Manual embeds and blocks often cover the same need with less global discovery cost.
4. Throttle Heartbeat and switch off XML-RPC deliberately
Throttle Heartbeat so admin tabs stop polling as aggressively. This helps shared hosting and crowded editorial teams with many posts open. Confirm autosave and post-lock behaviour still feel acceptable for your editors after the change.
Switch off XML-RPC when you do not need it. If a mobile app, automation, or integration still posts through XML-RPC, leave it on and harden elsewhere. Blindly killing XML-RPC without checking integrations creates “why did publishing break?” tickets.
5. Retest front end and wp-admin after each cluster of toggles
Change emojis + Dashicons, measure. Then Migrate + oEmbed, measure. Then Heartbeat + XML-RPC, measure. Clustered changes make rollbacks obvious.
Confirm:
- Front-end pages lose the emoji and (when safe) Dashicons requests.
- No obvious broken icons or jQuery console storms.
- Embeds you still care about still work.
- Editors can save posts without weird lock or autosave failures.
- Integrations that needed XML-RPC still function, or you knowingly retired them.
Scheduled database cleanup (revisions, spam, transients) can wait for a separate pass. It is complementary housecleaning, not a substitute for cutting front-end scripts.
What good looks like
A finished cleanup feels quiet:
- View source no longer shows emoji scripts on public pages.
- Dashicons are gone for logged-out visitors unless something real needs them.
- jQuery Migrate is absent when the theme and plugins do not require it.
- oEmbed discovery noise is gone if you do not use it.
- Heartbeat is throttled so idle admin tabs stop chatting so hard.
- XML-RPC is off when unused, on when a real integration still needs it.
- One Lightify screen documents the choices. No mystery snippets in
functions.php.
If LCP and INP are still poor after cleanup, you fixed defaults, not the whole performance story. Move to unused CSS, minify, caching, and the Core Web Vitals checklist next.
Pitfalls (the ones that bite)
Disabling Dashicons while a front-end UI depends on them. Missing icons look like a design bug. Test logged out and logged in.
Killing jQuery Migrate on a legacy theme. Console errors and dead menus follow. Smoke-test interactions first.
Turning off oEmbed without telling editors. Pasted URLs stop becoming players. Document the new embed workflow.
Throttle Heartbeat so hard editors lose post locks. Shared authorship needs some polling. Tune, do not obliterate.
Disabling XML-RPC while an app still uses it. Publishing or sync fails in mysterious ways. Inventory integrations first.
Stacking three cleanup plugins. Duplicate removals and fights. Pick Lightify as the owner for this layer.
Skipping a baseline measurement. Without before/after request counts, you cannot prove the cleanup helped.
Practical checklist before you call it done
- Capture a baseline request count on a key logged-out template.
- Disable emoji scripts and retest.
- Disable front-end Dashicons if nothing needs them; verify icons.
- Disable jQuery Migrate after interaction smoke tests.
- Disable oEmbed if editors do not rely on it; verify embeds you still want.
- Throttle Heartbeat; confirm editors can still work comfortably.
- Switch off XML-RPC only if no integration needs it.
- Keep database revision/spam cleanup as a separate scheduled task, not this post’s focus.
- Re-measure. Then tackle unused CSS, minify, and cache if vitals remain noisy.
Takeaway
WordPress ships friendly defaults. Your visitors pay for them in extra scripts, fonts, and polling. Hunting Gists for emoji, Dashicons, Migrate, oEmbed, Heartbeat, and XML-RPC cleanup is how sites collect contradictory snippets. One dashboard is better.
Lightify turns those cleanup switches on from wp-admin so you can cut known bloat without treating functions.php like a junk drawer. Measure after each cluster. Keep what you still use. Drop what you do not.
One Pro membership unlocks Lightify plus Progressify, Generatify, Rankify, and Snapshotify. New Pro plugins join existing memberships. Plans differ by site count only. See pricing when you want performance controls in one place instead of five pasted snippets.
Ship the cleanup toggles that match your stack. View source once more. When the default junk is gone, every other optimization has less weight to fight.
