> ## Content Index
> Fetch the complete content index at: https://seeindie.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# How I filtered a 300k keyword sweep into one GW2 list
- URL: https://seeindie.com/blog/gw2-keyword-sweep/
- Published: 2026-07-15T11:00:00.000Z
- Updated: 2026-10-04T20:50:50.000Z
- Description: A plain account of turning a giant Semrush export into one master GW2 list: what I kept, what I threw out, where I filed it, and why.
- Author: Isabella-Viktoria Quilez
- Tags: Project, #hub-project

I pulled a broad-match Semrush sweep of about 300,000 rows and filtered it down to around 1,600 Guild Wars 2 keywords worth a page. Here's the whole process, written so anyone picking it up later (future me included) can run it the same way.

**Where this lands.** The sweep feeds [the Guild Wars 2 hub on Crit Pick](https://critpick.me/guild-wars-2/?ref=seeindie.com), the case-study blog SeeIndie is [building in public](https://seeindie.com/showcase-project/). The setup that came first: [structure, tags and tracking before content](https://seeindie.com/blog/setting-up-a-gaming-blog-for-seo/).

On this page [Where it started](#where-it-started) [The Garden Warfare trap](#the-garden-warfare-trap) [The rest of the cuts](#the-rest-of-the-cuts) [What it came down to](#what-it-came-down-to) [Sorting the list](#sorting-the-list) [What the list points at](#what-the-list-points-at) [A fresh export](#a-fresh-export) 

**Heads-up:** this is the first full pass, not the finished list. Filtered and sorted once, with plenty of refining still ahead. The totals below are a snapshot, not a final count.

## Where it started

With the blog's structure, tags and tracking already in place ([the last post](https://seeindie.com/blog/setting-up-a-gaming-blog-for-seo/)), the next job was the list itself. I work the sweep one seed at a time: one export for `stats`, one for `gold`, one for `mastery`, `class`, `legendary`, `build`, and so on. Each file is the whole broad-match neighbourhood around that one word, usually a few thousand rows, and most of those rows are junk: every possible word order of every possible phrase, almost all of it at near-zero volume.

What I'm building is one list I can trust: every Guild Wars 2 keyword actually worth a page, each one listed once, sorted under the topic it belongs to, and graded for a brand-new site with no authority yet. I keep it all in a single document on purpose. The list itself is the thing I work from.

## The one that nearly ruined the whole thing: Garden Warfare

Here's the trap, and it's specific to this game. **“GW2” isn't only us.** It's also how everyone abbreviates *Plants vs Zombies: Garden Warfare 2*. So the moment you run a broad sweep on “gw2” terms, you drag in a pile of Plants vs Zombies content that has nothing to do with Guild Wars 2\. At a glance, “best gw2 character” looks like a perfectly good keyword until you realise the searcher wants a cartoon sunflower.

The easy half announces itself: anything with `pvz`, `garden warfare`, `plant`, `zombie`, `neighborville` or `garden ops`. Gone, no second look. The half that cost me time is the Garden Warfare terms that don't contain any of those words, because they're named after that game's own stuff:

- Its collectibles and modes: *golden gnomes*, *crazy targets*, *snow globes*, *delivery badges*.
- Its currency: *stars*. Guild Wars 2 doesn't have “stars,” so every “how to get stars” query was Plants vs Zombies wearing our abbreviation.
- Its characters: *peashooter*, *sunflower*, *super brainz*, *cactus*, *chomper*, and the rest of the roster.

The tell that saved me: these came in pairs. If I spotted an obvious “\[something\] **pvz** gw2” in the reject pile, there was almost always a twin “\[something\] gw2” (same words, no `pvz`) in the keep pile, the exact same Plants vs Zombies term. So whenever the blatant version showed up, I went hunting for its quieter twin. When I wasn't sure, I didn't guess, I searched it.

![](https://storage.ghost.io/c/5b/f5/5bf5e15d-4aec-456b-8b22-d14861d0b67c/content/images/2026/06/gw-garden-warfare-twins.png)

## The rest of the cuts

**If it doesn't say "gw2" or "guild wars," it's not ours.** Broad match throws in generic MMO terms that never name us. A new site has no business chasing those, so anything without the brand in it goes.

**Volume under 30, gone.** Below thirty searches a month it's all permutation dust. Thirty is roughly where a keyword stops being an accident and starts being something people actually type.

**One keyword, one home.** Every term lives once, under the topic it most belongs to. Before I add anything from a new export I check it against everything already in the list.

## What it came down to

Start with 300,000-odd rows. Knock out the Garden Warfare homonyms, drop everything that doesn't name the game, then remove the duplicates. That alone clears out almost the whole sweep, because broad match is mostly the same handful of real terms in every possible word order, repeated across all fifty seed exports. Of the few thousand real keywords left, I cut the roughly 2,700 that fall below the volume floor. What's left looks like this:

\~300k

raw rows, every seed

\~2,700

below vol 30, of the rest

1,592

keywords kept

\~286k

total monthly volume

First full pass, June 2026\. Most of the 300k was cross-game, off-brand or duplicate rows, cleared before the volume floor even applied.

The shape that fell out of it: three big pillars by volume. The **timer tool** (the one thing worth building), the **build cluster** (easily the largest theme), and the **legendary pillar**. The easiest wins sit in three repeatable lanes I can template: a page per elite-spec build, a page per crafting discipline, and a page per zone.

## Then sorting the whole thing

By the time every export was filtered I had the full list, but organised by the seed each keyword arrived on. That's how I collected it, not how the site should be built. So once the list stopped growing I sorted it two ways: once by raw demand (highest volume first, `gw2 event timer` at 12,100 down to the 30s), and once by topic, into the 15 clusters that become the site's sections.

How I sorted each keyword:

- **What it's about, first clear signal wins.** If it says "build" it's a build, even if it also says "wvw" or "fractal." Every build lives in one cluster.
- **Intent splits inside a cluster, not across it.** `gw2 builds` and `gw2 builder` sit together in Builds; one's flagged as content, the other as a tool to skip.
- **Still one keyword, one home.** Nothing appears twice. If it could go two places I pick the more useful one and note the other.
- **Brand names ride along but stay flagged.** A rival build site is *about* builds, so it sits in Builds with a note that it's a competitor, not a target.

## What the list points at

Once it's sorted by demand and graded for difficulty, the plan more or less picks itself. Two piles matter. The first is low-difficulty terms that still have real volume: the pages a brand-new site can plausibly rank in the near term. The second is the big heads, high volume and high difficulty, worth chasing later once the site has some history behind it. Here's a sample of each, straight off the list.

**How to read it:** KD is the difficulty score from the export, 0 to 100, lower is easier for a site with no authority yet. Volume is the tool's rounded monthly estimate, not a promise. Both are third-party guesses, fine for sorting and not worth treating as gospel. I use them as a pointer, not a fact.

### Start here: low difficulty, real volume

These land almost entirely in the three lanes I can template: a page per profession build, a page per crafting topic, a page per zone. That's not luck, it's just where the easy volume sits in this game.

| Keyword            | Vol/mo | KD | Lane             |
| ------------------ | ------ | -- | ---------------- |
| gw2 build editor   | 1,600  | 16 | Build tool       |
| gw2 map            | 1,600  | 18 | Zone / map       |
| gw2 crafting guide | 1,300  | 15 | Crafting         |
| gw2 necro build    | 880    | 3  | Profession build |
| mesmer build gw2   | 880    | 9  | Profession build |
| gw2 ranger builds  | 720    | 10 | Profession build |
| gw2 mystic clover  | 720    | 14 | Crafting         |
| gw2 skyscale guide | 390    | 20 | Mount guide      |

**One caveat on those scores:** difficulty tools are bad at spotting a SERP owned by entrenched, purpose-built sites, and GW2 builds are the textbook case. MetaBattle, Snow Crows, Hardstuck and GuildJen hold those terms, deep-linked and trusted, so `gw2 necro build` at KD 3 is almost certainly underrating a brutal page one. I read every score here as a reason to open the live results and look, not a green light.

### Chase later: high volume, high difficulty

The big single-word heads. Worth a page eventually, but not the first fight to pick. They stay on the list so the targets keep showing, not so I write them on day one.

| Keyword                   | Vol/mo | KD | Cluster            |
| ------------------------- | ------ | -- | ------------------ |
| guild wars                | 8,100  | 78 | About / brand      |
| gw2 builds                | 8,100  | 30 | Builds head        |
| gw2 builder               | 6,600  | 31 | Builds tool head   |
| gw2 classes               | 4,400  | 33 | Classes overview   |
| guild wars 1              | 2,900  | 64 | About / legacy     |
| gw2 expansions            | 2,400  | 44 | Story & expansions |
| guild wars 2 release date | 1,600  | 47 | About              |

**The bridge:** `gw2 event timer` sits right between the two piles, 12,100 searches a month at KD 28\. The biggest single term in the whole sweep, and only middling difficulty, which is exactly why the timer was the first thing I built. More on that in the timer write-up.

## How I run a fresh export

The whole loop, in order, so it stays repeatable as new exports come in.

01

Clear the floor

See how many rows clear volume 30\. That's the real pile; ignore the rest.

02

Cut Garden Warfare

Giveaway words first, then hunt the quiet twins of anything blatant in the rejects.

03

Drop the off-brand

Anything that doesn't say "gw2" or "guild wars," and anything already logged.

04

Don't guess

Search anything cross-game before keeping or cutting it.

05

Group by sub-topic

Sort what's left into groups and decide which page each becomes.

06

Add as a block

Drop it in sorted by volume; note weak targets, brand terms, movers, refreshers.

07

Update the totals

Keep the running counts current so the document still adds up.

08

Re-sort when it settles

Once by volume, once into clusters, widening until no misc pile is left.

*living document, grows with the sweep, shrinks as it's filtered.*

## Common questions

How big was the keyword sweep, actually? 

About 300,000 broad-match rows out of Semrush, filtered down to around 1,600 Guild Wars 2 keywords worth a page. It's the first full pass, not the finished list.

What's the Garden Warfare problem? 

"GW2" isn't only us. It's also how everyone abbreviates Plants vs Zombies: Garden Warfare 2\. So the moment you run a broad sweep on "gw2" terms, you drag in a pile of Plants vs Zombies content that has nothing to do with Guild Wars 2, and it has to come out before anything else.

How do you decide what to cut? 

If it doesn't say "gw2" or "guild wars," it's not ours. Broad match throws in generic MMO terms that never name us, and a new site has no business chasing those, so anything without the brand in it goes. Volume under 30 goes too. Then the duplicates come out.

Why does broad match return so much junk? 

Because it's mostly the same handful of real terms in every possible word order, repeated across all fifty seed exports. That's why the count collapses so hard once the homonyms, the non-branded terms and the duplicates are gone.

What's the biggest Guild Wars 2 keyword on the list? 

Sorted by raw demand, "gw2 event timer" sits at the top at 12,100 searches a month, and the list runs down from there to terms in the 30s.