Bird
Raised Fist0
Firebasecloud~3 mins

Why Multiple site hosting in Firebase? - Purpose & Use Cases

Choose your learning style10 modes available
The Big Idea

What if you could update all your websites with just a few commands, no mix-ups, no stress?

The Scenario

Imagine you have several websites for your business, like a blog, a store, and a portfolio. You try to upload each site manually to different servers or folders, switching between them every time you want to update something.

The Problem

This manual way is slow and confusing. You might upload files to the wrong place, forget to update one site, or mix up settings. It's hard to keep track and fix mistakes, especially when your sites grow.

The Solution

Multiple site hosting lets you manage all your websites from one place easily. You can deploy each site separately but keep them organized under one project. This saves time, reduces errors, and makes updates smooth and fast.

Before vs After
✗ Before
Upload site1 files to server A
Upload site2 files to server B
Manually configure each server
✓ After
firebase deploy --only hosting:site1
firebase deploy --only hosting:site2
What It Enables

You can run many websites effortlessly from a single Firebase project, making your work faster and more reliable.

Real Life Example

A small business owner runs a main website, a customer support portal, and a product showcase. Using multiple site hosting, they update each site quickly without confusion or downtime.

Key Takeaways

Manual uploads for multiple sites are slow and error-prone.

Multiple site hosting organizes and simplifies managing many websites.

It enables fast, reliable updates from one place.

Practice

(1/5)
1. What is the main benefit of using multiple site hosting in Firebase?
easy
A. Manage several websites under one Firebase project
B. Increase database storage automatically
C. Enable offline data synchronization
D. Create unlimited Firebase projects

Solution

  1. Step 1: Understand multiple site hosting purpose

    Multiple site hosting allows managing multiple websites within a single Firebase project.
  2. Step 2: Compare options

    Options B, C, and D relate to other Firebase features, not multiple site hosting.
  3. Final Answer:

    Manage several websites under one Firebase project -> Option A
  4. Quick Check:

    Multiple site hosting = Manage multiple sites [OK]
Hint: Multiple site hosting means many sites in one project [OK]
Common Mistakes:
  • Confusing hosting with database features
  • Thinking it creates new Firebase projects
  • Assuming it automatically increases storage
2. Which file must you edit to define multiple hosting sites in a Firebase project?
easy
A. package.json
B. index.html
C. .firebaserc
D. firebase.json

Solution

  1. Step 1: Identify configuration file for hosting

    The firebase.json file holds hosting configurations including multiple sites.
  2. Step 2: Eliminate other files

    index.html is a webpage, package.json is for Node.js dependencies, and .firebaserc stores project aliases but not hosting sites.
  3. Final Answer:

    firebase.json -> Option D
  4. Quick Check:

    Hosting sites defined in firebase.json [OK]
Hint: Hosting config is always in firebase.json [OK]
Common Mistakes:
  • Editing .firebaserc instead of firebase.json
  • Confusing package.json with Firebase config
  • Trying to define sites in index.html
3. Given this snippet in firebase.json:
{
  "hosting": [
    {
      "target": "siteA",
      "public": "publicA"
    },
    {
      "target": "siteB",
      "public": "publicB"
    }
  ]
}
What command links the target siteA to a Firebase Hosting site ID?
medium
A. firebase target:apply hosting siteA your-site-id
B. firebase deploy --only hosting:siteA
C. firebase init hosting siteA
D. firebase hosting:link siteA your-site-id

Solution

  1. Step 1: Understand target linking command

    The command firebase target:apply hosting <target> <site-id> links a target name to a Firebase Hosting site ID.
  2. Step 2: Review options

    firebase deploy --only hosting:siteA deploys hosting but does not link targets. firebase init hosting siteA initializes hosting but does not link targets. firebase hosting:link siteA your-site-id is not a valid Firebase CLI command.
  3. Final Answer:

    firebase target:apply hosting siteA your-site-id -> Option A
  4. Quick Check:

    Target apply links target to site ID [OK]
Hint: Use 'firebase target:apply hosting' to link targets [OK]
Common Mistakes:
  • Using deploy instead of target:apply to link
  • Trying to link with firebase init
  • Assuming 'hosting:link' is a valid command
4. You added two sites in firebase.json hosting array but forgot to run firebase target:apply hosting. What happens when you deploy?
medium
A. Firebase creates new site IDs automatically
B. Both sites deploy successfully with default site IDs
C. Deployment fails with an error about missing target link
D. Only the first site deploys, second is ignored silently

Solution

  1. Step 1: Understand target linking requirement

    Each hosting target must be linked to a Firebase Hosting site ID using firebase target:apply hosting.
  2. Step 2: Consequence of missing link

    If targets are not linked, deployment fails with an error indicating missing target link.
  3. Final Answer:

    Deployment fails with an error about missing target link -> Option C
  4. Quick Check:

    Missing target link causes deployment error [OK]
Hint: Always link targets before deploying multiple sites [OK]
Common Mistakes:
  • Assuming Firebase auto-links targets
  • Expecting silent ignore of unlinked sites
  • Thinking deployment creates new site IDs
5. You want to host two websites: a blog and a store, under one Firebase project. You defined them in firebase.json hosting array with targets blog and store. Which sequence correctly sets up and deploys both sites?
hard
A. Run firebase deploy --only hosting:blog,hosting:store directly without linking targets
B. Run firebase target:apply hosting blog blog-site-id and firebase target:apply hosting store store-site-id, then firebase deploy --only hosting
C. Add sites in .firebaserc and run firebase deploy
D. Run firebase init hosting blog and firebase init hosting store then deploy

Solution

  1. Step 1: Link each target to its Firebase Hosting site ID

    Use firebase target:apply hosting <target> <site-id> for both blog and store targets.
  2. Step 2: Deploy all hosting targets

    Run firebase deploy --only hosting to deploy all defined hosting sites.
  3. Final Answer:

    Run target:apply for blog and store, then deploy hosting -> Option B
  4. Quick Check:

    Link targets first, then deploy hosting [OK]
Hint: Link targets first, then deploy all hosting sites [OK]
Common Mistakes:
  • Deploying without linking targets
  • Trying to define sites only in .firebaserc
  • Using firebase init hosting multiple times incorrectly
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard