Revision 2

Website

@namkyu · Aug 23, 2026, 2:36 AM

No edit summary
+041

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, and monetization become separate operational concerns once the site goes live.

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, donations

Search visibility

Crawling and indexing are not guaranteed

Main hidden work

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

A functioning website can therefore have very low software costs. The cost profile changes substantially when traffic, storage, database usage, email delivery, APIs, redundancy, moderation, 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 or other open-source database

Free software

Optional

Dynamic sites only

Hosting

Free-tier host or existing hardware

US$0 additional possible

Essential

Limits depend on provider

DNS/CDN

Cloudflare Free

Free

Recommended

DNS, CDN, DDoS protection and SSL

HTTPS

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 and hardware failure responsibility from a hosting company to the operator.

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 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 and platform limits become relevant as usage increases.

A virtual private server 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 networking configuration;

  • hardware failure;

  • storage failure;

  • backups;

  • power outages;

  • remote recovery.

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

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.

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 and application 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.

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.

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;

  • 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 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.

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.

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

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.

Common models include:

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.

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

A site with substantial traffic can still generate weak advertising revenue when visitors come from low-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.

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.

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.

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 donations, memberships, subscriptions 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 and accumulated content 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 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.

Costs that can grow with activity include:

  • compute;

  • bandwidth;

  • database capacity;

  • object storage;

  • email volume;

  • AI/API calls;

  • monitoring/log retention;

  • payment processing.

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.

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.

A basic public website should 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.

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 newly launched content business should therefore not treat immediate organic search traffic as guaranteed distribution.

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

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

External login removes the need to directly authenticate passwords but does not remove the need for application sessions, permissions, account deletion and privacy handling.

A page can load correctly for users worldwide and still receive no meaningful Google traffic. Public availability, crawlability, indexing and ranking are separate conditions.

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, and monetization become separate operational concerns once the site goes live.
2
3# Quick Facts
4
5
6| Item | Practical starting point |
7| --------------------- | ------------------------------------------------------------------------------------------------------- |
8| Development software | Free |
9| Google Analytics | Free for GA4 properties |
10| Google Search Console | Free |
11| Cloudflare | Free plan available |
12| HTTPS | Free options available |
13| Google Sign-In | Google Identity Services |
14| Custom domain | Paid; registration and renewal vary by TLD and registrar |
15| Hosting | Free tier, VPS, cloud, managed hosting, or self-hosting |
16| Main monetization | Advertising, subscriptions, affiliate commissions, sponsorships, paid listings, transactions, donations |
17| Search visibility | Crawling and indexing are not guaranteed |
18| Main hidden work | Deployment, DNS, authentication, indexing, monitoring, backups and maintenance |
19
20
21A functioning website can therefore have very low software costs. The cost profile changes substantially when traffic, storage, database usage, email delivery, APIs, redundancy, moderation, or paid acquisition increase.
22
23# Minimum Entry Setup
24
25A public website does not necessarily require paid cloud infrastructure.
26
27
28| Requirement | Minimum option | Cost | Priority | Notes |
29| ----------------- | ---------------------------------------------------------------------- | ------------------------ | ----------- | ------------------------------------------------ |
30| Code editor | [Visual Studio Code](/wiki/visual-studio-code) or equivalent | Free | Essential | For custom development |
31| Source control | [Git](/wiki/git) + [GitHub](/wiki/github) free account | Free | Recommended | Version control and deployment workflow |
32| Framework | [Next.js](/wiki/nextjs), other open-source framework, or static HTML | Free | Optional | Depends on site type |
33| Database | [PostgreSQL](/wiki/postgresql) or other open-source database | Free software | Optional | Dynamic sites only |
34| Hosting | Free-tier host or existing hardware | US$0 additional possible | Essential | Limits depend on provider |
35| DNS/CDN | [Cloudflare](/wiki/cloudflare) Free | Free | Recommended | DNS, CDN, DDoS protection and SSL |
36| HTTPS | Cloudflare Universal SSL or hosting provider certificate | Free | Essential | Public sites should use HTTPS |
37| Analytics | [Google Analytics](/wiki/google-analytics) | Free | Recommended | Visitor and acquisition measurement |
38| Search monitoring | [Google Search Console](/wiki/google-search-console) | Free | Recommended | Google crawling, indexing and search performance |
39| Authentication | [Google Sign-In](/wiki/google-sign-in) or application-managed accounts | Free entry possible | Optional | Needed only for user accounts |
40
41
42The 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 and hardware failure responsibility from a hosting company to the operator.
43
44# From Code to a Working Website
45
46A locally functioning application is only one part of operating a website.
47
48A typical production path is:
49
50`Application → Server/Hosting → Domain → DNS → HTTPS/CDN → Analytics → Search indexing → Authentication → Monitoring → Monetization`
51
52Each layer can fail independently.
53
54For 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.
55
56This makes deployment and operations materially different from simply completing the application's code.
57
58# Hosting
59
60There is no single required hosting model.
61
62## Managed hosting
63
64Platforms such as [Vercel](/wiki/vercel) reduce infrastructure work by handling deployment, HTTPS and parts of the networking stack.
65
66This is useful for developers who want to deploy directly from a Git repository without maintaining a Linux server.
67
68The trade-off is that infrastructure pricing and platform limits become relevant as usage increases.
69
70## VPS
71
72A virtual private server gives the operator substantially more control.
73
74A typical custom stack can include:
75
76- Linux;
77- [Docker](/wiki/docker);
78- a web application;
79- [PostgreSQL](/wiki/postgresql);
80- a reverse proxy such as [Caddy](/wiki/caddy) or [Nginx](/wiki/nginx).
81
82The operator becomes responsible for updates, firewall configuration, database backups, storage, monitoring and recovery.
83
84## Self-hosting
85
86An existing PC or server can host a public website for little or no additional hardware cost.
87
88The operator must instead account for:
89
90- electricity;
91- residential or business internet reliability;
92- router configuration;
93- public IP or networking configuration;
94- hardware failure;
95- storage failure;
96- backups;
97- power outages;
98- remote recovery.
99
100Self-hosting therefore reduces direct hosting expenditure but does not eliminate infrastructure cost or operational work.
101
102# Domain, DNS, CDN and HTTPS
103
104A custom domain is separate from the server that runs the website.
105
106The domain must point users toward the correct infrastructure through DNS.
107
108[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.
109
110This means a small site does not necessarily need to purchase a separate CDN or public TLS certificate.
111
112A common configuration is:
113
114`Visitor → Cloudflare → Origin server → Application`
115
116Cloudflare can proxy public traffic while the origin server remains separately managed.
117
118For 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.
119
120## `www` and apex domains
121
122`example.com` and `www.example.com` are different hostnames.
123
124A production site should deliberately decide which is canonical and redirect the other when appropriate.
125
126HTTPS, DNS records, reverse-proxy configuration and application URLs need to agree. A configuration can therefore work at:
127
128`https://example.com`
129
130while failing at:
131
132`https://www.example.com`
133
134if the second hostname has not been configured correctly.
135
136# Traffic Measurement
137
138Two Google services commonly used by website operators measure different things.
139
140
141| Service | What it answers | Cost |
142| ---------------------------------------------------- | ------------------------------------------ | ----------------------- |
143| [Google Analytics](/wiki/google-analytics) | Who visits the website and how they use it | Free for GA4 properties |
144| [Google Search Console](/wiki/google-search-console) | How the website performs in Google Search | Free |
145
146
147They are complementary rather than substitutes.
148
149# Google Analytics
150
151[Google Analytics](/wiki/google-analytics) can measure website and application interactions across devices and platforms.
152
153Useful website measurements include:
154
155- users;
156- sessions;
157- landing pages;
158- acquisition channels;
159- countries;
160- events;
161- conversions;
162- user paths.
163
164GA4 properties are provided without charge under Google's Analytics terms.
165
166Analytics does not tell an operator whether a page has successfully entered Google's search index. That is a Search Console function.
167
168# Google Search Console
169
170[Google Search Console](/wiki/google-search-console) is Google's free tool for monitoring a site's presence in Google Search.
171
172It can show:
173
174- whether Google can access the site;
175- crawl and indexing problems;
176- indexed and non-indexed URLs;
177- search impressions;
178- clicks;
179- queries;
180- links;
181- sitemap processing;
182- individual URL inspection.
183
184It can also request recrawling of individual URLs.
185
186A new website can be completely functional and accessible worldwide while still having little or no Google Search visibility.
187
188# Crawling, Indexing and Ranking
189
190These are separate stages.
191
192`Discovered → Crawled → Indexed → Served/ranked`
193
194A page being crawled does not mean it has been indexed.
195
196A page being indexed does not mean it will rank for a useful query.
197
198Google states that Search works through crawling, indexing and serving results, and that not every processed page is guaranteed to enter the index.
199
200For 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.
201
202Google also states that crawling after a request can take from several days to several weeks.
203
204Repeatedly requesting recrawling of the same unchanged URL does not make Google crawl it faster.
205
206# Sitemap
207
208An XML sitemap provides search engines with URLs the operator considers important.
209
210A simple entry can contain:
211
212```xml
213<url>
214 <loc>https://example.com/page</loc>
215 <lastmod>2026-08-23T00:00:00Z</lastmod>
216</url>
217```
218
219Google recommends absolute URLs in sitemaps.
220
221A 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.
222
223For a database-backed website, the sitemap can be generated automatically from published pages instead of being manually edited.
224
225Sitemaps are particularly useful for new sites with few external links because crawlers may otherwise have fewer paths through which to discover pages.
226
227However, sitemap submission is only a signal. Google explicitly states that it does not guarantee crawling or indexing.
228
229RSS 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.
230
231# robots.txt
232
233`robots.txt` controls which parts of a site crawlers may request.
234
235A site can allow public content while excluding administrative or editing routes.
236
237Example:
238
239```text
240User-agent: *
241Allow: /
242Disallow: /api/
243Disallow: /login
244Disallow: /*/edit
245
246Sitemap: https://example.com/sitemap.xml
247```
248
249An incorrect rule can prevent search crawlers from accessing important content.
250
251`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.
252
253# Google Login
254
255A website that requires user accounts does not necessarily need to maintain its own password system.
256
257[Google Sign-In](/wiki/google-sign-in), based on Google Identity Services, lets users authenticate with an existing Google Account.
258
259Google'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.
260
261Production configuration can involve:
262
263- OAuth client ID;
264- application branding;
265- authorized domain;
266- JavaScript origin;
267- redirect URI;
268- consent configuration;
269- backend ID-token verification.
270
271A typical production origin might be:
272
273`https://example.com`
274
275while an authentication framework may use a callback such as:
276
277`https://example.com/api/auth/callback/google`
278
279The exact callback depends on the application's authentication implementation.
280
281A mismatch between the configured URI and the application's URI can prevent authentication even when the rest of the website operates normally.
282
283Google 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.
284
285Authentication 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.
286
287# Google Cloud Is Not the Same as Google Login
288
289Creating a Google Cloud project for an OAuth client does not mean the website must host its application on [Google Cloud](/wiki/google-cloud).
290
291For example, the application may run on:
292
293`Self-hosted Linux server`
294
295while using:
296
297`Google Cloud project → OAuth configuration → Google Sign-In`
298
299The server itself can remain completely outside Google Cloud.
300
301Likewise, [Google Analytics](/wiki/google-analytics), [Google Search Console](/wiki/google-search-console) and Google Cloud have different purposes despite all being Google services.
302
303# Operating Stack Example
304
305A small custom content or community website can realistically use a stack such as:
306
307
308| Layer | Example |
309| ------------------- | ---------------------------------------------------- |
310| Application | [Next.js](/wiki/nextjs) |
311| Database | [PostgreSQL](/wiki/postgresql) |
312| Containers | [Docker](/wiki/docker) |
313| Reverse proxy | [Caddy](/wiki/caddy) |
314| DNS/CDN | [Cloudflare](/wiki/cloudflare) |
315| HTTPS | Caddy and/or Cloudflare |
316| Authentication | [Google Sign-In](/wiki/google-sign-in) |
317| Traffic measurement | [Google Analytics](/wiki/google-analytics) |
318| Search monitoring | [Google Search Console](/wiki/google-search-console) |
319| Search discovery | XML sitemap + crawlable internal links |
320
321
322Most 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.
323
324The more important early cost can be development and maintenance time.
325
326# How It Makes Money
327
328A website is a distribution mechanism rather than a single business model.
329
330Revenue depends on what the site provides and what economic action occurs after traffic arrives.
331
332Common models include:
333
334
335| Model | Revenue event | Common fit |
336| ------------------- | ----------------------------------- | -------------------------------- |
337| Display advertising | Ad impression/click ecosystem | Content, Wiki, forum |
338| Affiliate | Referred purchase or action | Reviews, comparisons, guides |
339| Subscription | Recurring user payment | SaaS, premium information, tools |
340| Paid listing | Business pays for placement/listing | Directory, marketplace |
341| Transaction fee | Transaction completed | Marketplace/platform |
342| Sponsorship | Direct sponsor agreement | Community/content |
343| Digital product | Product purchase | Education, templates, data |
344| Donation/membership | Voluntary or member payment | Community, open knowledge |
345
346
347Traffic alone is therefore not revenue.
348
349Two 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.
350
351# Advertising
352
353Display advertising is one of the easiest monetization models to understand operationally because revenue can begin without building a proprietary payment product.
354
355[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.
356
357For a content site:
358
359`Page RPM = estimated publisher revenue / page views × 1,000`
360
361A site with substantial traffic can still generate weak advertising revenue when visitors come from low-value advertising markets or when the content has little commercial intent.
362
363Advertising also creates a trade-off between monetization and user experience because additional placements can increase visual clutter and page weight.
364
365# Affiliate Revenue
366
367Affiliate monetization works best when a page sits close to a purchasing decision.
368
369Examples include:
370
371- product comparisons;
372- software comparisons;
373- hosting recommendations;
374- equipment guides;
375- business-service directories.
376
377The economically important values are not raw traffic alone but:
378
379`Visitors × outbound-click rate × merchant conversion rate × commission`
380
381A smaller high-intent website can therefore be more valuable than a larger general-information site.
382
383Actual commission rates and attribution windows should be checked against each affiliate program rather than assumed across the industry.
384
385# Subscription and Premium Features
386
387Subscriptions can reduce dependence on advertising but require a reason for users to pay repeatedly.
388
389Web products commonly place payment around:
390
391- premium tools;
392- additional data;
393- advanced search;
394- saved workflows;
395- team features;
396- higher usage limits;
397- removal of advertising;
398- professional features.
399
400This changes the important metric from page views toward paying conversion, churn and revenue per customer.
401
402# Wiki and Community Monetization
403
404Wiki and user-generated-content sites have additional monetization options because contributors can continuously expand the site's searchable content.
405
406[Fandom](/wiki/fandom) is an example of a for-profit Wiki platform whose business includes advertising and commercial partnerships.
407
408Other knowledge/community projects may instead use donations, memberships, subscriptions or combinations of these models.
409
410The existence of a large Wiki does not establish that a new Wiki can reproduce its economics. Community size, search distribution, moderation cost and accumulated content are major differences.
411
412# Search Traffic as an Asset
413
414A content-heavy website can accumulate pages that independently receive search impressions.
415
416For example:
417
418```text
419/wiki/topic-a
420/wiki/topic-b
421/wiki/topic-c
422...
423```
424
425Each page becomes another potential search entry point.
426
427This makes structured Wiki, directory and database models different from a small fixed marketing website: adding useful pages expands the site's searchable surface area.
428
429However, 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.
430
431# Costs
432
433The first version of a website can be unusually cheap because many infrastructure components have free tiers.
434
435Costs tend to appear as the service grows.
436
437## Fixed or low-volume costs
438
439Common early expenses include:
440
441- domain registration and renewal;
442- VPS or hosting;
443- backup storage;
444- transactional email;
445- premium SaaS tools.
446
447## Usage-based costs
448
449Costs that can grow with activity include:
450
451- compute;
452- bandwidth;
453- database capacity;
454- object storage;
455- email volume;
456- AI/API calls;
457- monitoring/log retention;
458- payment processing.
459
460## Human costs
461
462For community and Wiki sites, infrastructure may eventually be cheaper than:
463
464- moderation;
465- spam handling;
466- abuse prevention;
467- copyright requests;
468- user support;
469- content verification.
470
471These costs are easy to omit from an initial hosting calculation.
472
473# Practical Problems After Launch
474
475## DNS and SSL mismatch
476
477A site may work on one hostname but fail on another.
478
479Apex and `www` records, certificates, redirects, reverse-proxy configuration and application base URLs should describe the same production setup.
480
481## OAuth works locally but fails in production
482
483Localhost and the production domain are different OAuth environments.
484
485Production origins and callback URLs need to be configured correctly.
486
487## Google crawls but does not index
488
489Server logs or Search Console may show Googlebot requests while individual pages remain outside the index.
490
491This is possible because crawling and indexing are separate stages.
492
493## Analytics and Search Console disagree
494
495This is expected because they measure different systems.
496
497Analytics measures website usage; Search Console measures Google Search visibility and search-originating activity.
498
499## Origin works but CDN configuration fails
500
501When a proxy/CDN sits between users and the origin:
502
503`User → CDN → Origin`
504
505either connection can fail.
506
507An origin TLS problem can therefore produce an error even though the application process itself is running.
508
509# Requirements
510
511A basic public website should have:
512
513- a publicly reachable host;
514- a domain or provider URL;
515- valid HTTPS for normal production use;
516- working DNS;
517- a deployment process;
518- backups for data that cannot be recreated.
519
520A website seeking Google Search traffic should additionally ensure that:
521
522- Googlebot is not blocked;
523- indexable pages return HTTP `200`;
524- important pages contain indexable content;
525- internal links are crawlable;
526- canonical URLs are intentional;
527- important URLs are discoverable.
528
529A website with accounts must additionally maintain application-level sessions, authorization and account data even when an external identity provider handles authentication.
530
531# Risks / Things to Know
532
533## Search traffic can take time to appear
534
535Google states that crawling can take several days to several weeks after a request, and neither a crawl request nor a sitemap guarantees indexing.
536
537A newly launched content business should therefore not treat immediate organic search traffic as guaranteed distribution.
538
539## Free infrastructure does not mean zero operating cost
540
541A project may launch using free analytics, CDN, SSL, frameworks and database software but later incur hosting, storage, email, API and moderation expenses.
542
543## Self-hosting transfers responsibility
544
545Self-hosting can reduce hosting bills but makes power, internet connectivity, hardware, firewall configuration, updates and recovery the operator's responsibility.
546
547## Authentication adds policy and account-management work
548
549External login removes the need to directly authenticate passwords but does not remove the need for application sessions, permissions, account deletion and privacy handling.
550
551## A working website is not necessarily a discoverable website
552
553A page can load correctly for users worldwide and still receive no meaningful Google traffic. Public availability, crawlability, indexing and ranking are separate conditions.
554
555# Sources
556
557- [Google Search Central — How Google Search Works](https://developers.google.com/search/docs/fundamentals/how-search-works)
558- [Google Search Central — Crawling and Indexing FAQ](https://developers.google.com/search/help/crawling-index-faq)
559- [Google Search Central — Ask Google to Recrawl Your URLs](https://developers.google.com/search/docs/crawling-indexing/ask-google-to-recrawl)
560- [Google Search Central — Sitemaps Overview](https://developers.google.com/search/docs/crawling-indexing/sitemaps/overview)
561- [Google Search Central — Build and Submit a Sitemap](https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap)
562- [Google Search Console Help — About Search Console](https://support.google.com/webmasters/answer/9128668)
563- [Google Analytics](https://marketingplatform.google.com/about/analytics/)
564- [Google Analytics Terms of Service](https://marketingplatform.google.com/about/analytics/terms/us/)
565- [Google Identity Services — Overview](https://developers.google.com/identity/gsi/web/guides/overview)
566- [Google Identity Services — Setup](https://developers.google.com/identity/gsi/web/guides/get-google-api-clientid)
567- [Cloudflare — Plans](https://www.cloudflare.com/plans/)
568- [Cloudflare — Free Plan](https://www.cloudflare.com/plans/free/)