Blog
Methodology, not listicles.
How to read your Google Search Console data honestly: what the numbers mean, where they mislead you, and what to do about it.
SEO Checklist for Web Developers: Every Check, in the Order That Matters
A technical SEO checklist for developers: 24 checks from status codes to measurement, in the order they block each other, each with the command or Search Console report that verifies it.
SEO for Developers: What Actually Moves Rankings When Your Site Is a Repo
SEO for developers is five jobs: get pages indexed, aim each page at one search, win the click, link to the pages that earn, and measure each change from Google's recrawl.
Why Google rankings fluctuate: what 46,000 days of page data show
We measured how much pages move in Google with nobody touching them: day to day, week to week and month to month. Here is what is normal, and how to tell a real change from drift.
How to Do a Keyword Gap Analysis That Finds Buyers, Not Noise
A keyword gap analysis in five steps, including the two most guides skip: filtering the list for buyer fit, and checking it against your own Search Console.
SaaS SEO: A Guide for Teams That Already Have Traffic
A SaaS SEO strategy for a team that already ranks for something: start from the clicks you earn, in the order the work pays, with measured results from a live SaaS.
How to check which keywords you rank for on Google (from your own Search Console)
Search Console already lists every search your site appeared for, with the position Google recorded. Where to find it, how to read it per page, and the two gaps that make the list shorter than it should be.
Google Search Console MCP servers: compare access, not tools
Every GSC MCP server is a community project reading the same API. What differs is the access each asks for, and several ask for more than the job needs.
How we compute decay and intent, threshold by threshold
Every constant behind our decay and intent flags: 20 percent clicks, 100 impressions, 5 clicks, the keyword lists, and where they are weakest.
SEO Quick Wins, Measured: 32 Fixes, 11 Worked, 5 Backfired
SEO quick wins, tried and measured: 32 fixes on a live SaaS, each read against the 28 days before it. 11 improved, 7 went flat, 5 declined, and 9 can't be read at all.
Search Console Coverage Report: Fix, Wait, or Ignore
Google's coverage report ships a column telling you which rows aren't yours to fix. The three-way split that replaces reading the state list one by one.
How to Check if a Page Is Indexed (3 Methods, 1 Blind Spot)
URL Inspection is the only method that reports Google's real index status, and Google says so. Plus the drop Search Console structurally cannot show you.
URL Inspection Tool: 4 Ways One Reading Misleads You
URL Inspection shows Google's stored copy, not your live page. The four misreadings, including the canonical comparison that runs backwards.
Discovered, Currently Not Indexed: It's Not Crawl Budget
Google scopes crawl-budget work to sites with 1M+ pages. If yours is smaller, discovered, currently not indexed is a demand problem. Here's the check.
Crawled, Currently Not Indexed: 11 Fields, No Reason Why
Crawled, currently not indexed is the status Search Console gives no reason for. See the three fields that rule out a technical block, and what's left.
Claude Code SEO: Skills, MCP, and the Loop That Works
Claude Code SEO works when the agent can read, decide, edit, and check. See what to wire, where to put the instruction, and where its judgment stops.
Google Search Console MCP Server: Self-Host or Hosted?
Choosing a Google Search Console MCP server is not about tool count. It comes down to three trade-offs the feature tables skip: what setup really costs, rows versus analysis, and whether your history survives.
Merging Two Blog Posts for SEO: Which One Survives?
Two of your pages genuinely compete and one has to go. The page with more clicks is often the wrong one to keep. Here's how to pick, on your own data.
#Anchor URLs in Search Console: Why They Appear, What to Do
Some URLs competing for one query are anchors of one page, not separate pages. There's nothing to merge. Here's the check that tells them apart.
Keyword Cannibalization in Search Console (The Honest Test)
Two of your pages ranking for one query usually isn't cannibalization. Here's the honest test, run on your own Search Console data.
Which Striking Distance Keywords to Prioritize (Click Math)
Not all striking distance keywords are worth the same push. Rank them by the clicks a climb actually buys, using your own Search Console impressions.
How to Push a Page From Page 2 to Page 1 of Google
A page ranks on page 2 for a query you could win. Here's how to push it to page 1: deepen the answer, link the query, and measure the climb in Search Console.
Striking Distance Keywords: The Query Your Average Hides
Striking distance isn't a page property, it's a query hiding in your page's blended average. Find the real near-miss in your own Search Console data.
How to get cited in AI Overviews when a rewrite can't win
When an AI Overview takes the click a page ranks for, no title rewrite wins it back. Here's how to get cited instead, found in your Search Console data.
How to write a title tag that wins the click
Write your title tag from the queries your Search Console shows you rank for, match the H1 to it, and cut the odds Google rewrites it.
SEO Click-Through Rate: Is It Your Title or the AI Overview?
When your SEO click-through rate is low on a page-1 listing, there are two usual causes: a weak title you can fix, or an AI Overview taking the click that no rewrite recovers. Here's how to tell them apart in your own Search Console data.
Content decay detection in Search Console
Content decay is a slow slide in a page's clicks, not a sudden drop. Here's how to spot real decay in your own Search Console data, and tell it from an AI Overview taking the click.
How to revive an old blog post that is losing traffic
You found a decaying page in your Search Console data. Here's how to decide between a refresh, a merge, and letting it go, and how to tell which one the data is asking for.
Informational pages ranking for buyer queries
When a guide ranks for buyer queries, it pulls ready-to-buy visitors to a page with nothing to buy. Catch it in your Search Console data, and route it.
Money pages ranking for informational queries
When a money page ranks for informational queries, it pulls clicks it can't convert. How to catch it in your Search Console data, and how to fix it.
Search intent mismatch: ranking for the wrong queries
A page ranking for the wrong search intent pulls clicks it can't satisfy. Here's how to catch intent mismatch in your own Search Console data.
30 days of Search Console on a real SaaS: what the dashboard buries
We read AppScreenshotStudio's live Search Console for a month through QueryScope. Impressions doubled, clicks stayed near flat, and one page ranked seventh with zero clicks. Here is what the dashboard hides, and the honest limit on each finding.
Search Console metrics explained: what impressions, clicks, CTR and position really count
Clicks, impressions, CTR, and position in Google Search Console, plus the honest limit behind each metric: why your totals never reconcile.
Search Console history: how to keep data older than 16 months
Search Console history stops at 16 months, and Google drops the oldest day every day. Why your most trusted numbers are the most perishable, and how to keep them.
Anonymized GSC data: can you access the hidden queries?
Anonymized queries hide about half your Search Console clicks. Why filtering can't recover them, and how to measure your own hidden share.
Page vs query data in Search Console: which to trust for what
Search Console's page and query views never add up to the same total. Here is why, and which view answers each question you actually ask of your data.
No posts match that search.