A single predicate, inNiche(), applied to every keyword before it can enter the universe. A NICHE pattern matches post-frame, pole barn, barndominium, shouse, steel building and similar. A TRADE + TOOLY pair lets 'contractor estimating software' through. A NOISE pattern drops the accidental hits — payroll, take-home pay, lawn care, kitchen design, 'barnyard grill'.
Also called: keyword noise filter · irrelevant keywords · post frame keyword relevance
- 1NOISE is tested first and wins outright — a noise match is dropped even if it also matches the niche.
- 2A direct NICHE match (post frame, pole barn, barndominium, shouse, steel building, agricultural building) is kept.
- 3Otherwise a keyword must match BOTH a trade word (builder, contractor, estimating, framing, roofing) and a tool word (software, CRM, quoting, takeoff, scheduling).
- 4Everything else is discarded before it is ever stored, so the universe never has to be manually pruned.
The comment names the failure directly: "Is this keyword OUR niche? Generic CRMs rank for millions of terms; only the buildable ones belong in the universe." Mining a competitor that happens to be a general construction CRM returns thousands of terms about payroll, taxes and lawn care. Without the filter the universe fills with them, and every priority list is polluted by keywords the business could never serve.
- Mining a broad competitor imports thousands of off-topic keywords.
- Manual pruning of a keyword list never finishes.
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →