Skip to main content

Widget Issues

Problems with embedded widgets — not appearing, looking wrong, or not showing the right content.

Widget not appearing​

Check the SDK script is loaded​

Every page with widgets needs the SDK script tag. Make sure this appears once on your page (in the <head> or before </body>):

<script src="https://embedded.autopod.xyz/sdk/autopod-widgets.js"
data-autopod-api="https://player.autopod.xyz"
data-autopod-rss="https://rss.autopod.xyz"></script>

If the script tag is missing, widgets won't render.

Check the station slug​

The data-station attribute must match your station's RSS filename exactly:

<div data-autopod-widget="episodes" data-station="my-station"></div>

You can find your RSS filename in Stream Settings in the dashboard. It's the part of your RSS feed URL before .xml — for example, if your feed is https://rss.autopod.xyz/my-station.xml, the slug is my-station.

Check the widget type​

The data-autopod-widget attribute must be a valid widget type. Check the spelling matches one of the available widget types.

Check for JavaScript errors​

Open your browser's developer tools (F12 → Console tab) and look for error messages. Common errors:

  • 404 on the SDK script — Check the script URL is correct
  • CORS errors — The SDK needs to reach player.autopod.xyz and rss.autopod.xyz. If your site is behind a firewall or proxy, make sure these domains are accessible.
  • Content Security Policy — If your website has a strict CSP, you may need to allow embedded.autopod.xyz, player.autopod.xyz, and rss.autopod.xyz in your script-src and connect-src directives.

Check the widget div isn't hidden​

If the widget's parent element has display: none, visibility: hidden, or height: 0, the widget won't be visible. Check your page's CSS for rules that might be hiding the container.

Widget shows no content​

Stream has no published shows​

Widgets only display content from published shows. If all your shows are unpublished, content widgets (episodes, shows grid, etc.) will appear empty.

No episodes yet​

If your station is newly set up and hasn't generated any episodes yet, episode-related widgets will be empty. The automation pipeline needs time to record, process, and publish episodes.

Wrong show or episode ID​

If you're using data-show or data-episode to filter content, make sure the IDs are correct:

<!-- Filter to show ID 42 -->
<div data-autopod-widget="episodes" data-station="my-station" data-show="42"></div>

You can find show and episode IDs in the dashboard URL when viewing them (e.g., /shows/42).

Widget looks wrong​

Style isolation​

Widgets render inside a Shadow DOM, which means:

  • Your website's CSS doesn't affect the widget
  • The widget's CSS doesn't affect your website

If the widget looks unexpected, it's likely a container issue rather than a CSS conflict.

Container width​

Widgets fill the width of their parent container. If the widget looks too narrow or too wide, adjust the width of the container element:

<!-- Constrain widget width -->
<div style="max-width: 600px;">
<div data-autopod-widget="episodes" data-station="my-station"></div>
</div>

Theme​

If the widget's colour scheme doesn't match your site, set the theme explicitly:

<div data-autopod-widget="episodes" data-station="my-station" data-theme="dark"></div>

Options: light, dark, or system (follows visitor's device preference).

Accent colour​

To match your website's colour scheme, set the accent colour:

<div data-autopod-widget="episodes" data-station="my-station" data-accent-color="#e63946"></div>

Widget not updating​

API caching​

The widget API caches responses for 30 seconds. New episodes or schedule changes appear within 30 seconds of publication.

Browser caching​

If you've changed widget attributes and the widget isn't reflecting the changes:

  1. Hard refresh the page (Ctrl+Shift+R or Cmd+Shift+R)
  2. Clear your browser cache
  3. Check you saved the HTML changes to your website

CDN caching​

If your website uses a CDN (Cloudflare, etc.), the CDN may be serving an older version of your page. Purge the CDN cache or wait for it to expire.

Multiple widgets on one page​

Only include the SDK script once​

If you include the SDK <script> tag multiple times, it may cause issues. Include it once per page, then add as many widget <div> elements as you need.

Audio engine is shared​

All playback widgets on a page share a single audio engine. This means:

  • Starting playback in one widget pauses any other playing widget
  • This is by design — it prevents two audio streams playing simultaneously

Widgets in website builders​

WordPress​

Use a Custom HTML block (Gutenberg editor) or the Text tab (classic editor). Don't use the Visual editor for pasting HTML — it can strip attributes.

Squarespace​

Use a Code block. Make sure you include both the script tag and the widget div.

Wix​

Use an HTML iframe element. Paste the embed code in the code panel. Note that Wix may sandbox the iframe, which can affect some interactive features.

Other platforms​

Any platform that supports raw HTML will work. Look for "HTML embed", "code block", or "custom code" options.

Widgets in single-page applications​

The SDK uses a MutationObserver to detect widgets added to the DOM dynamically. This means widgets work automatically in React, Vue, Angular, and other SPA frameworks — just render the widget <div> and the SDK picks it up.

Make sure the SDK script is loaded before your app framework mounts. The simplest approach is to add it to your index.html <head> section.