Managing and Troubleshooting GSC Connection
Managing Your GSC Connection
Connection Status Indicators
Connected (Green Badge)
- ✅ OAuth tokens valid
- ✅ API access working
- ✅ Data syncing normally
- Action: None needed
Disconnected (Yellow Badge)
- ⚠️ OAuth tokens expired or revoked
- ⚠️ Connection lost
- ⚠️ Data not syncing
- Action: Reconnect using "Connect to Google Search Console" button
Error (Red Badge)
- ❌ Connection failed
- ❌ API errors
- ❌ Permission issues
- Action: Check error message, run diagnostics, or reconnect
Testing Your Connection
To verify GSC is working properly:
- Go to FreshRank AI → Settings → Google Search Console
- Click "Test Connection" button
- Check result:
- ✅ Success: "GSC connection is working properly"
- ❌ Error: See error message and troubleshooting section below

Running Diagnostics
If you're having issues, use the diagnostics tool:
- Go to FreshRank AI → Settings → Google Search Console
- Click "Run Diagnostics" button
- Review the diagnostic report:
- OAuth token status
- API access verification
- Property matching check
- Recent data fetch status
- Error logs (if any)
Disconnecting GSC
To disconnect Google Search Console:
- Go to FreshRank AI → Settings → Google Search Console
- Click "Disconnect" button
- Confirm disconnection
What Happens:
- OAuth tokens are revoked
- Connection status shows "Disconnected"
- Priority scores stop updating (existing scores remain)
- GSC data is cleared after 24 hours
- You can reconnect anytime
💡 Note: Disconnecting GSC does NOT affect your analysis results, drafts, or any content. Only priority scores are affected.
Troubleshooting GSC Connection
"No matching Google Search Console property found"
Problem: FreshRank can't find your site in GSC after authorization.
Possible causes:
- Site URL doesn't match any GSC property
- Wrong GSC account connected
- Property not verified in GSC
- Using URL property but site has different protocol (http vs https)
Solutions:
Check Property Match:
- Go to search.google.com/search-console
- Note your property URL exactly (including http/https and www/non-www)
- Compare to your WordPress site URL in Settings → General → Site Address
- They must match exactly
Property Types:
- URL Property (https://example.com): Must match exactly
- Domain Property (sc-domain:example.com): Works for all subdomains and protocols
If using URL property:
- Verify http vs https matches
- Verify www vs non-www matches
- Create a domain property if you need flexibility
If using domain property:
- Should work automatically for any subdomain
- Verify domain property is properly verified in GSC
If multiple properties exist:
- FreshRank selects best match automatically
- Run diagnostics to see which property was selected
- If wrong property selected, remove unused properties from GSC
"CSRF validation failed"
Problem: Error appears during OAuth authorization flow.
Cause: OAuth state parameter missing, expired, or tampered with.
Solutions:
- Don't reuse old OAuth URLs - Start fresh from Settings page
- Complete authorization in one session - Don't leave it incomplete
- Clear browser cache and try again
- Disable browser extensions that might interfere with OAuth
- Try different browser if problem persists
"Failed to refresh token"
Problem: Connection shows as disconnected; refresh token expired.
Cause: OAuth refresh token expired (happens after ~7 days of inactivity) or was revoked.
Solutions:
- Reconnect GSC - Click "Connect to Google Search Console" button
- Complete OAuth flow again - Reauthorize FreshRank
- Don't revoke permissions in Google account - This breaks the connection
To prevent future issues:
- FreshRank auto-refreshes tokens regularly if data syncs happen
- Connection remains active as long as site is actively using GSC integration
- Inactive sites (no data fetches) may see token expiration
"API error (HTTP 403): Forbidden"
Problem: FreshRank can't access GSC data despite being connected.
Cause: Insufficient permissions in Google Search Console.
Solutions:
Verify Your GSC Permissions:
- Go to search.google.com/search-console
- Click on your property
- Go to Settings → Users and permissions
- Check your role - you need Owner or Full User
- If you're "Restricted Access" - this won't work
If you don't have sufficient permissions:
- Ask the property owner to upgrade your access
- Or ask the owner to connect their GSC account to FreshRank
- Restricted access cannot use GSC API
Connection Works But No Priority Scores
Problem: GSC connected successfully but priority scores aren't showing.
Possible causes:
- You haven’t started prioritization yet
- No GSC data - Posts have no impressions/clicks
- Site too new - Less than 3 months in GSC
- Data fetch failed - Background process error
Solutions:
Start article prioritization:
- Go to dashboard
- Click "Prioritize" button in bulk actions
- This triggers manual GSC data fetch
- Wait until the prioritization finishes and refresh the page
Wait for initial data fetch (can take long on large websites):
- GSC data is fetched in background
- Check back after a few hours
- Priority scores will appear as data processes
Verify posts have GSC data:
- Check GSC directly - do posts have impressions?
- Posts with zero traffic get low/no priority scores
- Very new sites may not have enough data yet
Check for errors:
- Go to Settings → Debug tab
- Enable debug mode temporarily
- Check for GSC-related errors in log
- Contact support if errors appear
Priority Scores Seem Wrong
Problem: Priority scores don't match your expectations.
Explanation: Priority scores are calculated algorithmically and might not match your intuition.
Understanding the calculation:
- Not based on absolute traffic - High-traffic posts might have low scores if stable
- Emphasizes change - Declining traffic gets high scores
- Values potential - High impressions + low clicks = opportunity
- Considers age - But only if content is old enough (60+ days)
Common "surprising" scores:
High-traffic post with low score:
- Traffic is stable (no decline) = low score
- Post is recent (< 60 days) = low score
- This is correct - it doesn't need urgent attention
Low-traffic post with high score:
- Traffic is declining significantly (even if small) = high score
- Very old content (2+ years) = high score
- This is correct - it needs attention before it dies
If scores genuinely seem incorrect:
- Run diagnostics to check GSC data
- Verify date setting (Published vs Modified) is appropriate
- Check if GSC data is current (should update daily)
- Contact support with specific examples
"Rate limit exceeded" Error
Problem: GSC data fetch fails with rate limit error.
Cause: Too many API requests to GSC in short time.
Solutions:
- Wait 10-15 minutes and try again
- Avoid bulk operations - Don't click "Prioritize" repeatedly
- GSC API has daily quotas - Rare to hit but possible on huge sites
- Data is cached 24 hours - Subsequent requests use cache
Prevention:
- FreshRank adds 300ms delays between API calls automatically
- Data caching reduces API usage
- Bulk operations spread out requests
OAuth Token Keeps Expiring
Problem: Need to reconnect GSC every few days.
Cause: Refresh token not being used or stored properly.
Solutions:
Verify OAuth credentials are correct:
- Check Client ID and Client Secret in Settings
- Ensure they're from the same Google Cloud project
- Verify credentials weren't regenerated in Google Cloud Console
Ensure encryption is working:
- FreshRank encrypts OAuth tokens in database
- If encryption fails, tokens may not persist
- Check that OpenSSL PHP extension is enabled
- Contact support if encryption issues suspected
Check for token revocation:
- Go to myaccount.google.com/permissions
- Verify "FreshRank AI" app is listed
- If missing, you manually revoked it - don't do this
- Reconnect through FreshRank Settings
GSC Data Not Updating
Problem: Priority scores are stale; GSC data not refreshing.
Cause: Background data fetch not running.
Solutions:
Check last update time:
- Go to dashboard
- Check "Stats" sidebar on right
- Look for "GSC data updated" date
- Should update every 24 hours
Force a manual update:
- Click "Prioritize" button in dashboard bulk actions
- This triggers immediate GSC fetch
- Wait 5-10 minutes
- Refresh dashboard
Verify connection status:
- Go to Settings → Google Search Console
- Check connection status badge
- If disconnected, reconnect
- If connected, run diagnostics
Check for cron issues:
- GSC data fetches use background scheduling
- Some hosts disable WP-Cron
- Contact support if cron issues suspected