Search Insights Setup: Step by Step
This guide goes through the whole setup of Search Insights in Baza Helper, one step at a time. You need administrator access to your WordPress site and to the Google account that owns the Search Console property. Settings are in Baza Helper > Search Insights > Settings.
Step 1: Create a service account in Google Cloud
- Open the Google Cloud Console and create a project, or choose an existing one.
- Open the APIs and services page and enable the Google Search Console API for the project.
- Open IAM and admin > Service accounts and create a service account. A name such as baza-helper is enough. It needs no roles in Google Cloud.
- Open the service account, go to Keys, choose Add key > Create new key, select JSON and download the file. Keep it private.
Step 2: Give the service account access to Search Console
- Copy the email address of the service account. It ends with iam.gserviceaccount.com.
- Open Google Search Console and select the property.
- Go to Settings > Users and permissions and press Add user.
- Paste the email and choose Restricted (read only). Full is not needed, because Search Insights only reads.
Step 3: Choose how the key is stored
In the Settings tab, choose Service account (recommended). Then choose one of three ways to keep the key:
- Upload or paste the key. Press Choose the key file (.json) or drag the downloaded JSON file into the box. The file is read in the browser and stored encrypted when you press Save changes. Below the box you can also paste the text of the key.
- A file on the server, outside the public web folder. Give its path in the settings.
- A constant in wp-config.php: BAZA_HELPER_GSC_KEY_FILE for a file path, BAZA_HELPER_GSC_KEY_JSON for the key itself, and BAZA_HELPER_GSC_PROPERTY for the property. The key then never reaches the database.
Step 4: Choose the property
Enter the property exactly as Search Console shows it. A domain property is written as sc-domain:example.com. A URL prefix property is written as the full address, for example https://example.com/. Press Load my properties to pick it from the list the account can see.
Step 5: Test the connection
Press Test the connection. The test runs one check after another and says which step fails and why, in plain words. Fix the step it names and test again.
Alternative: Google OAuth
- In Google Cloud, create an OAuth client of the type Web application.
- Add the redirect address shown in the Settings tab of Search Insights to the list of authorised redirect URIs.
- Enter the Client ID and the Client secret in the settings and press Connect with Google.
- Approve read access in the Google consent screen. The site keeps only the refresh token, encrypted.
Step 6: Set the daily copy
- Daily copy: on or off, and the hour in site time.
- Days for the first fill: from 7 to 485. The first connection fills the period in small steps.
- Days to keep: from 30 to 485. Older rows are removed.
- Row limit per day and skipping rows with few impressions, to keep the table small.
- Search type: web, image, video, news, Discover or Google News.
- Final or fresh data: final data is about two days late but complete; fresh data is newer but may change.
- Press Sync now to start a copy at once. The progress bar shows the state.
Step 7: Give your assistant access
- Open the Assistant tab and switch on REST, MCP or both.
- Choose who may read with a password: administrators, or editors and administrators.
- Press New token, give it a name and an expiry (none, 30 days, 90 days or 1 year). Copy the token once; the site keeps only its hash.
- Set the requests per minute for the token.
Connect an assistant
- Claude Code: add the MCP server with the command shown on the Assistant tab, for example claude mcp add with the MCP address and the token in the Authorization header.
- Cursor: paste the mcp.json block from the Assistant tab into the MCP settings.
- Any chat that can send web requests: copy the prompt from the Assistant tab. It already contains the address and the routes.
- ChatGPT and claude.ai web connectors need OAuth, which is not supported yet.
Step 8: Set up IndexNow
- Open the Indexing tab and find the IndexNow card.
- Check the key. The plugin serves the key file itself; the check confirms it can be reached.
- Send a list of addresses by hand, or switch on automatic sending when a post is published, updated or deleted.
- Choose the search engines. IndexNow works for Bing and other search engines that support it. Google does not support IndexNow.
- Read the log to see what was sent and whether an engine answered.
Common errors and what they mean
- 403, no permission: the service account is not added to the property, or it has no access to that property. Check Step 2.
- Property not found: the property name does not match Search Console. A domain property needs the sc-domain: prefix, and a URL prefix needs the exact address with the slash. Check Step 4.
- API not enabled: the Google Search Console API is not switched on in the Google Cloud project. Check Step 1.
- URL Inspection limit: Google allows about 2000 URL Inspection checks per property per day. Wait until the next day, or check fewer pages.
- No data yet: the first fill is still running, or Google has not published the newest days yet, which takes about two to three days.
Tabs and settings
Search Insights has seven tabs: Overview, Pages, Queries, Opportunities, Indexing, Assistant and Settings. The Scan all pages of the site button is on Indexing. Save the key and the other settings with the Save changes button at the bottom.
The key file is chosen or dragged in both ways: stored encrypted in the database, or placed in the protected folder baza-helper-private on the server.
