+164−463
⋯ Unchanged lines omitted ⋯
3131
| ----------------- | ---------------------------------------------------------------------------------------------- | ----------------------: | ----------- | ------------------------------------------------ |3232
| Code editor | [Visual Studio Code](/wiki/visual-studio-code) or equivalent | Free | Essential | For custom development |33
| Source control | Git + [GitHub](/wiki/github) free account | Free | Recommended | Version control and deployment workflow |34
| Framework | Next.js, other open-source framework, or static HTML | Free | Optional | Depends on site type |35
| Database | PostgreSQL, [Supabase](/wiki/supabase), or another database | Free entry possible | Optional | Dynamic sites only |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 |3636
| Hosting | Free-tier host or existing hardware | $0 additional possible | Essential | Limits depend on provider |3737
| DNS/CDN | [Cloudflare](/wiki/cloudflare) Free | Free | Recommended | DNS, CDN, DDoS protection and SSL |⋯ Unchanged lines omitted ⋯
3939
| Analytics | [Google Analytics](/wiki/google-analytics) | Free | Recommended | Visitor and acquisition measurement |4040
| Search monitoring | [Google Search Console](/wiki/google-search-console) | Free | Recommended | Google crawling, indexing and search performance |41
| Authentication | Google Sign-In or application-managed accounts | Free entry possible | Optional | Needed only for user accounts |41
| Authentication | [Google Sign-In](/wiki/google-sign-in) or application-managed accounts | Free entry possible | Optional | Needed only for user accounts |4242
4343
⋯ Unchanged lines omitted ⋯
6666
## Managed hosting6767
68
Platforms such as Vercel, Cloudflare Pages, and Netlify reduce infrastructure work by handling deployment, HTTPS, and parts of the networking stack.68
Platforms 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.6969
7070
This is useful for developers who want to deploy directly from a Git repository without maintaining a Linux server.⋯ Unchanged lines omitted ⋯
7474
## VPS7575
76
A VPS gives the operator substantially more control.76
A [VPS](/wiki/vps) gives the operator substantially more control.7777
7878
A typical custom stack can include:7979
8080
- Linux;81
- Doker;81
- [Docker](/wiki/docker);8282
- a web application;83
- PostgreSQL;84
- a reverse proxy such as Caddy or Nginx.83
- [PostgreSQL](/wiki/postgresql);84
- a reverse proxy such as [Caddy](/wiki/caddy) or [Nginx](/wiki/nginx).8585
8686
The operator becomes responsible for updates, firewall configuration, database backups, storage, monitoring, and recovery.⋯ Unchanged lines omitted ⋯
160160
They are complementary rather than substitutes.161161
162
Other analytics products such as [Plausible Analytics](/wiki/plausible-analytics), [Matomo](/wiki/matomo), and Cloudflare Web Analytics can be relevant when privacy, data ownership, or lighter client-side scripts are priorities.162
Other 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.163163
164164
# Google Analytics⋯ Unchanged lines omitted ⋯
278278
A website that requires user accounts does not necessarily need to maintain its own password system.279279
280
Google Sign-In, based on Google Identity Services, lets users authenticate with an existing Google Account.280
[Google Sign-In](/wiki/google-sign-in), based on Google Identity Services, lets users authenticate with an existing Google Account.281281
282282
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.⋯ Unchanged lines omitted ⋯
308308
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.309309
310
Other representative authentication services include Auth0, Clerk, Supabase Auth, and Firebase Authentication.310
Other representative authentication services include [Auth0](/wiki/auth0), [Clerk](/wiki/clerk), [Supabase Auth](/wiki/supabase-auth), and [Firebase Authentication](/wiki/firebase-authentication).311311
312312
# Google Cloud Is Not the Same as Google Login⋯ Unchanged lines omitted ⋯
333333
| Layer | Example |334334
| ------------------- | ------------------------------------------------------------------ |335
| Application | Next.js |336
| Database | PostgreSQL |337
| Containers | Docker |338
| Reverse proxy | Caddy |335
| Application | [Next.js](/wiki/nextjs) |336
| Database | [PostgreSQL](/wiki/postgresql) |337
| Containers | [Docker](/wiki/docker) |338
| Reverse proxy | [Caddy](/wiki/caddy) |339339
| DNS/CDN | [Cloudflare](/wiki/cloudflare) |340340
| HTTPS | Caddy and/or Cloudflare |341
| Authentication | Google Sign-In |341
| Authentication | [Google Sign-In](/wiki/google-sign-in) |342342
| Traffic measurement | [Google Analytics](/wiki/google-analytics) |343343
| Search monitoring | [Google Search Console](/wiki/google-search-console) |⋯ Unchanged lines omitted ⋯
557557
These components are often absent from a local prototype but become more important once users depend on the site.558558
559
Representative error-monitoring options include Sentry, application logs, hosting-provider monitoring, and cloud observability services.559
Representative error-monitoring options include [Sentry](/wiki/sentry), application logs, hosting-provider monitoring, and cloud observability services.560560
561561
Websites 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.⋯ Unchanged lines omitted ⋯