To embed Instagram posts, first decide whether you need one selected public post or a feed that updates over time. For one eligible post, use the embed code Instagram currently generates and place the complete code in a WordPress Custom HTML block. For a maintained feed, use a supported tool that authenticates through the current Meta connection and can handle renewal, errors, and content changes.
Do not build a new workflow around the old WordPress Instagram block. WordPress removed that core block after Instagram changed oEmbed access. Also remember that technical availability is not permission to download, edit, or republish someone else’s media. Check rights, privacy, performance, and what visitors see when the source disappears.
Important: This guide explains a publishing workflow, not legal advice. Rights, privacy, cookie, disclosure, and accessibility duties depend on your content, implementation, audience, and jurisdiction. Ask qualified counsel about consequential use.
A single embed and a feed solve different problems. A single embed presents a specific eligible post at a chosen point in an article or page. It changes only when the source post or Instagram’s delivery changes. A feed is a maintained collection that discovers and displays multiple items according to account, hashtag, or another supported rule.
| Need | Better starting route | Ongoing responsibility |
|---|---|---|
| Show one public post in context | Instagram’s generated embed code in Custom HTML | Check the public result and replace it if the source becomes unavailable |
| Display an updating account gallery | Maintained feed tool with current Meta authentication | Renew access, monitor errors, review updates, and keep a fallback |
| Keep an exact visual permanently | Use media you own or have licensed, stored and presented under those terms | Maintain the asset, attribution, accessibility, and licence record |
Choose based on the editorial job, not on which method looks quickest in the editor. If a post supports one paragraph, a single embed is usually easier to govern. If the page promises a live gallery, plan for authentication, moderation, failure states, and maintenance from the start.
Write a one-sentence requirement before selecting the method. “Show this public post beside our analysis” is a single-embed requirement. “Keep the latest six posts from our account on the home page” is a feed requirement. “Preserve this customer photo for a case study” is an owned-or-licensed asset requirement. That sentence prevents a convenient demo from becoming the wrong production architecture.
Also decide whether the page remains useful without third-party content. Visitors may block scripts, decline consent, use assistive technology, or arrive while the source is unavailable. Put the essential explanation in your own HTML, then use the Instagram content as supporting material. If the embed is the only evidence for a claim, keep the source URL and a review date in the editorial record.
Keep performance in the requirement too. An external embed can add network requests, scripts, layout movement, and consent complexity. Multiple individual embeds are not automatically a lightweight substitute for a feed. Test the real page with the intended number of items and remove decorative embeds that add more delay than editorial value.

Instagram’s website embed help describes embedding for eligible public content. The publisher’s website-embed setting also matters, so the Embed action may not appear for every post. Private content is not a candidate for the public-post route. Do not try to bypass an unavailable embed by copying media or reconstructing the post.
Next, ask whether the use is appropriate. An embed points to platform-hosted content, but that does not automatically grant a licence to download the image or video, crop it, remove attribution, turn it into an advertisement, or publish a permanent copy. The U.S. Copyright Office has documented continuing policy questions around embedded visual works. Treat the technical method and the rights analysis as separate decisions.
Use a simple rights record: source URL, account, content owner if known, purpose, permission or other basis relied on, date checked, and reviewer. Recheck before a major campaign or paid placement. If the subject is a customer, employee, child, event attendee, or person in a sensitive context, escalate consent and privacy questions rather than assuming a public account settles them.
An embed can also cause the visitor’s browser to communicate with a third-party service and may expose identifiers or request storage, depending on the implementation and platform behavior. Review the current Instagram privacy policy, your consent setup, and the rules that apply to your visitors. If the embed is blocked until consent, provide a useful placeholder or direct link instead of leaving a blank gap.
Open the intended public post on Instagram and look for its current Embed action. If it is available, copy the complete code Instagram provides. Do not copy code from an old tutorial or hand-write a script URL. Generated code can change, and a partial snippet may omit the markup or loader the current embed expects.
Before continuing, record the source URL and confirm that this is the exact post, account, and caption you intend to show. Check for claims, disclosures, language, personal data, and comments that might change the surrounding article’s meaning.
In the WordPress block editor, add a Custom HTML block where the post belongs and paste the complete generated code. The WordPress Custom HTML documentation explains that the block accepts HTML rather than converting it into paragraphs. Keep the embed as its own block so editors can find and remove it without disturbing nearby copy.
WordPress may sanitize tags such as scripts or iframes for a user who does not have the required capability. If saved code disappears or changes, do not work around the site’s security policy. Ask an administrator to review the implementation and choose a permitted method.
Save the page, then inspect the public URL while logged out. Test a narrow mobile viewport and a desktop viewport. Confirm that the post loads, does not overflow the article column, has sensible space around it, and leaves the surrounding text readable if it fails. Preview mode alone is not enough because scripts, consent controls, caching, and security rules can behave differently on the public page.
Add nearby prose that communicates the point without requiring the reader to see the embed. Do not repeat a long caption as image alt text. If the post carries essential information, summarize that information in accessible page text and provide a source link.
Older guides tell self-hosted WordPress users to paste an Instagram URL into an Instagram block and let oEmbed transform it. That is no longer a current core workflow. The current WordPress blocks list says the Instagram block was removed in WordPress 5.6 after Facebook changed its oEmbed API.
A site may still show an Instagram-named block supplied by a plugin, theme, or hosting layer. That is separate software, not the removed core block. Check who maintains it, what connection it needs, where credentials are stored, and what happens when authorization expires. Do not assume a block with a familiar label uses the current supported route.
This distinction also explains why a copied post URL may remain plain text or become a simple link. The content is not necessarily broken. The old automatic transformation is simply unavailable through WordPress core.
A feed is an integration, not a collection of static embeds. Start with the current Meta Instagram Platform documentation and a maintained feed tool that supports the account type and content you actually need. The tool should use the current authentication flow, document required permissions, and publish updates when the platform changes.
Write down the source account, eligible media, sort order, item limit, moderation rule, refresh expectation, and destination pages. Decide whether captions, links, video, and comments are required or optional. A narrow contract makes it easier to choose a tool and notice when its output changes.
Check update history, supported authentication, access scope, credential ownership, privacy behavior, accessibility, caching, error messages, support, and export or removal options. Prefer a connection owned by the business rather than by a departing contractor. Record who can reconnect it and where expiry or error notices arrive.
Assume that authorization can expire, an account can become private, content can be deleted, or an API can change. A failed feed should not leave a giant blank area or block the rest of the page. Use a clear fallback message, a direct profile link when appropriate, or owned evergreen content that remains useful.

Test the page logged out, after the site’s consent choice, and at common mobile and desktop widths. Check keyboard navigation, visible focus, layout stability, loading time, and the experience when third-party requests are blocked. Compare the intended source with the displayed account and media.
Assign a quarterly check for evergreen pages and a faster check for campaign pages. Record the page owner, embedded source, feed tool, connection owner, last successful test, and fallback. If the page also explains profile branding, use our Instagram profile picture guide for the separate crop, contrast, and consistency decisions.
When troubleshooting, change one layer at a time. First confirm source eligibility in a clean browser. Then confirm the saved WordPress block, consent behavior, security policy, caching, and theme layout. For a feed, check the tool’s connection and logs before changing the page design. This order helps distinguish a removed source from expired access or a front-end conflict.
Use current generated embed code for one eligible public post and a maintained, authenticated integration for an updating feed. Check rights and privacy before launch, test the real public page, and give every embed an owner and a failure plan.
Are you adding one selected post or maintaining a feed? Let us know in the comments section below!

Despite its advancing age, Facebook is still a giant in the social media world. For online marketers, it’s particularly notable thanks to its robust advertising system. However, Facebook now offers so many options through the Facebook Ads Manager ...
Platforms like Facebook, Instagram, and Twitter have become ubiquitous in western culture, but there are always new platforms trying to rise to the surface. In this article, we’re going to examine some of the social media platforms that hope to ...
Learn how to regram images legally by comparing native reposts, Story shares, and licensed UGC, with a practical permission and rights-record ...
Search Engine Optimization (SEO) isn’t just important on websites. It’s also crucial when it comes to your social media content. Social media profiles often rank above actual websites on search engines, so you want to make sure your profiles are ...
Here at Revive.Social, we believe in the power of data. We know automation works, and we know our Revive Old Post plugin is an effective way to automate your social media presence and boost high-quality content on your WordPress site. However, ...