When I built EZ QR Generator, I didn't do it because the world lacked QR tools. I built it because I wanted a real project to experiment with SEO and see how search engines actually behave when you try different strategies yourself.

If you read enough indie hacker threads, everyone recommends the same shortcut for utility apps: programmatic multi-language SEO. Build one tool, translate the dictionary into a dozen languages, generate a landing page for every micro-keyword (/qr-code-wifi, /qr-code-scanner,"Alternative to X"), and let the long-tail traffic roll in.

So that’s what I tried first. Version 1 launched with over 400 pages across 11 languages.

What happened next was a weird split between search engines.

Google Refused to Touch It. Bing Loved It.

After submitting the sitemap and waiting a few weeks, I checked the dashboards:

  • Google completely ignored me: Out of 400+ pages, only4 made it into the index. Around 400 pages sat stuck in "Discovered – currently not indexed" and another 50 in "Crawled – currently not indexed".
  • Bing indexed everything: It happily crawled the whole sitemap and started sending steady traffic—averaging 30 to 40 impressions a day with a 1.4% CTR, plus regular citations in AI answers.

It didn't take long to figure out why Google hated the site. When a brand-new domain with zero authority suddenly drops 400+ pages where the main interactive element (the QR form) is identical and only the translated text wrappers change, Googlebot doesn't see a helpful multi-language tool. It seesthin doorway spam.

Worse, I had a couple of my own bugs hurting me—some hardcoded English text was still bleeding into the lower sections of translated pages, and the Vietnamese title tag was broken.

Having Bing and AI search work out of the box was great, but Google still dominates web traffic. Leaving my domain pessimized in Google wasn't an option. I needed a complete change of strategy.

Cutting the Bloat: From 400+ Pages to 13

To shake off Google's doorway-page classification, I had to stop trying to game every keyword permutation and aggressively shrink the site.

First, I looked at where my actual impressions and AI citations were coming from across both search engines. Almost all of them were in just two languages:English (en) and Vietnamese (vi). Having 9 other languages sitting there with zero traction was just diluting my crawl budget. I cut the other languages completely.

Second, I killed all the thin keyword variations and "Alternative to QRCode Monkey" posts. Instead of dozens of nearly identical tool URLs, I consolidated the entire tool into just three core pillars—the main generator (/), Wi-Fi (/wifi), and digital business cards (/vcard)—alongside my core technical blog posts that actually explain QR math and print sizing.

In total, I cut 400+ pages down to 13 core pages (26 URLs total across English and Vietnamese) with a clean new sitemap. Everything I deleted was wired up with 301 permanent redirects to the main pages so existing links wouldn't break.

While I was tearing things down, I also:

  • Rewrote the page content: Made sure each of the remaining tool pages had 100% unique explanations and FAQs below the fold rather than shared boilerplate.
  • Restyled the entire UI: Ditched the old neon cyberpunk look for a clean, stark black-and-white design, and replaced runtime UnoCSS scripts with a single static stylesheet.

Where Things Stand Now

My biggest worry with deleting 90% of my URLs was that I would accidentally kill the working traffic I already had on Bing.

Thankfully, because all the retired slugs and languages were routed through proper 301 redirects, Bing didn't flinch. It is still holding steady at 30–40 impressions a day with the same 1.4% CTR and AI citations.

With Google, it’s a waiting game. Once Googlebot decides your domain is programmatic spam, cleaning up your act doesn't get you indexed the next morning. It takes weeks for the crawler to work through the 301redirects, digest the tiny new sitemap, and reconsider the domain.

The cleanup is live—now I wait a few weeks to see if Google finally lets the domain out of the penalty box.