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.xyzandrss.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, andrss.autopod.xyzin 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:
- Hard refresh the page (Ctrl+Shift+R or Cmd+Shift+R)
- Clear your browser cache
- 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.