mirror of
https://github.com/screentinker/screentinker.git
synced 2026-08-13 13:53:12 -06:00
* feat(seo): enable IndexNow (key file + submission script) Instant re-crawl pings to Bing/Yandex/Seznam/Naver on content changes (Google ignores IndexNow but uses the same sitemap). Hosts the ownership key at frontend/<key>.txt (served at https://screentinker.com/<key>.txt) and adds scripts/indexnow-submit.sh which POSTs the sitemap URLs to api.indexnow.org (DRY_RUN=1 to preview). Run after a content deploy / from CI. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * feat(seo): landing-page optimization pass (schema fixes, FAQ, content depth, CWV) From a 3-way SEO audit (technical / structured-data / content). Highest-value fixes: Structured data (penalty risk + rich results): - REMOVE the fabricated aggregateRating (4.8/50) from SoftwareApplication — no visible reviews on the page = a "spammy structured markup" risk. Replace loose Offers with a proper AggregateOffer + publisher + image/screenshot. - Add a VISIBLE FAQ section (10 Q&As) so the FAQPage schema finally has on-page content (it shipped 4 Q&As with no visible counterpart — a mismatch); expand the FAQPage JSON-LD to mirror all 10. - Add a WebSite entity block; add YouTube to Organization sameAs + a description. - Fix the guides/compare BreadcrumbList position-2 target (dead /#features -> /). Content / keywords / IA: - Hero + Features subtitle rewritten to surface "digital signage software" / "digital signage CMS" / "self-host" / "free" above the fold. - New "How It Works" (3-step) and "Use Cases / Industries" (8 verticals) sections for snippet + long-tail intent. Platform tiles (Android TV / Fire TV / Raspberry Pi) now link to their guides. - FAQ answers add keyword-rich internal links to the guides + compare pages. Technical / Core Web Vitals: - Lazy-load the YouTube iframe (loading=lazy + youtube-nocookie + explicit width/height) — the top LCP/TBT win on mobile. - Title 84->~60 chars (keyword-front), meta description ~178->~156 + CTA. - <div> footer -> <footer> landmark; favicon sizes (192+512). - sitemap.xml: add <lastmod> to all 10 URLs. All JSON-LD validated (4 blocks parse; single H1; no fabricated data). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * feat(seo): open-source/what-is pillars, Xibo+Anthias compares, integrations hub [#177] Competitor-SEO gap-fill from the Yodeck/ScreenCloud/OptiSigns/Xibo teardowns. 11 new static pages + sitemap/landing/README wiring. All match the existing seo-page.css template; BreadcrumbList on every page, FAQPage (visible-backed) on guides + integration spokes. No fabricated ratings. Pillar guides: - guides/open-source-digital-signage.html (head term "open source digital signage") - guides/what-is-digital-signage.html (TOFU definitional pillar + FAQ) Comparisons (the open-source SERP Xibo/Anthias own): - compare/xibo-alternative.html (wedge: every ScreenTinker player free vs Xibo's paid Android/Tizen/webOS licences; no free plan) - compare/anthias-alternative.html (wedge: fleet + video walls + multi-platform vs one-Pi-one-screen) Integrations (OptiSigns' top tactic — one page per app): - integrations/index.html hub - google-slides / canva / power-bi (honestly framed as the universal Webpage widget, with the X-Frame-Options / publish-vs-edit-URL caveat + Power BI public-data warning) - youtube / rss / weather (native widgets) Wiring: - sitemap.xml +11 URLs (lastmod 2026-07-13) - landing.html Resources grid: 6 new cards (open-source, what-is, vs Xibo, vs Anthias, integrations hub) - README.md: keyword-rich open-source/self-hosted intro + platform list + guide links (GitHub-SERP asset) - docs/seo-directory-listings.md: off-repo G2/Capterra/AlternativeTo/awesome-selfhosted/fingoweb submission checklist + reusable kit Validated: all JSON-LD parses, canonicals match paths, 0 broken internal links, sitemap well-formed (21 URLs). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
167 lines
12 KiB
HTML
167 lines
12 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>How to Put Google Slides on Digital Signage (2026) | ScreenTinker</title>
|
|
<meta name="description" content="Show a Google Slides deck on digital signage. Publish the slideshow to the web, paste the published URL into ScreenTinker's Webpage widget, and let it auto-advance on any screen. Step-by-step guide.">
|
|
<meta name="keywords" content="google slides digital signage, google slides on tv, google slides signage, publish google slides to web, google slides embed signage, google slides kiosk">
|
|
<meta name="robots" content="index, follow">
|
|
<link rel="canonical" href="https://screentinker.com/integrations/google-slides-digital-signage.html">
|
|
|
|
<meta property="og:type" content="article">
|
|
<meta property="og:url" content="https://screentinker.com/integrations/google-slides-digital-signage.html">
|
|
<meta property="og:title" content="How to Put Google Slides on Digital Signage (2026)">
|
|
<meta property="og:description" content="Publish a Slides deck to the web and paste the URL into ScreenTinker's Webpage widget to auto-advance it on any screen.">
|
|
<meta property="og:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
|
<meta property="og:site_name" content="ScreenTinker">
|
|
|
|
<meta name="twitter:card" content="summary_large_image">
|
|
<meta name="twitter:title" content="How to Put Google Slides on Digital Signage (2026)">
|
|
<meta name="twitter:description" content="Publish a Slides deck to the web and paste the URL into ScreenTinker's Webpage widget to auto-advance it on any screen.">
|
|
<meta name="twitter:image" content="https://screentinker.com/assets/dashboard-preview.png">
|
|
|
|
<meta name="theme-color" content="#111827">
|
|
<link rel="icon" href="/assets/icon-192.png">
|
|
<link rel="apple-touch-icon" href="/assets/icon-192.png">
|
|
<link rel="stylesheet" href="/css/seo-page.css">
|
|
</head>
|
|
<body>
|
|
<nav>
|
|
<div class="nav-inner">
|
|
<div class="nav-logo">
|
|
<a href="/" style="display:flex;align-items:center;gap:10px">
|
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg>
|
|
<span class="nav-logo-text">ScreenTinker</span>
|
|
</a>
|
|
</div>
|
|
<div class="nav-links">
|
|
<a href="/#features">Features</a>
|
|
<a href="/#pricing">Pricing</a>
|
|
<a href="/#compare">Compare</a>
|
|
<a href="/app#/login" class="btn btn-outline" style="margin-left:16px">Sign In</a>
|
|
<a href="/app#/login" class="btn btn-primary" style="margin-left:8px">Try Free</a>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
<main class="article">
|
|
<nav class="breadcrumb" aria-label="Breadcrumb">
|
|
<a href="/">Home</a>
|
|
<span>/</span>
|
|
<a href="/integrations/">Integrations</a>
|
|
<span>/</span>
|
|
<span>Google Slides</span>
|
|
</nav>
|
|
|
|
<h1>How to put Google Slides on a digital signage screen</h1>
|
|
<p class="lead">ScreenTinker does not have a dedicated "Google Slides app" - and it does not need one. Google Slides can publish a deck to the web, and ScreenTinker's universal Webpage widget can display that published URL on any screen, auto-advancing through the slides on a loop.</p>
|
|
|
|
<h2>The short version</h2>
|
|
<p>In Google Slides, go to <strong>File → Share → Publish to web → Embed</strong>, set the auto-advance interval, and copy the published URL. In ScreenTinker, add a <strong>Webpage</strong> widget, paste that URL, drop the widget into a playlist, and assign the playlist to a screen. That is the whole integration.</p>
|
|
|
|
<h2>Step by step</h2>
|
|
<ol>
|
|
<li><strong>Open your deck</strong> in Google Slides and choose <strong>File → Share → Publish to web</strong>.</li>
|
|
<li><strong>Switch to the "Embed" tab.</strong> Pick how fast slides should advance (for example, every 5 seconds) and tick <em>Auto-advance</em> and <em>Restart the slideshow after the last slide</em> so it loops forever.</li>
|
|
<li><strong>Click Publish</strong> and confirm. Copy the published URL from the embed snippet - it is the <code>src</code> value that looks like the one below, <em>not</em> your normal editing link.</li>
|
|
<li><strong>In ScreenTinker, add a Webpage widget.</strong> Open your dashboard, create or edit a playlist item, and choose the <strong>Webpage</strong> widget type.</li>
|
|
<li><strong>Paste the published URL</strong> into the widget's URL field and save.</li>
|
|
<li><strong>Add the widget to a playlist</strong> and set its duration to at least one full loop of the deck.</li>
|
|
<li><strong>Assign the playlist to a screen.</strong> The player pulls the published deck and it starts advancing on the wall.</li>
|
|
</ol>
|
|
<p>A published Slides embed URL looks like this:</p>
|
|
<pre><code>https://docs.google.com/presentation/d/e/2PACX-xxxxxxxx/pubembed?start=true&loop=true&delayms=5000</code></pre>
|
|
|
|
<h2>Getting the right URL</h2>
|
|
<p>This is the step that trips people up. Google Slides has several URLs and only one of them will embed:</p>
|
|
<ul>
|
|
<li><strong>The /edit URL</strong> (ends in <code>/edit</code>) is your working document. It requires a Google login and refuses to be framed - it will <em>not</em> show up in the Webpage widget.</li>
|
|
<li><strong>The /present URL</strong> (ends in <code>/present</code>) is presenter mode and also blocks framing.</li>
|
|
<li><strong>The published URL</strong> from <em>Publish to web</em> (contains <code>/pub</code> or <code>/pubembed</code>) is the only one that permits embedding. Always use this one.</li>
|
|
</ul>
|
|
<p>The reason is <code>X-Frame-Options</code> / <code>frame-ancestors</code>: any page that sends those headers to deny framing cannot be shown in an iframe, and ScreenTinker's Webpage widget is an iframe. The published URL is served without that restriction specifically so it can be embedded. If your slides do not appear, the URL is almost always the cause.</p>
|
|
|
|
<h2>Auto-advance and refresh tips</h2>
|
|
<ul>
|
|
<li><strong>Set the pace in Slides, not ScreenTinker.</strong> The <code>delayms</code> parameter in the published URL controls how long each slide holds. Adjust it by re-publishing with a different interval, or edit the <code>delayms</code> value directly in the URL (milliseconds).</li>
|
|
<li><strong>Keep <code>loop=true</code></strong> so the deck restarts after the last slide and never goes blank.</li>
|
|
<li><strong>Give the playlist item enough time.</strong> Set the Webpage widget's on-screen duration to at least the length of one full loop so viewers see every slide.</li>
|
|
<li><strong>Content updates are automatic-ish.</strong> When you edit the source deck, Google re-publishes changes to the published URL within a short window (usually a few minutes), so the sign updates without touching ScreenTinker.</li>
|
|
</ul>
|
|
|
|
<h2>FAQ</h2>
|
|
|
|
<h3>Why won't my Google Slides link show up on the screen?</h3>
|
|
<p>You almost certainly pasted the <code>/edit</code> or <code>/present</code> URL. Those require a login and block framing. Go back to <strong>File → Share → Publish to web</strong> and copy the published <code>/pubembed</code> URL instead.</p>
|
|
|
|
<h3>Do viewers need a Google account to see the deck?</h3>
|
|
<p>No. A published-to-web deck is public and renders without any login, which is exactly why it works on an unattended signage player.</p>
|
|
|
|
<h3>Can I make the slides advance automatically?</h3>
|
|
<p>Yes. Enable auto-advance when you publish and set the interval; the <code>delayms</code> and <code>loop</code> parameters in the published URL handle timing and looping.</p>
|
|
|
|
<h3>Will the sign update when I edit the deck?</h3>
|
|
<p>Yes, on a short delay. Google re-publishes edits to the published URL automatically, so the screen picks up changes without any change in ScreenTinker.</p>
|
|
|
|
<h3>Is there a native Google Slides widget?</h3>
|
|
<p>No - this uses the universal Webpage widget with the deck's published URL. That is the supported and reliable way to show Slides on ScreenTinker.</p>
|
|
|
|
<div class="related">
|
|
<h2>Related guides</h2>
|
|
<ul>
|
|
<li><a href="/integrations/">All digital signage integrations</a></li>
|
|
<li><a href="/integrations/canva-digital-signage.html">Display Canva designs on digital signage</a></li>
|
|
<li><a href="/integrations/power-bi-digital-signage.html">Power BI dashboards on digital signage</a></li>
|
|
<li><a href="/guides/what-is-digital-signage.html">What is digital signage?</a></li>
|
|
<li><a href="/guides/self-hosted-digital-signage.html">Self-hosted digital signage: complete guide</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="cta">
|
|
<h2>Try ScreenTinker free</h2>
|
|
<p>Add a Webpage widget, paste your published deck, and see it on a screen in minutes. Free plan, no credit card required.</p>
|
|
<a href="/app#/login" class="btn btn-primary" style="padding:14px 28px;font-size:16px">Start Free</a>
|
|
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener" class="btn btn-outline" style="padding:14px 28px;font-size:16px;margin-left:12px">View on GitHub</a>
|
|
</div>
|
|
</main>
|
|
|
|
<footer>
|
|
<div style="color:var(--dim);font-size:13px">© 2026 ScreenTinker. All rights reserved.</div>
|
|
<div class="links">
|
|
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener">GitHub</a>
|
|
<a href="https://discord.gg/utTdsrqq4Z" target="_blank" rel="noopener">Discord</a>
|
|
<a href="/legal/terms.html">Terms</a>
|
|
<a href="/legal/privacy.html">Privacy</a>
|
|
<a href="/legal/third-party.html">Licenses</a>
|
|
<a href="/app#/login">Sign In</a>
|
|
</div>
|
|
</footer>
|
|
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "BreadcrumbList",
|
|
"itemListElement": [
|
|
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://screentinker.com/" },
|
|
{ "@type": "ListItem", "position": 2, "name": "Integrations", "item": "https://screentinker.com/integrations/" },
|
|
{ "@type": "ListItem", "position": 3, "name": "Google Slides", "item": "https://screentinker.com/integrations/google-slides-digital-signage.html" }
|
|
]
|
|
}
|
|
</script>
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "FAQPage",
|
|
"mainEntity": [
|
|
{ "@type": "Question", "name": "Why won't my Google Slides link show up on the screen?", "acceptedAnswer": { "@type": "Answer", "text": "You almost certainly pasted the /edit or /present URL. Those require a login and block framing. Go back to File > Share > Publish to web and copy the published /pubembed URL instead." } },
|
|
{ "@type": "Question", "name": "Do viewers need a Google account to see the deck?", "acceptedAnswer": { "@type": "Answer", "text": "No. A published-to-web deck is public and renders without any login, which is why it works on an unattended signage player." } },
|
|
{ "@type": "Question", "name": "Can I make the slides advance automatically?", "acceptedAnswer": { "@type": "Answer", "text": "Yes. Enable auto-advance when you publish and set the interval; the delayms and loop parameters in the published URL handle timing and looping." } },
|
|
{ "@type": "Question", "name": "Will the sign update when I edit the deck?", "acceptedAnswer": { "@type": "Answer", "text": "Yes, on a short delay. Google re-publishes edits to the published URL automatically, so the screen picks up changes without any change in ScreenTinker." } },
|
|
{ "@type": "Question", "name": "Is there a native Google Slides widget?", "acceptedAnswer": { "@type": "Answer", "text": "No - this uses the universal Webpage widget with the deck's published URL. That is the supported and reliable way to show Slides on ScreenTinker." } }
|
|
]
|
|
}
|
|
</script>
|
|
</body>
|
|
</html>
|