> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mainwp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Getting started with MainWP

> Learn how to install and configure MainWP Dashboard and Child plugins to manage multiple WordPress sites.

<iframe className="w-full aspect-video rounded-xl" src="https://www.youtube.com/embed/2Mj3yV_POBE" title="Getting started with MainWP - Video Tutorial" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />

[← Part 1: MainWP Introduction](/getting-started/mainwp-introduction)

[Part 3: MainWP User Interface →](/getting-started/mainwp-user-interface)

MainWP requires two components:

* **MainWP Dashboard** - Install on a dedicated WordPress site that controls all other sites
* **MainWP Child** - Install on each WordPress site you want to manage

<Warning>
  Install MainWP Dashboard on a clean WordPress installation rather than an operating site. This eliminates plugin conflicts.
</Warning>

MainWP Dashboard has no site limit. Check the [System Requirements](/advanced/miscellaneous/mainwp-system-requirements) to verify your server can handle your planned number of child sites.

## Prerequisites

Before starting, confirm you have:

* A dedicated WordPress site for the MainWP Dashboard (not an existing production site)
* Administrator access to the Dashboard site
* Administrator access to each child site you want to manage
* MainWP Child plugin ready to install on child sites

## Install MainWP Dashboard

<iframe className="w-full aspect-video rounded-xl" src="https://www.youtube.com/embed/4xSncGrbuEM" title="Getting started with MainWP - Video Tutorial" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />

<Steps>
  <Step title="Open the Plugins page">
    Go to **WP Admin > Plugins** on your WordPress site dedicated to hosting MainWP Dashboard.
  </Step>

  <Step title="Add new plugin">
    Click **Add New**.
  </Step>

  <Step title="Search for MainWP">
    Enter "MainWP" in the search field and press Enter.
  </Step>

  <Step title="Install the plugin">
    Find **MainWP Dashboard** in the results and click **Install Now**.
  </Step>

  <Step title="Activate">
    Click **Activate** once installation completes.
  </Step>
</Steps>

## Manual Installation

<Steps>
  <Step title="Download">
    Download the [MainWP Dashboard](https://wordpress.org/plugins/mainwp) plugin.
  </Step>

  <Step title="Extract">
    If downloaded as a zip, extract the plugin folder.
  </Step>

  <Step title="Upload via FTP">
    Upload the plugin folder to `wp-content/plugins/` on your Dashboard site.
  </Step>

  <Step title="Activate">
    Go to **WP Admin > Plugins** and activate MainWP Dashboard.
  </Step>
</Steps>

## Quick Setup Wizard

<iframe className="w-full aspect-video rounded-xl" src="https://www.youtube.com/embed/m7Bne2LpflE" title="Getting started with MainWP - Video Tutorial" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />

The Quick Setup Wizard launches after a new MainWP Dashboard installation. It guides you through this sequence:

1. Welcome
2. Introduction
3. System Check
4. Add Site
5. Add Client
6. Monitoring
7. Setup Complete

You can skip from the Welcome step using **Skip the Setup Wizard**, and start it again later from **MainWP > Settings > Tools** using **Start Quick Setup Wizard**.

### Welcome

<img src="https://mintcdn.com/mainwp/3AzXldIdap2ZAt9r/images/getting-started/setup-wizard-intro.jpg?fit=max&auto=format&n=3AzXldIdap2ZAt9r&q=85&s=60ba18247b3015f999eb67887fdb3144" alt="Quick Setup Wizard introduction screen" width="2678" height="1498" data-path="images/getting-started/setup-wizard-intro.jpg" />

Start the wizard with **Start the MainWP Quick Setup Wizard** or skip to the Dashboard with **Skip the Setup Wizard**.

### Introduction

The Introduction step includes a **MainWP Guided Tours** option (enabled by default). Click **Let's Go!** to continue.

### System Check

MainWP verifies server requirements needed to connect Child sites. If any checks fail, [resolve the issues](/troubleshooting/resolve-system-requirement-issues) before continuing.

### Add Site

Choose whether to connect a single site or multiple sites.

<Tabs>
  <Tab title="Single Site">
    1. Select **Single Site**
    2. Enter the site URL and administrator username
    3. Configure authentication:
       * **Administrator password** (enabled by default) - Requires the admin password during connection
       * **Unique Security ID** (disabled by default) - Optional extra security layer
    4. Optionally set a Site Title
    5. Enable **Confirm that the MainWP Child plugin is activated on the site(s) you wish to connect**
    6. Click **Connect Site and Proceed**

    <Note>
      Authentication options can be found in MainWP Child settings: `your-child-site.com/wp-admin/options-general.php?page=mainwp_child_tab`
    </Note>
  </Tab>

  <Tab title="Multiple Sites">
    1. Select **Multiple Sites**
    2. Enter site information in the table, or upload a CSV file
    3. Enable **Confirm that the MainWP Child plugin is activated on the site(s) you wish to connect**
    4. Click **Connect Sites and Proceed**

    For details, see:

    * [Connect Multiple Sites](/sites/management/manage-child-sites#connect-multiple-sites)
    * [Import Sites (CSV)](/sites/management/manage-child-sites#import-sites-csv-import)
  </Tab>
</Tabs>

### Add Client

Create client profiles to associate with your sites.

**Single client:** Enter Client Name (required), plus optional email, photo, and phone. Add additional contacts using **Additional Contact Information**.

**Multiple clients:** Switch to the Multiple Clients tab and enter Client Name and Email for each imported site. Sites with matching client name and email are merged into a single client profile.

### Monitoring

Configure:

* **Enable Uptime Monitoring** and the check interval
* **Enable Site Health monitoring** and the health threshold

For full configuration details, see:

* [Uptime Monitoring](/sites/management/uptime-monitoring)
* [MainWP Dashboard Settings](/sites/management/mainwp-dashboard-settings)

Click **Save and Finish!** to complete setup.

### Setup Complete

Your MainWP Dashboard is ready. Click **Go to Dashboard**.

<Note>
  * Restart the wizard anytime from **MainWP > Settings > Tools** using **Start Quick Setup Wizard**
  * Use **Continue Without Adding Sites** or **Continue Without Creating Clients** to skip optional steps
  * Use **Back to ...** buttons to adjust previous steps
</Note>

## Install MainWP Child

<Steps>
  <Step title="Open Plugins">
    Go to **WP Admin > Plugins** on the child site you want to add.
  </Step>

  <Step title="Add new plugin">
    Click **Add New**.
  </Step>

  <Step title="Search">
    Enter "MainWP" and press Enter.
  </Step>

  <Step title="Install">
    Find **MainWP Child** and click **Install Now**.
  </Step>

  <Step title="Activate">
    Click **Activate**.

    <img src="https://mintcdn.com/mainwp/hytI7oXAKZw6eFPJ/images/getting-started/child-plugin-installed.png?fit=max&auto=format&n=hytI7oXAKZw6eFPJ&q=85&s=11bede5b1b120f135aac05d819d66961" alt="MainWP Child plugin in WordPress plugins list" width="853" height="381" data-path="images/getting-started/child-plugin-installed.png" />
  </Step>
</Steps>

### Manual Installation

<Steps>
  <Step title="Download">
    Download the [MainWP Child](https://wordpress.org/plugins/mainwp-child/) plugin.
  </Step>

  <Step title="Extract">
    If downloaded as a zip, extract the plugin folder.
  </Step>

  <Step title="Upload via FTP">
    Upload to `wp-content/plugins/` on the child site.
  </Step>

  <Step title="Activate">
    Go to **WP Admin > Plugins** and activate MainWP Child.
  </Step>
</Steps>

After activation, open MainWP Child settings to confirm your connection authentication options.

## MainWP Child Plugin Settings

<img src="https://mintcdn.com/mainwp/hytI7oXAKZw6eFPJ/images/getting-started/child-plugin-settings.png?fit=max&auto=format&n=hytI7oXAKZw6eFPJ&q=85&s=d9d18d4030dcfb0a20e99236fa2fc5c3" alt="MainWP Child plugin settings page" width="848" height="1024" data-path="images/getting-started/child-plugin-settings.png" />

| Setting                         | Default  | Description                                            |
| ------------------------------- | -------- | ------------------------------------------------------ |
| Require Password Authentication | Enabled  | Requires admin password when connecting from Dashboard |
| Unique Security ID              | Disabled | Optional security ID that must match when connecting   |
| Connection Timeout              | —        | Minutes the plugin stays active waiting for connection |

For more details, see [Connection Security](/advanced/miscellaneous/mainwp-connection-security).

## Add a Site to Your Dashboard

After installing MainWP Child, add the site to your Dashboard.

<Steps>
  <Step title="Navigate to Add New">
    Log into your Dashboard and go to **MainWP > Sites > Add New**.
  </Step>

  <Step title="Enter site URL">
    Enter your child site URL.
  </Step>

  <Step title="Verify Child plugin">
    Toggle **Confirm the MainWP Child plugin is active on this site** to reveal additional fields.
  </Step>

  <Step title="Enter credentials">
    Enter the administrator username and choose authentication method(s):

    * **Administrator password** (optional, enabled by default)
    * **Unique Security ID** (optional, disabled by default)
  </Step>

  <Step title="Add optional settings">
    | Option                 | Description                                                        |
    | ---------------------- | ------------------------------------------------------------------ |
    | Site icon              | Upload custom icon or select built-in icon (favicon used if empty) |
    | Tags                   | Organize site with existing or new tags                            |
    | Client                 | Associate site with a client                                       |
    | Verify SSL certificate | Disable for self-signed or outdated certificates                   |
    | HTTP username/password | For sites using HTTP Basic Authentication                          |
  </Step>

  <Step title="Connect">
    Click **Add Site**.
  </Step>
</Steps>

### Add-ons Settings Synchronization

When supported [MainWP Add-ons](https://mainwp.com/mainwp-add-ons/) are installed, the Add New Site form can show synchronization options:

* Install a required third-party plugin on the child site
* Apply the add-on plugin settings (or global add-on options) during site connection

<Note>
  If you experience connection issues:

  1. Use **Test Connection** to verify Dashboard can communicate with the site
  2. Check [Potential Issues](/troubleshooting/potential-issues) for solutions
  3. [Submit a support ticket](https://mainwp.com/mainwp-support/) if needed
</Note>

## Test Connection

Test Connection verifies what your MainWP Dashboard can reach, which may differ from what your browser sees.

<Steps>
  <Step title="Open Add New">
    Go to **MainWP > Sites > Add New**.
  </Step>

  <Step title="Enter URL">
    Enter your child site URL.
  </Step>

  <Step title="Test">
    Click **Test Connection**.
  </Step>
</Steps>

<img src="https://mintcdn.com/mainwp/ESad3ziSM_hjmfCW/images/getting-started/setup-test-connection.png?fit=max&auto=format&n=ESad3ziSM_hjmfCW&q=85&s=a9a0205b92e680fe2d2761e9a72fa33f" alt="Test Connection button" width="4130" height="1136" data-path="images/getting-started/setup-test-connection.png" />

A successful test shows a modal with:

```
Connection successful!
URL: yoururl.com (IP: xxx.xxx.xxx.xxx) - Received HTTP-code 200 (OK)
```

For other results, see the [full list of HTTP Status Codes](/troubleshooting/connection-test-results-status-codes).

## Completion Checklist

Verify your setup is complete:

* [ ] MainWP Dashboard installed and activated on dedicated site
* [ ] Quick Setup Wizard completed (or skipped intentionally)
* [ ] MainWP Child installed on at least one child site
* [ ] Child site connected successfully (shows in **MainWP > Sites > Manage Sites**)
* [ ] Test Connection returns HTTP 200 status
