The widget doesn’t appear
It never appears on any article
It never appears on any article
- Check that the page is on your verified domain or one of its subdomains. Staging hosts like
example.vercel.apparen’t covered. - Check the iframe keeps
referrerpolicy="strict-origin-when-cross-origin". Without a referrer, the widget can’t authorize the page and collapses. - Check your CSP allows
frame-src https://iframe.polyembed.io. The browser console shows a “Refused to frame” error when it doesn’t. - Check the widget, domain and account are active in the dashboard.
- If your snippet is signed (
d,kv,sig), make sure it’s the latest copy from the dashboard. Rotating the key invalidates older copies.
It appears on some articles but not others
It appears on some articles but not others
That’s expected. When no live market is relevant enough, the widget collapses. Use Headline preview or the demo widget with
debug=true to see scores for a headline. See Market matching.It works when I open the iframe URL, but not on my page (or the reverse)
It works when I open the iframe URL, but not on my page (or the reverse)
Your own widget only renders inside a page on your verified domain, so opening its URL directly shows nothing. The
demo-widget renders anywhere. Test your own widget on a live article.There's an empty 260 px gap
There's an empty 260 px gap
The listener script is missing, or its
getElementById doesn’t match the iframe id. Copy the full snippet from the dashboard again.The trade panel is cut off
The trade panel is cut off
Same cause as the empty gap: without the listener, the frame can’t grow. Also check that no parent element sets a fixed height with
overflow: hidden.The title shows as {ARTICLE_TITLE}
The title shows as {ARTICLE_TITLE}
The placeholder wasn’t replaced. In the copied snippet it’s URL-encoded as
%7BARTICLE_TITLE%7D. Replace the whole placeholder with your CMS’s title variable.Domain verification fails
DNS record
DNS record
Wait for the record to propagate, then try again. Check the record is on the domain itself (
@), not on a subdomain like _polyembed. Some providers add your domain to the name automatically: entering example.com as the name can create example.com.example.com.Meta tag
Meta tag
The homepage must return
200 over HTTPS without redirecting. If example.com redirects to www.example.com, verify www.example.com or use DNS. The tag must be in the server-rendered HTML, exactly as copied.Static file
Static file
Open
https://your-domain/.well-known/polyframe-verification.txt in a private window. It must load directly, with only the token in the body. Some hosts block dot-folders like /.well-known/ by default.Bot protection
Bot protection
Firewalls and bot protection can block the verifier. Allow the user agent
polyembed-domain-verifier/1.0, or use the DNS method."Accept the Publisher Terms to run verification"
"Accept the Publisher Terms to run verification"
Open Agreements in the dashboard and accept the Publisher Terms.
"Registered to another publisher"
"Registered to another publisher"
Another account already added this domain. If you own it, email contact@polyembed.io.
Matches are wrong or weak
- Add two to four specific keywords: names, places, tickers, events.
- Remove generic keywords like section names.
- Check that
titleis the headline, not your site name.