I want to be able to have widgets with Drupal content to be embedded in other websites. For example a widget could show "new stories" or "top stories".

  • 2
    quick and dirty, throw it an iframe that src's a page on your drupal site that just returns what you are looking for
    – Jimajamma
    Dec 13, 2011 at 21:01

5 Answers 5


You can use the Views module to output content as XML/RSS and add a widget to your target site that can build links based on the content in your XML feed.

Depending on your target site there may be pre-built (Wordpress, Drupal, Joomla, Blogger) plugins/addons available to do exactly what you're hoping to accomplish.


To avoid having to use an iframe (and because Drupal is moving more and more toward using APIs) I would recommend looking into the Content API module. It is still being developed, but it does allow any content on your site to be made into an import-friendly format for use with any other site/program.

Using Views is another option, but that depends on your ability to create and parse feeds with all the data you need, whereas the API method should do that for you.

  • The benefit of iframes is that it is isolated from the embedding site's CSS and JS. Embedding the content directly always poses a risk of conflicting styles.
    – donquixote
    May 9, 2019 at 18:19

Take a look at the Aggregator module, which is part of Drupal core.


A detailed explanation on how to embed an iframe can be found here: http://drupal.org/node/650612#comment-2336864

Associates website and copied their link to put their store Amazon store in an iframe.

<iframe src="http://www.charlottefabrics.com" width="100%" height="4000" frameborder="0" scrolling="no"></iframe>

It was really very simple: I copied their link and went to my website, and created a new page. (make sure your wysiwyg editor is turned off before pasting) I then pasted the link into the body area and changed the link to the Iframe src Also, since many of the searches from the Charlotte fabrics website can return many choices, I changed the scrolling to "yes".

Here is what I pasted into the blank body text:

<iframe src="http://www.charlottefabrics.com" width="100%" height="4000" frameborder="0" scrolling="yes"></iframe>

Note: I set the Input Format to "Full Html". Also, If you have the Wysiwyg editor enabled by default, I'd recommend that you change it so that the Wysiwyg is NOT enabled by default. Because the Wysiwyg will delete the link each time it is enable.

For our applications/sites we use the Colorbox module to display iframes. Works like a charm

  • You have it mixed around. He needs to put a node from his website into an iframe that can but put into another website, not have another website be put into an iframe to be inserted into his website. Mar 11, 2015 at 20:41

Use the Entity Iframe module. This allows any node to be an iframe, and it even provides the embed code for all nodes.

You'll need to create a new theme that you want to use for the iframe, probably the same as your main theme but then remove all headers, footers, sidebars, etc.

Another possible solution: use the splashify module and create a "splash" page for the node you need to be in an iframe.

Not the answer you're looking for? Browse other questions tagged or ask your own question.