FeaturesPricingBlogResourcesAboutContact
Sign inGet Started Free

How to Embed a Facebook Feed on Your Website: Add Your Facebook Page (2026)

I wanted to know whether Facebook's free native Page Plugin is actually good enough to embed a Facebook feed on your website in 2026. So instead of taking anyone's word for it, I installed it on a blank page, inspected what it loads, measured it in DevTools, and ran it against a CollectSocials feed on the identical setup. What I found surprised me — the "free" plugin is broken in ways nobody mentions.

Short answer: a Facebook feed widget is a tool that embeds your public Facebook Page posts — text, photos, and videos — directly on your website and keeps them updated automatically. You can do it two ways. Method 1 is Facebook's free, native Page Plugin: paste your Page URL into Meta's configurator, copy the generated HTML, and embed it. Method 2 is a third-party widget like CollectSocials, which connects your Page and gives you a full-width, branded, responsive feed with one snippet. Method 1 is fastest to reach for; Method 2 is the one that actually performs. Below I test both.

Quick summary of what I measured in June 2026, in an incognito window with no extensions: on an identical blank page, the native Page Plugin made 31 network requests, pulled 1.2 MB of data, dropped six Facebook tracking cookies before anyone clicked anything, and couldn't even be scored by Lighthouse. The CollectSocials feed, on the same setup: 6 requests, 234 kB, zero Facebook cookies, Lighthouse 83. The full teardown is below.

Facebook Page PluginFacebook Page Plugin rendered as a narrow boxed widget capped at 500px with a See more on Facebook button
CollectSocialsCollectSocials full-width branded Facebook feed in a dark carousel layout with a live feed indicator
The same Facebook Page, two ways: the native Page Plugin renders a narrow box capped at 500px that funnels visitors back to Facebook (left); CollectSocials renders a full-width, on-brand feed (right). Both tested June 2026.

How to Embed a Facebook Feed on Your Website

The fastest reliable way to add your Facebook Page to your website, in six steps:

  1. Go to CollectSocials and create a new feed from the dashboard.
  2. Click "Add Source" and select Facebook from the platform list.
  3. Connect your Facebook account through Meta's OAuth flow and pick the Page you want to display.
  4. Moderate your posts on the Collect page — pin, hide, edit, or filter before anything goes live.
  5. Open the Design Studio, pick a layout, and style it with a ready-made template or your own custom theme.
  6. Click "Get Code," paste the embed snippet into your site's HTML, and test on mobile.

That's the short version, and unlike the native plugin it took me one snippet and worked on the first try. The full walkthrough with screenshots is further down — but first, the teardown that explains why I stopped using the Page Plugin.

Why a Facebook Feed Still Matters in 2026

Facebook is still where a huge share of businesses post updates, run promotions, and answer customers. An embedded Facebook feed pulls that activity onto your site, so visitors see you're active right now — not last quarter. It works for social proof (real posts with real likes and comments), local presence, and keeping pages fresh without writing new web copy. Pair it with reviews or other networks and it becomes a unified feed that builds trust from one widget.

What this shows

The animation shows posts from your Facebook Page crossing over to an embedded widget on your website. Photos, status updates, videos, and links sync automatically — so a new Facebook post appears on your site without you copying anything across by hand.

Ready to aggregate your social content?Start your free 7-day trial — no credit card required.
Start Free Trial

I Tested Facebook's Native Page Plugin — Here's What It Actually Does in 2026

I ran this entire test in June 2026. I installed the Page Plugin on a blank HTML page, inspected what it loads in DevTools, measured the network weight and cookies, ran Lighthouse, and then put a CollectSocials Facebook feed through the exact same setup. Here's everything I found, step by step.

Getting the Code Was the First Problem

I went to Facebook's Page Plugin configurator on the Meta developer site and started entering Page URLs. When I entered a personal profile URL, the Get Code button just wobbled and did nothing — no error, no explanation. When I entered a verified Meta Business Suite page that had app-level permission restrictions, same silent failure. When I typed a Page URL without the https:// prefix (just facebook.com/...), it threw "The href entered is not recognized as a valid URL" — even though the live preview rendered the Page correctly right below the error. And once I finally had a valid full URL in place and clicked Get Code, a modal opened with a spinner that spun indefinitely and never delivered any code at all. The native tool's code generation was simply broken during my testing.

URL without https:// → errorFacebook Page Plugin configurator showing the error The href entered is not recognized as a valid URL while the preview still renders the page
Get Code → infinite spinnerFacebook Page Plugin Get Code modal showing a spinner that never returns any embed code
Facebook's own configurator failed repeatedly: it rejects URLs without the https:// prefix even while previewing them, and the Get Code modal spun forever without returning a snippet (June 2026).

I Had to Build the Embed Manually

Since the configurator wouldn't hand over code, I wrote the standard SDK loader and fb-page div myself and pointed it at a public Page. Loading it from a local file:// did nothing — Facebook's SDK refuses to run from file:// for security reasons — so I served it over a local server at localhost:8080. This is the exact HTML the Page Plugin needs — the SDK loader plus the fb-page div — if you want to embed a Facebook feed in raw HTML yourself:

<!-- 1. Load the Facebook JavaScript SDK once, near <body> top -->
<div id="fb-root"></div>
<script async defer crossorigin="anonymous"
  src="https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v23.0">
</script>

<!-- 2. Drop this where you want the feed to appear -->
<div class="fb-page"
  data-href="https://www.facebook.com/YourPage"
  data-tabs="timeline"
  data-width="500"
  data-height="700"
  data-small-header="false"
  data-hide-cover="false"
  data-show-facepile="true">
</div>

Note the data-width="500" — that's the hard maximum. Once live, the plugin rendered as a narrow scrollable box: it loaded only five posts, captions were truncated with "…", clicking a post just bounced me out to Facebook, videos couldn't play inline, and the whole thing ended with a "See more on Facebook" button. Its entire job is to pull visitors off your site and back to Facebook.

One point in the plugin's favor, to be fair: the Page Plugin can embed any public Facebook Page, whereas CollectSocials requires you to own or admin the Page you're embedding. That's a Meta API restriction, not a CollectSocials limitation — and for a business embedding its own Page it doesn't matter — but it's a real difference and worth noting.

The Width Trap: 180px Minimum, 500px Maximum

Meta's own docs state the plugin's width is locked between a minimum of 180px and a maximum of 500px, defaulting to 340px. I confirmed it. I set data-width to 500, dropped the widget into a full-width section, and maximized the browser to 1179px wide. The plugin sat as a narrow box on the left with roughly 680px of dead grey space to the right (1179 − 500 = 679). There is no setting to make it fill a wide container — it simply refuses to grow past 500px.

Facebook Page Plugin capped at 500px inside a 1179px-wide page, leaving roughly 680px of empty grey space to the right
data-width set to 500 on a 1179px-wide page. The plugin caps out and leaves ~680px of dead space (1179 − 500). There is no option to make it fill the container. (June 2026)

The Resize Failure

Meta's docs also admit the plugin "will determine its width on page load" and "will not react to changes to the box model after page load." I tested this in responsive mode. At 1179px wide it stayed frozen at its initial narrow render and never expanded. At 184px it squished down to its 180px minimum. At 83px it broke entirely — text stacked vertically and the whole widget became unusable. This is exactly why people report the plugin looking broken on mobile or after an orientation change: it measures once and never adjusts.

1179px — frozen narrowFacebook Page Plugin frozen at its initial narrow width inside a 1179px viewport, shown in incognito
184px — squished to minFacebook Page Plugin squished to its 180px minimum at a 184px viewport
83px — brokenFacebook Page Plugin completely broken at 83px with text stacked vertically
The plugin measures its width once on load and never re-flows. Frozen narrow at 1179px, squished at 184px, unusable at 83px. (June 2026)

The Cookies — This Is the One That Matters Most

I opened DevTools → Application → Cookies. The localhost domain only had my own Google Analytics cookies (_ga and two _ga_ variants), which are mine, not Facebook's. But under the .facebook.com domain — loaded purely by the plugin, with zero interaction from me — I found six Facebook cookies:

  • datr — browser identification, expires 2027
  • fr — Facebook's primary advertising cookie, expires 2026
  • ps_l and ps_n — login/session state detection
  • sb — browser security, expires 2027
  • wd — which literally recorded my screen dimensions (1470×835) and sends them back to Facebook

All six were set on page load, before any visitor clicks anything. Under the GDPR and similar rules, that's exactly the kind of third-party tracking that's supposed to sit behind a consent banner. The "free" plugin can quietly turn into a compliance problem on any European-facing site. Use of the plugin is also governed by the Meta Platform Terms.

Page Plugin — 6 Facebook cookiesDevTools cookies panel showing six .facebook.com cookies set by the Facebook Page Plugin on load: datr, fr, ps_l, ps_n, sb, and wd recording screen dimensions 1470x835
CollectSocials — no Facebook cookiesDevTools cookies panel showing no facebook.com domain at all with the CollectSocials widget, only the site's own analytics cookies
Left: the Page Plugin adds a .facebook.com cookie store holding six tracking cookies (datr, fr, ps_l, ps_n, sb, wd), all set on load. Right: the CollectSocials widget adds no .facebook.com domain at all — only the site's own analytics. (June 2026)

The Network Weight

I ran the Network tab in an incognito window (no extensions) with cache disabled. A blank page carrying nothing but the Page Plugin made 31 requests and transferred 1.2 MB of data (3.5 MB uncompressed), taking 8.98 seconds to fully finish. The Facebook SDK loads in two parts — a small loader plus the main sdk.js — followed by a cascade of obfuscated Facebook scripts (one was 130 kB, another 96.2 kB, another 68.5 kB), and even a request to a Facebook logging endpoint that returned a 404. My page's own HTML was ready in 25ms; everything after that was Facebook.

One honest caveat: the exact byte total varies by Page and session. Whatever images a Page is currently serving get pulled in unoptimized, so a Page with heavy cover or post images will transfer far more than this. The SDK and script overhead, though, is constant no matter which Page you embed — and that overhead is the part that loads tracking cookies and breaks Lighthouse.

Page Plugin — 31 requests, 1.2 MBDevTools network tab (All filter, incognito) for the Facebook Page Plugin, footer showing 31 requests, 1.2 MB transferred, 3.5 MB resources, finish 8.98s and DOMContentLoaded 25ms, with a 404 logging request visible
CollectSocials — 6 requests, 234 kBDevTools network tab (All filter, incognito) for the CollectSocials Facebook feed, footer showing 6 requests and 234 kB transferred, with the widget fetching three properly-sized jpegs of 39.6, 42.1, and 37.6 kB from the connected Page
Same blank page, same incognito browser, no extensions. The Page Plugin: 31 requests, 1.2 MB. CollectSocials: 6 requests, 234 kB — about 5× less data, and it fetches only your own Page's properly-sized images (39.6 / 42.1 / 37.6 kB) instead of whatever Facebook serves unoptimized. (Finish times aren't comparable here: CollectSocials is loading live post media, the plugin only its SDK and a static preview.) (June 2026)

Lighthouse Couldn't Even Score It

I tried to run Lighthouse on both mobile and desktop. Both failed with NO_FCP errors — "the page did not paint any content." The SDK loads so asynchronously that Chrome's own performance tool can't capture a First Contentful Paint. The native plugin is literally unmeasurable by Google's standard performance tool. (When I removed the plugin and tested just my heading, Lighthouse scored fine — confirming it's the plugin, not my page, breaking measurement.) The CollectSocials feed, on the same page in the same incognito window, was fully measurable and scored 83 on mobile.

Page Plugin — Lighthouse failed (NO_FCP)Lighthouse report failing with NO_FCP errors for the Facebook Page Plugin page
CollectSocials — Lighthouse 83Lighthouse mobile performance score of 83 for the CollectSocials Facebook feed, run in incognito
Lighthouse couldn't produce a score for the Page Plugin at all — every metric returned NO_FCP. The CollectSocials feed was fully measurable on the identical page, scoring 83 on mobile in the same incognito window. (June 2026)

I recorded the whole thing so you don't have to take my word for it. In this video you can watch Facebook's configurator fail to generate code, the plugin render at its 500px cap, Lighthouse fail with a NO_FCP error live — and then a CollectSocials Facebook feed go full-width and stay fully measurable, where the plugin returned no score at all, on the same page in the same browser session:

The Styling Test: Zero Design Control

I injected aggressive CSS into my page — forced fonts to red Georgia serif, set a purple background, killed all border radius and shadows. The page around the plugin changed completely; the plugin itself stayed pixel-for-pixel identical, because it renders inside an iframe my CSS can't reach. To be fair, that iframe isolation is intentional and it does protect the plugin from being broken by your stylesheet. But the flip side is the real story: you get zero design control. Whatever Facebook decides the widget looks like is what your visitors see — no colors, no fonts, no layout, no card styling.

A page with an injected purple background and red serif fonts, while the Facebook Page Plugin inside its iframe stays pixel-for-pixel unchanged
I forced the page to a purple background with red serif fonts. Everything around the plugin changed; the plugin (inside its iframe) ignored all of it. Isolation protects it from your CSS — but it also means you can't style it at all. (June 2026)

Mobile

On iPhone 12 Pro emulation the plugin filled the phone width, which looks fine at a glance, but the Page name wrapped awkwardly across three lines, the bio truncated, and there was a large block of dead white space below the widget. The CollectSocials feed, on the same device, filled the viewport edge to edge with no text-wrapping issues in either a carousel or a list layout.

Page Plugin on iPhone 12 ProFacebook Page Plugin on iPhone 12 Pro emulation with the page name wrapping across three lines and dead white space below
CollectSocials on iPhone 12 ProCollectSocials Facebook feed on iPhone 12 Pro emulation filling the viewport edge to edge
Same device, same test. The plugin wraps the page name across three lines and leaves dead space; the CollectSocials feed fills the viewport cleanly. (June 2026)
My conclusion: For a tiny sidebar "Find us on Facebook" box, the Page Plugin is fine — it's free and quick. For anything that needs to be full-width, on-brand, responsive, moderated, fast, or combined with other platforms, the 500px ceiling, locked styling, over a megabyte of tracking scripts, and six cookies-before-consent get in your way. Facebook built it to pull people back to Facebook, not to look good — or perform well — on your site.

How to Actually Add Your Facebook Page (CollectSocials)

After the Page Plugin boxed me into 500px and a megabyte of Facebook scripts, I used CollectSocials to add my Facebook feed instead — and it rendered full-width and on-brand on the first try. No Facebook App ID, no SDK loader, no cookie banner triggered by the widget. Connect your Page, pick a layout, paste one snippet. Here's the complete process with screenshots from the same June 2026 test.

Step 1: Create a New Feed

After signing up, you land on the dashboard. Create a new feed for your Facebook content. You can run multiple feeds — one for your main Page, another for a campaign or a specific page on your site.

CollectSocials dashboard showing feed management and a create-new-feed option
The CollectSocials dashboard — create and manage multiple feeds, each with its own sources and design. (June 2026)

Step 2: Select Facebook as Your Source

Click "Add Source" and pick Facebook from the platform chooser. Facebook is available on every CollectSocials plan, including the free plan (up to 3 sources) — it's not locked behind a premium tier. CollectSocials also supports Instagram, YouTube, Google Reviews, TikTok, X/Twitter, Pinterest, Tumblr, RSS, and Vimeo, so you can combine them in one feed later.

CollectSocials sources page with Facebook selected among the available platforms
Choose Facebook from the platform list. You can combine multiple platforms in a single feed for a unified social wall.

Step 3: Connect Your Facebook Page

Click "Connect Facebook" to authenticate through Meta's OAuth flow (you'll need to be signed in to the Facebook account that manages the Page), then select the Page you want to display. CollectSocials never stores your password — it uses a secure token you can revoke anytime from your Facebook settings. Your Page's posts (text updates, photos, videos, and links) import automatically. Note that CollectSocials connects Pages you own or admin — a Meta Graph API rule — which for a business embedding its own Page is exactly what you want.

1. Click Connect FacebookCollectSocials connect Facebook button to start the Meta OAuth flow
2. Sign in to FacebookPrompt to sign in to the Facebook account that manages the Page before connecting
3. Grant access to your PageSelecting which Facebook Page to grant access to during the Meta OAuth flow
4. Choose the Page to importChoosing the connected Facebook Page to import into the CollectSocials feed
The full Facebook connect flow in CollectSocials: click Connect, sign in to Facebook, grant access to your Page, and choose which Page to import. (June 2026)

Step 4: Moderate and Curate Your Posts

Once connected, your posts land on the Collect page. This is where CollectSocials solves the biggest gap in the native plugin: control. Pin the posts you want featured, hide the ones that don't belong on your site (expired event reminders, casual polls, off-brand chatter), filter by source, and edit post text inline to add context for a website audience.

If more than one person manages your feeds, you can invite your team — unlimited team members on every plan, including Free. Every moderation action is recorded in an activity log that shows which member pinned, hid, or edited a post, and you can pull a team-activity report from it. The native Page Plugin has no concept of moderation, let alone team roles or an audit trail.

CollectSocials Collect page showing real Facebook posts with pin, hide, and edit moderation controls
The Collect page — pin your best Facebook posts, hide ones that don't fit, and edit text inline. The native plugin offers none of this. (June 2026)

Step 5: Design Your Widget in Design Studio

This is the part the native plugin can't touch. In the Design Studio you pick from a wide range of layouts — standouts include Marquee, Masonry, Carousel, and Coverflow — and then style them. The real differentiator is the styling: start from a ready-made template, or open the custom theme builder and build your own theme from scratch (colors, fonts, borders, shadows, spacing, and card styles). Because you can save your own themes, you get effectively unlimited looks — all matched to your brand instead of Facebook's.

Ready-made templatesCollectSocials Design Studio showing ready-made templates applied to a Facebook feed preview
Custom theme builderCollectSocials custom theme builder editing colors, fonts, borders, and card styles for a Facebook feed
Start from a ready-made template, or build your own theme from scratch in the custom theme builder — colors, fonts, borders, shadows, spacing, and card styles. The Page Plugin offers none of this. (June 2026)

Designing a Facebook feed that fits your brand

The animation cycles through layout and theme combinations applied to a Facebook feed. Unlike the native Page Plugin's fixed Facebook styling, this shows how the same set of posts can be restyled — colors, card shape, spacing, and layout — to match the look of your own site.

Step 6: Preview, Get Your Code, and Check Mobile

Click "Preview" to see exactly how the feed will look, toggling between desktop, tablet, and mobile. When it's right, click "Get Code" to grab the embed snippet. The widget renders inside a Shadow DOM, so its styles are isolated from your site's CSS — no conflicts — and it stays fully responsive at any width. I tested it on iPhone 12 Pro in both a carousel and a vertical list layout; both filled the viewport edge to edge.

Carousel layout (mobile)CollectSocials Facebook feed on iPhone 12 Pro in carousel layout filling the viewport
List layout (mobile)CollectSocials Facebook feed on iPhone 12 Pro in vertical list layout filling the viewport
The same Facebook feed on iPhone 12 Pro in two layouts — both fully responsive, edge to edge, with full captions and no text-wrapping issues. (June 2026)

Facebook Feed Pricing on CollectSocials

Unlike platforms with expensive APIs, a Facebook feed runs on every CollectSocials plan, including the free plan (up to 3 sources) — so the feed itself never expires behind a paywall. The difference is design: the free plan's Design Studio is limited to the Grid layout and the Minimal theme, while the 7-day trial unlocks the full Design Studio — every layout plus the custom theme builder — so you can design and preview your entire widget before deciding, no credit card required. Paid plans keep the full Design Studio and add more sources, higher view limits, and faster sync:

  • Free ($0): Facebook feed with up to 3 sources; Grid layout and Minimal theme.
  • Pro ($20/mo): full Design Studio, auto-syncing feed, and up to 15,000 page views per month.
  • Business ($47/mo): more sources, faster sync, and unlimited page views per month.

Every plan — including Free — also includes unlimited team members for moderating and managing your feeds.

A note on "live": these are auto-updating feeds, not real-time streams. Your widget pulls new Facebook posts at regular intervals — you never re-embed or manually refresh.

Ready to aggregate your social content?Start your free 7-day trial — no credit card required.
Start Free Trial

Native Page Plugin vs CollectSocials: What I Measured

Everything in this table comes from my own June 2026 test — the same public Facebook Page, embedded on identical blank pages, measured in the same DevTools session.

What I measuredFacebook Page PluginCollectSocials
Network requests316
Data transferred1.2 MB234 kB (~5× less)
Facebook cookies before consent6 (datr, fr, ps_l, ps_n, sb, wd)0
Lighthouse (mobile)Failed — NO_FCP (unscorable)83
Maximum widthCapped at 500pxFull-width, any container
Responsive resizeFrozen on page loadFully responsive
Design controlNone (locked iframe)Layouts, templates, custom theme builder
ModerationNonePin, hide, filter, inline edit
Multi-platformFacebook onlyFacebook, Instagram, Google Reviews, YouTube, and more
CostFreeFree plan (3 sources); paid from $20/month

How to Embed a Facebook Feed on WordPress, Squarespace, Wix, Shopify, Webflow, and Google Sites

Once you have your embed code from CollectSocials, the final step is pasting it into your platform. Here's exactly where the code goes on the most popular website builders.

WordPress (Gutenberg Editor)

  1. Open the page or post where you want the Facebook feed.
  2. Click the + block inserter and search for "Custom HTML."
  3. Add a Custom HTML block and paste your embed code into it.
  4. Click "Preview" in the block toolbar to verify it renders, then publish.

The WordPress Custom HTML block, visualized

The animation shows the WordPress Gutenberg flow for a Facebook feed: you drop in a Custom HTML block, paste the single CollectSocials script tag, and the placeholder resolves into a live, styled Facebook feed — no plugin installed and no theme CSS to fight.

CollectSocials Facebook feed widget rendering full-width and live on a WordPress site
The CollectSocials Facebook feed live on a WordPress site — full-width and on-brand, pasted into a Custom HTML block with no plugin. (June 2026)

Because the widget renders inside a Shadow DOM, it's isolated from your theme's CSS — so it works out of the box on any WordPress setup: Gutenberg, Elementor, Divi, Beaver Builder, GeneratePress, Astra, or any theme and page-builder combination, with no plugin conflicts.

Page builders. If you use Elementor, drop in an HTML widget and paste the code. For Divi, use a Code module; Beaver Builder has an HTML module. The step is identical — paste the embed and save.

Sidebars and footers. To show the feed site-wide in a sidebar or footer, add a Custom HTML widget under Appearance > Widgets and paste the code there. Advanced users can place the snippet directly in a theme template file to render it on every page without adding it manually each time.

WooCommerce. On a WooCommerce store, a Facebook feed on product pages — showing real customer content and product-related posts — adds authentic social proof right at the point of purchase.

Shopify (Online Store 2.0)

  1. Go to Online Store > Themes > Customize in your Shopify admin.
  2. Navigate to the page where you want the feed and click Add section.
  3. Select Custom Liquid and paste your embed code into the Liquid field.
  4. Position the section where you want it, then save.
Paste into Custom LiquidCollectSocials widget embed code pasted into a Shopify Custom Liquid section with a live preview in the theme editor
Live on the storefrontCollectSocials Facebook feed rendering full-width and live on a Shopify storefront homepage
Shopify: paste the embed into a Custom Liquid section (left) and the Facebook feed renders full-width on the live storefront (right). (June 2026)

Webflow

  1. Open your Webflow project in the Designer.
  2. Drag an Embed element (under Components) onto your canvas where you want the feed.
  3. Paste your embed code into the code field and close the editor.
  4. Publish your site to see the live widget.

For the full Webflow walkthrough — Code Embed vs Code Block, responsive breakpoints, and CMS embeds — see our guide to embedding social feeds on Webflow.

CollectSocials Facebook feed rendering full-width and live on a published Webflow site
The CollectSocials Facebook feed live on a published Webflow site — dropped into an Embed element, fully responsive. (June 2026)

Squarespace

  1. Edit the page and click an insert point to add a block.
  2. Choose the Code block and paste your embed code into it (leave the type set to HTML).
  3. Apply, then save the page.

Wix

  1. In the Wix Editor, click Add > Embed & Social > Custom Embeds > Embed a Widget (in Wix Studio, use the Embed element).
  2. Open the element's code editor, paste your embed code, and click Apply.
  3. Resize and position the element, then publish.

Wix has a few requirements of its own — HTML embeds need a paid premium plan, Wix ADI sites must switch to the standard Editor, and the mobile layout is configured separately — so for the complete walkthrough with screenshots, see our dedicated guide to embedding a Facebook feed on Wix.

Google Sites

  1. Open your site in the Google Sites editor and click Insert > Embed.
  2. Choose the Embed code tab, paste your snippet, and click Next, then Insert.
  3. Resize the embed on the canvas and publish.

The same embed code also works on HubSpot (Custom Module) and any static HTML site — anywhere that accepts custom HTML/JavaScript.

Embedding Facebook Videos Specifically

If your Page leans heavily on video — reels, live recordings, product clips — you can build a feed that showcases them rather than mixing them into a text timeline. (Remember, the Page Plugin can't even play video inline — clicking bounces you to Facebook.)

The native single-video embed. Facebook does offer a basic embed for one video at a time: open the video post, click the three-dot menu, choose Embed, and paste the generated snippet into your site. It works for a single featured clip — say, one testimonial on an About page — but you can only embed one video at a time, the styling is locked to Facebook's look, and swapping the video means editing the code by hand. There's no way to build a dynamic gallery of multiple videos.

A curated video feed instead. With CollectSocials you connect the Page once, then curate posts down to video only on the Collect page — so the embed reads as a designed video gallery, not a raw timeline. A Carousel or Slider layout suits video best: visitors swipe through clips without scrolling. It pulls in every kind of Facebook video from your Page:

  • Native video posts — product launches, tutorials, announcements uploaded straight to your Page.
  • Facebook Live recordings — once a stream ends the recording becomes a regular post, giving past live events a permanent home for visitors who missed them.
  • Facebook Reels — short-form vertical video, surfaced to a new website audience.
  • Videos with engagement — likes, comments, and shares travel with the post, adding social proof a plain YouTube or Vimeo player can't replicate.

Where to Place Your Facebook Feed

Placement decides how much value the feed delivers. A few spots that consistently work:

Choosing the right placement

This animation maps where a Facebook feed earns its place on different page types. A homepage section builds brand presence, an About page adds authenticity, a contact page signals responsiveness, and product pages turn posts into social proof — each placement serves a distinct visitor intent.

Homepage (below the fold). A Facebook section near the bottom of a high-traffic homepage shows your brand is active without crowding your main message. This is exactly where the native plugin's 500px cap hurts — a CollectSocials feed fills the section edge to edge.

About page. Real posts add personality and authenticity that polished corporate copy can't — the human side of your business.

Contact or support page. A live Facebook feed reinforces that you're an active, responsive business and surfaces announcements visitors may have missed.

Product or service pages. Posts that highlight specific products or share customer stories work as social proof right where buying decisions happen.

Going Beyond Facebook: Combining Multiple Platforms

This is where CollectSocials separates from the native plugin entirely. You're not limited to Facebook — in a single feed you can combine Facebook with an Instagram feed, Google Reviews, YouTube, and more. A widget that shows your latest Facebook post next to a five-star review and a recent Instagram photo is far stronger social proof than any single network alone.

If you're building something bigger — an event display or a site-wide wall — see our guides to a social media wall on any website and social walls for events.

Final Thoughts

Adding a Facebook Page to your website should be simple, and the native Page Plugin is simple — as long as you accept a 500px box in Facebook's styling that drags in over a megabyte of scripts and media, drops six tracking cookies before consent, can't be moderated, and won't even let Lighthouse score the page. For a tiny "Find us on Facebook" widget, that may be a fair trade.

For anything that needs to be full-width, on-brand, fast, responsive, and curated — or combined with Instagram, reviews, and other platforms — you need a tool that gives you real control. After running both through the same test, I use CollectSocials: it loaded ~5× lighter, dropped no Facebook cookies, scored 83 on Lighthouse where the plugin couldn't score at all, and renders a Facebook widget that looks like part of my site instead of a window into Facebook — and a Facebook feed runs even on the free plan, with the full custom design unlocked on the trial and paid plans.

Start Using CollectSocials Today

The social media aggregator built for performance and simplicity — pull from 10+ platforms without sacrificing page speed.


Frequently Asked Questions

How do I add a Facebook Page to my website?

Two options. The native method uses Facebook's Page Plugin: enter your Page URL, copy the SDK loader plus the fb-page div, and paste both into your HTML. In my testing the configurator frequently failed to generate code at all, and the result is capped at 500px and locked to Facebook's styling. The more flexible method is a widget tool like CollectSocials: connect your Page, moderate your posts, style the feed, and paste one embed snippet that renders full-width and on-brand.

How do I embed a Facebook feed on my website?

Connect your Facebook Page to an aggregator like CollectSocials, choose which posts to display, pick a layout and theme in the Design Studio, then paste the generated embed code into any page that accepts custom HTML. Unlike the native Page Plugin, an aggregated feed can be full-width, responsive, moderated, and combined with other platforms.

How do I embed a Facebook feed in HTML?

For the native plugin, add the Facebook JavaScript SDK script once and then a <div class="fb-page"> element with your Page URL in the data-href attribute (the full HTML is in the code block above). For a third-party widget, you paste a single <script> snippet wherever you want the feed — no SDK, no fb-page markup, and it isn't capped at 500px.

Does Facebook have a feed widget?

Yes — the native Page Plugin is Facebook's official feed widget, and it's free. But as my testing showed, it's capped at 500px, can't be styled or moderated, loads over a megabyte of scripts, and drops six tracking cookies. For a branded, fast, controllable feed widget, most people use a third-party tool instead.

Is the Facebook embed code generator free?

Yes, Facebook's Page Plugin configurator (the embed code generator) is free. In my June 2026 testing it was also unreliable — it repeatedly failed to generate code, with the Get Code button spinning indefinitely or silently doing nothing on personal profiles and permission-restricted Pages. When it does work, the generated code is free to use, with the performance and cookie trade-offs covered above.

How do I add a Facebook feed to Squarespace?

In the Squarespace editor, add a Code block to your page and paste your widget embed code into it (keep the type set to HTML), then save. A CollectSocials embed renders inline and stays responsive; the native Page Plugin will still be capped at 500px inside the block.

Why is my Facebook Page Plugin not working or not responsive?

The most common reasons, all of which I reproduced: (1) the configurator itself often won't generate code — the Get Code button can spin forever or silently fail on personal profiles and permission-restricted Pages; (2) the plugin is hard-capped at 500px wide, so it can't fill a wider section; (3) it measures its width on page load and, per Meta's docs, "will not react to changes to the box model after page load," so it breaks on resize and mobile; or (4) the required Facebook SDK failed to load or is blocked by a consent/cookie tool. If you need a feed that reliably resizes and fills its container, a third-party widget avoids these limits entirely.

Is the Facebook Page Plugin free?

Yes, the Page Plugin is free to use. The trade-off is real: in my June 2026 test (incognito, no extensions) it pulled 1.2 MB across 31 requests, took 8.98 seconds to finish, dropped six Facebook tracking cookies before any interaction, and couldn't be scored by Lighthouse — on top of the 500px cap and fixed styling. For a branded, fast, moderated feed you'll want a dedicated widget tool.

Does the Facebook Page Plugin slow down my website?

In my testing, significantly. A blank page carrying only the Page Plugin made 31 network requests and transferred 1.2 MB, and took 8.98 seconds to finish loading — and the byte total climbs higher on Pages serving heavier images, which the plugin pulls in unoptimized. Lighthouse couldn't even capture a First Contentful Paint. By comparison, a CollectSocials Facebook feed on the same page used 6 requests and 234 kB and scored 83 on mobile.

Does the Facebook Page Plugin set cookies (is it GDPR-compliant)?

Yes, it sets cookies — and that's the catch. Loading the plugin added a .facebook.com cookie store with six cookies (datr, fr, ps_l, ps_n, sb, wd) on page load, before any visitor interaction. Under GDPR, third-party advertising/tracking cookies like fr generally require prior consent, so the plugin can create a compliance obligation. The CollectSocials widget added no .facebook.com domain or cookies at all in the same test.

Can I embed a personal Facebook profile on my website?

Not as a feed. The native Page Plugin only works with Facebook Pages (it silently failed when I entered a personal profile URL), and third-party tools like CollectSocials connect Pages you own or admin — a Meta Graph API privacy restriction. If you want a feed on a business website, use a Page.

How do I add a Facebook feed on WordPress, Shopify, or Wix?

On WordPress, add a Custom HTML block and paste your embed code. On Shopify, add a Custom Liquid section under Online Store > Themes > Customize. On Wix, use an Embed/HTML element. The CollectSocials snippet renders automatically with no plugin or app required. See the WordPress steps above, or our dedicated guide to embedding a Facebook feed on Wix.


Sources