Research & Operations Guide· Zero-Dollar Infrastructure· Published 2026-09-04

The Cheapest Ways to Host a Website in 2026

For static sites (HTML, CSS, JavaScript, and client-side Plotly files like this portfolio), the absolute cheapest hosting is not $5/month or $3/month: it is literally $0.00 forever. Here is the verified breakdown of zero-cost hosting providers, bandwidth limits, overage traps, and step-by-step deploy instructions.

01 The Executive Verdict

The short answer for Daniel's Tableau portfolio

For static portfolios and client-side web apps, the industry has commoditized basic file hosting. You should never pay for web hosting for a portfolio site.

The #1 Recommendation

Cloudflare Pages (100% Free Forever)
Hosting Cost: $0.00 / month.
Bandwidth: Unlimited (zero bandwidth cap, zero surprise overage fees).
Custom Domain: Free SSL included (auto-renews).
Deploy Options: Connect your GitHub repo, OR drag-and-drop the xp/tableau/ folder directly in your browser. Live in 30 seconds.

02 The Zero-Cost Hosting Matrix

Comparing the 5 major static hosts against legacy providers and website builders

Provider Monthly Cost Bandwidth Limit Ads & Watermarks Overage Trap? Custom Domain & SSL Rating & Best For
1. Cloudflare Pages $0.00 / mo Unlimited 100% Zero (Pure pass-through) None (No overages) Free (Global Anycast CDN) ★★★★★ #1 Pick · Best performance, zero ads
2. GitHub Pages $0.00 / mo 100 GB / month 100% Zero (Raw git files) Soft throttle (no bills) Free (via Let's Encrypt) ★★★★☆ #2 Pick · Seamless git workflow
3. Netlify $0.00 / mo 100 GB / month Zero (Clean default) Bills $55/100GB over Free ★★★☆☆ Good · Quickest drag-and-drop
4. Free Website Builders
(Wix / WordPress / Carrd)
$0.00 / mo Strict limits (0.5–1 GB) FORCED ADS & WATERMARKS Forced paid upgrade Paid upgrade ($16+/mo) ✖ TOXIC · Destroys consultant credibility
5. Legacy Shared Hosting
(Bluehost / GoDaddy)
$4 – $18 / mo Metered / Throttled Clean (Paid) Price hikes on renewal Often $80+/yr upsell for SSL ✖ AVOID · Obsolete for static sites

03 The Zero-Ad & Zero-Watermark Mandate

Why free website builders are lethal to an $85–125/hr freelance positioning

When an enterprise director or hiring manager evaluates a consultant charging $85–125/hr, the presence of even a single advertisement, pop-up banner, or platform watermark destroys institutional trust instantly.

Prospective clients reason: "If this architect cannot host their own professional portfolio without a 'Powered by Wix' banner, how can they manage our enterprise cluster migration?"

The "Free Builder" Watermark Hall of Shame All Disqualifying for Commercial Consulting
Platform Injected Intrusion Executive Impression
Wix (Free Tier) Sticky header banner: "This website was designed with Wix.com. Create your website today." Cannot be closed. Amateur; reads like a high-school or hobbyist project.
WordPress.com (Free) Injects dynamic third-party banner ads and Google AdSense into content. Unacceptable; client may see competitor ads inside your portfolio.
Webflow (Free) Persistent floating badge in lower right corner: "Made in Webflow". Signals template-dependent designer rather than technical engineer.
Carrd (Free Tier) Footer credit: "Made with Carrd" linked to referral program. Signals quick landing page rather than an enterprise BI leader.
Free PHP Hosts (000webhost) Pop-under ads, analytics trackers, and forced footer links. Security risk; IT corporate firewalls often block these domains.
Why Cloudflare Pages & GitHub Pages Are 100% Pure

Both Cloudflare Pages and GitHub Pages are infrastructure-level edge servers, not marketing website builders. They serve your HTML, CSS, and JS files byte-for-byte as raw static assets over an Anycast CDN:
Zero code injection: No banners, no badges, no watermarks, no tracking iframes.
Zero ads: No network ads or popups ever.
Custom domain freedom: When bound to danieljin.com, the page contains 100% Daniel's code and branding alone.

Chart Engine Watermark Elimination: Plotly Configuration

By default, Plotly.js displays an interactive modebar with a camera, zoom tools, and a "Produced with Plotly" logo in the top-right corner of charts. In our portfolio, all chart renders are configured with:

// Plotly zero-watermark configuration used across Daniel's portfolio
Plotly.newPlot(plotDiv, traces, layout, {
  responsive: true,
  displayModeBar: false,  // Completely hides modebar & Plotly logo watermark
  displaylogo: false      // Explicitly removes Plotly attribution icon
});

This ensures every visualization appears as a bespoke, hand-crafted analytical interface rather than a default library output.

03 Step-by-Step Deployment Guides

Detailed instructions to launch the portfolio online right now

A

Method A: Cloudflare Pages (Drag-and-Drop — 60 Seconds)

  1. Sign up for a free account at dash.cloudflare.com.
  2. In the left sidebar, click Workers & PagesCreate application → click the Pages tab.
  3. Click Upload assets.
  4. Name your project (e.g. danieljin-portfolio).
  5. Drag and drop the entire xp/tableau/ directory folder directly onto the upload area.
  6. Click Deploy site.
  7. Instant Result: Your site is live at https://danieljin-portfolio.pages.dev with full HTTPS, fast edge caching, and zero bills forever!
B

Method B: GitHub Pages (Git-Integrated — 2 Minutes)

  1. Create a repository on GitHub (e.g. tableau-portfolio or username.github.io).
  2. Push your xp/tableau files to the repository:
    cd xp/tableau
    git init
    git add .
    git commit -m "Launch Tableau & BI architecture portfolio"
    git branch -M main
    git remote add origin https://github.com/<your-username>/tableau-portfolio.git
    git push -u origin main
  3. On GitHub, go to your repository SettingsPages (in the left sidebar).
  4. Under Build and deployment → Branch, select main and / (root), then click Save.
  5. Instant Result: Within 60 seconds, your site is published live at https://<your-username>.github.io/tableau-portfolio/.
C

Method C: Netlify Drop (Quickest Zero-Account Test)

  1. Navigate to app.netlify.com/drop.
  2. Drag and drop your xp/tableau folder directly into the designated drop zone.
  3. Netlify generates an instant live URL (e.g. https://dazzling-curie-12345.netlify.app).
  4. Create a free account to claim the URL and rename it to daniel-jin-portfolio.netlify.app.

04 Custom Domain Economics: How to Pay $9.77/Year (Not $40)

Buying a custom domain without getting gouged by registrar markups

If Daniel wants a professional domain like danieljin.com, danieljin.dev, or djinanalytics.com, hosting remains $0.00, but domain registries charge an annual ICANN registration fee:

Registrar Annual Cost (.com) WHOIS Privacy Verdict
Cloudflare Registrar $9.77 / year Free Forever Recommended · Zero markup, wholesale at-cost pricing.
Porkbun $10.30 / year Free Forever Excellent · Low cost, clean UI, free privacy.
Namecheap $10.48 yr 1 → $14.98/yr renewal Free Acceptable, but renewal prices are higher.
GoDaddy $0.99 yr 1 → $22.99/yr + $14.99 privacy $14.99/yr upsell DO NOT USE · Predatory renewal price traps.
Connecting Custom Domain to Cloudflare Pages

If you register through Cloudflare Registrar, connecting the domain to your Cloudflare Pages portfolio is literally a one-click action inside the Cloudflare dashboard: Go to Pages → Your Project → Custom Domains → type danieljin.com. DNS records and SSL are configured automatically with zero manual record copying!

05 Pre-Deploy Checklist for Daniel's Portfolio

Verify these 4 points before uploading