When you're running 8 websites, logging into Google Search Console for each one individually is a waste of time. So we built a dashboard that pulls all 8 properties into a single view — automatically, on page load, for free.

The Problem

Google Search Console is the single most important tool for understanding how your sites perform in search. But it has a major limitation: you can only view one property at a time. For a portfolio of 8 sites, that means 8 separate logins, 8 separate data views, and no way to see the big picture.

We needed one screen that shows: total clicks across all sites, which sites are growing, which have errors, which pages are indexed, and what needs attention — ranked by priority.

The Solution: Chad HQ

We built a custom command center called Chad HQ. It's a single HTML page hosted on Netlify with a serverless function that authenticates with Google's Search Console API using a service account. When you open the page, it pulls fresh data from all 8 properties automatically.

What it shows

How the GSC API Connection Works

The Google Search Console API is free to use. You don't need a paid Google Cloud account — the free tier is more than enough for monitoring purposes. Here's the setup:

Step 1

Create a Google Cloud Project

Go to console.cloud.google.com, create a project. Enable the "Search Console API" from the API library. This is free.

Step 2

Create a Service Account

Under IAM & Admin → Service Accounts, create a new service account. Download the JSON key file. This key lets your dashboard authenticate with Google without you logging in.

Step 3

Add the Service Account to Your GSC Properties

In Search Console, go to each property → Settings → Users → Add User. Paste the service account email (it looks like something@your-project.iam.gserviceaccount.com). Give it Full permission. Repeat for all properties.

Step 4

Build the Serverless Function

On Netlify, a serverless function handles the authentication. It signs a JWT with the service account's private key, exchanges it for an access token, then queries the Search Console API. The frontend calls this function and gets back clean JSON data.

Step 5

Store the Key Securely

The service account JSON key goes in Netlify's environment variables — never in the frontend code. The serverless function reads it at runtime.

The Daily Priority Engine

The dashboard doesn't just show data — it tells you what to do. The priority engine ranks every task by revenue impact:

  1. Revenue-ready — send an invoice, follow up on a proposal, close a deal
  2. Unblock — deploy a site that's built but not live (built = $0 until deployed)
  3. Growth — client outreach, content publication, affiliate applications
  4. Maintenance — GSC submissions, weekly posts, pipeline refills

Projects that haven't been touched in 7+ days get flagged as stale and bumped up. The daily brief generates a prioritized action plan every morning based on the current state of everything.

What It Cost

$0/mo
Google API
$0/mo
Netlify Hosting
15 min
Setup Time
8 sites
Monitored

Everything runs on free tiers. The Google Search Console API has no usage charges for the volume we're doing. Netlify's serverless functions are included in the free plan. The dashboard itself is a single HTML file.

The key insight: the hard part of running multiple sites isn't building them — it's keeping track of all of them. A custom dashboard that centralizes your data and prioritizes your actions is worth more than any paid SEO tool for a solo operator.