> ## 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.

# Google Search Console

> The MainWP Google Search Console Add-on brings your Google Search Console (GSC) data into your MainWP Dashboard so you can review search performance and technical SEO issues across all your child sites from one central location.

<div id="addon-data" style={{display: 'none'}} data-title="Google Search Console" data-purchase-url="https://mainwp.com/extension/google-search-console/" data-pricing-tier="pro" data-bundle="MainWP Pro" data-addon-type="integration" data-version="6.0" data-developer="MainWP" data-changelog-url="https://mainwp.com/changelog/mainwp-google-search-console-extension/" data-integrates-with="Google Search Console" data-owned-by="Google LLC" data-privacy-url="https://policies.google.com/privacy" />

<iframe src="https://www.youtube.com/embed/Noqb4A_Z-Wo" title="Google Search Console video tutorial" className="w-full aspect-video rounded-xl" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowFullScreen />

## What You'll Learn

* Connecting Google Search Console via OAuth or Service Account
* Assigning GSC properties to child sites
* Viewing search performance and sitemap data
* Troubleshooting common connection issues

***

<Info>
  **Integration Add-on** - This add-on extends MainWP Dashboard to work with Google Search Console. Your child sites must already have matching Google Search Console properties available in the connected Google account or service account.
</Info>

The MainWP Google Search Console Add‑on brings your Google Search Console (GSC) data into your MainWP Dashboard so you can review search performance and technical SEO health for all managed WordPress sites in one place.

<img src="https://mintcdn.com/mainwp/prJFyo89l1sl-7Fz/images/add-ons/gsc-dashboard-overview.png?fit=max&auto=format&n=prJFyo89l1sl-7Fz&q=85&s=a6eb19bf2c61046da1caebf63b271066" alt="MainWP Google Search Console add-on Dashboard page" width="1024" height="574" data-path="images/add-ons/gsc-dashboard-overview.png" />

## Use this Add‑on to Monitor

**Search Performance**

* Clicks, Impressions, CTR, Avg. Position
* Top Queries & Pages; breakdowns by Country, Device, and Search Appearance
* Daily trend chart

**Technical SEO Health (Sitemaps)**

* Submitted vs. Indexed per sitemap
* Status & last processed dates
* Errors (when reported)

**Multi‑Site Management**

* Centralized properties with per‑site drill‑down
* Integrates with MainWP widgets and Pro Reports

**Requirements**

* PHP 8.1 or higher on the MainWP Dashboard (required by Google libraries)
* Your sites must be verified in **Google Search Console**
* For JSON Import: Google Search Console API

## Connect your Google Search Console Account

You can connect GSC in two ways. Use whichever fits your setup (you can use both):

### Option A: Sign in with Google (OAuth)

1. In your MainWP Dashboard, go to **MainWP > Add-ons > Analytics > Google Search Console**, then open the **Add Property** tab.
2. Click **Sign in with Google** and follow the on-screen prompts to complete authorization.
3. Next, select the GSC properties you want to connect, then click **Continue** and then **Confirm**.
4. Selected properties will appear under **Manage Properties** and will be available to assign to child sites.

<Warning>
  If HTTP basic auth protects your MainWP Dashboard before it has paired with [MainWP Bridge](/advanced/miscellaneous/mainwp-bridge), **Sign in with Google** can fail because MainWP Bridge must be able to reach your Dashboard. If you need to keep HTTP basic auth enabled, use **Import JSON File** instead.
</Warning>

### Option B: Connect a Service Account (JSON file)

**Step 1 — Enable the required API (Google Cloud Console)**

<Steps>
  <Step title="Go to https://console.cloud.google.com and (optionally) create a new Project.">
    Go to [**https://console.cloud.google.com**](https://console.cloud.google.com) and (optionally) **create a new Project**.
  </Step>

  <Step title="Open APIs & Services > Enabled APIs & services." />

  <Step title="Click + Enable APIs and Services, search for and enable the only required API:">
    Click **+ Enable APIs and Services**, search for and **enable the only required API**:

    * **Google Search Console API**\\
          <img src="https://mintcdn.com/mainwp/prJFyo89l1sl-7Fz/images/add-ons/gsc-api-library-search.png?fit=max&auto=format&n=prJFyo89l1sl-7Fz&q=85&s=2694407b48def6c40291a5baea4d975e" alt="Google Search Console API in the API Library" width="1024" height="440" data-path="images/add-ons/gsc-api-library-search.png" />
  </Step>
</Steps>

**Step 2 — Create a Service Account and JSON key**

Next, we will **create a Service Account,** which will be added later on to the desired GSC properties.

1. In **APIs & Services**, click **+ Create credentials** and select **Service Account**.
2. Give it a name then click **Done**.
3. Open the new Service Account, go to the **KEYS** tab.
4. Click **Add Key > Create new key > JSON > Create**.
5. A **JSON file** will download automatically; you’ll upload it to the add-on later on.

**Step 3 — Grant the Service Account access in Google Search Console**

<Steps>
  <Step title="Go to your Google Search Console dashboard for the relevant account/property." />

  <Step title="Open Settings > Users and permissions." />

  <Step title="Click Add user." />

  <Step title="Copy the Service Account email from your Google Cloud Console (Service Accounts list / Credentials page).">
    Copy the **Service Account email** from your Google Cloud Console (Service Accounts list / Credentials page).
  </Step>

  <Step title="Paste it in the Email address field, set Permission to Full, and click Add." />
</Steps>

**Step 4 — Connect the JSON key in MainWP**

1. In your MainWP Dashboard, go to **MainWP > Add-ons > Analytics > Google Search Console > Add Property > Import JSON File**.
2. Upload the **JSON key** and click **Connect Account**.
3. Discovered properties will appear under **Manage Properties** and will be available to assign to child sites.

**Notes**

* The account (Google or Service Account) must have access to each property you want to see in MainWP.
* If you rotate keys or disable the Service Account, you’ll need to upload a new JSON key to re‑establish the connection.
* This add‑on **does not** verify sites in GSC or submit sitemaps; it reads your existing data.

## Assigning a GSC Property to Each Child Site

The add-on can automatically match a property to a child site when the connected property URL or domain matches the child site's URL.\
You can also manually assign a property to a child site by doing the following:

<Steps>
  <Step title="Go to MainWP > Sites > Manage Sites." />

  <Step title="Locate the desired site, click its name, and then open its Settings page." />

  <Step title="Find the Google Search Console section and select the matching property." />

  <Step title="Click Save Settings." />
</Steps>

<Info>
  If you use the [Team Control](/add-ons/agency/team-control-extension) add-on, the Google Search Console property selection is only shown on a site's Settings page to users whose role grants access to the Google Search Console add-on. Users without that permission won't see the property selector and can't change the assigned property.
</Info>

## Where to View Data

### Dashboard Widget

<img src="https://mintcdn.com/mainwp/prJFyo89l1sl-7Fz/images/add-ons/gsc-widget-chart.png?fit=max&auto=format&n=prJFyo89l1sl-7Fz&q=85&s=a1aff886835cdeb6439fffe0a564f50a" alt="Google Search Console widget showing clicks, impressions, CTR, and position" width="1024" height="617" data-path="images/add-ons/gsc-widget-chart.png" />

A **Google Search Console** widget can be enabled on the **MainWP Operations** page. Use the site selector there to switch sites. When you open the add-on from an individual child site, it loads that site's Google Search Console data directly.

* KPIs: **Total Clicks**, **Total Impressions**, **Average CTR**, **Average Position**
* Interactive performance chart (Clicks, Impressions, CTR, Position)
* Quick shortcuts to **Search Performance** and **Sitemaps** sections

### Add-on Pages

Go to **MainWP > Add-ons > Analytics > Google Search Console** and use these tabs:

* **Visitor Data** (per‑site):
  * KPI tiles: Total Clicks, Total Impressions, Avg. CTR, Avg. Position
  * Chart with series for Clicks, Impressions, CTR, Position
  * Widgets: Top Queries, Top Pages, Top Performing Countries, Devices, Search Appearance, Dates
  * **Sitemaps**: Submitted vs. indexed counts by sitemap, indexing rate, last processed dates, error totals
* **Add Property**: Connect properties by **Sign In with Google** or **Import JSON File**.
* **Manage Properties**: Review properties added by **Sign In with Google** or **JSON**; actions include **Refresh Data**, **Reconnect Property** for disconnected OAuth properties, and **Remove Property**.
* **Settings**: Configure **Graphs display interval**, **Fetch Google Search Console data automatically**, **Auto fetch GSC data frequency**, and on-demand **Refresh Data**.

## Settings & Data Refresh

* **Graphs display interval**: Pick **Week** or **Month**
* **Fetch Google Search Console data automatically**: Enable scheduling and choose how often MainWP should pull fresh data.
* **Refresh Data**: Click to fetch the latest stats immediately (Data is cached to reduce API calls; refreshing clears and updates the cache.)

## GSC data in Pro Reports

If you use **MainWP Pro Reports**, you can include Google Search Console data in your client reports. For the full list of available tokens, see the [Available Pro Reports Tokens](/add-ons/agency/available-pro-reports-tokens) article.

## Troubleshooting

**Sign in with Google shows `site secret not found`**

* This error usually means the default WordPress REST API endpoint at `/wp-json/` is blocked, disabled, filtered, or behind authentication.
* Make sure your MainWP Dashboard allows access to `/wp-json/`.
* If HTTP basic auth protects your MainWP Dashboard, **Sign in with Google** can fail because MainWP Bridge cannot complete the initial pairing or re-registration check.
* If you need to keep HTTP basic auth enabled, use **Import JSON File** instead.

**No data available**

* Confirm the site has a **GSC property assigned** in its Settings page
* Ensure the **Google account or Service Account** has access to the property in GSC.
* Try **Refresh Data** from the add‑on **Settings** or **Manage Properties** tab.

**Re-authentication required**

* If you see a red notice about authentication, click **Verify Now** and sign in again.

**Service Account key disabled/rotated**

* Create a new JSON key for the Service Account, then upload it on **Add Property** to reconnect.

***

## Related Resources

* [Analytics Add-ons](/add-ons/analytics) - Browse all analytics integrations
* [Pro Reports Extension](/add-ons/agency/pro-reports-extension-overview) - Include GSC data in reports
* [Available Pro Reports Tokens](/add-ons/agency/available-pro-reports-tokens) - Google Search Console tokens
