DEV Community

Cover image for Chrome Web Store Rejected My Extension for “Keyword Spam” — Here’s What I Changed
k-wada
k-wada

Posted on

Chrome Web Store Rejected My Extension for “Keyword Spam” — Here’s What I Changed

I recently submitted a Chrome extension to the Chrome Web Store and got a rejection I wasn't expecting:

Keyword Spam.

The extension itself worked.

Its permissions were intentionally limited.

It didn't send user data to an external server.

The problem wasn't the code.

It was the store listing.

I Was Trying to Make the Extension Easy to Find

When you publish a Chrome extension, you have to write several pieces of text:

  • the extension name
  • a short description
  • a detailed description
  • feature explanations
  • privacy-related information

Naturally, you want people to understand what the extension does.

And you also want them to find it.

That's where I made a mistake.

I had repeated similar words and phrases across the listing because they accurately described the extension.

From my perspective, I was being explicit.

From the Chrome Web Store's perspective, the listing apparently looked too much like keyword stuffing.

The submission was rejected.

More Description Is Not Always Better

This was useful because it changed how I think about Chrome Web Store listings.

A product page is not a normal SEO article.

When writing an article, it can make sense to explain a topic using several related terms.

A store listing has a different job.

It needs to explain:

What does this extension do?

It does not need to contain every phrase someone might search for.

Trying to optimize too aggressively can actually make the listing worse.

What I Changed

I went back through the listing and removed wording that existed mainly for discoverability.

Instead of repeating multiple variations of the same concept, I tried to describe each function once, in plain language.

The basic rule became:

Describe the product, not the search queries you want to rank for.

I also checked whether each sentence helped a person understand the extension.

If removing a phrase didn't make the product harder to understand, I removed it.

That made the listing shorter and clearer.

The Difficult Part: There Is No Perfect Keyword Density

The rejection also exposed a practical problem.

There isn't a simple rule like:

Use a keyword no more than three times.

At least, that isn't a useful way to think about it.

A description can contain repeated terminology for legitimate reasons. Chrome extensions are often built around a very small number of concepts, so some repetition is unavoidable.

The better question is:

Would I still write this phrase if search ranking didn't exist?

If the answer is no, it probably deserves another look.

Store Optimization and SEO Are Different Problems

Before this rejection, I treated the Chrome Web Store listing partly like a small landing page.

Now I separate the two.

On my own website, I can write detailed articles around problems users may search for.

For example:

  • how to check information before sending it
  • how to inspect PDF metadata
  • how to build a Chrome extension
  • mistakes I made during Chrome Web Store review

Those pages can provide context and answer broader questions.

The Chrome Web Store listing can stay focused on the extension itself.

That division is much cleaner.

What I Learned

Publishing a Chrome extension involves more than getting manifest.json right.

The listing itself is part of the product.

After this rejection, my approach is now:

  1. Explain exactly what the extension does.
  2. Avoid unnecessary synonyms and repeated search phrases.
  3. Keep the description readable for humans.
  4. Put broader explanatory and search-oriented content on my own site.
  5. Treat Chrome Web Store review feedback as product feedback, not just a hurdle to get past.

It was a small rejection, but a useful one.

Building the extension was not the part that caused the problem.

Trying too hard to help people find it was.

Top comments (0)