Revision 4

Website

@namkyu · Aug 27, 2026, 8:30 AM

No edit summary
+06

A website can be launched with very little infrastructure cost, but operating one as a real public service requires more than writing code. Domain and DNS configuration, hosting, HTTPS, analytics, search indexing, authentication, backups, monitoring, payments, and monetization become separate operational concerns once the site goes live.

A website is also not a single business model. A content publisher, SaaS product, affiliate site, marketplace, community, and paid membership site can use similar infrastructure while having completely different revenue and cost structures.

Item

Practical starting point

Development software

Free

Google Analytics

Free for GA4 properties

Google Search Console

Free

Cloudflare

Free plan available

HTTPS

Free options available

Google Sign-In

Google Identity Services

Custom domain

Paid; registration and renewal vary by TLD and registrar

Hosting

Free tier, VPS, cloud, managed hosting, or self-hosting

Main monetization

Advertising, subscriptions, affiliate commissions, sponsorships, paid listings, transactions, digital products, donations

Search visibility

Crawling, indexing, and ranking are separate; publishing does not guarantee search traffic

Main hidden work

Deployment, DNS, authentication, indexing, monitoring, backups, maintenance, moderation, and support

A functioning website can therefore have very low software costs. The cost profile changes substantially when traffic, storage, database usage, email delivery, APIs, redundancy, payment processing, moderation, customer support, or paid acquisition increase.

A public website does not necessarily require paid cloud infrastructure.

Requirement

Minimum option

Cost

Priority

Notes

Code editor

Visual Studio Code or equivalent

Free

Essential

For custom development

Source control

Git + GitHub free account

Free

Recommended

Version control and deployment workflow

Framework

Next.js, other open-source framework, or static HTML

Free

Optional

Depends on site type

Database

PostgreSQL, Supabase, or another database

Free entry possible

Optional

Dynamic sites only

Hosting

Free-tier host or existing hardware

$0 additional possible

Essential

Limits depend on provider

DNS/CDN

Cloudflare Free

Free

Recommended

DNS, CDN, DDoS protection and SSL

HTTPS

Let's Encrypt, Cloudflare Universal SSL, or hosting-provider certificate

Free

Essential

Public sites should use HTTPS

Analytics

Google Analytics

Free

Recommended

Visitor and acquisition measurement

Search monitoring

Google Search Console

Free

Recommended

Google crawling, indexing and search performance

Authentication

Google Sign-In or application-managed accounts

Free entry possible

Optional

Needed only for user accounts

The major unavoidable cash expense for many small custom websites is therefore the domain rather than the development stack itself. A developer who already owns suitable hardware can also self-host, although this transfers uptime, networking, backups, security, and hardware-failure responsibility from a hosting company to the operator.

A custom domain is not technically required when a hosting provider supplies a subdomain, but it is normally part of a serious public or commercial deployment.

A locally functioning application is only one part of operating a website.

A typical production path is:

Application → Server/Hosting → Domain → DNS → HTTPS/CDN → Analytics → Search indexing → Authentication → Monitoring → Monetization

Each layer can fail independently.

For example, an application may be running correctly while the public site is unavailable because DNS points to the wrong address. A site may load normally for users while Google cannot index particular pages. Google login can work in development but fail on the production domain if the OAuth configuration does not match the deployed URLs.

This makes deployment and operations materially different from simply completing the application's code.

There is no single required hosting model.

Platforms such as Vercel, Cloudflare Pages, and Netlify reduce infrastructure work by handling deployment, HTTPS, and parts of the networking stack.

This is useful for developers who want to deploy directly from a Git repository without maintaining a Linux server.

The trade-off is that infrastructure pricing, usage limits, and platform-specific architecture become relevant as usage increases.

A VPS gives the operator substantially more control.

A typical custom stack can include:

The operator becomes responsible for updates, firewall configuration, database backups, storage, monitoring, and recovery.

An existing PC or server can host a public website for little or no additional hardware cost.

The operator must instead account for:

  • electricity;

  • residential or business internet reliability;

  • router configuration;

  • public IP or alternative networking configuration;

  • hardware failure;

  • storage failure;

  • backups;

  • power outages;

  • software updates;

  • remote recovery.

Self-hosting therefore reduces direct hosting expenditure but does not eliminate infrastructure cost or operational work.

Residential internet connections may also use dynamic addresses, blocked inbound ports, carrier-grade NAT, or other restrictions that affect public hosting. These conditions differ by internet provider and country.

A custom domain is separate from the server that runs the website.

The domain must point users toward the correct infrastructure through DNS.

Cloudflare provides a Free application-services plan with DNS, CDN, unmetered DDoS protection and Universal SSL. Its paid Pro plan is US$20/mo when billed annually or US$25/mo when billed monthly; Business is US$200/mo annually or US$250/mo monthly.

This means a small site does not necessarily need to purchase a separate CDN or public TLS certificate.

A common configuration is:

Visitor → Cloudflare → Origin server → Application

Cloudflare can proxy public traffic while the origin server remains separately managed.

For a self-hosted service, operators can restrict direct access to the origin and allow public web traffic through the proxy, provided the configuration does not unintentionally block legitimate traffic.

When a CDN or reverse proxy is used, there can be two separate encrypted connections:

Visitor → CDN/proxy → Origin

A valid edge certificate therefore does not by itself guarantee that the origin TLS configuration is correct.

example.com and www.example.com are different hostnames.

A production site should deliberately decide which is canonical and redirect the other when appropriate.

HTTPS, DNS records, reverse-proxy configuration, OAuth URLs, and application base URLs need to agree. A configuration can therefore work at:

https://example.com

while failing at:

https://www.example.com

if the second hostname has not been configured correctly.

Two Google services commonly used by website operators measure different things.

Service

What it answers

Cost

Google Analytics

Who visits the website and how they use it

Free for GA4 properties

Google Search Console

How the website performs in Google Search

Free

They are complementary rather than substitutes.

Other analytics products such as Plausible Analytics, Matomo, and Cloudflare Web Analytics can be relevant when privacy, data ownership, or lighter client-side scripts are priorities.

Google Analytics can measure website and application interactions across devices and platforms.

Useful website measurements include:

  • users;

  • sessions;

  • landing pages;

  • acquisition channels;

  • countries;

  • events;

  • conversions;

  • user paths.

GA4 properties are provided without charge under Google's Analytics terms.

Analytics does not tell an operator whether a page has successfully entered Google's search index. That is a Search Console function.

For a global website, analytics should also be interpreted geographically. Conversion rates, advertising value, purchasing power, payment methods, and user behavior may differ substantially between countries.

Google Search Console is Google's free tool for monitoring a site's presence in Google Search.

It can show:

  • whether Google can access the site;

  • crawl and indexing problems;

  • indexed and non-indexed URLs;

  • search impressions;

  • clicks;

  • queries;

  • countries;

  • devices;

  • links;

  • sitemap processing;

  • individual URL inspection.

It can also request recrawling of individual URLs.

A new website can be completely functional and accessible worldwide while still having little or no Google Search visibility.

These are separate stages.

Discovered → Crawled → Indexed → Served/ranked

A page being discovered does not mean it has been crawled.

A page being crawled does not mean it has been indexed.

A page being indexed does not mean it will rank for a useful query.

Google states that Search works through crawling, indexing and serving results, and that not every processed page is guaranteed to enter the index.

For a page to meet Google's minimum technical eligibility, Googlebot must not be blocked, the page must return a successful HTTP 200 response, and it must contain indexable content. Meeting those conditions still does not guarantee indexing.

Google also states that crawling after a request can take from several days to several weeks.

Repeatedly requesting recrawling of the same unchanged URL does not make Google crawl it faster.

Search visibility can also differ by country and language. A page that performs well for one geographic audience may have little visibility elsewhere because competition, language, search intent, and available results differ.

An XML sitemap provides search engines with URLs the operator considers important.

A simple entry can contain:

<url>
  <loc>https://example.com/page</loc>
  <lastmod>2026-08-23T00:00:00Z</lastmod>
</url>

Google recommends absolute URLs in sitemaps.

A single sitemap is limited to 50 MB uncompressed or 50,000 URLs. Larger sites must split the URLs into multiple sitemaps and may use a sitemap index.

For a database-backed website, the sitemap can be generated automatically from published pages instead of being manually edited.

Sitemaps are particularly useful for new sites with few external links because crawlers may otherwise have fewer paths through which to discover pages.

However, sitemap submission is only a signal. Google explicitly states that it does not guarantee crawling or indexing.

RSS and Atom feeds can also be submitted as sitemap formats, but they are not required when an XML sitemap already provides the necessary URL discovery mechanism.

robots.txt controls which parts of a site crawlers may request.

A site can allow public content while excluding administrative or editing routes.

Example:

User-agent: *
Allow: /
Disallow: /api/
Disallow: /login
Disallow: /*/edit

Sitemap: https://example.com/sitemap.xml

An incorrect rule can prevent search crawlers from accessing important content.

robots.txt and noindex also solve different problems: crawling controls whether a crawler may request content, while a noindex directive tells supported search engines not to include a page in search results.

A website that requires user accounts does not necessarily need to maintain its own password system.

Google Sign-In, based on Google Identity Services, lets users authenticate with an existing Google Account.

Google's current web setup requires an OAuth 2.0 client ID. The developer creates or selects a project in Google Cloud Console, configures OAuth branding/settings, and loads the Google Identity Services client library.

Production configuration can involve:

  • OAuth client ID;

  • application branding;

  • authorized domain;

  • JavaScript origin;

  • redirect URI;

  • consent configuration;

  • backend ID-token verification.

A typical production origin might be:

https://example.com

while an authentication framework may use a callback such as:

https://example.com/api/auth/callback/google

The exact callback depends on the application's authentication implementation.

A mismatch between the configured URI and the application's URI can prevent authentication even when the rest of the website operates normally.

Google Sign-In authenticates the Google user; it does not replace the website's own session and authorization logic. The application still decides what the authenticated user is allowed to do.

Authentication should also be distinguished from authorization to Google APIs. Google Identity Services separates signing a user into a website from requesting permission to access additional Google data.

Other representative authentication services include Auth0, Clerk, Supabase Auth, and Firebase Authentication.

Creating a Google Cloud project for an OAuth client does not mean the website must host its application on Google Cloud.

For example, the application may run on:

Self-hosted Linux server

while using:

Google Cloud project → OAuth configuration → Google Sign-In

The server itself can remain completely outside Google Cloud.

Likewise, Google Analytics, Google Search Console, and Google Cloud have different purposes despite all being Google services.

A small custom content or community website can realistically use a stack such as:

Layer

Example

Application

Next.js

Database

PostgreSQL

Containers

Docker

Reverse proxy

Caddy

DNS/CDN

Cloudflare

HTTPS

Caddy and/or Cloudflare

Authentication

Google Sign-In

Traffic measurement

Google Analytics

Search monitoring

Google Search Console

Transactional email

Resend, Amazon SES, or similar

Error monitoring

Sentry or application logs

Payments

Stripe or an appropriate regional provider

Search discovery

XML sitemap + crawlable internal links

Most of these components have a free option or are open-source. Infrastructure cost therefore does not necessarily become large before a site has substantial traffic.

The more important early cost can be development and maintenance time.

A website is a distribution mechanism rather than a single business model.

Revenue depends on what the site provides and what economic action occurs after traffic arrives.

Model

Revenue event

Common fit

Display advertising

Ad impression/click ecosystem

Content, Wiki, forum

Affiliate

Referred purchase or action

Reviews, comparisons, guides

Subscription

Recurring user payment

SaaS, premium information, tools

Paid listing

Business pays for placement/listing

Directory, marketplace

Transaction fee

Transaction completed

Marketplace/platform

Sponsorship

Direct sponsor agreement

Community/content

Digital product

Product purchase

Education, templates, data

Donation/membership

Voluntary or member payment

Community, open knowledge

Traffic alone is therefore not revenue.

Two websites with the same monthly visitors can have radically different economics depending on visitor geography, purchase intent, advertising niche, conversion rate, pricing, and revenue model.

There is no useful global "average website income" that applies across websites because a personal blog, SaaS application, ecommerce marketplace, subscription publication, and financial comparison site generate revenue through fundamentally different transactions.

More useful economic measures depend on the model:

  • advertising → publisher revenue per 1,000 pageviews or sessions;

  • affiliate → commission per referred sale or action;

  • subscription → paying subscribers × net revenue per subscriber;

  • marketplace → transaction volume × take rate;

  • SaaS → customers × recurring revenue per customer;

  • sponsorship → contracted payment per placement or campaign.

These measures should not be combined into a single website-wide earnings benchmark.

Display advertising is one of the easiest monetization models to understand operationally because revenue can begin without building a proprietary payment product.

Google AdSense is one example, but advertising economics should be evaluated using publisher-side metrics such as RPM rather than advertiser CPM.

For a content site:

Page RPM = estimated publisher revenue / page views × 1,000

For AdSense for Content, Google states that publishers receive 80% of revenue after the advertiser platform takes its fee. When advertisers buy display ads through Google Ads, Google says publishers retain approximately 68% of advertiser spend.[1][1]This is Google's revenue-share structure, not a prediction of the RPM an individual website will earn.

The revenue-share percentage does not mean advertising earnings are geographically equal.

Actual publisher RPM can differ substantially according to:

  • visitor country;

  • advertiser demand;

  • topic;

  • season;

  • device;

  • traffic source;

  • ad viewability;

  • time on page;

  • ad placement.

A site with substantial traffic can therefore generate weak advertising revenue when visitors come from lower-value advertising markets or when the content has little commercial intent.

Advertising also creates a trade-off between monetization and user experience because additional placements can increase visual clutter and page weight.

Google's AdSense payment threshold also depends on the account's reporting currency. For accounts using U.S. dollars, the payment threshold is US$100; other currencies have their own thresholds.

Affiliate monetization works best when a page sits close to a purchasing decision.

Examples include:

  • product comparisons;

  • software comparisons;

  • hosting recommendations;

  • equipment guides;

  • business-service directories.

The economically important values are not raw traffic alone but:

Visitors × outbound-click rate × merchant conversion rate × commission

A smaller high-intent website can therefore be more valuable than a larger general-information site.

Actual commission rates and attribution windows should be checked against each affiliate program rather than assumed across the industry.

For example, the U.S. Amazon Associates program lists standard commission rates that vary substantially by product category, including 10% for Luxury Beauty, 4.5% for Physical Books, Kitchen and Automotive, and 3% for many Home, Pets, Sports and other categories.[2][2]These are U.S. Amazon Associates rates and should not be generalized to Amazon affiliate programs in other countries.

Subscriptions can reduce dependence on advertising but require a reason for users to pay repeatedly.

Web products commonly place payment around:

  • premium tools;

  • additional data;

  • advanced search;

  • saved workflows;

  • team features;

  • higher usage limits;

  • removal of advertising;

  • professional features.

This changes the important metric from page views toward paying conversion, churn, and revenue per customer.

A website can process recurring payments through Stripe, a merchant-of-record service, or another payment provider appropriate to the operator's country.

Hosted publishing platforms may add another platform fee. Substack, for example, charges publishers 10% of each paid-subscription transaction in addition to payment-processing and billing fees charged through Stripe.

Payment availability, processing fees, local payment methods, taxes, and currency-conversion costs can differ by country, so one country's payment economics should not be generalized globally.

Wiki and user-generated-content sites have additional monetization options because contributors can continuously expand the site's searchable content.

Fandom is an example of a for-profit Wiki platform whose business includes advertising and commercial partnerships.

Other knowledge/community projects may instead use advertising, donations, memberships, subscriptions, sponsorships, affiliate links, paid listings, or combinations of these models.

The existence of a large Wiki does not establish that a new Wiki can reproduce its economics. Community size, search distribution, moderation cost, accumulated content, brand recognition, and advertiser relationships are major differences.

A content-heavy website can accumulate pages that independently receive search impressions.

For example:

/wiki/topic-a
/wiki/topic-b
/wiki/topic-c
...

Each page becomes another potential search entry point.

This makes structured Wiki, directory, and database models different from a small fixed marketing website: adding useful pages expands the site's searchable surface area.

However, creating URLs alone does not create search traffic. Google explicitly states that sitemap submission does not guarantee indexing, and indexing itself does not guarantee that a page will be served prominently for a query.

The economic value of search traffic also depends on what visitors do after arriving. Traffic to a high-intent comparison or purchase page can have very different economics from general informational traffic.

The first version of a website can be unusually cheap because many infrastructure components have free tiers.

Costs tend to appear as the service grows.

Common early expenses include:

  • domain registration and renewal;

  • VPS or hosting;

  • backup storage;

  • transactional email;

  • premium SaaS tools;

  • monitoring.

Domain prices differ by registrar and TLD rather than having a universal website-wide price.

Costs that can grow with activity include:

  • compute;

  • bandwidth;

  • database capacity;

  • object storage;

  • email volume;

  • AI/API calls;

  • monitoring/log retention;

  • payment processing.

A website using AI APIs, large media files, or heavy database queries can therefore develop significant variable costs earlier than a mostly static content site.

Websites collecting money normally pay payment-processing or merchant-of-record fees.

These fees differ by country, payment method, and provider.

For example, Stripe standard U.S. card pricing should not be treated as Stripe's universal global price. International cards, currency conversion, local payment methods, refunds, disputes, and subscription billing can also change the final processing cost.

For community and Wiki sites, infrastructure may eventually be cheaper than:

  • moderation;

  • spam handling;

  • abuse prevention;

  • copyright requests;

  • user support;

  • content verification.

These costs are easy to omit from an initial hosting calculation.

These components are often absent from a local prototype but become more important once users depend on the site.

Representative error-monitoring options include Sentry, application logs, hosting-provider monitoring, and cloud observability services.

Websites that send account verification, password recovery, login links, receipts, or notifications can use services such as Resend, Amazon SES, SendGrid, or Postmark rather than operating their own mail server.

Important dynamic data should also have a recovery plan. This may include:

  • database backups;

  • uploaded files;

  • configuration;

  • source code;

  • off-server backup copies.

A backup is useful only if the data can actually be restored.

A site may work on one hostname but fail on another.

Apex and www records, certificates, redirects, reverse-proxy configuration, and application base URLs should describe the same production setup.

Localhost and the production domain are different OAuth environments.

Production origins and callback URLs need to be configured correctly.

Server logs or Search Console may show Googlebot requests while individual pages remain outside the index.

This is possible because crawling and indexing are separate stages.

This is expected because they measure different systems.

Analytics measures website usage; Search Console measures Google Search visibility and search-originating activity.

When a proxy/CDN sits between users and the origin:

User → CDN → Origin

either connection can fail.

An origin TLS problem can therefore produce an error even though the application process itself is running.

Production email can fail because of API credentials, sender-domain verification, DNS records, provider limits, spam filtering, or incorrect environment variables.

A functioning application does not guarantee reliable email delivery.

There is no universal license or registration requirement simply for putting a website online.

Actual legal and commercial requirements depend on the operator's country, customer locations, business model, data collected, payment activity, user age, industry, and content.

A basic public website should technically have:

  • a publicly reachable host;

  • a domain or provider URL;

  • valid HTTPS for normal production use;

  • working DNS;

  • a deployment process;

  • backups for data that cannot be recreated.

A website seeking Google Search traffic should additionally ensure that:

  • Googlebot is not blocked;

  • indexable pages return HTTP 200;

  • important pages contain indexable content;

  • internal links are crawlable;

  • canonical URLs are intentional;

  • important URLs are discoverable.

A website with accounts must additionally maintain application-level sessions, authorization, and account data even when an external identity provider handles authentication.

A commercial website may additionally need privacy disclosures, terms, tax handling, consumer disclosures, cookie or tracking consent, or other measures depending on the jurisdictions and activities involved.

Requirements from the United States, European Union, Korea, or another jurisdiction should not be assumed to apply globally.

A site can function correctly and still receive little search, social, referral, or direct traffic.

For organic search specifically, Google states that crawling can take several days to several weeks after a request, and neither a crawl request nor a sitemap guarantees indexing.

A project may launch using free analytics, CDN, SSL, frameworks, and database software but later incur hosting, storage, email, API, payment-processing, and moderation expenses.

Self-hosting can reduce hosting bills but makes power, internet connectivity, hardware, firewall configuration, updates, security, backups, and recovery the operator's responsibility.

Search engines, payment processors, CDNs, identity providers, ad networks, affiliate programs, email providers, and APIs can change pricing, policies, limits, eligibility, or availability.

Advertising demand, affiliate conversion, purchasing power, payment methods, and subscription conversion can differ substantially between countries.

Identical traffic volumes therefore do not necessarily produce identical revenue.

[1]This is Google's revenue-share structure, not a prediction of the RPM an individual website will earn.
[2]These are U.S. Amazon Associates rates and should not be generalized to Amazon affiliate programs in other countries.
Canonical Markdown
1A website can be launched with very little infrastructure cost, but operating one as a real public service requires more than writing code. Domain and DNS configuration, hosting, HTTPS, analytics, search indexing, authentication, backups, monitoring, payments, and monetization become separate operational concerns once the site goes live.
2
3A website is also not a single business model. A content publisher, SaaS product, affiliate site, marketplace, community, and paid membership site can use similar infrastructure while having completely different revenue and cost structures.
4
5# Quick Facts
6
7
8| Item | Practical starting point |
9| --------------------- | ------------------------------------------------------------------------------------------------------------------------- |
10| Development software | Free |
11| Google Analytics | Free for GA4 properties |
12| Google Search Console | Free |
13| Cloudflare | Free plan available |
14| HTTPS | Free options available |
15| Google Sign-In | Google Identity Services |
16| Custom domain | Paid; registration and renewal vary by TLD and registrar |
17| Hosting | Free tier, VPS, cloud, managed hosting, or self-hosting |
18| Main monetization | Advertising, subscriptions, affiliate commissions, sponsorships, paid listings, transactions, digital products, donations |
19| Search visibility | Crawling, indexing, and ranking are separate; publishing does not guarantee search traffic |
20| Main hidden work | Deployment, DNS, authentication, indexing, monitoring, backups, maintenance, moderation, and support |
21
22
23A functioning website can therefore have very low software costs. The cost profile changes substantially when traffic, storage, database usage, email delivery, APIs, redundancy, payment processing, moderation, customer support, or paid acquisition increase.
24
25# Minimum Entry Setup
26
27A public website does not necessarily require paid cloud infrastructure.
28
29
30| Requirement | Minimum option | Cost | Priority | Notes |
31| ----------------- | ---------------------------------------------------------------------------------------------- | ----------------------: | ----------- | ------------------------------------------------ |
32| Code editor | [Visual Studio Code](/wiki/visual-studio-code) or equivalent | Free | Essential | For custom development |
33| Source control | [Git](/wiki/git) + [GitHub](/wiki/github) free account | Free | Recommended | Version control and deployment workflow |
34| Framework | [Next.js](/wiki/nextjs), other open-source framework, or static HTML | Free | Optional | Depends on site type |
35| Database | [PostgreSQL](/wiki/postgresql), [Supabase](/wiki/supabase), or another database | Free entry possible | Optional | Dynamic sites only |
36| Hosting | Free-tier host or existing hardware | $0 additional possible | Essential | Limits depend on provider |
37| DNS/CDN | [Cloudflare](/wiki/cloudflare) Free | Free | Recommended | DNS, CDN, DDoS protection and SSL |
38| HTTPS | [Let's Encrypt](/wiki/lets-encrypt), Cloudflare Universal SSL, or hosting-provider certificate | Free | Essential | Public sites should use HTTPS |
39| Analytics | [Google Analytics](/wiki/google-analytics) | Free | Recommended | Visitor and acquisition measurement |
40| Search monitoring | [Google Search Console](/wiki/google-search-console) | Free | Recommended | Google crawling, indexing and search performance |
41| Authentication | [Google Sign-In](/wiki/google-sign-in) or application-managed accounts | Free entry possible | Optional | Needed only for user accounts |
42
43
44The major unavoidable cash expense for many small custom websites is therefore the domain rather than the development stack itself. A developer who already owns suitable hardware can also self-host, although this transfers uptime, networking, backups, security, and hardware-failure responsibility from a hosting company to the operator.
45
46A custom domain is not technically required when a hosting provider supplies a subdomain, but it is normally part of a serious public or commercial deployment.
47
48# From Code to a Working Website
49
50A locally functioning application is only one part of operating a website.
51
52A typical production path is:
53
54`Application → Server/Hosting → Domain → DNS → HTTPS/CDN → Analytics → Search indexing → Authentication → Monitoring → Monetization`
55
56Each layer can fail independently.
57
58For example, an application may be running correctly while the public site is unavailable because DNS points to the wrong address. A site may load normally for users while Google cannot index particular pages. Google login can work in development but fail on the production domain if the OAuth configuration does not match the deployed URLs.
59
60This makes deployment and operations materially different from simply completing the application's code.
61
62# Hosting
63
64There is no single required hosting model.
65
66## Managed hosting
67
68Platforms such as [Vercel](/wiki/vercel), [Cloudflare Pages](/wiki/cloudflare-pages), and [Netlify](/wiki/netlify) reduce infrastructure work by handling deployment, HTTPS, and parts of the networking stack.
69
70This is useful for developers who want to deploy directly from a Git repository without maintaining a Linux server.
71
72The trade-off is that infrastructure pricing, usage limits, and platform-specific architecture become relevant as usage increases.
73
74## VPS
75
76A [VPS](/wiki/vps) gives the operator substantially more control.
77
78A typical custom stack can include:
79
80- Linux;
81- [Docker](/wiki/docker);
82- a web application;
83- [PostgreSQL](/wiki/postgresql);
84- a reverse proxy such as [Caddy](/wiki/caddy) or [Nginx](/wiki/nginx).
85
86The operator becomes responsible for updates, firewall configuration, database backups, storage, monitoring, and recovery.
87
88## Self-hosting
89
90An existing PC or server can host a public website for little or no additional hardware cost.
91
92The operator must instead account for:
93
94- electricity;
95- residential or business internet reliability;
96- router configuration;
97- public IP or alternative networking configuration;
98- hardware failure;
99- storage failure;
100- backups;
101- power outages;
102- software updates;
103- remote recovery.
104
105Self-hosting therefore reduces direct hosting expenditure but does not eliminate infrastructure cost or operational work.
106
107Residential internet connections may also use dynamic addresses, blocked inbound ports, carrier-grade NAT, or other restrictions that affect public hosting. These conditions differ by internet provider and country.
108
109# Domain, DNS, CDN and HTTPS
110
111A custom domain is separate from the server that runs the website.
112
113The domain must point users toward the correct infrastructure through DNS.
114
115[Cloudflare](/wiki/cloudflare) provides a Free application-services plan with DNS, CDN, unmetered DDoS protection and Universal SSL. Its paid Pro plan is US$20/mo when billed annually or US$25/mo when billed monthly; Business is US$200/mo annually or US$250/mo monthly.
116
117This means a small site does not necessarily need to purchase a separate CDN or public TLS certificate.
118
119A common configuration is:
120
121`Visitor → Cloudflare → Origin server → Application`
122
123Cloudflare can proxy public traffic while the origin server remains separately managed.
124
125For a self-hosted service, operators can restrict direct access to the origin and allow public web traffic through the proxy, provided the configuration does not unintentionally block legitimate traffic.
126
127When a CDN or reverse proxy is used, there can be two separate encrypted connections:
128
129`Visitor → CDN/proxy → Origin`
130
131A valid edge certificate therefore does not by itself guarantee that the origin TLS configuration is correct.
132
133## `www` and apex domains
134
135`example.com` and `www.example.com` are different hostnames.
136
137A production site should deliberately decide which is canonical and redirect the other when appropriate.
138
139HTTPS, DNS records, reverse-proxy configuration, OAuth URLs, and application base URLs need to agree. A configuration can therefore work at:
140
141`https://example.com`
142
143while failing at:
144
145`https://www.example.com`
146
147if the second hostname has not been configured correctly.
148
149# Traffic Measurement
150
151Two Google services commonly used by website operators measure different things.
152
153
154| Service | What it answers | Cost |
155| ---------------------------------------------------- | ------------------------------------------ | -----------------------: |
156| [Google Analytics](/wiki/google-analytics) | Who visits the website and how they use it | Free for GA4 properties |
157| [Google Search Console](/wiki/google-search-console) | How the website performs in Google Search | Free |
158
159
160They are complementary rather than substitutes.
161
162Other analytics products such as [Plausible Analytics](/wiki/plausible-analytics), [Matomo](/wiki/matomo), and [Cloudflare Web Analytics](/wiki/cloudflare-web-analytics) can be relevant when privacy, data ownership, or lighter client-side scripts are priorities.
163
164# Google Analytics
165
166[Google Analytics](/wiki/google-analytics) can measure website and application interactions across devices and platforms.
167
168Useful website measurements include:
169
170- users;
171- sessions;
172- landing pages;
173- acquisition channels;
174- countries;
175- events;
176- conversions;
177- user paths.
178
179GA4 properties are provided without charge under Google's Analytics terms.
180
181Analytics does not tell an operator whether a page has successfully entered Google's search index. That is a Search Console function.
182
183For a global website, analytics should also be interpreted geographically. Conversion rates, advertising value, purchasing power, payment methods, and user behavior may differ substantially between countries.
184
185# Google Search Console
186
187[Google Search Console](/wiki/google-search-console) is Google's free tool for monitoring a site's presence in Google Search.
188
189It can show:
190
191- whether Google can access the site;
192- crawl and indexing problems;
193- indexed and non-indexed URLs;
194- search impressions;
195- clicks;
196- queries;
197- countries;
198- devices;
199- links;
200- sitemap processing;
201- individual URL inspection.
202
203It can also request recrawling of individual URLs.
204
205A new website can be completely functional and accessible worldwide while still having little or no Google Search visibility.
206
207# Crawling, Indexing and Ranking
208
209These are separate stages.
210
211`Discovered → Crawled → Indexed → Served/ranked`
212
213A page being discovered does not mean it has been crawled.
214
215A page being crawled does not mean it has been indexed.
216
217A page being indexed does not mean it will rank for a useful query.
218
219Google states that Search works through crawling, indexing and serving results, and that not every processed page is guaranteed to enter the index.
220
221For a page to meet Google's minimum technical eligibility, Googlebot must not be blocked, the page must return a successful HTTP `200` response, and it must contain indexable content. Meeting those conditions still does not guarantee indexing.
222
223Google also states that crawling after a request can take from several days to several weeks.
224
225Repeatedly requesting recrawling of the same unchanged URL does not make Google crawl it faster.
226
227Search visibility can also differ by country and language. A page that performs well for one geographic audience may have little visibility elsewhere because competition, language, search intent, and available results differ.
228
229# Sitemap
230
231An XML sitemap provides search engines with URLs the operator considers important.
232
233A simple entry can contain:
234
235```xml
236<url>
237 <loc>https://example.com/page</loc>
238 <lastmod>2026-08-23T00:00:00Z</lastmod>
239</url>
240```
241
242Google recommends absolute URLs in sitemaps.
243
244A single sitemap is limited to 50 MB uncompressed or 50,000 URLs. Larger sites must split the URLs into multiple sitemaps and may use a sitemap index.
245
246For a database-backed website, the sitemap can be generated automatically from published pages instead of being manually edited.
247
248Sitemaps are particularly useful for new sites with few external links because crawlers may otherwise have fewer paths through which to discover pages.
249
250However, sitemap submission is only a signal. Google explicitly states that it does not guarantee crawling or indexing.
251
252RSS and Atom feeds can also be submitted as sitemap formats, but they are not required when an XML sitemap already provides the necessary URL discovery mechanism.
253
254# robots.txt
255
256`robots.txt` controls which parts of a site crawlers may request.
257
258A site can allow public content while excluding administrative or editing routes.
259
260Example:
261
262```text
263User-agent: *
264Allow: /
265Disallow: /api/
266Disallow: /login
267Disallow: /*/edit
268
269Sitemap: https://example.com/sitemap.xml
270```
271
272An incorrect rule can prevent search crawlers from accessing important content.
273
274`robots.txt` and `noindex` also solve different problems: crawling controls whether a crawler may request content, while a `noindex` directive tells supported search engines not to include a page in search results.
275
276# Google Login
277
278A website that requires user accounts does not necessarily need to maintain its own password system.
279
280[Google Sign-In](/wiki/google-sign-in), based on Google Identity Services, lets users authenticate with an existing Google Account.
281
282Google's current web setup requires an OAuth 2.0 client ID. The developer creates or selects a project in Google Cloud Console, configures OAuth branding/settings, and loads the Google Identity Services client library.
283
284Production configuration can involve:
285
286- OAuth client ID;
287- application branding;
288- authorized domain;
289- JavaScript origin;
290- redirect URI;
291- consent configuration;
292- backend ID-token verification.
293
294A typical production origin might be:
295
296`https://example.com`
297
298while an authentication framework may use a callback such as:
299
300`https://example.com/api/auth/callback/google`
301
302The exact callback depends on the application's authentication implementation.
303
304A mismatch between the configured URI and the application's URI can prevent authentication even when the rest of the website operates normally.
305
306Google Sign-In authenticates the Google user; it does not replace the website's own session and authorization logic. The application still decides what the authenticated user is allowed to do.
307
308Authentication should also be distinguished from authorization to Google APIs. Google Identity Services separates signing a user into a website from requesting permission to access additional Google data.
309
310Other representative authentication services include [Auth0](/wiki/auth0), [Clerk](/wiki/clerk), [Supabase Auth](/wiki/supabase-auth), and [Firebase Authentication](/wiki/firebase-authentication).
311
312# Google Cloud Is Not the Same as Google Login
313
314Creating a Google Cloud project for an OAuth client does not mean the website must host its application on [Google Cloud](/wiki/google-cloud).
315
316For example, the application may run on:
317
318`Self-hosted Linux server`
319
320while using:
321
322`Google Cloud project → OAuth configuration → Google Sign-In`
323
324The server itself can remain completely outside Google Cloud.
325
326Likewise, [Google Analytics](/wiki/google-analytics), [Google Search Console](/wiki/google-search-console), and Google Cloud have different purposes despite all being Google services.
327
328# Operating Stack Example
329
330A small custom content or community website can realistically use a stack such as:
331
332
333| Layer | Example |
334| ------------------- | ------------------------------------------------------------------ |
335| Application | [Next.js](/wiki/nextjs) |
336| Database | [PostgreSQL](/wiki/postgresql) |
337| Containers | [Docker](/wiki/docker) |
338| Reverse proxy | [Caddy](/wiki/caddy) |
339| DNS/CDN | [Cloudflare](/wiki/cloudflare) |
340| HTTPS | Caddy and/or Cloudflare |
341| Authentication | [Google Sign-In](/wiki/google-sign-in) |
342| Traffic measurement | [Google Analytics](/wiki/google-analytics) |
343| Search monitoring | [Google Search Console](/wiki/google-search-console) |
344| Transactional email | [Resend](/wiki/resend), [Amazon SES](/wiki/amazon-ses), or similar |
345| Error monitoring | [Sentry](/wiki/sentry) or application logs |
346| Payments | [Stripe](/wiki/stripe) or an appropriate regional provider |
347| Search discovery | XML sitemap + crawlable internal links |
348
349
350Most of these components have a free option or are open-source. Infrastructure cost therefore does not necessarily become large before a site has substantial traffic.
351
352The more important early cost can be development and maintenance time.
353
354# How It Makes Money
355
356A website is a distribution mechanism rather than a single business model.
357
358Revenue depends on what the site provides and what economic action occurs after traffic arrives.
359
360
361| Model | Revenue event | Common fit |
362| ------------------- | ----------------------------------- | -------------------------------- |
363| Display advertising | Ad impression/click ecosystem | Content, Wiki, forum |
364| Affiliate | Referred purchase or action | Reviews, comparisons, guides |
365| Subscription | Recurring user payment | SaaS, premium information, tools |
366| Paid listing | Business pays for placement/listing | Directory, marketplace |
367| Transaction fee | Transaction completed | Marketplace/platform |
368| Sponsorship | Direct sponsor agreement | Community/content |
369| Digital product | Product purchase | Education, templates, data |
370| Donation/membership | Voluntary or member payment | Community, open knowledge |
371
372
373Traffic alone is therefore not revenue.
374
375Two websites with the same monthly visitors can have radically different economics depending on visitor geography, purchase intent, advertising niche, conversion rate, pricing, and revenue model.
376
377# Website Earnings
378
379There is no useful global "average website income" that applies across websites because a personal blog, SaaS application, ecommerce marketplace, subscription publication, and financial comparison site generate revenue through fundamentally different transactions.
380
381More useful economic measures depend on the model:
382
383- advertising → publisher revenue per 1,000 pageviews or sessions;
384- affiliate → commission per referred sale or action;
385- subscription → paying subscribers × net revenue per subscriber;
386- marketplace → transaction volume × take rate;
387- [SaaS](/wiki/saas) → customers × recurring revenue per customer;
388- sponsorship → contracted payment per placement or campaign.
389
390These measures should not be combined into a single website-wide earnings benchmark.
391
392# Advertising
393
394Display advertising is one of the easiest monetization models to understand operationally because revenue can begin without building a proprietary payment product.
395
396[Google AdSense](/wiki/google-adsense) is one example, but advertising economics should be evaluated using publisher-side metrics such as RPM rather than advertiser CPM.
397
398For a content site:
399
400`Page RPM = estimated publisher revenue / page views × 1,000`
401
402For AdSense for Content, Google states that publishers receive 80% of revenue after the advertiser platform takes its fee. When advertisers buy display ads through Google Ads, Google says publishers retain approximately 68% of advertiser spend.[* This is Google's revenue-share structure, not a prediction of the RPM an individual website will earn.]
403
404The revenue-share percentage does not mean advertising earnings are geographically equal.
405
406Actual publisher RPM can differ substantially according to:
407
408- visitor country;
409- advertiser demand;
410- topic;
411- season;
412- device;
413- traffic source;
414- ad viewability;
415- time on page;
416- ad placement.
417
418A site with substantial traffic can therefore generate weak advertising revenue when visitors come from lower-value advertising markets or when the content has little commercial intent.
419
420Advertising also creates a trade-off between monetization and user experience because additional placements can increase visual clutter and page weight.
421
422Google's AdSense payment threshold also depends on the account's reporting currency. For accounts using U.S. dollars, the payment threshold is US$100; other currencies have their own thresholds.
423
424# Affiliate Revenue
425
426Affiliate monetization works best when a page sits close to a purchasing decision.
427
428Examples include:
429
430- product comparisons;
431- software comparisons;
432- hosting recommendations;
433- equipment guides;
434- business-service directories.
435
436The economically important values are not raw traffic alone but:
437
438`Visitors × outbound-click rate × merchant conversion rate × commission`
439
440A smaller high-intent website can therefore be more valuable than a larger general-information site.
441
442Actual commission rates and attribution windows should be checked against each affiliate program rather than assumed across the industry.
443
444For example, the U.S. [Amazon Associates](/wiki/amazon-associates) program lists standard commission rates that vary substantially by product category, including 10% for Luxury Beauty, 4.5% for Physical Books, Kitchen and Automotive, and 3% for many Home, Pets, Sports and other categories.[* These are U.S. Amazon Associates rates and should not be generalized to Amazon affiliate programs in other countries.]
445
446# Subscription and Premium Features
447
448Subscriptions can reduce dependence on advertising but require a reason for users to pay repeatedly.
449
450Web products commonly place payment around:
451
452- premium tools;
453- additional data;
454- advanced search;
455- saved workflows;
456- team features;
457- higher usage limits;
458- removal of advertising;
459- professional features.
460
461This changes the important metric from page views toward paying conversion, churn, and revenue per customer.
462
463A website can process recurring payments through [Stripe](/wiki/stripe), a merchant-of-record service, or another payment provider appropriate to the operator's country.
464
465Hosted publishing platforms may add another platform fee. [Substack](/wiki/substack), for example, charges publishers 10% of each paid-subscription transaction in addition to payment-processing and billing fees charged through Stripe.
466
467Payment availability, processing fees, local payment methods, taxes, and currency-conversion costs can differ by country, so one country's payment economics should not be generalized globally.
468
469# Wiki and Community Monetization
470
471Wiki and user-generated-content sites have additional monetization options because contributors can continuously expand the site's searchable content.
472
473[Fandom](/wiki/fandom) is an example of a for-profit Wiki platform whose business includes advertising and commercial partnerships.
474
475Other knowledge/community projects may instead use advertising, donations, memberships, subscriptions, sponsorships, affiliate links, paid listings, or combinations of these models.
476
477The existence of a large Wiki does not establish that a new Wiki can reproduce its economics. Community size, search distribution, moderation cost, accumulated content, brand recognition, and advertiser relationships are major differences.
478
479# Search Traffic as an Asset
480
481A content-heavy website can accumulate pages that independently receive search impressions.
482
483For example:
484
485```text
486/wiki/topic-a
487/wiki/topic-b
488/wiki/topic-c
489...
490```
491
492Each page becomes another potential search entry point.
493
494This makes structured Wiki, directory, and database models different from a small fixed marketing website: adding useful pages expands the site's searchable surface area.
495
496However, creating URLs alone does not create search traffic. Google explicitly states that sitemap submission does not guarantee indexing, and indexing itself does not guarantee that a page will be served prominently for a query.
497
498The economic value of search traffic also depends on what visitors do after arriving. Traffic to a high-intent comparison or purchase page can have very different economics from general informational traffic.
499
500# Costs
501
502The first version of a website can be unusually cheap because many infrastructure components have free tiers.
503
504Costs tend to appear as the service grows.
505
506## Fixed or low-volume costs
507
508Common early expenses include:
509
510- domain registration and renewal;
511- VPS or hosting;
512- backup storage;
513- transactional email;
514- premium SaaS tools;
515- monitoring.
516
517Domain prices differ by registrar and TLD rather than having a universal website-wide price.
518
519## Usage-based costs
520
521Costs that can grow with activity include:
522
523- compute;
524- bandwidth;
525- database capacity;
526- object storage;
527- email volume;
528- AI/API calls;
529- monitoring/log retention;
530- payment processing.
531
532A website using AI APIs, large media files, or heavy database queries can therefore develop significant variable costs earlier than a mostly static content site.
533
534## Payment costs
535
536Websites collecting money normally pay payment-processing or merchant-of-record fees.
537
538These fees differ by country, payment method, and provider.
539
540For example, [Stripe](/wiki/stripe) standard U.S. card pricing should not be treated as Stripe's universal global price. International cards, currency conversion, local payment methods, refunds, disputes, and subscription billing can also change the final processing cost.
541
542## Human costs
543
544For community and Wiki sites, infrastructure may eventually be cheaper than:
545
546- moderation;
547- spam handling;
548- abuse prevention;
549- copyright requests;
550- user support;
551- content verification.
552
553These costs are easy to omit from an initial hosting calculation.
554
555# Monitoring, Backups and Transactional Email
556
557These components are often absent from a local prototype but become more important once users depend on the site.
558
559Representative error-monitoring options include [Sentry](/wiki/sentry), application logs, hosting-provider monitoring, and cloud observability services.
560
561Websites that send account verification, password recovery, login links, receipts, or notifications can use services such as [Resend](/wiki/resend), [Amazon SES](/wiki/amazon-ses), [SendGrid](/wiki/sendgrid), or [Postmark](/wiki/postmark) rather than operating their own mail server.
562
563Important dynamic data should also have a recovery plan. This may include:
564
565- database backups;
566- uploaded files;
567- configuration;
568- source code;
569- off-server backup copies.
570
571A backup is useful only if the data can actually be restored.
572
573# Practical Problems After Launch
574
575## DNS and SSL mismatch
576
577A site may work on one hostname but fail on another.
578
579Apex and `www` records, certificates, redirects, reverse-proxy configuration, and application base URLs should describe the same production setup.
580
581## OAuth works locally but fails in production
582
583Localhost and the production domain are different OAuth environments.
584
585Production origins and callback URLs need to be configured correctly.
586
587## Google crawls but does not index
588
589Server logs or Search Console may show Googlebot requests while individual pages remain outside the index.
590
591This is possible because crawling and indexing are separate stages.
592
593## Analytics and Search Console disagree
594
595This is expected because they measure different systems.
596
597Analytics measures website usage; Search Console measures Google Search visibility and search-originating activity.
598
599## Origin works but CDN configuration fails
600
601When a proxy/CDN sits between users and the origin:
602
603`User → CDN → Origin`
604
605either connection can fail.
606
607An origin TLS problem can therefore produce an error even though the application process itself is running.
608
609## Email works in development but not in production
610
611Production email can fail because of API credentials, sender-domain verification, DNS records, provider limits, spam filtering, or incorrect environment variables.
612
613A functioning application does not guarantee reliable email delivery.
614
615# Requirements
616
617There is no universal license or registration requirement simply for putting a website online.
618
619Actual legal and commercial requirements depend on the operator's country, customer locations, business model, data collected, payment activity, user age, industry, and content.
620
621A basic public website should technically have:
622
623- a publicly reachable host;
624- a domain or provider URL;
625- valid HTTPS for normal production use;
626- working DNS;
627- a deployment process;
628- backups for data that cannot be recreated.
629
630A website seeking Google Search traffic should additionally ensure that:
631
632- Googlebot is not blocked;
633- indexable pages return HTTP `200`;
634- important pages contain indexable content;
635- internal links are crawlable;
636- canonical URLs are intentional;
637- important URLs are discoverable.
638
639A website with accounts must additionally maintain application-level sessions, authorization, and account data even when an external identity provider handles authentication.
640
641A commercial website may additionally need privacy disclosures, terms, tax handling, consumer disclosures, cookie or tracking consent, or other measures depending on the jurisdictions and activities involved.
642
643Requirements from the United States, European Union, Korea, or another jurisdiction should not be assumed to apply globally.
644
645# Risks / Things to Know
646
647## Distribution is not guaranteed
648
649A site can function correctly and still receive little search, social, referral, or direct traffic.
650
651For organic search specifically, Google states that crawling can take several days to several weeks after a request, and neither a crawl request nor a sitemap guarantees indexing.
652
653## Free infrastructure does not mean zero operating cost
654
655A project may launch using free analytics, CDN, SSL, frameworks, and database software but later incur hosting, storage, email, API, payment-processing, and moderation expenses.
656
657## Self-hosting transfers responsibility
658
659Self-hosting can reduce hosting bills but makes power, internet connectivity, hardware, firewall configuration, updates, security, backups, and recovery the operator's responsibility.
660
661## Third-party services create dependency
662
663Search engines, payment processors, CDNs, identity providers, ad networks, affiliate programs, email providers, and APIs can change pricing, policies, limits, eligibility, or availability.
664
665## Traffic has different economic value across markets
666
667Advertising demand, affiliate conversion, purchasing power, payment methods, and subscription conversion can differ substantially between countries.
668
669Identical traffic volumes therefore do not necessarily produce identical revenue.
670
671# Sources
672
673- [Google Search Central — How Google Search Works](https://developers.google.com/search/docs/fundamentals/how-search-works)
674- [Google Search Central — Crawling and Indexing FAQ](https://developers.google.com/search/help/crawling-index-faq)
675- [Google Search Central — Ask Google to Recrawl Your URLs](https://developers.google.com/search/docs/crawling-indexing/ask-google-to-recrawl)
676- [Google Search Central — Sitemaps Overview](https://developers.google.com/search/docs/crawling-indexing/sitemaps/overview)
677- [Google Search Central — Build and Submit a Sitemap](https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap)
678- [Google Search Console Help — About Search Console](https://support.google.com/webmasters/answer/9128668)
679- [Google Analytics](https://marketingplatform.google.com/about/analytics/)
680- [Google Analytics Terms of Service](https://marketingplatform.google.com/about/analytics/terms/us/)
681- [Google Identity Services — Overview](https://developers.google.com/identity/gsi/web/guides/overview)
682- [Google Identity Services — Setup](https://developers.google.com/identity/gsi/web/guides/get-google-api-clientid)
683- [Google AdSense Help — AdSense revenue share](https://support.google.com/adsense/answer/180195)
684- [Google AdSense Help — Payment thresholds](https://support.google.com/adsense/answer/1709871)
685- [Cloudflare — Plans](https://www.cloudflare.com/plans/)
686- [Cloudflare — Free Plan](https://www.cloudflare.com/plans/free/)
687- [Cloudflare Docs — Universal SSL](https://developers.cloudflare.com/ssl/edge-certificates/universal-ssl/)
688- [Amazon Associates — U.S. Standard Commission Income Statement](https://affiliate-program.amazon.com/help/node/topic/GRXPHT8U84RAYDXZ)
689- [Substack Help — How much does Substack cost?](https://support.substack.com/hc/en-us/articles/360037607131-How-much-does-Substack-cost)
690- [Stripe — Pricing](https://stripe.com/pricing)
691- [Vercel — Pricing](https://vercel.com/pricing)
692- [Supabase — Pricing](https://supabase.com/pricing)
693- [Sentry — Pricing](https://sentry.io/pricing/)
694- [Resend — Pricing](https://resend.com/pricing)