Title: Feature Plugin Merge Proposal: oEmbed
Author: Pascal Birchler
Published: September 30, 2015

---

 [  ](https://profiles.wordpress.org/swissspidy/) [Pascal Birchler](https://profiles.wordpress.org/swissspidy/)
5:02 am _on_ September 30, 2015     
Tags: [4.4 ( 46 )](https://make.wordpress.org/core/tag/4-4/),
[feature plugins ( 122 )](https://make.wordpress.org/core/tag/feature-plugins/),
[feature-oembed ( 10 )](https://make.wordpress.org/core/tag/feature-oembed/), [merge ( 11 )](https://make.wordpress.org/core/tag/merge/),
[proposal ( 40 )](https://make.wordpress.org/core/tag/proposal/)   

# Feature Plugin Merge Proposal: oEmbed

For the past 6 years, users have been able to embed YouTube videos, tweets and many
other resources on their sites through a nifty feature called oEmbed.

Today, we (mainly me, [@pento](https://profiles.wordpress.org/pento/) and [@melchoyce](https://profiles.wordpress.org/melchoyce/))
ask to consider extending this feature by merging the [oEmbed API plugin](https://wordpress.org/plugins/oembed-api/)
into WordPress coreCore Core is the set of software required to run WordPress. The
Core Development Team builds WordPress.. This pluginPlugin A plugin is a piece of
software containing a group of functions that can be added to a WordPress website.
They can extend functionality or add new features to your WordPress websites. WordPress
plugins are written in the PHP programming language and integrate seamlessly with
WordPress. These can be free in the WordPress.org Plugin Directory [https://wordpress.org/plugins/](https://wordpress.org/plugins/)
or can be cost-based plugin from a third-party. allows anyone to embed posts from
your site by just pasting its URLURL A specific web address of a website or web 
page on the Internet, such as a website’s URL www.wordpress.org. We’ve been working
hard on it for months and are now eager to hear your feedback.

### Purpose & Goals

While I initially built an early version of the plugin about a year ago, it was 
[@melchoyce](https://profiles.wordpress.org/melchoyce/) who kicked things off with
[#32522](https://core.trac.wordpress.org/ticket/32522). Her idea was simple: When
you can embed almost anything in a WordPress post, why aren’t we able to embed WordPress
posts themselves in another WordPress post?

That’s exactly what we’re aiming for. Our goal is to allow a big portion of the 
web to easily and securely embed such post previews.

Have a look at this post to see the user flow for this feature (and a live demo!):

[https://make.wordpress.org/flow/2015/09/12/embeds-visual-survey-of-the-oembed-feature-plugin-macnchrome-iphone-5s/](https://make.wordpress.org/flow/2015/09/12/embeds-visual-survey-of-the-oembed-feature-plugin-macnchrome-iphone-5s/)

### Security Considerations

Embedding content from a random source on your site depends on lots of trust. We
take precautions to make the whole process as easy as possible. It’s worth noting
that:

 * We use iframes with the [sandbox attribute](https://developer.mozilla.org/en/docs/Web/HTML/Element/iframe#Attributes)
   to enable extra restrictions on the content that can appear in the inline frame.
 * The host and the embedded site communicate via postMessage to allow resizing 
   and clicking on links safely

### Browser Compatibility

We successfully tested the feature with all major browsers on mobile and desktop.
Since IE < 10 doesn’t support the sandbox attribute, we use the proprietary security
attribute there to have similar security restrictions. This means no JavaScriptJavaScript
JavaScript or JS is an object-oriented computer programming language commonly used
to create interactive effects within web browsers. WordPress makes extensive use
of JS for a better user experience. While PHP is executed on the server, JS executes
within a user’s browser. [https://www.javascript.com](https://www.javascript.com/)
inside the iframeiframe iFrame is an acronym for an inline frame. An iFrame is used
inside a webpage to load another HTML document and render it. This HTML document
may also contain JavaScript and/or CSS which is loaded at the time when iframe tag
is parsed by the user’s browser. is run, e.g. for the resizing. The most important
thing, clicking, still works there though.

Long story short, the feature works with all major browsers and degrades gracefully
on older IE versions.

### Core Changes & Merge Implementation Details

The plugin was developed in such a way that merging it into core eventually is as
straightforward as possible. We are working actively on a patchpatch A special text
file that describes changes to code, by identifying the files and lines which are
added, removed, and altered. It may also be referred to as a **diff**. A patch can
be _applied_ to a codebase for testing. that can be added to core within the merge
window.

There are two things that we need to change in core together with the merge:

 * When doing a redirect because of a changed post slug the rewrite endpoints need
   to be respected as well. See [#33920](https://core.trac.wordpress.org/ticket/33920)
 * Attachment rewrite endpoints need to be fixed in core. See [#19918](https://core.trac.wordpress.org/ticket/19918)
 * This feature only works with oEmbed discovery turned for every user, even those
   lacking the unfiltered_html capabilitycapability A **capability** is permission
   to perform one or more types of task. Checking if a user has a capability is 
   performed by the `current_user_can` function. Each user of a WordPress site might
   have some permissions but not others, depending on their role. For example, users
   who have the Author role usually have permission to edit their own posts (the“
   edit_posts” capability), but not permission to edit other users’ posts (the “
   edit_others_posts” capability).. [That capability check](https://core.trac.wordpress.org/browser/tags/4.3/src/wp-includes/class-wp-embed.php#L240)
   needs to be removed.

### Developer Notes

This plugin adds a new `/embed/` rewrite endpoint for posts, pages and attachments.
We haven’t found any plugin in the directory using this endpoint, but if you already
use that endpoint, you should consider renaming it or changing the oEmbed rewrite
endpoint using the filters we provide.

Note: There’d be a separate post for this after the merge.

### What about the REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) 󠀁[https://developer.wordpress.org/rest-api/](https://developer.wordpress.org/rest-api/)󠁿?

The plugin works well on WordPress 3.9+ and uses a simple class to return the oEmbed
APIAPI An API or Application Programming Interface is a software intermediary that
allows programs to interact with each other and share data in limited, clearly defined
ways. responses. However, with the REST API officially proposed for a core merge,
we built a controller class for it. This class does exactly the same and follows
the REST API best practices.

We could definitely profit from the REST API and built upon it when merging into
core. Not needing a fallback means no duplicated code and easier maintenance.

In case you missed it, here’s the REST API merge proposal:

[https://make.wordpress.org/core/2015/09/21/wp-rest-api-merge-proposal/](https://make.wordpress.org/core/2015/09/21/wp-rest-api-merge-proposal/)

### Remaining Issues

There is currently one issue with SlackSlack Slack is a Collaborative Group Chat
Platform [https://slack.com/](https://slack.com/). The WordPress community has its
own Slack Channel at [https://make.wordpress.org/chat/](https://make.wordpress.org/chat/)
not displaying the oEmbed output correctly. It simply displays the JavaScript as
plain-text instead of removing it. We’ve reached out to them to see if they could
fix that and at least white-list WordPress.orgWordPress.org The community site where
WordPress code is created and shared by the users. This is where you can download
the source code for WordPress core, plugins and themes as well as the central location
for community conversations and organization. [https://wordpress.org/](https://wordpress.org/)
in the meantime to properly display the embeds in Slack channels.

Besides that, there are also some small layout quirks we still need to work out.
Meanwhile we’re continuing to improve the codebase and inline documentation.

### Future Plans

We’re looking into improving support for different response types in addition to
regular post content, depending on the feedback we receive from users.

### Contributors

While I’ve been the lead developer of the plugin, a ton of valuable input and [contributions](https://github.com/swissspidy/oEmbed-API/graphs/contributors)
have come from others in the community.

[#4-4](https://make.wordpress.org/core/tag/4-4/), [#feature-plugins](https://make.wordpress.org/core/tag/feature-plugins/),
[#feature-oembed](https://make.wordpress.org/core/tag/feature-oembed/), [#merge](https://make.wordpress.org/core/tag/merge/),
[#proposal](https://make.wordpress.org/core/tag/proposal/)

### Share this:

 * [  Threads ](https://make.wordpress.org/core/2015/09/30/feature-plugin-merge-proposal-oembed/?share=threads)
 * [  Mastodon ](https://make.wordpress.org/core/2015/09/30/feature-plugin-merge-proposal-oembed/?share=mastodon)
 * [  Bluesky ](https://make.wordpress.org/core/2015/09/30/feature-plugin-merge-proposal-oembed/?share=bluesky)
 * [  X ](https://make.wordpress.org/core/2015/09/30/feature-plugin-merge-proposal-oembed/?share=x)
 * [  Facebook ](https://make.wordpress.org/core/2015/09/30/feature-plugin-merge-proposal-oembed/?share=facebook)
 * [  LinkedIn ](https://make.wordpress.org/core/2015/09/30/feature-plugin-merge-proposal-oembed/?share=linkedin)

 1.  ![](https://secure.gravatar.com/avatar/c21ff90e030a07e3a20f48a0496530828cf86ef69a464d326351423eb2570ef0?
     s=32&d=mm&r=g)
 2.   [Ryan McCue](https://profiles.wordpress.org/rmccue/)  5:05 am _on_ September 
     30, 2015
 3.  😍😍😍😍
 4.  ![](https://secure.gravatar.com/avatar/1b897c989a31146a098d41d9cd07baf4895d40c47f959dd2f4bf023d973db012?
     s=32&d=mm&r=g)
 5.   [leehodson](https://profiles.wordpress.org/leehodson/)  5:27 am _on_ September
     30, 2015
 6.  I love the idea. Have a couple of questions, though:
 7.  1) If I launch a DDOSDistributed Denial of Service A type of online attack where
     a large number of infected computers are used to overwhelm a target computer, 
     to the point where it no longer has the resources to perform its normal job. [Read more](https://en.wikipedia.org/wiki/Denial-of-service_attack#Distributed_attack).
     on a non cached site with embedded content, will that bring down the source site
     of the oEmbed? Will there be a failsafe to restrict requests to the content to
     so many hits per second and/or will embedded content snippets be cached on the
     source server in, say, wp-content/cache/oembeds/ ?
 8.  2) Can the source site control where the content can be embedded via a whitelist/
     blacklist where?
 9.  3) Can the source site control the display of embedded content such as snippet
     size, feature image to display, backlinkBacklink Incoming links to a web page.
     Search engines view backlinks as a reputation builder. The more quality (as determined
     by the search engine) incoming backlinks a site has usually helps a site to rank
     better in search engine results. anchor text etc..?
 10. 4) How will oEmbeds work with sites that use iFrameiframe iFrame is an acronym
     for an inline frame. An iFrame is used inside a webpage to load another HTML document
     and render it. This HTML document may also contain JavaScript and/or CSS which
     is loaded at the time when iframe tag is parsed by the user’s browser. busters?
 11.  * ![](https://secure.gravatar.com/avatar/e522019adbe7cb4145f9e01c344c036baaa8bf76cd5d76e6b737b60be9af88cc?
        s=32&d=mm&r=g)
      *  [Gary Pendergast](https://profiles.wordpress.org/pento/)  5:43 am _on_ September
        30, 2015
      * > 1) If I launch a DDOSDistributed Denial of Service A type of online attack
        > where a large number of infected computers are used to overwhelm a target
        > computer, to the point where it no longer has the resources to perform its
        > normal job. [Read more](https://en.wikipedia.org/wiki/Denial-of-service_attack#Distributed_attack).
        > on a non cached site with embedded content, will that bring down the source
        > site of the oEmbed? Will there be a failsafe to restrict requests to the 
        > content to so many hits per second and/or will embedded content snippets 
        > be cached on the source server in, say, wp-content/cache/oembeds/ ?
      * A DDoS will bring down the source site. It’s not cached at all, this is the
        same behaviour as, say, a site making the front page of Reddit. It’s up to 
        the source site to install an appropriate caching pluginPlugin A plugin is 
        a piece of software containing a group of functions that can be added to a 
        WordPress website. They can extend functionality or add new features to your
        WordPress websites. WordPress plugins are written in the PHP programming language
        and integrate seamlessly with WordPress. These can be free in the WordPress.
        org Plugin Directory [https://wordpress.org/plugins/](https://wordpress.org/plugins/)
        or can be cost-based plugin from a third-party..
      * > 2) Can the source site control where the content can be embedded via a whitelist/
        > blacklist where?
      * There’s no WordPress-specific mechanism for this. $_SERVER['HTTP_REFERER'] 
        will contain the embedding URLURL A specific web address of a website or web
        page on the Internet, such as a website’s URL www.wordpress.org.
      * > 3) Can the source site control the display of embedded content such as snippet
        > size, feature image to display, backlinkBacklink Incoming links to a web 
        > page. Search engines view backlinks as a reputation builder. The more quality(
        > as determined by the search engine) incoming backlinks a site has usually
        > helps a site to rank better in search engine results. anchor text etc..?
      * Yes! Everything can be filtered, including replacing the entire output with
        your own template!
      * > 4) How will oEmbeds work with sites that use iFrameiframe iFrame is an acronym
        > for an inline frame. An iFrame is used inside a webpage to load another HTML
        > document and render it. This HTML document may also contain JavaScript and/
        > or CSS which is loaded at the time when iframe tag is parsed by the user’s
        > browser. busters?
      * Due to the use of the security attribute on the iframe, iframe busters are 
        not able to break out – there’s no concern about a rouge embed stealing your
        visitors.
      * If a site implements their own iframe restrictions (for example, by sending
        X-Frame-Options: SAMEORIGIN on every page), we also send a X-WP-oembed: true
        headerHeader The header of your site is typically the first thing people will
        experience. The masthead or header art located across the top of your page 
        is part of the look and feel of your website. It can influence a visitor’s 
        opinion about your content and you/ your organization’s brand. It may also 
        look different on different screen sizes. on the embed page, so they can conditionally
        disable that.
      * If the site adminadmin (and super admin) choses not to allow embedding, we 
        respect their wishes, of course. 🙂
 12. ![](https://secure.gravatar.com/avatar/e9bfc6bfa914b1b6d2e0dc60f10b07e813ca849cd9ecd2918c9024ab56433e74?
     s=32&d=mm&r=g)
 13.  [Piet Bos](https://profiles.wordpress.org/senlin/)  5:45 am _on_ September 30,
     2015
 14. Isn’t this the same as scraping? But then not just the title and excerptExcerpt
     An excerpt is the description of the blog post or page that will by default show
     on the blog archive page, in search results (SERPs), and on social media. With
     an SEO plugin, the excerpt may also be in that plugin’s metabox., but instead 
     the entire post?
 15. And how will this work in terms of Duplicate content?
 16. And is it possible to not allow my blogblog (versus network, site) content to 
     be embedded in other sites?
 17. I really hope that you have taken this kind of worries/issues into consideration!
 18.  * ![](https://secure.gravatar.com/avatar/e9bfc6bfa914b1b6d2e0dc60f10b07e813ca849cd9ecd2918c9024ab56433e74?
        s=32&d=mm&r=g)
      *  [Piet Bos](https://profiles.wordpress.org/senlin/)  5:47 am _on_ September
        30, 2015
      * And I forgot to add how about the images, will they be served from the domain
        where the post is embedded from or will they hop over to the new domain?
      * I think both scenarios are far from desirable.
      * ![](https://secure.gravatar.com/avatar/e522019adbe7cb4145f9e01c344c036baaa8bf76cd5d76e6b737b60be9af88cc?
        s=32&d=mm&r=g)
      *  [Gary Pendergast](https://profiles.wordpress.org/pento/)  5:58 am _on_ September
        30, 2015
      * > Isn’t this the same as scraping? But then not just the title and excerptExcerpt
        > An excerpt is the description of the blog post or page that will by default
        > show on the blog archive page, in search results (SERPs), and on social media.
        > With an SEO plugin, the excerpt may also be in that plugin’s metabox., but
        > instead the entire post?
      * Not really. It’s more like a more visually appealing link, with some extra 
        context.
      * It doesn’t embed the entire post, just the_excerpt().
      * > And how will this work in terms of Duplicate content?
      * It’s within an iframeiframe iFrame is an acronym for an inline frame. An iFrame
        is used inside a webpage to load another HTML document and render it. This 
        HTML document may also contain JavaScript and/or CSS which is loaded at the
        time when iframe tag is parsed by the user’s browser., so I imagine search 
        engines won’t attribute the content to the wrong host. But, it’s worth making
        sure, (and adding noindex), so [here’s a bug report](https://github.com/swissspidy/oEmbed-API/issues/157).
        Thanks for bringing this up. 🙂
      * > And is it possible to not allow my blogblog (versus network, site) content
        > to be embedded in other sites?
      * Yep! You can disable all of the embeds and related output. Sending the X-Frame-
        Options: SAMEORIGIN headerHeader The header of your site is typically the first
        thing people will experience. The masthead or header art located across the
        top of your page is part of the look and feel of your website. It can influence
        a visitor’s opinion about your content and you/ your organization’s brand. 
        It may also look different on different screen sizes. will also blockBlock 
        Block is the abstract term used to describe units of markup that, composed 
        together, form the content or layout of a webpage using the WordPress editor.
        The idea combines concepts of what in the past may have achieved with shortcodes,
        custom HTML, and embed discovery into a single consistent API and user experience.
        all sites except your own from embedding your site.
      * > And I forgot to add how about the images, will they be served from the domain
        > where the post is embedded from or will they hop over to the new domain?
      * They’ll be served from the embedded domain, same as other similar oEmbeds WordPress
        supports, like Twitter or Tumblr.
 19. ![](https://secure.gravatar.com/avatar/0608b540c7da83b396fd9a453ad1ac0298152522bc3a06888d41649e4024a089?
     s=32&d=mm&r=g)
 20.  [Ahmad Awais](https://profiles.wordpress.org/mrahmadawais/)  8:05 am _on_ September
     30, 2015
 21. Looking forward to oEmbed merger.
 22. ![](https://secure.gravatar.com/avatar/024316af8fa284f9ca54dbb695a52e27ebf9f848a5bbf8b590446c642641b258?
     s=32&d=mm&r=g)
 23.  [Arnan de Gans](https://profiles.wordpress.org/adegans/)  8:21 am _on_ September
     30, 2015
 24. Content stealing/duplicate content/copyright hell, here we come.
 25. Not to mention all those scraping sites now don’t even have to grab RSS anymore
     for their shit, all they need is permalinks. They’ll get better results, too.
 26. And even worse, other wrong do-ers don’t even have to actually go to your site
     now, they just embed your urls a million times to take down your site/server.
 27. 🙁
 28.  * ![](https://secure.gravatar.com/avatar/024316af8fa284f9ca54dbb695a52e27ebf9f848a5bbf8b590446c642641b258?
        s=32&d=mm&r=g)
      *  [Arnan de Gans](https://profiles.wordpress.org/adegans/)  8:24 am _on_ September
        30, 2015
      * Also what will this do with (Google/Piwik) analytics?
         Does a embed count as
        a pageview? Will it be seen as referrer spam? Did you test that?
         - ![](https://secure.gravatar.com/avatar/1718b7c2f2afc31b4e94805b6f1f6ae2b802cc4c696f99b11fde2186006c82c9?
           s=32&d=mm&r=g)
         -  [Pascal Birchler](https://profiles.wordpress.org/swissspidy/)  10:45 am
           _on_ September 30, 2015
         - This depends on how you’ve implemented analytics on your site.
         - If you just output the normal tracking code in the iframeiframe iFrame is
           an acronym for an inline frame. An iFrame is used inside a webpage to load
           another HTML document and render it. This HTML document may also contain
           JavaScript and/or CSS which is loaded at the time when iframe tag is parsed
           by the user’s browser., this would most possibly be counted as a normal 
           view/visit.
         - Referrer information is **not** available in the iframe for security reasons,
           therefore there’s no referrer spam problem.
         - See also [https://support.google.com/analytics/answer/1012049?hl=en](https://support.google.com/analytics/answer/1012049?hl=en)
      * ![](https://secure.gravatar.com/avatar/62ed6669556644a294591975f01137cd76ea6d1dcd8bf8b3328c1e2bf6e2a80d?
        s=32&d=mm&r=g)
      *  [Dion Hulse](https://profiles.wordpress.org/dd32/)  9:52 am _on_ September
        30, 2015
      * > Not to mention all those scraping sites now don’t even have to grab RSS anymore
        > for their shit, all they need is permalinks. They’ll get better results, 
        > too.
      * I don’t think it works how you’re thinking it does, it embeds within an iframeiframe
        iFrame is an acronym for an inline frame. An iFrame is used inside a webpage
        to load another HTML document and render it. This HTML document may also contain
        JavaScript and/or CSS which is loaded at the time when iframe tag is parsed
        by the user’s browser., with the source site (yours) offering up the content
        for that frame. As such, by default it includes only the excerptExcerpt An 
        excerpt is the description of the blog post or page that will by default show
        on the blog archive page, in search results (SERPs), and on social media. With
        an SEO plugin, the excerpt may also be in that plugin’s metabox. and an obvious
        source link – exactly as it appears at the start of this post.
         The SEO benefits
        gained by the embedding site should be minimal as well.
      * > And even worse, other wrong do-ers don’t even have to actually go to your
        > site now, they just embed your urls a million times to take down your site/
        > server.
      * That’s something they can already do. All they need to do to DDOSDistributed
        Denial of Service A type of online attack where a large number of infected 
        computers are used to overwhelm a target computer, to the point where it no
        longer has the resources to perform its normal job. [Read more](https://en.wikipedia.org/wiki/Denial-of-service_attack#Distributed_attack).
        with that method is to add a million iframes of your site to a popular page
        on theirs, this doesn’t make it any easier or riskier, it just adds the iframe
        automatically.
 29. ![](https://secure.gravatar.com/avatar/9f47e9e579bdc5881f32eceb52ced263277f394078703bcb137161227180c3f8?
     s=32&d=mm&r=g)
 30.  [Gary Br](https://profiles.wordpress.org/gary-br/)  8:39 am _on_ September 30,
     2015
 31. I installed the pluginPlugin A plugin is a piece of software containing a group
     of functions that can be added to a WordPress website. They can extend functionality
     or add new features to your WordPress websites. WordPress plugins are written 
     in the PHP programming language and integrate seamlessly with WordPress. These
     can be free in the WordPress.org Plugin Directory [https://wordpress.org/plugins/](https://wordpress.org/plugins/)
     or can be cost-based plugin from a third-party.. seems to work great.
      Many users(
     include me) don’t like to use Iframeiframe iFrame is an acronym for an inline 
     frame. An iFrame is used inside a webpage to load another HTML document and render
     it. This HTML document may also contain JavaScript and/or CSS which is loaded 
     at the time when iframe tag is parsed by the user’s browser. in website. My question
     is: Is it possible to add a seting that will add the preview into the source of
     the page, not with iframe? Thanks
 32.  * ![](https://secure.gravatar.com/avatar/62ed6669556644a294591975f01137cd76ea6d1dcd8bf8b3328c1e2bf6e2a80d?
        s=32&d=mm&r=g)
      *  [Dion Hulse](https://profiles.wordpress.org/dd32/)  9:55 am _on_ September
        30, 2015
      * For security and styling, iframes are the only real viable option. iframes 
        shouldn’t be seen as dirty in the way of the past, used correctly for the right
        things, they can be far more useful.
      * Most of the common existing oEmbed providers use iframes (including Youtube
        and Twitter) for this very reason.
      * It’ll definitely be possible for a pluginPlugin A plugin is a piece of software
        containing a group of functions that can be added to a WordPress website. They
        can extend functionality or add new features to your WordPress websites. WordPress
        plugins are written in the PHP programming language and integrate seamlessly
        with WordPress. These can be free in the WordPress.org Plugin Directory [https://wordpress.org/plugins/](https://wordpress.org/plugins/)
        or can be cost-based plugin from a third-party. to remove the iframeiframe 
        iFrame is an acronym for an inline frame. An iFrame is used inside a webpage
        to load another HTML document and render it. This HTML document may also contain
        JavaScript and/or CSS which is loaded at the time when iframe tag is parsed
        by the user’s browser. and output the content directly, but that really isn’t
        in the best interests of the vast majority of WordPress sites.
         - ![](https://secure.gravatar.com/avatar/9f47e9e579bdc5881f32eceb52ced263277f394078703bcb137161227180c3f8?
           s=32&d=mm&r=g)
         -  [Gary Br](https://profiles.wordpress.org/gary-br/)  2:32 pm _on_ September
           30, 2015
         - I forgot to mention that i wrote about cases when the pluginPlugin A plugin
           is a piece of software containing a group of functions that can be added
           to a WordPress website. They can extend functionality or add new features
           to your WordPress websites. WordPress plugins are written in the PHP programming
           language and integrate seamlessly with WordPress. These can be free in the
           WordPress.org Plugin Directory [https://wordpress.org/plugins/](https://wordpress.org/plugins/)
           or can be cost-based plugin from a third-party. used in the same site, Its
           bad for SEO because the lframe is not part of page.
            To show content from
           a different website, no doubt iframeiframe iFrame is an acronym for an inline
           frame. An iFrame is used inside a webpage to load another HTML document 
           and render it. This HTML document may also contain JavaScript and/or CSS
           which is loaded at the time when iframe tag is parsed by the user’s browser.
           is the best option. It will be a valued option for who that wants to use
           the plugin to display nice links with preview to other pages in the site.
      * ![](https://secure.gravatar.com/avatar/f86dcf848f27897c90d1070eee59c0de58ec8f0df52c6f6fd39ca592de11106d?
        s=32&d=mm&r=g)
      *  [Arunas Liuiza](https://profiles.wordpress.org/ideag/)  10:35 am _on_ September
        30, 2015
      * Hi,
      * If you want control how embeds look at your site, you can use Content Cards
        pluginPlugin A plugin is a piece of software containing a group of functions
        that can be added to a WordPress website. They can extend functionality or 
        add new features to your WordPress websites. WordPress plugins are written 
        in the PHP programming language and integrate seamlessly with WordPress. These
        can be free in the WordPress.org Plugin Directory [https://wordpress.org/plugins/](https://wordpress.org/plugins/)
        or can be cost-based plugin from a third-party. ([https://wordpress.org/plugins/content-cards/](https://wordpress.org/plugins/content-cards/))–
        it does not rely on external website having oEmbed enabled, but instead looks
        for OpenGraph data (the same that Facebook uses to generate nice link previews).
      * Cards are generated and inserted on your site, as a div, so you have full control
        on styling. And the OpenGraph data is cached, so it shouldn’t take down the
        site if a link gets embeded somewhere popular, too 🙂
         - ![](https://secure.gravatar.com/avatar/68742ac31d0f215d5593e1ce48855edd15b8caf154a0dc6f0449ab85b9fb5d6d?
           s=32&d=mm&r=g)
         -  [thatgrrl](https://profiles.wordpress.org/thatgrrl/)  5:13 pm _on_ October
           6, 2015
         - If this is going to be added to the coreCore Core is the set of software
           required to run WordPress. The Core Development Team builds WordPress. why
           would we want to add more plugins to control it? Seems to me it should be
           a little more self sufficient than that. Please remember a lot of WordPress
           users have no clue beyond the ‘type and hit enter’ level.
 33. ![](https://secure.gravatar.com/avatar/a94464c3a6a86c705266be45a6b79d3693b8be2074e82bbaf63918eccd6cc5d3?
     s=32&d=mm&r=g)
 34.  [petermolnar](https://profiles.wordpress.org/cadeyrn/)  12:39 pm _on_ September
     30, 2015
 35. There’s oEmbed Provider pluginPlugin A plugin is a piece of software containing
     a group of functions that can be added to a WordPress website. They can extend
     functionality or add new features to your WordPress websites. WordPress plugins
     are written in the PHP programming language and integrate seamlessly with WordPress.
     These can be free in the WordPress.org Plugin Directory [https://wordpress.org/plugins/](https://wordpress.org/plugins/)
     or can be cost-based plugin from a third-party., working great as well; so why
     go with this one instead?
      [https://wordpress.org/plugins/oembed-provider/](https://wordpress.org/plugins/oembed-provider/)
 36.  * ![](https://secure.gravatar.com/avatar/1718b7c2f2afc31b4e94805b6f1f6ae2b802cc4c696f99b11fde2186006c82c9?
        s=32&d=mm&r=g)
      *  [Pascal Birchler](https://profiles.wordpress.org/swissspidy/)  1:26 pm _on_
        September 30, 2015
      * This pluginPlugin A plugin is a piece of software containing a group of functions
        that can be added to a WordPress website. They can extend functionality or 
        add new features to your WordPress websites. WordPress plugins are written 
        in the PHP programming language and integrate seamlessly with WordPress. These
        can be free in the WordPress.org Plugin Directory [https://wordpress.org/plugins/](https://wordpress.org/plugins/)
        or can be cost-based plugin from a third-party. is somewhat limited as it doesn’t
        output iframes and only makes WordPress an oEmbed provider, but doesn’t allow
        embedding of other WordPress sites.
      * Luckily, the author of oEmbed Provider has been working on our solution as 
        well!
 37. ![](https://secure.gravatar.com/avatar/250257111d1248c34046552bbcdf6999949ef56b2f992dd5eb39bf45cabeb18a?
     s=32&d=mm&r=g)
 38.  [Samuel Wood (Otto)](https://profiles.wordpress.org/otto42/)  12:39 pm _on_ September
     30, 2015
 39. Does it have an off switch?
 40. As in, I never want WordPress posts to embed into my posts, even by accident, 
     and I never want to allow my posts to be embedded anywhere else.
 41. If it lacks an off switch, then I vote no.
 42.  * ![](https://secure.gravatar.com/avatar/1718b7c2f2afc31b4e94805b6f1f6ae2b802cc4c696f99b11fde2186006c82c9?
        s=32&d=mm&r=g)
      *  [Pascal Birchler](https://profiles.wordpress.org/swissspidy/)  1:34 pm _on_
        September 30, 2015
      * One can easily disable the various moving parts through filters, see [https://github.com/swissspidy/oEmbed-API#developer-reference](https://github.com/swissspidy/oEmbed-API#developer-reference)
        for details. There’s no UIUI User interface.
      * The most simple solution is to disable embedding using `add_filter( 'embed_oembed_discover','
        __return_false' );` and disabling the oEmbed discovery (e.g. not telling others
        they can embed your post) using `remove_action( 'wp_head', 'wp_oembed_add_discovery_links');`
      * We can also create 1 single filterFilter Filters are one of the two types of
        Hooks [https://codex.wordpress.org/Plugin_API/Hooks](https://codex.wordpress.org/Plugin_API/Hooks).
        They provide a way for functions to modify data of other functions. They are
        the counterpart to Actions. Unlike Actions, filters are meant to work in an
        isolated manner, and should never have side effects such as affecting global
        variables and output. to disable everything (rewrite endpoint, query vars, 
        etc.) if really necessary.
         - ![](https://secure.gravatar.com/avatar/27180c82524020e7339e2b30818b6d8ab004c54f730f12b1434b1e365be0e175?
           s=32&d=mm&r=g)
         -  [Ipstenu (Mika Epstein)](https://profiles.wordpress.org/ipstenu/)  1:38
           pm _on_ September 30, 2015
         - X-WP-oembed: true headerHeader The header of your site is typically the 
           first thing people will experience. The masthead or header art located across
           the top of your page is part of the look and feel of your website. It can
           influence a visitor’s opinion about your content and you/ your organization’s
           brand. It may also look different on different screen sizes. should be added
           in there as something to be disabled. Though if Otto’s going to make a pluginPlugin
           A plugin is a piece of software containing a group of functions that can
           be added to a WordPress website. They can extend functionality or add new
           features to your WordPress websites. WordPress plugins are written in the
           PHP programming language and integrate seamlessly with WordPress. These 
           can be free in the WordPress.org Plugin Directory [https://wordpress.org/plugins/](https://wordpress.org/plugins/)
           or can be cost-based plugin from a third-party. like a think he is, that
           can be included?
            * ![](https://secure.gravatar.com/avatar/1718b7c2f2afc31b4e94805b6f1f6ae2b802cc4c696f99b11fde2186006c82c9?
              s=32&d=mm&r=g)
            *  [Pascal Birchler](https://profiles.wordpress.org/swissspidy/)  4:00 
              pm _on_ September 30, 2015
            * I could add a filterFilter Filters are one of the two types of Hooks 
              [https://codex.wordpress.org/Plugin_API/Hooks](https://codex.wordpress.org/Plugin_API/Hooks).
              They provide a way for functions to modify data of other functions. They
              are the counterpart to Actions. Unlike Actions, filters are meant to 
              work in an isolated manner, and should never have side effects such as
              affecting global variables and output. to disable that headerHeader The
              header of your site is typically the first thing people will experience.
              The masthead or header art located across the top of your page is part
              of the look and feel of your website. It can influence a visitor’s opinion
              about your content and you/ your organization’s brand. It may also look
              different on different screen sizes. if there really is a good reason
              why someone wants to do that. For reference, [here’s why we added that header](https://github.com/swissspidy/oEmbed-API/issues/155).
            * Also, here’s a quick pluginPlugin A plugin is a piece of software containing
              a group of functions that can be added to a WordPress website. They can
              extend functionality or add new features to your WordPress websites. 
              WordPress plugins are written in the PHP programming language and integrate
              seamlessly with WordPress. These can be free in the WordPress.org Plugin
              Directory [https://wordpress.org/plugins/](https://wordpress.org/plugins/)
              or can be cost-based plugin from a third-party. to disable the feature
              completely: [https://gist.github.com/swissspidy/4289519f048c30b5f77e](https://gist.github.com/swissspidy/4289519f048c30b5f77e)
         - ![](https://secure.gravatar.com/avatar/250257111d1248c34046552bbcdf6999949ef56b2f992dd5eb39bf45cabeb18a?
           s=32&d=mm&r=g)
         -  [Samuel Wood (Otto)](https://profiles.wordpress.org/otto42/)  2:04 pm _on_
           September 30, 2015
         - Seems like there’s more steps to it than that. You would also need to remove
           the /embed endpoint, for example, to prevent others from using it manually.
         - A master off-switch would be advisable, or at least a well documented way
           to disable each of the components individually.
            * ![](https://secure.gravatar.com/avatar/1718b7c2f2afc31b4e94805b6f1f6ae2b802cc4c696f99b11fde2186006c82c9?
              s=32&d=mm&r=g)
            *  [Pascal Birchler](https://profiles.wordpress.org/swissspidy/)  2:12 
              pm _on_ September 30, 2015
            * That’s why I said most simple solution 🙂
            * Disabling the /embed/ rewrite endpoint and the oEmbed APIAPI An API or
              Application Programming Interface is a software intermediary that allows
              programs to interact with each other and share data in limited, clearly
              defined ways. endpoint is documented in the link I mentioned above. I’ll
              look into making a pluginPlugin A plugin is a piece of software containing
              a group of functions that can be added to a WordPress website. They can
              extend functionality or add new features to your WordPress websites. 
              WordPress plugins are written in the PHP programming language and integrate
              seamlessly with WordPress. These can be free in the WordPress.org Plugin
              Directory [https://wordpress.org/plugins/](https://wordpress.org/plugins/)
              or can be cost-based plugin from a third-party. for that so you don’t
              have to.
            * ![](https://secure.gravatar.com/avatar/1718b7c2f2afc31b4e94805b6f1f6ae2b802cc4c696f99b11fde2186006c82c9?
              s=32&d=mm&r=g)
            *  [Pascal Birchler](https://profiles.wordpress.org/swissspidy/)  3:57 
              pm _on_ September 30, 2015
            * I wrote a quick pluginPlugin A plugin is a piece of software containing
              a group of functions that can be added to a WordPress website. They can
              extend functionality or add new features to your WordPress websites. 
              WordPress plugins are written in the PHP programming language and integrate
              seamlessly with WordPress. These can be free in the WordPress.org Plugin
              Directory [https://wordpress.org/plugins/](https://wordpress.org/plugins/)
              or can be cost-based plugin from a third-party. now to demonstrate how
              to achieve this: [https://gist.github.com/swissspidy/4289519f048c30b5f77e](https://gist.github.com/swissspidy/4289519f048c30b5f77e)
            * It disables any endpoints, output and JSJS JavaScript, a web scripting
              language typically executed in the browser. Often used for advanced user
              interfaces and behaviors. enqueueing. Basically everything.
      * ![](https://secure.gravatar.com/avatar/f86dcf848f27897c90d1070eee59c0de58ec8f0df52c6f6fd39ca592de11106d?
        s=32&d=mm&r=g)
      *  [Arunas Liuiza](https://profiles.wordpress.org/ideag/)  2:04 pm _on_ September
        30, 2015
      * You can’t completely stop people from embeding your content anyway. If you 
        have OpenGraph tags, Content Cards pluginPlugin A plugin is a piece of software
        containing a group of functions that can be added to a WordPress website. They
        can extend functionality or add new features to your WordPress websites. WordPress
        plugins are written in the PHP programming language and integrate seamlessly
        with WordPress. These can be free in the WordPress.org Plugin Directory [https://wordpress.org/plugins/](https://wordpress.org/plugins/)
        or can be cost-based plugin from a third-party. will allow people to embed 
        your posts to their content. Or they can use Embedly. Or build their own solutions.
        All oEmbed APIAPI An API or Application Programming Interface is a software
        intermediary that allows programs to interact with each other and share data
        in limited, clearly defined ways. does, is provide another way make that work.
         - ![](https://secure.gravatar.com/avatar/250257111d1248c34046552bbcdf6999949ef56b2f992dd5eb39bf45cabeb18a?
           s=32&d=mm&r=g)
         -  [Samuel Wood (Otto)](https://profiles.wordpress.org/otto42/)  2:06 pm _on_
           September 30, 2015
         - No, but I absolutely can stop them from iframing my sites on their own, 
           if I so choose.
            * ![](https://secure.gravatar.com/avatar/f86dcf848f27897c90d1070eee59c0de58ec8f0df52c6f6fd39ca592de11106d?
              s=32&d=mm&r=g)
            *  [Arunas Liuiza](https://profiles.wordpress.org/ideag/)  2:08 pm _on_
              September 30, 2015
            * Hmm, do you have the same feeling about REST APIREST API The REST API
              is an acronym for the RESTful Application Program Interface (API) that
              uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front
              end of an application (think “phone app” or “website”) can communicate
              with the data store (think “database” or “file system”)
               [https://developer.wordpress.org/rest-api/](https://developer.wordpress.org/rest-api/)?
              Because the way I understand the merge proposal, that would also be on
              by default after a couple of releases?
               - ![](https://secure.gravatar.com/avatar/250257111d1248c34046552bbcdf6999949ef56b2f992dd5eb39bf45cabeb18a?
                 s=32&d=mm&r=g)
               -  [Samuel Wood (Otto)](https://profiles.wordpress.org/otto42/)  2:11
                 pm _on_ September 30, 2015
               - Different case. The REST APIREST API The REST API is an acronym for
                 the RESTful Application Program Interface (API) that uses HTTP requests
                 to GET, PUT, POST and DELETE data. It is how the front end of an application(
                 think “phone app” or “website”) can communicate with the data store(
                 think “database” or “file system”)
                  [https://developer.wordpress.org/rest-api/](https://developer.wordpress.org/rest-api/)
                 would be something I would be likely to use, via apps and other things
                 accessing it. It also would not be public, you would have to authenticated
                 to access it.
               - On the other hand. this is something I would not use, and most definitely
                 do not want. Therefore I want to be sure that there is a solid and
                 reliable and future proof way to make sure it’s turned off.
               - ![](https://secure.gravatar.com/avatar/f86dcf848f27897c90d1070eee59c0de58ec8f0df52c6f6fd39ca592de11106d?
                 s=32&d=mm&r=g)
               -  [Arunas Liuiza](https://profiles.wordpress.org/ideag/)  2:18 pm _on_
                 September 30, 2015
               - Ottp, You might feel that way, but other people might have very contrasting
                 view on that. If I don’t use the REST APIREST API The REST API is 
                 an acronym for the RESTful Application Program Interface (API) that
                 uses HTTP requests to GET, PUT, POST and DELETE data. It is how the
                 front end of an application (think “phone app” or “website”) can communicate
                 with the data store (think “database” or “file system”)
                  [https://developer.wordpress.org/rest-api/](https://developer.wordpress.org/rest-api/),
                 I might not want to load additional 4000+ lines of codeLines of Code
                 Lines of code. This is sometimes used as a poor metric for developer
                 productivity, but can also have other uses. and have another door 
                 to guard in my WordPress install.
               - On the other hand, as a writer I’d like to have an option to use a
                 nice embed instead of a naked link in my texts. Web is increasingly
                 visual these days, so embed options like that is something I’d want
                 to use.
               - Policy should be consistent on these things.
 43. ![](https://secure.gravatar.com/avatar/27180c82524020e7339e2b30818b6d8ab004c54f730f12b1434b1e365be0e175?
     s=32&d=mm&r=g)
 44.  [Ipstenu (Mika Epstein)](https://profiles.wordpress.org/ipstenu/)  1:39 pm _on_
     September 30, 2015
 45. Has this been stress tested on a local multisitemultisite Used to describe a WordPress
     installation with a network of multiple blogs, grouped by sites. This installation
     type has shared users tables, and creates separate database tables for each blog(
     wp_posts becomes wp_0_posts). See also **network**, **blog**, **site**? That is
     NOT .com but something else? Right now, the fastest way to crash a multisite remains
     including an RSS feedRSS Feed RSS is an acronym for Real Simple Syndication which
     is a type of web feed which allows users to access updates to online content in
     a standardized, computer-readable format. This is the feed. from site B in site
     A on your own networknetwork (versus site, blog). This, since it does some rendering,
     sounds like it could have similar ramifications.
 46.  * ![](https://secure.gravatar.com/avatar/1718b7c2f2afc31b4e94805b6f1f6ae2b802cc4c696f99b11fde2186006c82c9?
        s=32&d=mm&r=g)
      *  [Pascal Birchler](https://profiles.wordpress.org/swissspidy/)  4:28 pm _on_
        September 30, 2015
      * I haven’t experienced any unexpected problems with multisitemultisite Used 
        to describe a WordPress installation with a network of multiple blogs, grouped
        by sites. This installation type has shared users tables, and creates separate
        database tables for each blog (wp_posts becomes wp_0_posts). See also **network**,**
        blog**, **site** when embedding dozens of posts and loading the site hundreds
        of times.
      * The good thing is WordPress caches the embed code it receives from the endpoint,
        so any discovery for a specific URLURL A specific web address of a website 
        or web page on the Internet, such as a website’s URL www.wordpress.org only
        happens once.
      * After that, it’s nothing else than embedding a regular site in an iframeiframe
        iFrame is an acronym for an inline frame. An iFrame is used inside a webpage
        to load another HTML document and render it. This HTML document may also contain
        JavaScript and/or CSS which is loaded at the time when iframe tag is parsed
        by the user’s browser. many times. Of course if you do this thousands of times
        the load times will be higher.
      * A small difference is that we use postMessage to communicate with the iframes.
        Even here I didn’t encounter any problems as the JavaScriptJavaScript JavaScript
        or JS is an object-oriented computer programming language commonly used to 
        create interactive effects within web browsers. WordPress makes extensive use
        of JS for a better user experience. While PHP is executed on the server, JS
        executes within a user’s browser.
         [https://www.javascript.com](https://www.javascript.com/)
        is pretty lightweight.
         - ![](https://secure.gravatar.com/avatar/27e1ec1c5ddd320f2cca5aa10cdf696b132db9230fa77ed87df5ca3c3ba6cbd9?
           s=32&d=mm&r=g)
         -  [Scott Taylor](https://profiles.wordpress.org/wonderboymusic/)  6:57 pm
           _on_ September 30, 2015
         - has the idea of rendering posts from the local site without an iframeiframe
           iFrame is an acronym for an inline frame. An iFrame is used inside a webpage
           to load another HTML document and render it. This HTML document may also
           contain JavaScript and/or CSS which is loaded at the time when iframe tag
           is parsed by the user’s browser. been discussed? the iframe makes complete
           sense for external sites, but what about *your* site, could it just just
           be rendered by an embed handler as inline HTMLHTML HyperText Markup Language.
           The semantic scripting language primarily used for outputting content in
           web browsers. with no JSJS JavaScript, a web scripting language typically
           executed in the browser. Often used for advanced user interfaces and behaviors.,
           etc?
            * ![](https://secure.gravatar.com/avatar/27180c82524020e7339e2b30818b6d8ab004c54f730f12b1434b1e365be0e175?
              s=32&d=mm&r=g)
            *  [Ipstenu (Mika Epstein)](https://profiles.wordpress.org/ipstenu/)  7:
              16 pm _on_ September 30, 2015
            * Or maybe v1 is no embedding your own site? What’s the use case for that
              anyway? Besides my multisitemultisite Used to describe a WordPress installation
              with a network of multiple blogs, grouped by sites. This installation
              type has shared users tables, and creates separate database tables for
              each blog (wp_posts becomes wp_0_posts). See also **network**, **blog**,**
              site** example…
               - ![](https://secure.gravatar.com/avatar/27e1ec1c5ddd320f2cca5aa10cdf696b132db9230fa77ed87df5ca3c3ba6cbd9?
                 s=32&d=mm&r=g)
               -  [Scott Taylor](https://profiles.wordpress.org/wonderboymusic/)  7:
                 36 pm _on_ September 30, 2015
               - We use “Article Embed” in blogblog (versus network, site) posts at
                 the NYT. Like, preview cards or promo cards to other articles. I use
                 an embed handler to do it.
            * ![](https://secure.gravatar.com/avatar/9f47e9e579bdc5881f32eceb52ced263277f394078703bcb137161227180c3f8?
              s=32&d=mm&r=g)
            *  [Gary Br](https://profiles.wordpress.org/gary-br/)  4:57 pm _on_ October
              1, 2015
            * I pointed this earlier today in the comments, look at my comment 10:32
              am on September 30, 2015
 47. ![](https://secure.gravatar.com/avatar/27180c82524020e7339e2b30818b6d8ab004c54f730f12b1434b1e365be0e175?
     s=32&d=mm&r=g)
 48.  [Ipstenu (Mika Epstein)](https://profiles.wordpress.org/ipstenu/)  6:28 pm _on_
     September 30, 2015
 49. > After that, it’s nothing else than embedding a regular site in an iframeiframe
     > iFrame is an acronym for an inline frame. An iFrame is used inside a webpage
     > to load another HTML document and render it. This HTML document may also contain
     > JavaScript and/or CSS which is loaded at the time when iframe tag is parsed 
     > by the user’s browser. many times.
 50. Actually yes it is different 🙂 The included iFrame means you’re making _multiple_
     calls to load the content from the same server. Trust me, it matters. You’re asking
     WP to make multiple htaccess calls, as well as multiple loops back to the DB there.
     That’s why including RSS is a nightmare. Too many self-referential calls.
 51. ![](https://secure.gravatar.com/avatar/323cf209e19dd825678e9ccc51bc3f745f96571f1c68af26ae7955c1fa9ad1f2?
     s=32&d=mm&r=g)
 52.  [Aaron Jorbin](https://profiles.wordpress.org/jorbin/)  7:58 pm _on_ September
     30, 2015
 53. I noticed that there are currently PHPPHP The web scripting language in which 
     WordPress is primarily architected. WordPress requires PHP 7.4 or higher unit 
     tests, but no JavaScriptJavaScript JavaScript or JS is an object-oriented computer
     programming language commonly used to create interactive effects within web browsers.
     WordPress makes extensive use of JS for a better user experience. While PHP is
     executed on the server, JS executes within a user’s browser.
      [https://www.javascript.com](https://www.javascript.com/)
     unit tests. Have you explored making the limited JavaScript unit testable and 
     writing tests for it?
 54.  * ![](https://secure.gravatar.com/avatar/1718b7c2f2afc31b4e94805b6f1f6ae2b802cc4c696f99b11fde2186006c82c9?
        s=32&d=mm&r=g)
      *  [Pascal Birchler](https://profiles.wordpress.org/swissspidy/)  8:03 pm _on_
        September 30, 2015
      * You noticed correctly, those are indeed missing. I’ve been looking into this
        recently, and with a little bit of help from someone with more experience in
        writing JSJS JavaScript, a web scripting language typically executed in the
        browser. Often used for advanced user interfaces and behaviors. unit tests,
        we can get those in pretty quickly.
 55. ![](https://secure.gravatar.com/avatar/b5f16acb1bc24ca6bf644adb593384de64046fa69c5de867a7647c7f736a1271?
     s=32&d=mm&r=g)
 56.  [Alex Mills (Viper007Bond)](https://profiles.wordpress.org/viper007bond/)  10:
     19 pm _on_ September 30, 2015
 57. Nice work everyone. When this idea was first proposed, I was hesitant to think
     that it could be done securely and safely but I’ve read through the code and I
     really like how it works. Nice job!
 58. ![](https://secure.gravatar.com/avatar/e05110ddfc422ecfc3c68f61f2b08a404343ef8514fed12b460fc9c9aaa47d27?
     s=32&d=mm&r=g)
 59.  [Helen Hou-Sandi](https://profiles.wordpress.org/helen/)  12:15 am _on_ October
     1, 2015
 60. I would like to see a text fallback (e.g. a link) provided in the oEmbed response,
     much like the way Twitter includes a blockquote. I wouldn’t want to see more text
     from the site, but the title/site name would probably suffice.
 61.  * ![](https://secure.gravatar.com/avatar/1718b7c2f2afc31b4e94805b6f1f6ae2b802cc4c696f99b11fde2186006c82c9?
        s=32&d=mm&r=g)
      *  [Pascal Birchler](https://profiles.wordpress.org/swissspidy/)  10:18 am _on_
        October 1, 2015
      * Thanks for bringing this up yesterday. We will add such a fallback when people
        don’t want to use iframes. In this case we can use the `link` oEmbed response
        type which WordPress currently just transforms into a simple link. We can add
        the title + site name to that though.
 62. ![](https://secure.gravatar.com/avatar/b80aa84d72b27fc546bb30135a1a7e2c1307592d7e45d937a194ea1ca14fdf33?
     s=32&d=mm&r=g)
 63.  [Pancho Perez](https://profiles.wordpress.org/lonchbox/)  1:32 pm _on_ October
     1, 2015
 64. Could support post formats ? I mean have different layouts depending of the post
     format.
 65.  * ![](https://secure.gravatar.com/avatar/1718b7c2f2afc31b4e94805b6f1f6ae2b802cc4c696f99b11fde2186006c82c9?
        s=32&d=mm&r=g)
      *  [Pascal Birchler](https://profiles.wordpress.org/swissspidy/)  2:39 pm _on_
        October 1, 2015
      * Hey Pancho! Post formats aren’t supported out of the box as this is usually
        an area where themes implement things very differently. Thanks to various hooksHooks
        In WordPress theme and development, hooks are functions that can be applied
        to an action or a Filter in WordPress. Actions are functions performed when
        a certain event occurs in WordPress. Filters allow you to modify certain functions.
        Arguments used to hook both filters and actions look the same. and filters 
        adding post format support should be rather easy. though
 66. ![](https://secure.gravatar.com/avatar/e37877403959381493050f163cade646d072c84beec605da6dcace13cb05f7b0?
     s=32&d=mm&r=g)
 67.  [mrpritchett](https://profiles.wordpress.org/mrpritchett/)  1:36 pm _on_ October
     1, 2015
 68. Maybe late to the party, but I’d like to ask why this needs to be in CoreCore 
     Core is the set of software required to run WordPress. The Core Development Team
     builds WordPress.? Is this really something that will be used by 80%+ users? I
     know that is a rule of thumb not a hard and fast rule, but this seems like a great
     pluginPlugin A plugin is a piece of software containing a group of functions that
     can be added to a WordPress website. They can extend functionality or add new 
     features to your WordPress websites. WordPress plugins are written in the PHP 
     programming language and integrate seamlessly with WordPress. These can be free
     in the WordPress.org Plugin Directory [https://wordpress.org/plugins/](https://wordpress.org/plugins/)
     or can be cost-based plugin from a third-party., not a core feature. I think Pascal
     and team have done some very cool work with this, but I’d like to ask the question(
     as I do internally on all the features I see come across here, but perhaps need
     to ask more often out loud)? 🙂
 69.  * ![](https://secure.gravatar.com/avatar/e522019adbe7cb4145f9e01c344c036baaa8bf76cd5d76e6b737b60be9af88cc?
        s=32&d=mm&r=g)
      *  [Gary Pendergast](https://profiles.wordpress.org/pento/)  1:50 pm _on_ October
        1, 2015
      * Yes, I really think it will be, but it needs time to grow. To be most useful,
        the feature needs to be ubiquitous – it needs to get to the point that you 
        can paste a URLURL A specific web address of a website or web page on the Internet,
        such as a website’s URL www.wordpress.org for a WordPress site, and know that
        it will be embedded in your editor.
      * For comparison, WordPress.comWordPress.com An online implementation of WordPress
        code that lets you immediately access a new WordPress environment to publish
        your content. WordPress.com is a private company owned by Automattic that hosts
        the largest multisite in the world. This is arguably the best place to start
        blogging if you have never touched WordPress before. [https://wordpress.com/](https://wordpress.com/)
        sees an average of about 1.5 oEmbeds used per post – the concept of oEmbeds
        have clearly been absorbed by the vast majority of WordPress users, so we can
        assume that they’ll quickly come to see how oEmbed can work for any WordPress
        site.
         - ![](https://secure.gravatar.com/avatar/e37877403959381493050f163cade646d072c84beec605da6dcace13cb05f7b0?
           s=32&d=mm&r=g)
         -  [mrpritchett](https://profiles.wordpress.org/mrpritchett/)  2:14 pm _on_
           October 1, 2015
         - Gary,
            Great explanation. Thanks!
            * ![](https://secure.gravatar.com/avatar/68742ac31d0f215d5593e1ce48855edd15b8caf154a0dc6f0449ab85b9fb5d6d?
              s=32&d=mm&r=g)
            *  [thatgrrl](https://profiles.wordpress.org/thatgrrl/)  5:07 pm _on_ October
              6, 2015
            * My problem with embedded content from a link is having it disappear and
              leaving me with half a post, without notice. I have been taking screenshots
              instead of using embedded content.
            * Also, the content I would like to embed is plain text files. Not from
              a link. This may not be relevant here but I’d rather embed something 
              of my own content than something from a link which may change or be removed.
 70. ![](https://secure.gravatar.com/avatar/27180c82524020e7339e2b30818b6d8ab004c54f730f12b1434b1e365be0e175?
     s=32&d=mm&r=g)
 71.  [Ipstenu (Mika Epstein)](https://profiles.wordpress.org/ipstenu/)  4:29 pm _on_
     October 2, 2015
 72. Two things came up in a chat with this and a co-worker.
 73. 1) Speed – What happens if I’ve oembeded a slow site? Will this slow down my site?
     What will I see as a placeholder when slow-embed loads?
 74. 2) Changing extant content – If someone has a page with a link on it’s own line,
     it’s going to become an embed. This may not be what they wanted at all.
 75.  * ![](https://secure.gravatar.com/avatar/1718b7c2f2afc31b4e94805b6f1f6ae2b802cc4c696f99b11fde2186006c82c9?
        s=32&d=mm&r=g)
      *  [Pascal Birchler](https://profiles.wordpress.org/swissspidy/)  10:42 am _on_
        October 4, 2015
      * 1) With slow iframes you’ll still see your site load normally. The `onload`
        event is only triggered when all iframes are finished loading though (you can
        see that your browser is still loading something). That means there could be
        a delay with other JavaScriptJavaScript JavaScript or JS is an object-oriented
        computer programming language commonly used to create interactive effects within
        web browsers. WordPress makes extensive use of JS for a better user experience.
        While PHP is executed on the server, JS executes within a user’s browser.
         
        [https://www.javascript.com](https://www.javascript.com/) being executed. When
        an iframeiframe iFrame is an acronym for an inline frame. An iFrame is used
        inside a webpage to load another HTML document and render it. This HTML document
        may also contain JavaScript and/or CSS which is loaded at the time when iframe
        tag is parsed by the user’s browser. is loading you just see empty space with
        the size of the iframe.
      * 2) With the way we’ve implemented it now this is not going to happen. Links
        to non-whitelisted sites not using iframes or not supporting oEmbed won’t turn
        into links. The behaviour doesn’t change.
 76. ![](https://secure.gravatar.com/avatar/293e4cf279b06b58ca645e468006da2740d924e9548b666631452212f4fff0dd?
     s=32&d=mm&r=g)
 77.  [John Sundberg](https://profiles.wordpress.org/bhwebworks/)  3:58 pm _on_ October
     28, 2015
 78. I have to agree with Otto, thatgrrl, and others in this thread. While an interesting
     and cool feature, this should be something I can opt in to rather than have to
     opt out of. I can see where a blogger might be interested in using this, but what
     about all the WordPress sites that are not blogs, hosted on servers that don’t
     want or need the potential extra load? Now there’s one more coreCore Core is the
     set of software required to run WordPress. The Core Development Team builds WordPress.
     feature to disable on multiple client sites, existing and future.
 79.  * ![](https://secure.gravatar.com/avatar/c9d09fb7348ef66c78a3bb257f71edb0204128c88a3a0a4992a0cd9ce6545db0?
        s=32&d=mm&r=g)
      *  [CodeFish](https://profiles.wordpress.org/codewahoo/)  4:57 am _on_ November
        19, 2015
      * +1 for opt in rather opt out, although the feature is really useful for bloggers
 80. ![](https://secure.gravatar.com/avatar/ab4730e0b4ba97bf98dae33c6a301597d1bc58a884aa669ced5a86dc5b5ff327?
     s=32&d=mm&r=g)
 81.  [someusername](https://profiles.wordpress.org/someusername/)  4:45 am _on_ December
     11, 2015
 82. It should lazy loud the WP posts by default, and as others have said, opting into
     this feature is better than opting out I think.
 83. As I’ve posted out: [https://redd.it/3wbvm2](https://redd.it/3wbvm2) WordPress.
     comWordPress.com An online implementation of WordPress code that lets you immediately
     access a new WordPress environment to publish your content. WordPress.com is a
     private company owned by Automattic that hosts the largest multisite in the world.
     This is arguably the best place to start blogging if you have never touched WordPress
     before. [https://wordpress.com/](https://wordpress.com/) won’t seem to embed our
     self hosted blogblog (versus network, site) posts, and not all content from the
     post shows up anyways. Shouldn’t we be able to easily customize what shows up 
     inside of the post.
 84. Another reason to have a caching pluginPlugin A plugin is a piece of software 
     containing a group of functions that can be added to a WordPress website. They
     can extend functionality or add new features to your WordPress websites. WordPress
     plugins are written in the PHP programming language and integrate seamlessly with
     WordPress. These can be free in the WordPress.org Plugin Directory [https://wordpress.org/plugins/](https://wordpress.org/plugins/)
     or can be cost-based plugin from a third-party. installed.

Comments are closed.

# Post navigation

[← Week in Core: Sept. 21-27, 2015](https://make.wordpress.org/core/2015/09/29/week-in-core-sept-21-27-2015/)

[Responsive Images: Merge Proposal →](https://make.wordpress.org/core/2015/09/30/responsive-images-merge-proposal/)