Mining On-Site Search Terms: Let Visitor Queries Reveal Your Content Gaps
1. The on-site search box is first-hand demand data you’re wasting
The terms external keyword tools give you are guesses calculated from a keyword database plus scraped volume. The terms in your on-site search box are different: a visitor typed them in after arriving on your site. One is a guess, the other is a statement.
For an overseas-facing site with 300 visitors a day, typically 3% to 6% of them use on-site search, which works out to 270 to 540 queries a month. The sample is small, but behind every query is someone who has already reached your site with a clear goal.
The boundaries of each of the four data sources:
| Data source | Sample comes from | Represents | Time to get it | What it can answer | Main blind spot |
|---|---|---|---|---|---|
| On-site search terms | Visitors who have already reached your site | Arriving visitors with a clear goal | Same day after tracking is set up | What they still can’t find after arriving | Small volume, capped by your site’s traffic ceiling |
| GSC query report | Impressions and clicks from Google organic search | People who saw your link after searching | 2 to 3 days of data delay | Which terms bring you traffic | No on-site behavior, long-tail terms get merged |
| Keyword tools | Estimates from sitewide crawl volume and competition | The broad market, not your buyers | Immediate | Market size and competitive intensity | May have nothing to do with your category or buyers |
| Sales team Q&A records | Inquiries, trade shows, email conversations | People already in the buying process | Compiled by hand | Real questions from the decision stage | Low coverage, entirely dependent on someone writing it up |
One machinery equipment site logged 1,240 on-site searches in a quarter, with roughly this breakdown by term type:
| Term type | Share | Typical examples | What to do about it |
|---|---|---|---|
| Model and spec terms | 34% | Specific model plus power, voltage | Check whether product page specs are complete; fill in what’s missing |
| Category generic terms | 22% | Category name plus manufacturer, supplier | Check whether the category overview page is good enough |
| Question terms | 18% | How to maintain, common faults, how to choose | The main source of content gaps |
| Brand keywords | 14% | Company name, product line name | If this exceeds 25%, watch out for awareness bias |
| Irrelevant terms | 5% | Job listings, tracking number lookups | Mostly mistyped or from crawlers |
This table is itself a topic list. Zero-result model terms need specs added, question terms need content pages, certification terms need downloadable documents. crater is at /site/ That’s why the delivery checklist lists on-site search tracking as a standard post-launch task: it takes a day to set up, but keeps producing topic ideas for a year.
2. What you can and can’t collect: first figure out which tier you’re in
The easiest mistake to make with on-site search is thinking you’re collecting data when nothing is actually being saved. WordPress’s built-in search results page doesn’t keep logs by default — visitors search and leave, and the data disappears with them.
Sort yourself into one of three tiers:
| Tier | Requirements | What you can collect | What you can’t collect | What you can conclude |
|---|---|---|---|---|
| Tier A · No tracking | Search is a built-in theme feature, no logs | Almost nothing | All | Nothing — set up tracking first |
| Tier B · Anonymous logs | Tracking records query terms and result counts | Query terms, timestamps, result counts, click-through | Visitor identity, cross-device behavior | Trends and gaps, but can’t be tied to inquiries |
| Tier C · Linked to conversions | Forms carry a session ID or visitors are logged in | Everything above, plus form submissions and resource downloads | Identity of non-logged-in visitors | The full path from query to inquiry |
Most overseas sites are stuck at Tier A. Tier C only requires adding a session ID field to your forms, but the difference in value is huge: Tier B only tells you what content is missing, while Tier C tells you how many people actually submitted a form after you filled that gap.
Three types of information are essentially uncollectable with current technology — don’t pretend otherwise when designing your plan:
| Uncollectable information | Why | Workaround |
|---|---|---|
| Who the visitor actually is | Anonymous visits have no identity marker | Use session IDs instead of identity; track behavior sequences only |
| Whether they changed their mind after searching | No page dwell time or scroll data | Feed dwell time and event tracking into the same table |
| The same person returning on another device | Cookies are isolated by design | Use login state or form email for weak linking; don’t force it |
When this approach doesn’t apply: If your site has been live for less than 3 months, or gets fewer than 3,000 monthly visits, on-site searches often number under 10 per day — only 200 to 300 queries a month, too small a sample to draw conclusions from. At this stage, prioritize external keywords and GSC; treat on-site search as reference only. Another case is subtler: if your search doesn’t support typo tolerance or synonyms, visitors searching “变频器” and “inverter” get completely different results, and your zero-result rate gets inflated above 25%. Fix the search engine before mining it.
3. Five must-collect fields and four health thresholds
On-site search tracking isn’t complicated, but every missing field is one less diagnostic path later.
| Field | Type | Purpose | Consequence of missing it |
|---|---|---|---|
| Query term | Text, kept as-is | The only raw material for categorization | Just a count, no way to attribute |
| Timestamp | Time, with timezone | Aligns with your content publishing schedule | Can’t tell if changes took effect |
| Result count | Integer | Identifies zero results and too-few results | Can’t tell what content is missing |
| Whether clicked | Boolean | Separate “missing content” from “page doesn’t convert” | Two different problems lumped together |
| Session ID | Random string | Tie searches to later form submissions | Can’t show what it contributed to inquiries |
Once the tracking rules are set, the next step is four thresholds for deciding whether to act. All four use a rolling 30-day window, not single days.
| Metrics | How to calculate | Healthy range | Below the range means | Above the range means |
|---|---|---|---|---|
| Average daily searches | 30-day query count divided by 30 | At least 20 | Not enough visitors, work on traffic first | On-site navigation may be broken, people are searching instead |
| Zero-result rate | Queries with 0 results divided by total queries | 8% to 15% | Content coverage is okay, something else is missing | Content gaps are systematic, build pages first |
| Result click-through rate | Queries with clicks divided by total queries | At least 45% | Result ranking or title wording needs work | Results are relevant, keep as is |
| Post-search conversion rate | Form submissions in search sessions divided by search sessions | 1.5% to 4% | Target page doesn’t convert, needs a rebuild | These searchers are high-intent, worth investing more |
Note: a conversion rate above 4% isn’t necessarily good, it may just mean the sample is too small. When a month has fewer than 100 search sessions, skip this metric, so two or three inquiries don’t get magnified into a false signal.
4. Four decision rules: which query maps to which action
With fields and thresholds in place, the decision rules can be fixed. The point of fixing them: no meetings needed, you see the data and know what to do.
| Type | Condition | What it’s telling you | Action | Priority |
|---|---|---|---|---|
| Zero results | 0 results, and appeared more than 5 times in 30 days | The site doesn’t have this content | Build a page, or set up synonym mapping | P0 |
| High clicks, low conversion | Click-through rate at least 60%, post-search conversion rate below 1% | Content is right, page doesn’t convert | Rebuild the target page: add spec tables, add a form, add a CTA | P0 |
| Repeated searches on the same topic | Same topic appears more than 8 times in 30 days, in scattered phrasings | A structure problem, not missing content | Merge into a hub page, add FAQ and internal links | P1 |
| Brand terms searched first | Brand terms at least 25% of queries | Awareness gap: visitors search for you only after they know you | Check whether external content mentions only brand terms | P2 |
The third category is the easiest to misread as “missing content,” and then you write a pile of duplicate pages. The test is simple: if the same need gets searched in 5 or more phrasings, and each phrasing lands on a different page, that’s not missing content, that’s scattered structure. Build an alias table to route every phrasing to one landing page. If it takes 4 or more clicks from the homepage to reach the target page, move high-frequency pages up to the first level of navigation. If people keep searching “model plus specs” combinations, what you need is filters, not new pages.
The fourth type, brand terms, deserves its own note. A brand-term share of 10% to 20% is normal; once it passes 25%, it usually means outside content carries almost nothing but brand terms, and new visitors can barely find you by describing what they need. At that point you fix the off-site content structure, not your pages.
5. Aligning with GSC: three kinds of gaps, not contradictions
Put your site search terms next to the GSC query report and they often don’t line up. Most people assume one side’s data is wrong. In fact all three kinds of gaps have clear explanations, and each calls for a different response.
| Gap type | In site search | In GSC | Why | Action needed |
|---|---|---|---|---|
| Scope gap | Counts only visitors who reached the site | Counts Google impressions and clicks | One is on-site, one is off-site | Don’t merge them; show them side by side |
| Region gap | Based on site language and campaign distribution | Based on Google’s index and regional coverage | Most obvious on multilingual sites | Report by language separately |
| Language gap | Records whatever language the visitor searched in | Groups by your page language | One need gets recorded as several terms | Build a cross-language synonym map |
Put into practice:
| Need | Site search (62/month) | GSC (1,900 impressions/month) | Verdict |
|---|---|---|---|
| Can we swap in model numbers? | 41 queries, 34% zero-result rate | High impressions, 0.8% CTR | Clear gap, prioritize content |
| Category selection and comparison | 12 queries | 600 impressions, 4% CTR | Weak on-site demand, pick topics from GSC |
When the two conflict, here’s the principle I’d set:Pick topics from GSC, redesign pages from site search. The first decides whether an article is worth writing; the second decides whether people stay once they arrive. The two datasets answer different questions. Force them into one metric and the conclusion will be distorted.
6. From search terms to topics: four conversions and the order to execute them
Once the data is organized, there are only four actions. Don’t invent a fifth.
| Conversion | Trigger | Deliverables | Effort estimate |
|---|---|---|---|
| Add a page | Zero results, and 5+ occurrences in 30 days | One new 800-1,200 word page | About 1.5 person-days |
| Split a page | One page carries 3+ distinct needs | One hub page plus 3 cluster pages, interlinked | About 3 person-days |
| Add FAQ | Question terms get results, but CTR is below 35% | Add 5-8 FAQs to the target page | About 0.5 person-days |
| Add filters and navigation | Parameter terms are at least 30% of queries | Filters, or a quick on-site entry point | 2-4 person-days |
Set retention and compliance rules up front. Don’t wait until you’ve accumulated two years of data to write them:
| Project | Recommended policy | Reason |
|---|---|---|
| Raw query term retention | 13 months | Covers a full annual cycle for year-over-year comparison |
| Session ID retention | 90 days | Long enough for conversion attribution, anonymized on expiry |
| Personal information | Query terms may contain emails, names, phone numbers | Filter before storage; anything matched is stored masked |
| Privacy Policy | State that site search terms are recorded to improve content and products | Put it in the same paragraph as the cookie notice |
| Export and deletion | Support export and deletion by session ID | This is the technical prerequisite for data subject rights |
Roll it out in four steps, all within two weeks:
| Stage | Time | What to do | Acceptance Criteria |
|---|---|---|---|
| Step 1 · Tracking | 1 to 2 days | Log five fields into a separate data table | Export raw data for any 30-day window |
| Step 2 · Categorize | 3 to 5 days | Build a category table and a synonym mapping table | 90% of terms fall into 6 categories or fewer |
| Step 3 · Weekly report | 30 minutes a week | Report only three things: top zero-result terms, high-click low-conversion pages, and new terms from last week | Produce one actionable takeaway every week |
| Step 4 · Quarterly report | 2 hours per quarter | How category share is shifting, and whether published content is closing the gaps | Zero-result rate drops by 3 percentage points or more |
Second caveat: If your core business is a very narrow category, say fasteners in a single specification, your site search may only get thirty or forty terms a month, the same few phrasings over and over, and mining them for topic ideas is a waste of time. Sites like this should put the full specs, material, tolerances, MOQ, and lead time right on the target page and answer everything in one page. Mining site search for gaps only pays off on sites with a broad enough content surface. For the related data, see /insight/.
FAQ
Final thoughts
The value of on-site search terms isn’t that the data is complex. It’s that they cut out every middleman. Those few words a visitor types are a need description they wrote themselves, not inferred by a keyword tool and not relayed by a salesperson.
Most overseas sites don’t lack this data. They just never treat the search box as a data source. Tracking, categorizing, and setting thresholds takes two weeks.
One-line takeaway: on-site search terms tell you what’s missing, GSC tells you whether it’s worth fixing. Watch both, but don’t merge them into a single number.
