5. Connecting Google Search Console
SEO Control Center reads your Search Console data with read-only access and stores it on your server. The charts load from your own database, not from Google.
Connecting has two parts:
- Once per installation: create a Google "app" (OAuth client). This takes about 10 minutes, and only the administrator does it.
- Per workspace: connect a Google account, then link each project to its property.
Part 1: The Google app (administrator, once)
In the Google Cloud Console:
- Create a project, for example "SEO Control Center".
- APIs & Services → Library: search for Google Search Console API and click Enable.
- APIs & Services → OAuth consent screen (also called Google Auth Platform):
- User type External. Enter the app name, your support e-mail and your domain.
- Scopes: add
.../auth/webmasters.readonly. - Publish the app (status In production). While it stays in Testing, Google ends the connection every 7 days.
- APIs & Services → Credentials → Create credentials → OAuth client ID:
- Application type: Web application.
- Authorized redirect URI:
https://seo.example.com/integrations/google/callback. Use your own domain, exactly as in the site address.
- Copy the Client ID and Client secret.
In SEO Control Center, go to System → Google app, paste both values and save. The secret is stored encrypted.
"Google hasn't verified this app": because your app is new, Google shows this warning when you connect. It is your own app on your own server. Click Advanced → Go to … (unsafe) to continue. Verification by Google is only needed if many outside users connect.
Part 2: Connect your Google account
- Go to Integrations → Connect a Google account.
- Sign in with the Google account that has access to your sites in Search Console, and allow access.
- Your properties appear in the list. Refresh properties reloads them after you add a site in Search Console.
Part 3: Link a project
- Open the project and go to Settings → Google Search Console → Manage link.
- Choose the property: a domain property (
sc-domain:example.com) or a URL property.
The first import starts right away:
- The most recent days arrive within minutes.
- Up to 16 months of history follow over the next hours.
- After that, new data is imported every 6 hours. Google's data is 2–3 days behind, as in Search Console itself.
Good to know
- Totals versus rows: the query and page tables leave out anonymised queries, as Search Console does, so they add up to less than the totals.
- Disconnecting revokes access at Google and keeps all imported data.
- "Needs reconnection": Google withdrew access (password change, revoked access, or an app still in Testing). Click Connect again. Imports resume by themselves.