# Multisite Setup

This tutorial explains how to host multiple sites from one project/installation of Umbraco. For practical reasons, we recommend using [Baselines](https://docs.umbraco.com/umbraco-cloud/getting-started/baselines) on Umbraco Cloud projects.

{% hint style="info" %}
When using Baselines on Umbraco Cloud for a multisite solution, you would not need to worry about [Usage](https://docs.umbraco.com/umbraco-cloud/set-up/project-settings/usage) limits, and could see better performance compared to having multiple websites in one project.
{% endhint %}

If you are planning to create a multilingual site, take a look at the [Multilanguage Setup](/umbraco-cms/13.latest/tutorials/multilanguage-setup.md) tutorial instead.

## Structuring your website

The best way to handle a multisite solution is to have multiple root nodes in the Content section, where each root node would act as a separate website.

Keep in mind all the websites in your solution will be using the same schema - meaning, in most cases, your content pages on website A will be using the same properties as on website B.

{% hint style="info" %}
If your site is hosted on Umbraco Cloud, you will need to map your sites' hostnames to the project.

Before you can map your hostnames to individual websites in the solution, you should add them in the Hostnames page on the Cloud portal to ensure they are secured with TLS.
{% endhint %}

![Adding hostnames to the project](/files/ot0n23Anq6hdhel8z5ID)

Keep in mind the [hostnames have to be configured in a specific way.](https://docs.umbraco.com/umbraco-cloud/set-up/project-settings/manage-hostnames)

## Mapping the hostnames to individual websites/root nodes

At this point, you should have several root nodes, where each is a separate website. To map the hostnames to individual root nodes:

1. Go to the **Content** section in the backoffice of your site.
2. Right-click on the content node you wish to assign the hostname to.
3. Select **Culture and Hostnames**. option.

   ![Culture and hostnames](/files/kEouh2Xuclxq6jFIGYlj)
4. In the **Domains** pane, click **Add new Domain**.
5. Enter the domain in the **Domain** field and select the language from the **Language** drop-down list. If you have a multilanguage solution, you can map different hostnames to specific languages.

<figure><img src="/files/0UN4a9NBjRBnmGdg357I" alt=""><figcaption></figcaption></figure>

6\. Click Save and that should do it!

The sites you have should now be available under the hostnames you provided.

![Dolphin site](/files/6DqjOYSuekr0ELxZSEXh) ![Swato site](/files/1UQhwonB6P4iZ2Af8NwK)

## Best practices

While such a setup might be handy, it also comes with drawbacks. It is important to keep in mind that having multiple sites on one Umbraco project:

* Might increase resource usage.
* Could interfere with editors' workflows, especially if there are multiple people working on both websites at once. That is because the solution will still use one database for both websites.
* Limit your options in regards to developing new features and making schema changes.

On Umbraco Cloud-hosted sites we recommend using the [Baseline](https://docs.umbraco.com/umbraco-cloud/getting-started/baselines) functionality - which comes with added benefits, and offers increased stability compared to the multisite solution in a single project.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.umbraco.com/umbraco-cms/13.latest/tutorials/multisite-setup.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
