Website Deployment / Platform Selection

Where Should You Put an AI-Built Website? GitHub Pages vs. Vercel

Both are free, both support custom domains, the differences become apparent after three months of use.

What This Article Is About

People who don't know how to code can now create a website in a few minutes with AI. After completing the website, they often face the same problem: where should they put it so that others can see it? The two most common free options are GitHub Pages and Vercel. This article will give you three judgment questions, then demonstrate a four-layer configuration to help you decide, and finally attach a complete table of quotas and cost queries.

Who is this for

  • People who have used AI to create a website and don't know which platform to choose
  • Those who are already using one but are unsure if the other is more suitable
  • People who create courses, take on projects, or offer consulting, and have some content they only want specific people to see, running a one-person company

What you will get

  • Three judgment questions, follow them to know which one to choose
  • A four-layer configuration classification method, which you can directly copy
  • Six methods of access control, arranged by 'who you want to see it', including actual costs
  • A copyable prompt, letting AI help you inventory all the pages you have

A specific question

You ask AI to help you create a website. It could be a registration page for a course, a proposal for clients, or your portfolio.

The files are done and on your computer. The next question is: How can others access it?

Searching for 'free website space' will bring up dozens of platforms, each claiming to be the simplest. For the context of 'using AI to create a website', the mainstream options are GitHub Pages and Vercel. Both are free, both support custom domains, both have automatic HTTPS, and AI is very good at operating them.

The difference lies in the details, and those details will surface after you've used it for three months.

First, understand four terms, which will be used later.

Both platforms use their own names to refer to the scheme level. It might feel a bit confusing at first. Let's compare them:

The name you will seePlain languagePrice
Vercel HobbyVercel's Free version0 yuan
Vercel ProVercel's Paid versionStarting at 20 USD per month
GitHub FreeGitHub's Free version0 yuan
GitHub ProGitHub's Personal paid version4 USD per month
Enterprise / Enterprise CloudBoth sides'Enterprise version For company team useCustom pricing or per-person billing

"Included in Hobby" means the free tier has it, while "Pro required" means it is paid.

First make three judgments

Free quotas are usually not the first threshold. Publicity, commercial use, and future features will truly change the choice.

01 Who can see it?

Fully public, reduced exposure, or only for authorized users?

02 Is it for commercial use?

For projects, paid courses, and business websites, you need to check the plan terms first.

03 What features do you want to add in the future?

Pure display pages, or may add forms, backend, and member functions?

The answers to these three questions decide everything. Below, first look at how to layer it, then look at the technical details of each layer.

Four-layer configuration: How I divide them

I currently have over forty websites online, divided into four layers based on content sensitivity. This method you can directly copy.

Layer 1 | Fully public

GitHub Pages

Suitable for: Portfolio, demo, open-source skill package description

Features: Public, long-term static, convenient to share. It's fine if the source code is also public.

Layer 2 | Reduce Exposure

Semi-Private Vercel

Suitable for: Delivery page containing names, meetings, and pricing

Method: Use a random URL, noindex, and Disallow in robots.txt together

This layer reduces the probability of being discovered, but does not establish real access control.

Layer 3 | Active Publicity

Public Website Vercel

Suitable for: Brand website, public articles, service introduction

Objective: Allow search engines and AI to find, understand, and cite, with no restrictions noindex

Layer 4 | No Publication

Completely stay on local machine

Suitable for: Revenue sharing negotiations, internal evaluations, sensitive strategies

Some content does not need to be deployed on a platform. Staying on local machine is a clear security decision.

The fourth layer is critical. Rather than putting sensitive content online and then trying to protect it, first determine whether it should be online.

I have also done a layering approach in the knowledge base.

Three common misunderstandings about permissions.

Before layering, first dispel the three most commonly misunderstood concepts. I myself have misunderstood these things.

Misunderstanding one.

“Adding noindex makes it private”.

Google's official documentation states clearly: noindex Only let the page not appear in search results. People who know the URL can still open it directly.

Misunderstanding Two

“Paid GitHub Pro means the website is no longer public”

The private repository of GitHub Pro (paid version) hides source code After publishing the website, it is still public by default. To make the website itself accessible only to authorized users, you need the Enterprise Cloud version.

Misunderstanding Three

“Vercel free version has account verification”

The free version of Vercel Authentication only protects the preview URL The formal website address you provided is not within the protected scope.

The common point is: 'Not being searchable' and 'Others cannot enter' are two different things.

Who do you want to be able to enter this website?

Pick a card based on the actual access scope you need. The cost is the number found in the official documentation as of 2026-07-28.

As long as you reduce search exposure

Method: Both sides can be set noindex

Cost: 0 dollars

Protected scope: Search engines find it more difficult, but people who know the address can still enter

Only share the test version with a small number of people

Method: Vercel Authentication, or a free version's one Shareable Link

Cost: 0 dollars

Protected scope: Only handles preview, the formal website address needs to be evaluated separately

Only want to hide the source code

Method: GitHub Pro (paid version) private repository

Cost: GitHub Pro paid version, $4 per month

Protected scope: Only code is hidden, website remains public

Official website requires password

Method: Vercel Pro (paid version) with Advanced Deployment Protection add-on

Cost: Minimum $170 ($20 Pro + $150 add-on)

Protected scope: True access control, only those with password can enter

Website is limited to specific members

Method: GitHub Pages private release

Cost: Enterprise Cloud version, starting at $21 per user per month

Protected scope: True access control, limit to repo members

No one should see it

Method: Do not deploy, leave it on the local machine

Cost: 0 dollars

Protected scope: The most thorough, yet most often overlooked option

One-person company should first read this section: commercial use terms

The terms of use for Vercel's free plan (Hobby) state that it is only allowed for personal, non-commercial use. The official pricing page and terms state that commercial use, taking on clients, paid services, and business websites should use the paid Pro plan, starting at $20 per month.

This rule is not related to traffic. Even if your site has only a few visits per month, if the use is commercial, it is already in violation.

GitHub Pages also has similar boundaries. The official statement clearly states that it is not allowed to use it as a free host to operate a website mainly used for commercial transactions, e-commerce, or commercial SaaS.

Another practical risk: When the free plan of Vercel exceeds the quota, the official handling method is to pause all new and existing deployments for the account, usually requiring 30 days to recover, and you cannot purchase a small amount of additional traffic. On the day when traffic suddenly spikes, your site will go offline entirely, with no option to resolve it by paying.

What kind of growth each platform is suitable for

GITHUB PAGES Stable, but needs to be public

GitHub was originally a place for engineers to store code, and Pages is an additional feature: turning your folder directly into a website.

Behind it is Microsoft, and the free plan has not undergone major changes for years, making it suitable for placing things that are unlikely to change in the long term.

Limitations come from origin. Its core is 'publicly sharing code', so the free plan requires your files to be public. Purely static, no backend.

VERCEL Fast and flexible, but the terms are stricter.

A deployment platform for modern websites. Servers are available globally, and connections to Taiwan are fast.

Not only can it host static websites, it also supports Serverless Functions. In the future, you can add login, forms, and member functions.

Limitations are in terms and quotas. The free plan has clear usage restrictions, and the handling of exceeding limits is more rigid.

What both sides can do now and where they can grow in the future.

What you want to do.GitHub PagesVercel
Place purely display websites.Can.Can.
Source code not public.The free plan cannot do this.Can (free version is limited to personal account repos).
Add forms and backend processing.Cannot.Can (Serverless Functions).
Future addition of login and membership.Cannot.There is space.
Leave it for several years without maintenance.Most suitableYes, but note the limits and terms
Commercial use (taking on projects, selling courses)Not allowed to be the main transaction websiteFree version not allowed, need paid version
How can someone who doesn't write code design an entire system, I have written about it separately

Free quota quick reference table

This table is used after the previous judgments are completed. Confirmed by checking the official documentation on 2026-07-28.

ProjectGitHub Pages (free version)Vercel Hobby (free version)
Website sizeNo more than 1 GBNo separate limit
Monthly traffic100 GB (soft upper limit)100 GB Fast Data Transfer
Still exists, but the plan document page is no longer prominently listed
Edge Requests (main criterion)Not applicable1 million requests/month
Function InvocationsNot applicable (no backend)1 million invocations/month
Can create several projectsNo project number limit200
Deployment times10 times/hour (soft limit)32 times/hour, 100 times/day deployment
Custom domainSupported, including apex and subdomainsMaximum of 50 per project
Automatic HTTPSSupportedSupported
Source code openFree plan must be openCan use private repo (free plan limited to personal account owned)
Dynamic featuresPurely static, no backendSupports Serverless Functions
What if there is overage?It may stop providing service or send an email suggesting to switch servicesPause all new and existing deployments for the account, usually for 30 days, cannot purchase additional

Vercel now monitors traffic and 'Edge Requests' simultaneously

This is a change starting in April 2024, where the original model that mainly monitored bandwidth was split into multiple independent metrics such as Fast Data Transfer, Edge Requests, Function Invocations, etc., each measured separately. The reason is to optimize each resource separately and bill based on actual usage.

The actual impact on free users is: You now have two potential limits that may be reached first. Moreover, Vercel's pricing page highlights Edge Requests prominently and does not list bandwidth, making it easy for people to think that the bandwidth limit has been removed. The bandwidth limit is still in place, and you have to go to the pricing page to see it.

MetricsFree tier limitsWhat kind of website will hit these limits first
Fast Data Transfer (traffic)100 GB/monthLarge files: videos, PDFs, high-resolution originals, large downloads
Edge Requests (request count)1 million requests/monthMany small files: large numbers of JS chunks, images, API polling, and crawler detection
Function Invocations1 million invocations/monthWebsites with backend logic
Can create several projects200People who use AI to mass-produce websites
What is Edge Request

Each file request arriving at Vercel counts as one. A single page load usually involves ten to twenty requests, because HTML, CSS, JS, each image, and each font counts as one.

How much is 1 million requests

Estimated at 20 requests per load, about 50,000 cold loads. But this is request capacity conversion, not equal to the number of visitors, the actual number is greatly affected by caching, pre-fetching, and crawlers.

How to check how much you've used

Vercel backend Usage page You can see the cumulative usage for the month. Both lines need to be checked, don't focus only on one of them.

How the excess is handled: The free plan has no buffer for small additional charges. After most monthly resources are exceeded, related functions or projects may be temporarily suspended, usually requiring 30 days or upgrading. Note that deploying 100 times per day is Another different limitation, after hitting it, it recovers after one day, not 30 days.

Regarding long-term stability, there are many unfounded claims in the industry. Here is a honest explanation: GitHub Pages has not found any official announcements about reducing the free quota between 2023 and 2026. This can only be stated as 'no record of reduction', not 'guaranteed not to change'. The common claim about Vercel's 'reduction of the free quota in 2023' has no official announcement. The change in 2023 was the Pro Function timeout reduced to 15 seconds, and the official statement clearly mentioned that the free version remains unchanged. The actual recorded reduction was in 2026, when the deployment retention period for the free version was changed to 30 days.

If your goal is 'to be found by AI', the logic of selecting a platform should be reversed

The previous discussion was about the general case. However, there is a group of people who use the opposite logic to select a platform, and this group is growing.

If you are creating content and hope to be searched and cited by AI (posting sitemap, writing llms.txt, adding JSON-LD, actively inviting crawlers to read), you are welcoming crawler traffic.

The problem comes: Vercel counts every file request that reaches it as an Edge Request, including AI crawlers.

In other words, the more successful your content strategy is, the more frequently AI crawlers will come, and you will approach the free version's limit.

How big is this gap

Vercel officially released a set of numbers in December 2024: GPTBot generated 569 million requests on their network each month, Claude generated 370 million The combined total is about 20% of Googlebot traffic during the same period.

When it falls to a single website, it would look like this (the following are examples from Vercel's official community and developer community, which are user self-reported):

Case one

A directory-type website only has 4,905 times Human page views, yet generated 543,000 Edge Requests. The reason is that it has about 7,500 pages that can be crawled.

Case Two

A free version project Within one night received 882,000 ClaudeBot requests, 125,000 GPTBot requests, and Edge Requests surged to 1.5 million, the project was temporarily suspended.

Case Three

A developer reported that Meta's crawler issued 11 million requests to his website.

Note the ratio in Case One: Human browsing and request numbers differed by over 100 times. If you only think that 'my website isn't being viewed much' and assume it's safe, you will make a wrong judgment.

Differences between four platforms for 'welcome crawler' type websites

PlatformHow are static file requests countedFor websites that want to be cited by AI
Cloudflare PagesFree and unlimited Only execution of Worker is meteredNumber of crawlers does not affect the quota
GitHub PagesNot billed by request count, only monthly 100 GB soft upper limitNo risk of request count
VercelEach time counts as Edge Request Free tier monthly 1 million timesMore crawlers approach the limit
NetlifyCounts (every 10,000 requests deduct 2 credits)Same direction as Vercel

Counterintuitive conclusion

Looking back at the table above, the biggest limitation of GitHub Pages free tier is 'source code must be public'.

But for a content website with the goal of 'being found by AI', this is not a limitation. Your content is meant to be seen by the world, so making the source code public causes no loss.

In other words, the same feature evaluates completely oppositely under different goals. This is why I do not recommend copying any conclusion from any article about 'which platform is better', including this one. First determine your goal, then each cell in that table has meaning.

Should I move it?

Sharing my own judgment for your reference. My knowledge website is still on Vercel, and I have no plans to move it in the short term, for three reasons:

  1. Still far from the limit. This is the level of 'knowing is enough', not 'act now'.
  2. The website is not just static pages. There are interactive scripts and automatic interconnection mechanisms, and moving them requires re-verifying whether they can run.
  3. Vercel has a Firewall, and requests blocked by it are explicitly stated by the official to not count toward Edge Requests. But this solution contradicts the goal. I want the AI to read me, not block it.

The signal that would make me change my decision is very clear: The Edge Requests on the backend Usage page are approaching 500,000 per month. At that time, the first thing to do is go to Observability to check the traffic source, first distinguishing whether it is human, AI search crawlers, or unwanted crawlers, then deciding whether to block, move, or upgrade.

The fact that machines read your content, I have written about it in another article.

A pitfall I have fallen into

The above four-layer configuration was established after I had fallen into a pitfall.

A few days ago, I reviewed my Vercel account and found six sites completely open to Google, including two customer meeting reports, one workshop record, and one influence report.

Their URLs are all random, not displayed on any page, and not shared with anyone else. I always thought that was enough.

In reality, they were just not crawled yet.

After that incident, I made "use all three together" a fixed rule for the second layer. A random URL is only one part; without noindex and Disallow in robots.txt, the random URL alone is meaningless.

How to design a system that can make errors is another topic.

Copyable prompt: Let AI help you audit

If you already have a bunch of pages, you don't need to open them one by one. Paste this segment to your AI assistant:

I want to audit all the pages that are already online, and determine which ones need protection.

Please help me do three things for each of the following URLs, and report back in a table:
1. Fetch the homepage, check if there is <meta name="robots"> with noindex
2. Fetch /robots.txt, check if there is Disallow: /
3. Fetch <title>, let me know what this page is

Reporting format: URL | Title | Has noindex | Has Disallow | My judgment (Needs protection / Doesn't need)

Judgment criteria: If the title or content contains real names, meetings, quotes, customer names, or internal evaluations, it is considered to need protection. Pure public display, portfolio, and event pages do not need protection.

URL list:
[Paste your URLs]

After running this, you will get a table that clearly shows which pages need to be added.

If you just want to quickly check a single page, it's even simpler: open it and click Cmd+U (Windows is Ctrl+U)view sourceCmd+F search noindex.If it's not found, it means the search engine is fully open.

Wrap-up Recap

  • First ask three questions: Who can see it, is it commercial, and what will be added in the future
  • Completely public content, two platforms free are enough Select the one where your files were originally placed
  • GitHub Pages free plan will publish the source code together, Vercel can use a private repo
  • noindex Block search but not access, scrambled URLs are obstacles, not locks
  • True access control requires payment: Vercel starts at $170, GitHub organization plan starts at $21 per person
  • Vercel free plan only allows non-commercial use, which has nothing to do with traffic
  • Vercel free plan has two lines 100 GB traffic and 1 million Edge Requests, check both entries on the Usage page in the backend
  • The fourth layer 'not going online' is the easiest to overlook and often the most correct option.

Common pitfalls (and solutions)

Pitfall 1: Thinking that a private repository is equivalent to a private website

Solution: Distinguish between two things. A private repo protects the source code, but the website itself needs to be set up separately.

Pitfall 2: Thinking that Vercel's free plan authentication protects the official website URL

Solution: It only protects the preview URL. The URL you give to your client is not within the protection range.

Pitfall 3: Putting sensitive content online with the intention of 'adding protection later'

Solution: First check how much it would cost for that 'later'. I didn't check, so I thought I could add it anytime.

Pitfall 4: Only checking the homepage and forgetting about subpages

Solution: noindex It applies page by page. Having it set on the homepage does not mean /report/ it is set.

Pitfall 5: Only focusing on traffic and forgetting about the request count

Solution: The Vercel plan page puts Edge Requests in a prominent position and omits bandwidth, making it easy to think there is only one limit. In reality, both are in place, and for websites with many images and crawlers, the request count often hits the limit first.

Pitfall 6: Thinking that small traffic means no commercial use issues

Solution: The terms and conditions are unrelated to traffic. When the Vercel free plan quota is exceeded, the entire account is paused, not just the excess part.

Reminders for your own positioning

Tools change, plans increase in price, and terms change. The numbers in this article may need to be reviewed again in six months.

But one thing will never expire: The judgment of 'who should see this content' is yours alone.

The platform only provides options; the judgment still rests with you. Making the right judgment saves more than just money. Fewer external entry points mean fewer things to maintain and remember to check.

Verification appendix

Article data verified by checking official documents on 2026-07-28, with eight rounds of search. Platform policies may change; it is recommended to check the original page before citing.

2026-07-28 correction: Vercel has used a split pricing model since April 2024 (official announcement), with bandwidth, request count, and computation time measured separately. The initial draft of this article mistakenly stated that the free plan had removed its bandwidth allocation. After verification, it was corrected: 100 GB Fast Data Transfer still exists and can be confirmed on the pricing page and official comparison page. However, the quota table on the Hobby plan documentation page (updated 2026-01-07) does not list this item, which may cause confusion.

This search found no official statement (not used as fact): GitHub official has no formal statement on whether 'secret URLs count as security measures'; the numerical upper limit for subdomain binding on GitHub Pages; whether Vercel reduced Hobby quota in 2023; whether failed builds on Vercel are counted in quota by full minutes.