oembeds are a way for WordPress to integrate content from external websites into your website. By pasting a link to certain networks, the WordPress editor will attempt to automatically fetch that content.
And they're garbage and should never be used.
Why?
Jump to:
Business goals
Your business objective is to get users from the social networks to your site, not the other way around.
Social networks are not your friend
Social networks (Facebook, Instagram, etc) have a single goal: to increase time on their site so that they can show ads.
This means that they will change their practices and policies to encourage people to spend time on their sites, not yours.
Link rot
Content hosted outside of your own site is susceptible to URL changes and content being removed. This is known as link rot and has plagued the internet since day 1.
Anything that you want to display on your website should be self hosted. This means duplicating content if necessary.
All your own content should be hosted on your own website and you link to that content from external sites, not the other way around.
SEO
While Google has improved their ability to render javascript, it's unknown whether the content embedded
Additionally, because this content is a duplicate of content found elsewhere, it doesn't contribute to unique content on the page.
As noted in "link rot" above, if the content were to disappear or change, the visitor now has a poor user experience because content the website owner expected to be there is no longer there, which could result in the actual-on-page content not having the context it needs.
It also has an impact on page loading time (javascript) and causes content layout shift.
Javascript
The WordPress implementation of oembed uses javascript to fetch content from external sites and render it on yours.
This causes increased page rendering time, and leaves you with little to no control over what the reader sees - the reader will see whatever the external site chooses to display.
Content layout shift issues
Without knowing what size and format the external site will return, the browser has no way of knowing what size container to render. This results in the browser re-flowing the page when the content comes back, resulting in CLS (content layout shift).
CLS will become a user experience factor in a future search engine update and should be avoided as much as possible.
Poorly designed
Like many features developed by technically-brilliant but business-ignorant developers, this feature addresses at best 20% of what it should. It lacks:
- simple way to style the returned content
- pagespeed considerations
- CLS considerations
- SEO considerations
- probably (untested): accessibility
- long term maintenance (eg. Facebook breaking oembed on 2020/10/24)
Leave a Reply