{"id":190679,"date":"2024-10-18T10:37:27","date_gmt":"2024-10-18T10:37:27","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ruigehond-embed\/"},"modified":"2026-05-20T19:34:07","modified_gmt":"2026-05-20T19:34:07","slug":"ruigehond-embed","status":"publish","type":"plugin","link":"https:\/\/hau.wordpress.org\/plugins\/ruigehond-embed\/","author":17247799,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.4.2","stable_tag":"1.4.2","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Ruigehond embed","header_author":"Joeri van Veen","header_description":"Embed selected urls from your website elsewhere","assets_banners_color":"ffffff","last_updated":"2026-05-20 19:34:07","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.paypal.com\/cgi-bin\/webscr?cmd=_donations&business=hallo@ruigehond.nl&lc=US&item_name=ruigehond-embed&no_note=0&cn=&currency_code=USD&bn=PP-DonationsBF:btn_donateCC_LG.gif:NonHosted","header_plugin_uri":"https:\/\/github.com\/joerivanveen\/ruigehond-embed","header_author_uri":"https:\/\/wp-developer.eu","rating":0,"author_block_rating":0,"active_installs":0,"downloads":1120,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.4.0":{"tag":"1.4.0","author":"ruigehond","date":"2024-10-18 10:43:06"},"1.4.1":{"tag":"1.4.1","author":"ruigehond","date":"2025-04-30 15:01:07"},"1.4.2":{"tag":"1.4.2","author":"ruigehond","date":"2026-05-20 19:34:07"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3171359,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3171359,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3171359,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3171359,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.4.0","1.4.1","1.4.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3171359,"resolution":"1","location":"assets","locale":"","width":2182,"height":1684}},"screenshots":{"1":"Setting screen with one embed entry consisting of the title, the (local) url to embed and a list of authorized embedders (only 1)."}},"plugin_section":[],"plugin_tags":[233320],"plugin_category":[],"plugin_contributors":[172862],"plugin_business_model":[],"class_list":["post-190679","plugin","type-plugin","status-publish","hentry","plugin_tags-x-frame-options-embed-embedding-iframe-sameorigin","plugin_contributors-ruigehond","plugin_committers-ruigehond"],"banners":{"banner":"https:\/\/ps.w.org\/ruigehond-embed\/assets\/banner-772x250.png?rev=3171359","banner_2x":"https:\/\/ps.w.org\/ruigehond-embed\/assets\/banner-1544x500.png?rev=3171359","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/ruigehond-embed\/assets\/icon-128x128.png?rev=3171359","icon_2x":"https:\/\/ps.w.org\/ruigehond-embed\/assets\/icon-256x256.png?rev=3171359","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ruigehond-embed\/assets\/screenshot-1.png?rev=3171359","caption":"Setting screen with one embed entry consisting of the title, the (local) url to embed and a list of authorized embedders (only 1)."}],"raw_content":"<!--section=description-->\n<p>Plugin to embed selected urls from your site elsewhere.<\/p>\n\n<h4>Security<\/h4>\n\n<p>Other embedding will be prohibited by default, with an <code>X-Frame-Options<\/code> header and, optionally, a <code>Content Security Policy<\/code> header.\nThis will secure your WordPress website from a number of fairly easy attacks.<\/p>\n\n<p>To make this plugin especially useful you can now allow (third party) websites to embed specific urls from your site.\nEasily reuse forms or other content from your main site on satellite sites you own, without opening up any of them to attack.<\/p>\n\n<h4>Quick setup<\/h4>\n\n<p>Activate the plugin and go to Settings -&gt; Ruigehond embed.\nAdd a reference (e.g. <code>general-contact-form<\/code>) in the <em>title<\/em> field and save the settings.\nAdd a slug it should serve (e.g. <code>\/contact-clean\/<\/code>) in the <em>embed<\/em> field.\nAdd urls that may embed this, aka referrers, (e.g. <code>https:\/\/my-satellite.site<\/code>) in the textarea.<\/p>\n\n<h4>Embedding<\/h4>\n\n<p>Install the plugin on your satellite site. This has the added benefit of locking down that site as well.<\/p>\n\n<p>Use the simple shortcode on that site to generate an iframe with the embedded content:\n    <code>[ruigehond-embed src=\"https:\/\/my-main.site\/ruigehond_embed\/general-contact-form\"]<\/code><\/p>\n\n<p>Watch the form magically and safely be embedded. Other sites will continue to not be able to embed your content.<\/p>\n\n<p>You can also embed using a regular iframe in html, as long as the referrer is whitelisted.\nHowever, by using the plugin and shortcode, the height of the iframe will automatically be adjusted to fit the content.<\/p>\n\n<h4>Use htaccess<\/h4>\n\n<p>This plugin adds lines (clearly marked) at the beginning of your htaccess file.\nThey need not be at the beginning, but they need to be before the WordPress lines, or any other lines that corrupt the <code>THE_REQUEST<\/code> var.<\/p>\n\n<p>This plugin needs <code>mod_headers<\/code>, <code>mod_rewrite<\/code> and <code>mod_setenvif<\/code> to be activated, but they probably already are.<\/p>\n\n<h4>Without htaccess<\/h4>\n\n<p>When the htaccess is not processed, the plugin itself works directly with the request in the php processor.\nThe CSP header is not supported in that case.\nAlso, other plugins (especially caching plugins) may already have decided on a different route and this plugin might not work.<\/p>\n\n<h4>Content Security Policy<\/h4>\n\n<p>You can switch on the <code>Content Security Policy<\/code> (or <code>CSP<\/code>) header in this plugin, which is the most modern way to tackle these issues.\nHowever, other plugins may interfere, so be sure to check whether the CSP header is to your liking in practice.<\/p>\n\n<p>This plugin will add a <code>CSP<\/code> header if none is present yet.\nBut if one is present, the <code>frame-ancestors<\/code> directive must be present in it for this plugin to work.\nIt will only set the <code>frame-ancestors<\/code> directive, none of the others (to not break your site).<\/p>\n\n<!--section=installation-->\n<p>Install the plugin by clicking \u2018Install now\u2019 below, or the \u2018Download\u2019 button, and put the <code>ruigehond-embed<\/code> folder in your <code>plugins<\/code> folder. Don\u2019t forget to activate it.<\/p>\n\n<!--section=changelog-->\n<p>1.4.2: redirect using 301 to root for relative url<\/p>\n\n<p>1.4.1: restore query string processing in htaccess and short circuit unnecessary php processing<\/p>\n\n<p>1.4.0: release into the wild<\/p>","raw_excerpt":"Prevent your site from being embedded. Select specific urls that may be embedded from specific origins.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hau.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/190679","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hau.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/hau.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/hau.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=190679"}],"author":[{"embeddable":true,"href":"https:\/\/hau.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ruigehond"}],"wp:attachment":[{"href":"https:\/\/hau.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=190679"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/hau.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=190679"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/hau.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=190679"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/hau.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=190679"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/hau.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=190679"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/hau.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=190679"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}