BlogKovo

The HTML5 Game Catalog Quality Checklist: 25 Things to Test Before Publishing

October 13, 2026 · 8 min read
The HTML5 Game Catalog Quality Checklist: 25 Things to Test Before Publishing

Most embed problems are boring and preventable. The frame is blank because of a security header. The game is tiny because the frame has the wrong shape. The page has no description because nobody wrote one. A checklist catches these before your visitors do.

This one has 25 checks in four groups. Each tells you how to test, what a failure means and what to do. Copy the tables into a spreadsheet and score every game. Afterwards you will find a sample audit of four real catalog games, in which we separate what was checked by a script from what still needs a person with a phone.

Group 1: Technical (8 checks)

#CheckHow to testIf it fails
1The embed address returns HTTP 200Open it directly in a browser tabThe game is broken or removed. Check the feed, then replace it
2The embed address does not redirectCompare the address you typed with the final addressThe game has moved. Use the address in the feed
3The provider allows framingThe frame renders on a test page. For a quick header check, look for X-Frame-Options or a restrictive frame-ancestors policyBlank frame. Contact the provider
4Your own security policy allows the frameOpen the console and look for blocked-frame messagesAdd frame-src https://playkovo.com to your policy
5The allow attribute is intactCompare your code to the default codeControls or sound will break. Restore fullscreen, autoplay, gamepad and pointer lock
6The frame loads lazilyScroll the page with the network panel openThe page loads slowly. Restore loading="lazy"
7No referrerpolicy="no-referrer"Read your embed codeThe provider cannot recognise your domain and statistics suffer. Remove it
8No script errors from your own pageCheck the console after loadYour site code is clashing with the frame. Fix or remove the offending script

Group 2: User experience (7 checks)

#CheckHow to testIf it fails
9No sideways scroll at 360 pixels wideResize the window or use a phoneThe frame or a wrapper is too wide. Make the container responsive
10The frame matches the game's orientationCompare the feed's orientation field with your frameThe game looks small. Use the 9:16 frame for portrait games
11The game can be played with a thumbPlay one round on a phoneHide the game from mobile or choose another
12The page still scrollsDrag inside the frame, then scroll the pageA scroll trap. Test for overlays, change layout or pick a different game
13Fullscreen worksPress the fullscreen optionCheck the allow attribute and the browser's behaviour
14Sound starts after the first tapStart a round with sound onBrowsers hold autoplay until a user gesture. Make sure the player knows to tap first
15A loading state or fallback is visibleThrottle the connection and reloadThe visitor sees a void. Add the thumbnail and a short message

Group 3: Safety (5 checks)

#CheckHow to testIf it fails
16Permission is recordedThe game appears in the provider's embed feed. You saved the date and termsDo not publish until it is recorded
17No overlay on the frameInspect the page for transparent layersOverlays are banned by the Partner Terms. Remove them
18No unexpected redirects or pop-upsPlay for five minutes with the network panel openRemove the game and tell the provider
19Credits and branding are untouchedLook at the page and the frameYou may not hide the PlayKovo brand or credits. Restore them
20The page around the game is within the termsReview surrounding contentContent that is illegal, pirated, adult or hateful breaks the Partner Terms. Remove it

Group 4: Content quality (5 checks)

#CheckHow to testIf it fails
21The title and description are your ownCompare to the feed textDuplicate copy adds nothing. Write two sentences in your own words
22Controls are explained on the pageRead the page without playingVisitors give up. Add a short controls note from the feed
23The thumbnail loads and has alt textOpen the image address and inspect the HTMLAdd the image or fix the address
24Desktop-only games are labelledLook at the feed's device fieldMobile visitors tap and get nothing. Add a clear note
25The game is on your inventory with a feed-check dateOpen your audit sheetYou will not notice a removal. Add it

Sample audit: four catalog games

We ran the checks that a script can run on 13 October 2026, and we marked everything that needs a person as not tested. This is a small audit and does not replace your own.

CheckHelix JumpMinesweeper KovoLumira: Word Puzzle GameUnderrun
1 HTTP 200 on embed addressPassPassPassPass
2 No redirectPassPassPassPass
3 Framing allowedPassPassPassPass
5 Default allow list in the feed codePassPassPassPass
21 Feed has a description1,122 characters524 characters1,832 characters818 characters
22 Feed has controls textYesYesYesYes
23 Thumbnail address loadsPass (WebP, about 23 KB)Pass (WebP, about 13 KB)Pass (WebP, about 24 KB)Pass (WebP, about 47 KB)
24 Device declarationAll devices, portraitAll devices, either orientationAll devices, portraitDesktop only, landscape
16 Listed in the embed feedPassPassPassPass
Needs a person: 4, 6 to 8, 9 to 15, 17 to 20Not testedNot testedNot testedNot tested

What the sample tells us:

  • All four are in good shape technically. The embed addresses respond, framing is allowed and the feed carries a description, controls text and a thumbnail for each.
  • Underrun fails check 24 by default. It is declared desktop only, so a mobile visitor needs a clear warning or should not see it at all.
  • Helix Jump and Lumira need check 10. Both are portrait, while the default frame is landscape, so pick the vertical frame.
  • Minesweeper Kovo is the most flexible. It is declared for either orientation, so it suits the default frame.
  • Nothing here is a play-test. Checks 9 to 15 and 17 to 20 are about how a game behaves in a real browser on a real phone. We marked them "not tested" because we did not run them.

Underrun is the game that fails check 24 by default. Start it and look at its badges: Desktop is supported, Mobile is not.

Try it live · PlayKovo catalog

Fight through a hacked facility as a lone hacker-soldier, gunning down rogue spider-bots and sentries while rebooting every CPU to unlock the exit and reach the next level.

How to run the checklist

  1. Run checks 1 to 3, 21, 23 and 24 with a script against the feed (https://playkovo.com/api/embed-games?format=json). They are quick and repeatable.
  2. Run checks 4 to 8 once per page template and again after any theme or plugin change.
  3. Run checks 9 to 15 and 17 to 20 by hand on a phone and a laptop for every new game.
  4. Keep the table, with dates, in your records.
  5. Rerun the whole list when you change your theme, your security policy or your embed code.

Scoring

Give each check one point for pass and zero for fail or not tested. A game with 23 or more can go live. A game with 20 to 22 needs fixes first. A game below 20 should wait or be replaced. These are our suggested cut-offs, not an industry standard, and a failure in the safety group should block publication regardless of the total.

The takeaway

A checklist is only as honest as the "not tested" cells you are willing to write. Run what you can automatically, test the rest on real hardware, and keep the table so you can show your work.

Related Posts

For website ownersAdd games to your website