Menus, previews, and other browser interactions can make a page easier to use while its content remains available without those additions. On this site, Python reads the content records and sends the article’s information and destinations as part of the page. Browser code handles the interaction around that content. That division makes it easier to keep the article useful if an optional effect fails or arrives late. Keep a clear division between the code that supplies information and the code that helps people interact with it.
Let interaction use content that already exists.
A visitor following a shared article link should receive its title, text, and useful destinations even before optional interactions are ready. Menus and visual effects can improve the experience, but the article should not disappear because a presentation script fails. A Creative tile can already contain its title, summary, and article link when the page arrives. A script can use those existing elements to open a touch preview. It should not need its own independent catalog of article titles, because that would make a correction depend on editing two sources.
Separate the information from the enhancement. This gives people on slower devices a useful starting point and makes the content easier to maintain. Choose browser behavior for a specific interaction, not as a requirement for seeing what the page is about. This approach defines what each part of the site does; other applications may need different technologies. Make those responsibilities clear enough that a developer can find the code responsible when something goes wrong.
Put it into practice.
Identify the information a visitor must receive to understand the page and reach its useful destinations. Deliver that through the established content and page system. Give each browser interaction a specific job and decide what the visitor will see if it fails. Check what remains available before the enhancement runs. Keep titles, explanations, and canonical links out of scattered script-owned copies. Add browser code when it enables an interaction people need, and have it use the article’s existing content.
What remains useful if the enhancement never arrives?