USE CASE

GitHub Pages chatbot added through the site’s Jekyll layout

A GitHub Pages site has no settings for scripts, so a chatbot goes in its Jekyll layout, _layouts/default.html, and answers from the published pages.

Published

GitHub Pages is static hosting that turns files in a repository into a website. It builds the site with Jekyll unless you tell it otherwise. Deacon answers visitors from the pages that build publishes.

The layout every page is built from

Jekyll wraps each page in a layout, and a theme ships its own. GitHub’s guide to adding a theme shows how to take it over.

  1. Put your github.io address, or your own domain, on Deacon’s Install page, then take the snippet from the same page.
  2. Find your theme’s default layout, copy its contents, and create _layouts/default.html in your repository with them.
  3. Paste the snippet just before the closing body tag.
  4. Push the change to the branch your site publishes from.

A change can take up to 10 minutes to appear, according to GitHub’s guide to creating a Pages site. GitHub’s Minimal theme has a shorter route. The Minimal theme’s default layout pulls in _includes/head-custom.html. The theme’s own copy of that file loads its Google Analytics include. Copy it into your repository and add the snippet to the copy, and every page carries both.

A page written in plain HTML that skips the layout will not carry the snippet. Check any of those by hand. The install guide shows how to tell when Deacon has gone live.

The addresses to put on Deacon’s list

A site lives at owner.github.io, or owner.github.io/repository for a project site. It can have a custom domain as well. Project sites share their owner’s address, so one entry on Deacon’s Install page covers each of them that carries the snippet. With a custom domain, list that as well.

Deacon stays silent on any domain missing from that list. Every site on the list draws on the same allowance, 50 answers a month on the free plan.

HTTPS and scripts over plain HTTP

Sites on github.io created after 15 June 2016 are served over HTTPS automatically. Enforce HTTPS, in the repository’s Pages settings, sends every plain HTTP visit to HTTPS. GitHub’s page on HTTPS warns about mixed content, an HTTPS page that still loads a script, style or image over plain HTTP. The fix is to use https:// in your HTML.

Deacon’s snippet loads over HTTPS, so it adds none.

What GitHub does not allow on Pages

GitHub Pages is free for public repositories. Private ones need GitHub Pro, Team or Enterprise. GitHub’s page on Pages limits, read on 19 September 2026, rules out running an online business or a shop on it. Sites mainly for commercial transactions, or for software sold as a service, are ruled out too.

The same page caps a site at 1 GB, with soft limits of 100 GB of bandwidth a month and 10 builds an hour. The build limit does not apply to a site published with your own GitHub Actions workflow. A store belongs on another host. Our page on Shopify covers installing Deacon there.

Try it on your own documentation

Add your help pages, ask it the question you know your docs cannot answer, and watch it say so.

The free plan covers 50 answers a month on one seat, and the paid plans are on the pricing page.

Start free

Free plan, no card.

READ NEXT