Displaying Facebook and Instagram posts on a WordPress website is common for most bloggers. Unfortunately, if you need to do the same with your WordPress installation, you might get some errors. But we are here to help! This article will teach you how to correctly fix Facebook and Instagram oEmbed issues.
Table of contents
- What Are oEmbed Issues and How Do They Work in WordPress?
- Why Did Facebook and Instagram oEmbed Stop Working?
- How to Fix Facebook and Instagram oEmbed Issue
- How to Clear oEmbed Cache In WordPress?
- Frequently Asked Questions
- Troubleshooting Facebook and Instagram oEmbed Issues
- Best Practices to Keep Facebook and Instagram oEmbeds Working Smoothly
- Conclusion
What Are oEmbed Issues and How Do They Work in WordPress?
Let’s assume you need to embed a video, a Facebook post, or an Instagram gallery. Then you might need to rely on HTML for the structure, PHP to add more functionality to the section, and CSS to design the area. However, if you are not a web developer and do not know how to embed content into the WordPress installation using code, oEmbed is a perfect alternative.
WordPress uses this function to import content from a third-party website via its URL. In that case, there is no need to write a single line of code for displaying a photo or video from any social media website. For example, let’s take a Twitter embed.
Inside the Gutenberg editor, you will see the Embed block. You can use that to insert a URL and embed a post inside the editor.

This way, you can display content from third-party websites inside your WordPress installation. Likewise, you can fetch content from these sites and display it on your WordPress installation.
- YouTube
- Giphy
- TikTok
- WordPress plugins repository
- SoundCloud
and so on.
Now, you know about oEmbeds. Next, let’s see why oEmbed for Facebook and Instagram stopped working.
Why Did Facebook and Instagram oEmbed Stop Working?
Facebook shut down its old oEmbed endpoints a few months ago. In their Facebook for developers article, they stated this:
By October 24, 2020, developers must leverage a user, app, or client token when querying Graph API for user profile pictures via UID, FB OEmbeds and IG OEmbeds. Developers should provide a user or app token when querying for profile pictures via a UID or ASID, though client tokens are supported as well. Please visit our changelog for User Picture, Facebook OEmbed and Instagram OEmbed for details on how to start calling these Graph API endpoints today.
These days, if you need to display oEmbeds from Facebook or Instagram on your WordPress website, you need to perform multiple tasks. First, you have to use a Facebook developer account. Then register a Facebook app and generate an app ID.
Once you have done that, enable the oEmbed inside the app. After that, register the client token and app token. Finally, mark the Facebook app as live. If you have completed these tasks, you can still display embeds in Gutenberg or the Classic Editor.
As you might have thought, this is not beginner-friendly, and it will take some time to complete. The best way to fix the issue is to use a plugin. And we have the best tools to help you.
How to Fix Facebook and Instagram oEmbed Issue
The best way to fix the Facebook and Instagram oEmbed issue is by using a plugin. Here, we have four different plugins that you can use to fix the problems:
- oEmbed Plus
- Smash Balloon Facebook
- Smash Balloon Instagram
- Jetpack
Below, we will cover each method using all of these four plugins separately. So, you can choose your preferred option from there.
1. oEmbed Plus
If you are looking for a simple solution to fix Facebook and Instagram issues, we have the oEmbed Plus plugin. It is a free plugin that is available on the official WordPress plugins repository.
The first thing you have to do is install and activate the plugin on your WordPress installation. Just go to Plugins > Add New in your WordPress dashboard, then search for the plugin. Then click Install Now to install the plugin, and activate it after installation is complete.

The plugin comes with very minimal settings. So, you don’t need to make any further changes after activating the plugin. The tool will automatically turn your usual Facebook and Instagram links into embeds in no time.
Since most of the work is done by the plugin itself, it saves you a lot of time. This is the perfect solution for you if you want to get the oEmbed issue fixed promptly.
2. Smash Balloon Facebook
There are a number of dedicated plugins if you want to fix just the Facebook oEmbed issue. One of such plugins is Smash Balloon Social Post Feed (formerly known as Smash Balloon Facebook). It allows you to integrate your website with Facebook and helps solve various issues related to it.
But to start using it, you need to install and activate the plugin first.

After the plugin is activated, go to Facebook Feed > Settings in your WordPress dashboard. Under sources, you can add your own Facebook page or group.

If you have generated an API key manually, you can use it to add an account to the website. Or else, you can connect to Facebook directly by signing in through Smash Balloon.

After connecting the page/group, go to Facebook Feed > oEmbeds and enable it.

This way, you can fix Facebook oEmbed issues with the Smash Balloon plugin.
3. Smash Balloon Instagram
Similar to the Facebook oEmbed issues, you can also use a specific plugin to resolve these issues on Instagram. If so, the Smash Balloon Social Photo Feed plugin can be the perfect tool for you.

It is another WordPress plugin created by the same developer, but for Instagram users. The plugin is free to use and comes with a simple setup. So let’s look at how to use the Smash Balloon Instagram plugin to fix Instagram API issues.
The first thing you need to do is, install and activate Smash Balloon on your WordPress installation.

Once you have activated the plugin, you can see the plugin’s settings on the left-hand side of the WordPress admin panel.

If you check the settings, you will not have a feed by default. So what you need to do is create a new one.

Next, you have to choose a feed type.
As of now, the free version of the plugin only supports the user timeline as the feed type. On the other hand, if you use the premium version of the Smash Balloon Instagram feed plugin on your WordPress installation, you will get additional feed types like a public hashtag, tagged posts, and a social wall. So here, we will be picking the User Timeline.

The plugin will ask you to connect a source on the next page.

Now, the plugin will redirect you to the official website. From there, you can connect your Instagram account. You can choose your account type (personal/business) and establish a connection. On the other hand, you can enter it if you have already generated an API key.

After connecting your Instagram account, go to the oEmbeds section in the plugin settings. You will see an option to enable oEmbeds serving through Instagram Feed by Smash Balloon.

You can directly paste the Instagram links inside your blog posts, and the Smash Balloon plugin will take care of the embed.
That’s it. This way, you can fix your Instagram API issue. Then you can leave the settings as they are and maintain an uninterrupted Instagram-WordPress connection.
4. Jetpack
If you have been working with WordPress for a while, you probably know Jetpack. Jetpack is an excellent tool to enhance your WordPress website’s features. We even covered a review of the tool, including its main features, pricing, and so on.
In addition, Jetpack includes a plug-and-play oEmbed feature. Here, we will show you how to install and activate Jetpack.
Once you have logged in to your WordPress installation, go to the Add New Plugins section. There, search for Jetpack, install, and activate.

Once you have activated the plugin, you need to complete the authentication. Then, by connecting your WordPress.com account to the plugin, you can start using it and enable or disable features.
From now on, Jetpack will handle oEmbed. So you can use this on both Gutenberg and Classic Editor.
This way, you can use Jetpack to manage your oEmbed.
How to Clear oEmbed Cache In WordPress?
When you embed a YouTube video, Twitter tweet, or similar content, your web server generates a cached copy of the content and stores it locally. This will help your website visitors see the content almost instantly after the page loads, and help you with optimized speed and performance.
But storing too many oEmbeds in the web server is not suitable for the website. Another thing to keep in mind is that when the YouTube video or Tweet is updated, the existing cached data won’t be up to date. We need to clear the oEmbed cache in WordPress to fix this issue.
As of right now, there are no caching plugins available to clear the oEmbed cache. So, we have to use the web server’s control panel to do the task. Here is a summary of how to clear the cache.
The very first thing you need to do is open the cPanel. For example, when you use a Linux-based web hosting provider, such as shared hosting, you will see a cPanel similar to this—open PHPMyAdmin.

On the other hand, if you are a customer of a premium managed WordPress hosting provider like Kinsta or WP Engine, you will see the PHPMyAdmin button right in your account dashboard.

In the PHPMyAdmin section, go to postmeta.

After that, open the search feature there. You should set the meta_key as LIKE %…% from the dropdown. And in the Value field, set the value as _oembed. After that, click the Go button.

You will see all the oEmbed cache stored in your database on the next screen. You can select all of them and delete them from the entire database.

That’s it. This way, you can fetch the most updated content from the sources.
If you need a dedicated article, feel free to check this one.
Frequently Asked Questions
Now, let’s take a look at some of the frequently asked questions and answers regarding this topic.
Embeds often fail because Meta changed how oEmbed access works, requiring authentication instead of allowing anonymous requests. If your site still relies on the old oEmbed endpoints or outdated plugins, the embed request returns an error instead of the expected preview. Sometimes the issue appears after a WordPress update, theme update, or when caching plugins serve an outdated embed response.
You only need a developer account if you plan to manually generate and maintain access tokens through the Facebook Graph API. Most site owners don’t want the hassle, which is why plugins that offer automatic authentication have become the preferred solution. With the right plugin, authentication is handled behind the scenes, so you don’t need to register an app.
No, private or restricted Instagram content cannot be displayed through oEmbed or manual embed codes. WordPress can only render public posts that are not locked behind age, region, or account-level restrictions. If the original user later changes their privacy settings, your embed will break, even if it previously worked.
This usually happens when WordPress fails to fetch the metadata needed to build the preview block. It may be caused by missing authentication, expired tokens, disabled oEmbed providers, or interference from caching or security plugins. In some cases, the embed works in the editor but not on the live site because the front-end cache is blocking API requests.
Manual embed codes provided by Facebook or Instagram generally work more reliably because they don’t depend on oEmbed endpoints. That said, they still rely on the social platform’s embed script, so the content could break if Meta removes or changes it. It’s a good fallback option, not a guaranteed long-term fix.
This happens when your theme or performance plugins modify or strip script tags needed to render the embed. Some optimization settings delay or block third-party scripts, causing the embed to appear only as a URL or a blank space. Clearing the page cache and excluding Facebook/Instagram embed scripts from optimization usually resolves the issue.
Yes, aggressive page caching and script optimization can break oEmbed previews or block scripts required to display embeds. If your embeds fail or appear inconsistently, you may need to purge cache, disable minification for Meta scripts, or whitelist the embed endpoints used by your plugin.
Troubleshooting Facebook and Instagram oEmbed Issues
If embeds still fail after applying the recommended fixes, these troubleshooting steps will help you identify the cause and restore proper embedding.
- Check if the original Facebook or Instagram post is public; private or restricted posts cannot be embedded
- Clear your WordPress cache and CDN cache because old oEmbed responses may still load
- Disable security plugins temporarily to verify if a firewall rule or script blocker is interfering
- Switch to a default theme like Twenty Twenty-Four to confirm the issue isn’t coming from theme-level script conflicts
- Try embedding the same URL on a clean WordPress installation to confirm if the problem is specific to your site
- Test embeds on a different browser or device to rule out local caching or extension conflicts
- Inspect the browser console for blocked scripts or mixed-content warnings related to HTTP/HTTPS
- Ensure your hosting server allows external HTTP requests needed for oEmbed API calls
- Reconnect or reauthenticate the plugin you’re using, because expired tokens often cause silent embed failures
Best Practices to Keep Facebook and Instagram oEmbeds Working Smoothly
Follow these best practices to reduce future embedding issues and maintain stable oEmbed functionality.
- Use a Reliable Facebook Developer App: Always keep your app active, verified, and properly configured to avoid unexpected API interruptions
- Renew Access Tokens Before They Expire: Tokens often expire without warning, and refreshing them proactively helps prevent sudden embed failures
- Limit the Number of API Calls: Avoid running heavy scripts or frequent embed requests to stay within Meta’s rate limits
- Avoid Outdated oEmbed WordPress Plugins: Remove old or deprecated embedding plugins that may conflict with your current setup
- Keep Your WordPress Core Updated: New WordPress releases often include oEmbed handling improvements
- Use a Trusted oEmbed Provider Plugin: Pick plugins that are regularly maintained and include built-in token validation
- Monitor API Error Logs: Checking logs helps you quickly identify permission, token, or configuration errors
- Test Embeds After Theme or Plugin Changes: Any update can affect oEmbed behavior, so verify embeds on staging or test pages
- Enable Server-Level HTTPS: Since Meta requires secure requests, ensure both your site and server are fully HTTPS-compliant
Conclusion
So this is how you can fix Facebook and Instagram oEmbed issue. As you can see above, there are mainly four methods available. They are:
- oEmbed Plus
- Smash Balloon Facebook
- Smash Balloon Instagram
- Jetpack
When you need a simple solution to fix both Facebook and Instagram issues, you should use the oEmbed plus WordPress plugin. It comes with no additional configurations, and you can solve the problem right away after activating the plugin.
Next, you can use the Smash Balloon Facebook and Instagram plugins to fix the Facebook and Instagram issues separately.
On the other hand, if you are already using JetPack to protect your website from spam or attacks, you do not need to use additional plugins. Jetpack has your back, and you can enable or disable features based on your interests.
You can check out our blog archive for more relevant articles. Meanwhile, here are some of our articles that you might find interesting:
