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