Disable Embeds removes WordPress’s automatic oEmbed system, the feature that turns a pasted URL into an embedded YouTube video, tweet, or similar widget. The result is a smaller front-end, fewer third-party requests, and one less surface for tracking.

What this feature does

WordPress automatically detects URLs you paste into a post and replaces them with embedded content from the source. It also exposes its own oEmbed endpoint at /wp-json/oembed/1.0/embed so other sites can do the same with content from yours.

This setting removes the entire oEmbed system from your site:

  • Pasted URLs are no longer auto-converted into embeds.
  • Your site no longer broadcasts the oEmbed discovery link in <head>.
  • The wp-embed JavaScript is dequeued, removing a small script from every page.
  • The /wp-json/oembed/… REST endpoints are removed.
  • The shortcode and TinyMCE plugin are removed.
Performance and privacy benefits

Embeds make external HTTP requests on render and load third-party scripts (Google’s analytics on YouTube, Twitter’s tracking pixels, etc.). Disabling embeds keeps your site self-contained and removes a chunk of third-party tracking from your front-end.

How to enable it

  1. Open AdminEase › Security. Click AdminEase in the WordPress admin menu, then switch to the Security tab.
  2. Toggle Disable embeds on. Save settings. The change applies immediately on the front-end.
  3. Verify. View source on a page that previously used the shortcode or auto-embedded a URL. The embed should now appear as a plain link instead of an iframe.

Settings reference

Setting What it does Default
Disable embeds Removes WordPress’s oEmbed actions, filters, REST endpoints, TinyMCE plugin, and front-end script. Off

What happens behind the scenes

Hooks removed and filters added

AdminEase removes several WordPress core hooks and filters:

  • rest_api_initwp_oembed_register_route (the REST endpoint)
  • wp_headwp_oembed_add_discovery_links (the discovery <link>)
  • wp_headwp_oembed_add_host_js (the JS responsible for sizing embeds)
  • template_redirectrest_output_link_header (the discovery Link header)
  • oembed_dataparse and pre_oembed_result filters

It also forces embed_oembed_discover to false, removes the embed query var, drops the wpembed TinyMCE plugin, and dequeues the wp-embed script.

Troubleshooting

An existing video embed disappeared from a post

Expected. The embed reverts to the original URL because there’s no longer a parser to convert it. To restore the video, paste the embed code from the source provider directly (e.g. YouTube’s “Share › Embed” iframe).

I want to keep some embeds but not others

This setting is all-or-nothing. For granular control, leave embeds enabled and use a privacy-friendly embed plugin that lazy-loads embeds only on user click.

I’m using the block editor and the embed block stopped working

Expected. The block editor’s embed block depends on WordPress’s oEmbed system. If you need it, leave this setting off and consider a content-security-policy / lazy-load approach for tracking concerns instead.

My RSS feed lost a previously-embedded item

Same root cause: the parser is gone. RSS feeds use the same oEmbed system. Re-render the embeds as plain <a> links or paste provider iframes manually if you need them in feeds.