GitHub’s own rules draw a line around business use
The GitHub Pages limits page says Pages is not meant to be a free host for running an online business, an e-commerce site or a commercial SaaS, and shouldn’t handle sensitive data like passwords or card numbers. Here’s how that plays out for common sites.
Pages is not to be used as “a free web-hosting service to run your online business”
From GitHub Pages limits, GitHub Docs. The same section adds e-commerce and commercial SaaS sites.GitHub Pages’ spec sheet next to Fylo’s
GitHub’s limits are generous for a docs site. They’re built around repositories and builds, not around the people running a website.
GitHub figures from GitHub Pages limits and GitHub’s plans page, checked 9 Nov 2026. The 10-builds limit doesn’t apply when you deploy with a custom GitHub Actions workflow.
The visual editor GitHub Pages never had
Pages opens your uploaded site and lets you change it like a document. Your developer builds the site once. After that, the marketing lead fixes copy, the owner swaps photos and the intern adds a new service page without touching a repository.
- Edit any existing page in place: headings, paragraphs, links, images and video embeds.
- New pages in seconds. Duplicate a page you like, or start blank with your site’s header and footer already in place.
- Drafts, Published and Trash, like WordPress. Nothing goes live until you press Publish.
- SEO built into every page: editable title, URL and description, live SEO checks, and a sitemap and Markdown copy that update on publish.
- Paste HTML when you need to. The code view and file editor are still there for developers.
Bookkeeping for small studios
Monthly books, GST filing and a call every quarter. Plans start at ₹2,999 a month.
Book a free 20-minute call and we’ll look at last year’s numbers together.
A contact form that works without Formspree
GitHub Pages can’t run server code, so every contact form on it posts to a third-party service, with another account, another dashboard and often another bill. On Fylo the form, the spam filter and the inbox are part of the hosting.
- Paste one snippet into your page, or let your AI agent add it.
- Leads land in the dashboard and your inbox, with CSV export when you need a spreadsheet.
- Spam filtering plus an optional maths captcha. Only real leads count toward your quota.
- 1,000 leads a month on Pro and 3,000 on Business.
<form method="POST" action="https://fylo.host/api/forms/fk_…">
<!-- hidden spam traps -->
name · email · message · optional captcha
</form>
Who on your team can do each job?
A feature list tells you what a host can do. This table tells you who has to be in the room for each job.
| The job | On GitHub Pages | On Fylo.Host |
|---|---|---|
| Fix a typo or a price | developerEdit, commit, push, wait for the build | anyoneClick, type, Publish in Pages |
| Add a new service page | developerNew file or Jekyll layout, then a build | anyoneDuplicate a page, or start blank with your header and footer |
| Publish a blog post | developerMarkdown in _posts/ with front matter | anyoneRich-text editor with categories, authors, comments and RSS |
| Collect enquiries | 3rd-partySign up for a form service | anyoneForms and a leads inbox are built in (Pro+) |
| See who visited | 3rd-partyAdd an analytics script and its cookie banner | anyonePages, referrers and countries in the dashboard |
| Make the site fast | developerCompress images and minify by hand or in CI | automaticWebP, font subsetting, minification and lazy loading on paid plans |
| Get indexed and cited by AI | developerjekyll-sitemap, plus writing llms.txt yourself | automaticsitemap.xml, robots.txt, llms.txt, schema and .md copies on publish |
| Find broken links | developerA link-checker action you set up | automaticScanned after every upload, with a one-click fix |
| Undo yesterday’s mistake | developergit revert and rebuild | anyoneRestore a version from the site menu |
| Hand the site to a client | developerTeach them git, or stay on call | anyoneGive them the dashboard login |
You can still automate everything
Moving the website off GitHub Pages doesn’t mean giving up scripts. The code can stay in your repo, and the deploy becomes an API call or an agent command.
REST API, on every plan
Create a key in Settings → API. Send one HTML page, or a whole multi-file site as a files[] array. A PUT updates the same URL.
curl -X POST https://fylo.host/api/v1/sites \
-H "Authorization: Bearer $FYLO_KEY" \
-d '{"html":"<!doctype html>..."}'
Coding agents and chat apps
Install the Fylo skill in Claude Code, Codex or Cursor and say “publish this folder.” In Claude or ChatGPT, add the MCP connector for 23 tools covering sites, versions, blog posts, forms, analytics, speed and domains.
npx skills add raviblogger/fylo-host-skill --skill fylo -g
# chat apps (MCP)
https://fylo.host/mcp
Keep GitHub Pages for code. Move the business.
Stay on GitHub Pages if
- The site documents code that already lives in a public repository.
- Everyone who edits it is comfortable with git and pull requests.
- It has to be free, and a public repo is fine.
- You rely on Jekyll themes or a docs generator that builds from Markdown in the repo.
- Nobody needs forms, a leads inbox or a non-technical editor.
Move to Fylo if
- It’s a business, client or product site that sells, books or captures leads.
- People without git need to edit pages, publish posts or swap images.
- You want enquiries, analytics and a blog in the same dashboard as the site.
- You care about Core Web Vitals and showing up in Google and AI answers, without writing the plumbing yourself.
- Your source files and drafts shouldn’t be public.
Moving off GitHub Pages without broken links
The usual problems are uploading source instead of the built site, a leftover /repo/ base path, and DNS that still points at GitHub. Here’s how to avoid each one.
Upload output, not source
Plain HTML repo: on GitHub, use Code → Download ZIP. Static generator: build locally and upload the output folder.
bundle exec jekyll build
# Hugo → upload public/
hugo --minify
Drop the /repo/ prefix
Project sites live at username.github.io/repo/, so assets often load from /repo/css/.... On your own domain that path doesn’t exist.
- Jekyll: set
baseurl: ""andurlto your domain in_config.yml - Hugo: set
baseURLto your domain - Then rebuild before you zip
Upload, then let Fylo find what broke
Start the trial and drag the folder or ZIP into the dashboard. It goes live on a fylo.live address for testing. Then run Fix Broken URLs from the site menu to catch links still pointing at github.io or the old base path. The CNAME and .nojekyll files from your repo are harmless and can stay.
Swap GitHub’s records for Fylo’s
In the repo, open Settings → Pages and remove the custom domain. At your registrar, delete the A records pointing at GitHub (185.199.108.153 to .111.153) and the www CNAME to github.io. Then add the records Fylo shows under Domains. SSL is issued automatically.
Keeping the old github.io link alive? Replace the repo’s index.html with a small page that has a canonical link and a meta refresh pointing at your new domain, so old bookmarks still land somewhere useful.
What GitHub Pages users ask us
files[] array), the Fylo skill for coding agents, or the MCP connector. API keys are available on every plan._site/ for Jekyll, public/ for Hugo) rather than the source. Fylo serves static files and doesn’t run the generator. Set the base URL to your domain before building so asset links resolve.index.html with a page that has a canonical link and a meta refresh to your new domain.Your code stays on GitHub.
Your website gets a whole team.
A visual editor, a leads inbox, a blog, auto-SEO and auto-speed, live in minutes.
Start free trial 7 days · no card · custom domain included · 7-day money-back on every plan