WPGator Search Insights — Documentation

Issue, verify, manage and report on Learndash certfificates. Supports persistent issuance and evidential records.

First-party Search Console analysis

Opportunity Hunter – Search Insights

Turn read-only Google Search Console data into practical query, landing-page and content-alignment reports inside WordPress—without Google Analytics, visitor cookies or a front-end tracking script.

Overview

Find useful search evidence without recreating the entire Search Console interface.

Compare queries and pages

Import finalized Web Search data for the current 28 days, preceding 28 days and a 90-day context window. Move from queries to their landing pages—or from pages to their queries—with visibility share and primary-page context.

Inspect content alignment

Use global filters and optional query lenses, then run an on-demand exact-phrase check against a local page’s title, headings, body, link text and URLs without storing or scoring the result.

Search Console evidence: Google may aggregate, anonymize or omit low-volume queries, and average position is not a live rank-tracker result. Opportunity labels organize evidence for review; they do not predict traffic, conversions, intent or causation.

Requirements

WordPress7.0 or later; tested through WordPress 7.1
PHP8.1 or later; the DOM extension is required for Search Term Mentions
Google accountAccess to at least one verified Google Search Console property
Google permissionRead-only Search Console access using webmasters.readonly
Google Cloud projectNot required; authorization is handled through the WPGator OAuth service
Outbound HTTPSThe WordPress server must reach Google APIs and the WPGator OAuth relay
Property scopeOne selected Domain or URL-prefix property per WordPress installation
Search scopeGoogle Web Search performance data; image, video, news and Discover are not included in Version 1
MultisiteNot supported in Version 1
LicenceFree — no licence key, feature gate or paid tier

Quick start

  1. Install and activate — Requires WordPress 7.0+ and PHP 8.1+. No Analytics service, SEO plugin, Google Cloud project or licence key is required.
  2. Connect Search Console — Open Opportunity Hunter → Connect, select Connect Google Search Console, and sign in with an account that can access the property.
  3. Select a property — Choose one available Domain or URL-prefix property and save it.
  4. Synchronize reports — Open Data and select Synchronize datasets. The plugin imports six reporting datasets into the local WordPress database.
  5. Investigate the evidence — Use Opportunities, Queries and Pages to filter results, inspect query-to-page relationships, check exact search-term mentions and export matching rows to CSV.

User guide

Open the section that matches the task being completed.

Connect Search Console and select a property

Connect a Google account

Open Opportunity Hunter → Connect and select Connect Google Search Console. Sign in with a Google account that can view the property you want to analyse and approve the read-only permission.

The permission cannot edit Search Console, change a property or access Google Analytics, advertising, email or unrelated Google services. The WPGator authorization service completes the OAuth callback and token refresh so a shared Google client secret is not distributed inside the WordPress plugin.

Select a property

Choose a property from the dropdown and save it. One property is active per WordPress installation. Switching properties does not mix datasets because each completed import retains its property identifier.

Check connectionTests the saved authorization and refreshes the available property list.
Save propertySelects the property used by Opportunities, Queries, Pages and Data.
DisconnectDeletes local OAuth credentials, selected-property state and the cached property list. Imported report datasets remain until plugin deletion.
Administrator access only: connection, property, synchronization, report, drill-down, mention and CSV actions require the WordPress manage_options capability.
Synchronize Search Console data

Synchronization is administrator-initiated. It retrieves six datasets and builds them separately from the last completed reports:

DatasetWindowPurpose
Site queryCurrent 28 daysRecent property-level query performance
Site queryPrevious 28 daysImmediately preceding comparison period
Site query90-day contextBroader visibility and threshold context
Query + pageCurrent 28 daysRecent query-to-landing-page relationships
Query + pagePrevious 28 daysPrevious query-to-page relationships
Query + page90-day contextBroader page and query context

Reporting windows end three complete days before synchronization so Google’s most recent and potentially incomplete reporting days are not treated as finalized.

Large datasets use Search Console API pages of up to 25,000 rows. Visible progress identifies the active dataset. An incomplete run remains isolated, and the previous reports stay available until all six replacement datasets finish successfully.

Expected aggregation difference: Site query uses property aggregation while Query + page uses page aggregation. Google can return slightly different clicks, impressions and row counts for these datasets.
Metrics, states and opportunity labels

Reported metrics

ImpressionsSearch impressions reported by Google for the query or landing page.
ClicksClicks reported by Google Search Console.
CTRClicks divided by impressions for the relevant dataset.
PositionGoogle’s average position; a lower number is stronger.
ChangeImpression difference and, where available, average-position movement between comparison windows.

Comparison states

NewPresent in the current 28-day window but not the previous one.
PersistentPresent in both 28-day windows.
LostPresent previously but without impressions in the current window.

Opportunity labels

Opportunity Hunter applies transparent signals using the connected property’s own visibility distribution. Each result states the evidence that produced its label. The coloured summary cards are clickable filters.

DefendUseful current visibility with a material decline worth checking.
RecoverPreviously useful or above-typical visibility that declined or disappeared.
GrowNew or improving visibility above the property’s normal level.
ReviewRelatively high visibility whose clicks, CTR, position or page fit merits inspection.

These are review categories, not instructions. They do not determine business value, conversion intent, cannibalization or the cause of a performance change.

Global filters and query lenses

Global filters apply across Opportunities, Queries, Pages and their relevant drill-downs. They persist through sorting and tab changes until cleared.

Search queriesFind queries containing the entered text on Opportunities and Queries.
Opportunity TypeShow Defend, Recover, Grow or Review results.
Minimum impressionsRequire the selected impression minimum in either comparison window.
Minimum clicksRequire the selected click minimum in either comparison window.
Top 10Show records with current average position of 10 or better.
Positions 11+Show records with current visibility outside the top 10.
No current visibilityShow records without a current position value.
Query lensApply a deterministic query-pattern view without changing stored rows or opportunity labels.

Available lenses

Question-formContains a question mark or begins with a recognized question word.
Test / answer-seekingContains explicit test, quiz, answer-key or similar answer-seeking language.
Local search intentContains phrases such as “near me”, “nearby” or “closest”, or an administrator-defined location.
Potential commercial intentContains explicit terms such as buy, price, cost, discount, delivery, book, hire or quote.

Add relevant location names and abbreviations under Opportunity Hunter → Connect → Query lens settings, one per line. Up to 100 local entries can be saved.

Lenses are neutral filters, not intent judgments. When a lens is active, Pages remain visible and show their number of matching queries beside View queries. Query rows similarly show matching landing-page counts beside View pages.

Queries, landing pages and page share

Queries

The Queries report retains New, Persistent and Lost rows through a full-outer comparison of the two 28-day periods. Select a sortable column heading to reorder results.

Select View pages to see every associated landing page, current and previous impression share, current and previous primary pages, and whether the primary page changed.

The Multiple landing pages indicator is neutral. It may represent intentional regional coverage, product variants or a possible overlap issue. Opportunity Hunter surfaces the relationship without diagnosing cannibalization.

Pages

The Pages report aggregates the Query + page dataset by landing URL. Select View queries to inspect associated queries while retaining active filters and lenses.

Queries and Pages display the first 200 matching rows. An expanded page displays up to 1,000 matching queries. CSV exports include every matching record beyond those screen limits.

Run Search Term Mentions

Open a query’s landing pages and select Check mentions. The plugin fetches that public page on demand and counts the exact query phrase in:

TitleThe page’s HTML title element
H1, H2 and H3Headings within the detected page-content area
BodyVisible content excluding headings, links, forms, navigation, scripts and interface chrome
Link textVisible link text within the page content
hrefNormalized link destinations, with common URL separators treated as spaces

Checks are case-insensitive but retain the exact wording and punctuation. They are not scored, scheduled or persisted. Results stay visible while reviewing the current report and disappear when the admin page reloads.

The target must be a known query-and-page pair on the current WordPress host. It must be public, return HTTP 200 without redirecting, provide inspectable HTML and remain within the response-size limit.

Phrase presence is not an SEO score: zero mentions do not automatically mean poor optimization, and repeated mentions do not imply that further repetition would help.
CSV exports and data lifecycle

CSV exports

Opportunities, Queries and Pages each provide an export containing all matching records with the active search, type, impression, click, position, lens and sort settings. Query-to-page and page-to-query drill-downs have their own contextual exports.

Downloads require manage_options and a time-limited WordPress nonce. Copying an export URL to a signed-out or unauthorized browser does not grant access. Values that could be interpreted as spreadsheet formulas are safely prefixed.

Data lifecycle

DeactivateRetains connection settings, credentials and imported datasets for reactivation.
Disconnect GoogleRemoves local OAuth credentials, selected-property state and cached property list while retaining imported datasets.
Delete pluginPermanently removes Opportunity Hunter options, OAuth credentials, lens locations, synchronization state and both custom reporting tables.
Back up before deletion: deleting the plugin removes its locally imported Search Console history. Deactivation alone does not delete data.

Troubleshooting

The Google connection window does not open

Allow popups for the WordPress administration page and try again. Confirm the WordPress server can make outbound HTTPS requests to Google and wpgator.tech.

No Search Console properties are returned

Open Google Search Console with the same Google account and confirm it can view at least one verified property, then return to Opportunity Hunter and use Check connection.

Synchronization fails or reports another active request

Only one synchronization can run at a time. Allow the active run to finish before retrying. If a prior run became stale, starting again safely discards its incomplete temporary data while the last completed reports remain available.

A property shows little or no data

New, low-volume and privacy-protected queries may produce few or no rows. The report also deliberately excludes Google’s most recent three reporting days.

Site query and page totals differ

This is normally caused by Google’s different property and page aggregation methods. Use Site query for query-level totals and Query + page for landing-page relationships and impression share.

Search Term Mentions cannot inspect a page

Confirm the URL belongs to the current WordPress host, is the final canonical URL, returns HTTP 200 without redirecting and is publicly accessible. PHP DOM is required. Protected, external, redirected, oversized and non-HTML responses are rejected.

Only part of a large report appears on screen

The main reports show the first 200 matching rows and expanded page queries show the first 1,000. The record-count message shows the full result size, and CSV export includes every matching row.

Access is denied

Opportunity Hunter is restricted to WordPress administrators with manage_options. Copied report, action and CSV URLs do not bypass capability or nonce checks.

Developer notes

OAuth architecture: Opportunity Hunter requests only https://www.googleapis.com/auth/webmasters.readonly. The WPGator relay owns the shared Google client credentials and handles authorization callback and token refresh. Property and reporting requests are made directly by the WordPress site; report rows are not proxied through WPGator.

Token storage: access and refresh tokens are stored in a non-autoloaded WordPress option using authenticated local encryption derived from WordPress secret material and a plugin-specific context string.

Dataset storage: metadata and report rows remain in the site-prefixed wpgso_datasets and wpgso_rows tables. Dataset metadata isolates property, dimensions, reporting window, synchronization run and completion state.

Reporting model: comparison periods are retrieved separately and full-outer joined locally. Opportunity thresholds are property-relative and retain their supporting evidence.

Search Term Mentions: same-host fetches reject embedded credentials, non-standard ports, redirects, non-200 responses and bodies above 5 MB. Parsing uses DOMDocument with network access disabled.

Administration security: handlers independently require manage_options and a valid nonce. Database writes are bounded and prepared; CSV formula injection is neutralized.

Compatibility identifiers: the public name and WordPress.org slug are Opportunity Hunter – Search Insights and opportunity-hunter-search-insights. Existing WPGSO_ class prefixes, wpgso_ options and tables are retained intentionally for internal compatibility. The established WPGator page URL also remains /wpgator-search-insights/ so existing links continue to work.

Relay override: production uses https://wpgator.tech/wp-json/wpgator-search/v1. Controlled development environments may override it with wpgso_relay_url. Never send production tokens to an untrusted service.

Extension boundary: the relay URL filter is the only documented developer override in Version 1. Internal classes, tables, options, AJAX actions, heuristics and compatibility identifiers are not a stable public API.

Changelog

v1.0.0 — August 9, 2026

+ Read-only Google Search Console connection without a user-managed Google Cloud project.
+ Local Site query and Query + page imports for current 28-day, previous 28-day and 90-day context windows.
+ Full-outer comparison retaining New, Persistent and Lost queries and landing-page relationships.
+ Explainable Defend, Recover, Grow and Review opportunity signals with clickable summary filters.
+ Search, opportunity, minimum-impression, minimum-click, position and query-lens filters with sortable reports.
+ Question-form, test / answer-seeking, local-search and potential-commercial query lenses.
+ Bidirectional Query → Pages and Page → Queries drill-downs with impression share and primary-page evidence.
+ On-demand exact Search Term Mentions across Title, H1–H3, body, link text and normalized URLs.
+ Complete filtered CSV exports and large-dataset synchronization with 25,000-row API pagination.
~ Reports remain local to WordPress; WPGator handles authorization and token refresh only.
~ Property-isolated datasets and atomic synchronization prevent mixed or partial replacement reports.
! Capability, nonce, same-site inspection and CSV formula protections applied across administrative actions.

Quick reference

Current release1.0.0
WordPress7.0 or later; tested through 7.1
PHP8.1 or later; DOM required for Search Term Mentions
AdministrationOpportunity Hunter; requires manage_options
Google accessAccount with access to a verified Search Console property
Google Cloud projectNot required
Permissionwebmasters.readonly
Search scopeGoogle Web Search data for one selected property per WordPress installation
WindowsCurrent 28 days, previous 28 days and 90-day context, ending three complete days before synchronization
ReportsOpportunities, Queries and Pages with bidirectional drill-downs
FiltersSearch, opportunity type, minimum impressions, minimum clicks, current position and query lens
MentionsOn-demand exact-phrase Title, H1–H3, body, link-text and href checks on public same-site pages
ExportsComplete CSV export for filtered reports and contextual drill-downs
StorageTwo local report tables plus encrypted, non-autoloaded OAuth credentials
TrackingNo front-end script, analytics tag, visitor cookie or Google Analytics connection
LicenceFree — no licence key or paid tier
InstallInstall from WordPress.org
Product and connection informationView the WPGator information page

Back to top ↑