Enter your PIN to continue
Connect your GSC account to analyze page performance and optimize click-through rates with AI.
Connect Google Search ConsoleSet up your Google OAuth Client ID & Secret in Settings before connecting.
| Page ⇅ | Impr. ⇅ | Clicks ⇅ | Pos ⇅ | CTR ⇅ | Expected ⇅ | Gap ⇅ | Opportunity ↓ |
|---|
An automated system that finds underperforming pages, generates better meta titles and descriptions using AI, pushes them to WordPress, and measures the results.
GSC data identifies pages with wasted click potential
AI creates 4 title/description variations per page
You approve suggestions before anything goes live
Updates WordPress via Rank Math API + cache bust
Tracks CTR change and auto-rolls back losers
Every Monday at 3 AM, the auto-pilot fetches your page data from Google Search Console (last 28 days) and applies 5 safety gates to find the best candidates for optimization:
| Gate | Rule | Why |
|---|---|---|
| 1. Min Impressions | ≥ 200 impressions/month | Pages with too few impressions don't have enough data to optimize reliably |
| 2. Position Range | Position 1–10 (page 1 only) | Pages on page 2+ get almost zero clicks regardless of title quality — they need ranking improvements, not better meta tags |
| 3. CTR Gap | > 20% below benchmark | Only optimize pages where there's a meaningful gap between actual and expected CTR for their position |
| 4. Tiered Readiness | Data-driven cooldown | Uses statistical significance testing for high-traffic pages, time-based gates for low-traffic pages (see below) |
| 5. Iteration Cap | 3–8 per 6 months (tiered) | Prevents over-optimization of any single page |
Pages are ranked by wasted potential = impressions × CTR gap %. The top 3 per week are selected for optimization.
Instead of a fixed 30-day cooldown, the system uses a data-driven approach based on traffic volume:
| Traffic Tier | Monthly Impressions | Readiness Rule | Iteration Cap (6 mo) |
|---|---|---|---|
| High | 2,000+ | Statistical significance test (two-proportion z-test, p < 0.05). The page is eligible for a new test once we can confidently say the last change had a real effect. | 8 |
| Medium | 500–2,000 | 21-day minimum + directional CTR check. Must wait 21 days and CTR must not be trending downward. | 5 |
| Low | < 500 | 14-day minimum (GSC data quality floor), then eligible. The cost of a wrong change is small at this traffic level. | 3 |
All tiers have a hard minimum of 14 days — GSC data has a ~3-day delay and uses a rolling 28-day window, so measurements before 14 days would be unreliable.
For each candidate page, the system:
| Framework | Angle | Structural Rule |
|---|---|---|
| Strategic Outcome | Promise a concrete business result | Must be a declarative statement. No question marks. |
| Strategic Blind Spot | Expose a hidden mistake or flaw | Must use a question (?) or contrarian claim. |
| Executive Authority | Position as THE definitive resource | Must reference a specific methodology/framework from the page content. |
| Pain Agitation | Name the exact pain the audience feels | Must name a concrete, page-specific pain — not generic words like "growth". |
Additional quality rules enforced:
The system uses two different scoring approaches:
Checks title length, keyword placement, power words, filler phrases, and CTA presence. Used in the Analyze view for quick diagnostics.
Blend: 60% title + 40% description
Factors in real-world CTR performance. A page with great mechanical score but 0 clicks gets a low autopilot score.
Blend (200+ imp): 25% mechanical + 75% CTR performance
This prevents the system from protecting bad titles that "look good on paper" but don't earn clicks. Example: a title scoring 98 mechanically but getting 0 clicks from 2,000 impressions gets an autopilot score of ~24, making it easy for any reasonable alternative to beat it.
When you approve a suggestion (Semi-Auto mode), the system:
POST /wp-json/rankmath/v1/updateMeta with the new title and descriptionsave_post hook by POSTing {"status":"publish"}, which clears WP Rocket/W3TC/Cloudflare caches?context=edit and checks rankMath.assessor.serpData/sitemap_index.xml to confirm it's accessibleCreates an experiment + iteration record for tracking, and schedules a verification scrape after 10 minutes.
Two measurement systems run in parallel:
Every 24 hours, fetches fresh GSC data for all active experiments and updates measured CTR, position, clicks, and impressions on the latest iteration.
After 21 days, the autopilot checks pushed suggestions. If CTR dropped >30% relative to baseline, it automatically reverts to the original title and description.
Before measuring, the system checks:
Every title change becomes training data for future suggestions:
This creates a compounding advantage: the more experiments you run, the smarter the system gets at predicting what works for your specific audience.
After each weekly run, the system sends a Telegram notification with:
Configure the Telegram bot token and chat ID in the Auto-Pilot Settings tab.
Type the exact OpenAI model ID
Get credentials from
Google Cloud Console
→ OAuth 2.0 Client ID → Web application.
Add http://localhost:8000/auth/callback as an authorized redirect URI.
Save credentials first, then click Connect GSC to authorize.
WordPress → Users → Profile → Application Passwords