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 see | Plain language | Price |
|---|---|---|
| Vercel Hobby | Vercel's Free version | 0 yuan |
| Vercel Pro | Vercel's Paid version | Starting at 20 USD per month |
| GitHub Free | GitHub's Free version | 0 yuan |
| GitHub Pro | GitHub's Personal paid version | 4 USD per month |
| Enterprise / Enterprise Cloud | Both sides'Enterprise version For company team use | Custom 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.
Fully public, reduced exposure, or only for authorized users?
For projects, paid courses, and business websites, you need to check the plan terms first.
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.
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.
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.
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
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.
- The knowledge base became too large, so I routed it into three repositories. This article discusses which layer a website should be placed in, while the other discusses which repository a file should be placed in. Both use the same judgment logic.
Three common misunderstandings about permissions.
Before layering, first dispel the three most commonly misunderstood concepts. I myself have misunderstood these things.
“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.
“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.
“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
Only share the test version with a small number of people
Only want to hide the source code
Official website requires password
Website is limited to specific members
No one should see it
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 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.
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 Pages | Vercel |
|---|---|---|
| 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 suitable | Yes, but note the limits and terms |
| Commercial use (taking on projects, selling courses) | Not allowed to be the main transaction website | Free version not allowed, need paid version |
- Documents are systems: How non-engineers can design an Agent framework. This article talks about where to place the website, and the other article talks about how to design the entire system using documentation. Choosing a platform is just one of the steps.
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.
| Project | GitHub Pages (free version) | Vercel Hobby (free version) |
|---|---|---|
| Website size | No more than 1 GB | No separate limit |
| Monthly traffic | 100 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 applicable | 1 million requests/month |
| Function Invocations | Not applicable (no backend) | 1 million invocations/month |
| Can create several projects | No project number limit | 200 |
| Deployment times | 10 times/hour (soft limit) | 32 times/hour, 100 times/day deployment |
| Custom domain | Supported, including apex and subdomains | Maximum of 50 per project |
| Automatic HTTPS | Supported | Supported |
| Source code open | Free plan must be open | Can use private repo (free plan limited to personal account owned) |
| Dynamic features | Purely static, no backend | Supports Serverless Functions |
| What if there is overage? | It may stop providing service or send an email suggesting to switch services | Pause 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.
| Metrics | Free tier limits | What kind of website will hit these limits first |
|---|---|---|
| Fast Data Transfer (traffic) | 100 GB/month | Large files: videos, PDFs, high-resolution originals, large downloads |
| Edge Requests (request count) | 1 million requests/month | Many small files: large numbers of JS chunks, images, API polling, and crawler detection |
| Function Invocations | 1 million invocations/month | Websites with backend logic |
| Can create several projects | 200 | People who use AI to mass-produce websites |
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.
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.
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):
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.
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.
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
| Platform | How are static file requests counted | For websites that want to be cited by AI |
|---|---|---|
| Cloudflare Pages | Free and unlimited Only execution of Worker is metered | Number of crawlers does not affect the quota |
| GitHub Pages | Not billed by request count, only monthly 100 GB soft upper limit | No risk of request count |
| Vercel | Each time counts as Edge Request Free tier monthly 1 million times | More crawlers approach the limit |
| Netlify | Counts (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:
- Still far from the limit. This is the level of 'knowing is enough', not 'act now'.
- 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.
- 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.
- More than half of the traffic online is not from humans anymore. Are your contents ready to be read by machines? That article talks about how to make machines understand your content, and this section talks about what the bill looks like after machines have read it.
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.
- Rather than expecting an error-free AI system, design a Loop that can tolerate errors. This article talks about how to make up for missed settings, and the other talks about how to directly design the 'leak' into the process.
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
noindexBlock 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.
- GitHub Pages limitations and commercial usage boundaries:GitHub Pages limits
- GitHub Free requires a public repo:What is GitHub Pages
- GitHub plan and pricing:GitHub Pricing
- GitHub Pages private publishing:Changing Pages visibility
- Vercel Hobby plan limits:Hobby plan, Limits
- Vercel non-commercial use terms:Vercel Terms
- Vercel Deployment Protection and pricing:Deployment Protection
- Google official explanation of noindex and access control differences:Control what you share
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.