==========
iFrame dimensions VS SEO concerns
Ok... so... my visual recipes (which would be the content of the iframes) are often 3 to 7 screen heights long. Also, recipe pages, across the web, are broadly considered to already be pretty long (that's why the "jump to recipe" button is so prevalent). With that considered, what other options do I have, besides iframes, or creating a whole new page... ? (Also, I don't want to get to carried away, as I'm market-testing this, so we may suffer the imperfections of the iframe for a while)
Your instinct to not get carried away is spot on. In product development, suffering the imperfections of an MVP to get actual market validation is usually the smartest play. Premature optimization is the enemy of launching.
That said, a 3 to 7 viewport-height iframe introduces a specific UX hazard you should be aware of, especially on mobile: scroll trapping. If a user is trying to scroll down the parent page and their thumb lands inside your massive iframe, they will end up scrolling your recipe instead of the page they are on. They get "trapped" until they reach the bottom of your embed.
If you want to move away from a standard, massive inline iframe—either now or in V2—here are the most pragmatic alternatives, ordered from lowest to highest engineering effort:
How it works: You display just the recipe title, the hero image, and the first step. You overlay a fading gradient at the bottom with a "Read Full Recipe" button. When clicked, you use the iframe-resizer script to expand it to its full height.
Why it's good: It completely solves the immediate SEO/CLS concerns and respects the host site's real estate. It only becomes massive when the user explicitly asks it to be.
The MVP factor: You don't have to change your hosting or your site structure; you just add a tiny bit of UI to the embed layer.
How it works: The host site places a small snippet that renders an attractive "View Visual Recipe" card. When clicked, the recipe opens in a full-screen overlay (a modal) that sits on top of the parent page.
Why it's good: This is the ultimate solution for 7-screen-tall content. The user enters a dedicated, distraction-free "recipe mode." When they are done, they hit a close button (or tap outside it), and they are exactly where they left off on the parent article. Zero layout shift, zero scroll trapping.
The MVP factor: This requires writing a bit of JavaScript to handle creating and destroying the modal overlay when the button is clicked.
How it works: You keep the iframe, but you fix its height to exactly one screen (or less). Users click "Next" or swipe left-to-right to advance through the recipe steps.
Why it's good: It acts like an Instagram story or a slideshow embedded in the page. It takes up a predictable amount of vertical space, completely eliminating the 7-screen scrolling problem.
The MVP factor: This requires redesigning the layout of iconicspoon.com/embeds/* to support horizontal pagination rather than vertical scrolling.
How it works: You provide a custom HTML tag, like
Why it's good: It loads faster, feels like native content, and is highly secure.
The MVP factor: Skip this for now. It requires re-architecting how you deliver your frontend and is definitely overkill for market testing.
The MVP Verdict: If you want to get this out the door this week, stick with the iframe. Let it be tall. See if people actually want to embed it before you spend two weeks engineering a custom modal system.
If a client complains about the height during your testing phase, Option 1 (the Teaser Iframe) is your fastest pivot.
==========
iFrame security
When you are the provider, your goal is to reduce "integration friction." If a client wants to put your recipe on a site with 100k visitors, they likely have a developer or a security team reviewing third-party code. By anticipating their security and performance standards in advance, you make your widget an easy "yes."
Here is how you can package your embed to be the kind of premium, secure-by-default provider that developers love to work with:
The Provider Move: Take the iframe-resizer script, host it on your own server, and perhaps even bundle it with your own initialization logic into a single file (e.g., https://iconicspoon.com/assets/embed.js). This means the client only has to whitelist and trust one vendor: you.
The Provider Move: If you create your own embed.js file, you can write a few lines of code inside it that automatically hunts for any iframe with the ID iconic-recipe and initializes the resizing logic on its own. The client never has to write an inline script.
The Provider Move: When you generate the copy-paste HTML for your users, include the sandbox attribute by default.
The Provider Move: Add a sensible min-height directly to the style tag of the snippet you provide. If an average recipe is around 600px tall, putting min-height: 600px; in the inline CSS prevents the page from aggressively snapping once the javascript fires.
By making these changes, your offering transforms from a multi-part integration into a highly secure, plug-and-play tool.