A free daily word game for your news site.

Drop a competitive, ten-round word puzzle into any article or section page. It's free engagement content: a reason to stay on the page a few extra minutes, click into another round, and come back tomorrow — with almost no engineering lift on your side.

Why an embeddable word game for publishers?

The snippet

Paste this once, anywhere in your page template or a single article body:

<div class="perkul-widget" data-perkul-key="YOUR_KEY"></div>
<script src="https://perkul.com/embed.js" async></script>
<p style="font-size:0.8rem;color:#666;margin-top:0.5rem;">
  Word game powered by <a href="https://perkul.com/" target="_blank" rel="noopener">Perkul</a>
</p>

Replace YOUR_KEY with the embed key we issue you. We'll also need the exact domain(s) the widget will run on. Request one below, or email us directly at info@contact.perkul.com.

If your CMS strips <script> tags

Common on WordPress, Arc and Brightspot article bodies. Use a bare iframe instead — there is no JavaScript for a sanitiser to remove, so it survives anywhere an <iframe> tag itself is allowed:

<iframe src="https://perkul.com/embed/daily?k=YOUR_KEY"
        width="100%" height="640" style="border:0" loading="lazy"
        title="Perkul word game"></iframe>
<p style="font-size:0.8rem;color:#666;margin-top:0.5rem;">
  Word game powered by <a href="https://perkul.com/" target="_blank" rel="noopener">Perkul</a>
</p>

The iframe fallback has a fixed height because there's no script in your page to resize it — 640px comfortably fits a round in progress on a phone, and the widget scrolls internally rather than cropping.

Attribution

The one condition: a visible link back to perkul.com somewhere in the HTML of the page hosting the widget (a byline, a "powered by" note, a footer credit — any wording, any placement). This matters for a specific technical reason: Google attributes an iframe's content to the iframe's own origin, not the parent page, so a link inside the widget is a self-link to us and passes no benefit to you or from you to us. The credit line in your page's own HTML is the only link that counts as a real backlink — which is also, not coincidentally, the entire reason we ask for it.

We check the real, rendered page periodically for that link. If it's missing on every page we know about, there's a grace period before anything changes — a CMS re-render or a temporary outage on your end is not the same thing as removing the link on purpose.

Signed-in play

Anyone can play instantly as a guest — no account, unranked, zero friction. If a reader wants their result on the public daily leaderboard, they can sign in through a popup window that opens perkul.com directly (first-party, so their session cookie behaves normally). We never render a login form inside your iframe.

Frequently asked questions

How much does the Perkul widget cost?
It's free. The only condition is a visible credit link back to perkul.com somewhere on the page the widget appears on — that's the whole deal. There is no fee, no revenue share required, and no minimum traffic commitment.
Does the widget slow down my page?
The loader (embed.js) is a few kilobytes and lazy-loads the game itself only when it scrolls into view, using IntersectionObserver. Nothing loads above the fold until a reader actually reaches the widget.
Will readers need an account to play?
No. Anyone can play instantly as a guest, unranked. If a reader wants their score on the public daily leaderboard, they can sign in through a popup — never inside your iframe — and their guest attempt is claimed onto their account.
What if my CMS strips <script> tags from article bodies?
Common on WordPress, Arc and Brightspot. Use the bare <iframe> fallback instead — no JavaScript required, so there is nothing for a content sanitiser to strip. See the snippet below.
Does the widget carry ads?
Not by default. Ads inside the widget are opt-in only, for publishers on a specific revenue-share agreement — we do not unilaterally monetize a slot inside your page.
How is the credit link enforced?
It isn't enforced by the widget itself — a script running inside an iframe has no way to verify anything about the page around it, and shouldn't be trusted to. We periodically check the real page for the link server-side. There's a grace period for transient issues (a CMS re-render, a temporary outage) before anything changes.
Embed this game on your website →