Follow-up to I Built a Social Media Downloader and Got 169 Keywords Indexed in 7 Days. That one covered the initial indexing sprint. This one's about what happened when I tried to scale it to 12 languages.
When I started expanding SaveKit beyond English, I did what most devs would do: handed my keyword list to a translator and called it a day.
That was dumb. Cost me about two weeks of rework.
Quick context
SaveKit's a social media downloader — Pinterest, Instagram, Facebook, TikTok, Twitter/X, Reddit. 26+ pages total. I wanted to rank in 12 locales: EN, ID, PT, ES, TR, VI, JA, KO, DE, FR, HI, AR.
That's 19 keyword targets per locale. 228 keywords that all needed independent validation. The stack is SvelteKit 2 + Svelte 5 on Cloudflare Pages, with each locale getting its own i18n JSON file for meta titles and descriptions.
The autocomplete test that broke everything
Before I touched any keywords, I did something simple: opened Google in incognito, set it to each target country, and started typing my keyword phrases.
Almost nothing autocompleted.
I'd been writing stuff like "safe instagram downloader" and "secure video downloader" because... that's what you'd want, right? Turns out nobody actually types that. People assume a tool is safe. They don't search for it.
"Safe" and "secure" had near-zero autocomplete presence in every single locale. Same for "best" and "free." These are vanity keywords — they make you feel good about your meta tags but do absolutely nothing.
This became my pre-ship checklist for every keyword:
- Does it autocomplete in the target locale?
- Do top 3 competitors actually use it in their meta tags?
- Is the intent transactional? (someone wanting to download right now)
- No vanity words — "safe", "secure", "best"?
That fourth rule alone killed ~15% of my keyword list across all locales.
Keywords don't translate
This is the thing I wish someone had told me earlier. You can't translate keywords. You have to research each locale from scratch, like it's a separate product launch.
Translation tells you what words mean. Research tells you what people actually type. Those are very different things.
Portuguese
In Brazil, "baixar" completely dominates over "download." It's not even close. The word literally means "to pull down" and it maps perfectly to the user's mental model.
Title: Baixar Vídeo Instagram - HD, Sem Marca D'água | SaveKit
Spanish
I initially used "guardar" (to save) because it sounded nicer. Bad call — "guardar" is ambiguous. It could mean saving to a Pinterest board or bookmarking something. "Descargar" (to download/unload) is what people actually search. Swapped 8 keywords, confidence went from ~70% to 89%.
Turkish
"İndir" for download. Strongly preferred over English. 95% confidence — actually my cleanest locale because the verb is unambiguous and every competitor uses it the same way.
Vietnamese
This one was interesting. Both "tải" and "lưu" are used roughly 50/50 for download-type actions. That's unusual — most locales settle on one dominant verb. I went with "tải" as the primary (more transactional) and sprinkled "lưu" in body copy.
Japanese & Korean
CJK users abbreviate everything. インスタ (4 chars) gets searched 3-5x more than インスタグラム (7 chars). Same pattern in Korean: 인스타 >> 인스타그램.
I also had to remove two keywords from JA/KO that I'd basically made up — "pinterest pin gallery" phrasing doesn't exist in either language. Pinterest doesn't have a "gallery" feature users identify by name. The autocomplete test caught both in under a minute. Embarrassing that I shipped them at all.
Side note on Korean: Naver holds 59% of search share there. Google SEO only gets you so far. I've deprioritized KO for now — Naver needs its own keyword tools and that's a separate project.
German & French — being honest
These are my weakest locales. DE at 59% confidence, FR at 63%.
German surprised me: "downloaden" (English loan word) shows up 2-3x more than "herunterladen" in competitor meta tags. I didn't expect that. But the overall keyword picture is murkier — fewer dominant tools in these markets, more variance between competitors.
French is similar. Pinterest keywords do well there (83% viable), but the rest is thin.
I shipped both locales anyway, but flagged them for Q2 validation once GSC data comes in. No point pretending you have high confidence when you don't.
Arabic — nobody's competing here
This was the wildest finding. For Arabic Pinterest downloads? There's basically no one. Near-zero purpose-built competitors. The market's wide open.
Some non-obvious implementation notes:
MSA only. Modern Standard Arabic. Every competitor uses it. I checked Egyptian dialect autocomplete — zero results. Don't get creative with dialects.
Transliterate platform names. Arabic users search انستقرام, فيسبوك, تيك توك — not the English names. Confirmed via autocomplete.
RTL is trickier than you think. I set dir=rtl on <html>, but had to explicitly override with dir=ltr on the header, search form, footer, and logo:
<html dir="rtl" lang="ar">
<body>
<header dir="ltr">...</header>
<main><!-- Arabic content flows RTL --></main>
<footer dir="ltr">...</footer>
</body>
</html>
Get this wrong and you break the layout for both RTL and LTR users at the same time. Ask me how I know.
"Without watermark" is universal
This was the most consistent pattern across all 12 languages. The #1 keyword modifier for video downloaders, everywhere:
| Locale | "without watermark" |
|---|---|
| EN | no watermark |
| ID | tanpa watermark |
| PT | sem marca d'água |
| ES | sin marca de agua |
| TR | filigransız |
| VI | không watermark |
| JA | 透かしなし |
| KO | 워터마크 없이 |
| AR | بدون علامة مائية |
| DE | ohne wasserzeichen |
| FR | sans filigrane |
"Without app" is #2, but only in mobile-first markets (ID, VI, PT, TR, ES, AR). Doesn't show up much in DE, FR, JA, KO, or EN.
The title formula
After scraping meta tags from 60+ competitor sites across all locales, one pattern held everywhere:
[Primary Keyword] - [Benefits] | Brand
Hyphen separates keyword from benefits. Pipe before brand. 50-65 chars. That's it.
I'd been using brackets [] based on some older CTR studies. Checked 60+ ranking tools — not a single one uses brackets. Dropped them.
EN: Instagram Video Downloader - HD, No Watermark | SaveKit
PT: Baixar Vídeo Instagram - HD, Sem Marca D'água | SaveKit
TR: Instagram Video İndir - HD, Filigransız | SaveKit
AR: تحميل فيديو انستقرام - بدون علامة مائية، HD مجاناً | SaveKit
Same structure. Different words. That's the whole point.
What I got wrong
Trusted my gut on CJK. Shipped two fabricated keywords in Japanese and Korean because they "sounded right." The autocomplete test takes 30 seconds. I skipped it. Don't skip it.
Treated German/French as "close enough to English." Roman alphabet made me lazy. They're not close enough. Both need proper Ahrefs-level validation that I haven't done yet.
Confused translation with research. Seriously, these are completely different tasks and I mixed them up for the first two weeks.
What's next
Waiting on GSC data (Q2 2026). That'll tell me whether the validated keywords actually rank and if the confidence scores map to real traffic.
Arabic Pinterest is the most interesting bet. Either the near-zero competition means there's a real opportunity, or it means the demand isn't there. Should know by April.
And Korean — if Naver traffic turns out to be meaningful, the whole KO strategy needs a redo with Naver's keyword tools. That's a bigger project.
Takeaways if you're doing this yourself
Run the autocomplete test on every keyword. 30 seconds each. It'll kill bad keywords before they waste your crawl budget.
Research the native verb first. baixar, descargar, indir, tải, تحميل — the verb is the keyword. Don't assume English works.
Document why you removed keywords. If you don't, someone (probably future you) will add them back in 6 months.
Be honest about confidence. Shipping a locale at 59% validated is fine. Pretending it's 95% is how you end up rewriting everything later.
I store all of this in packages/config/src/seo-keywords.ts alongside a strategy doc with the research data. Treating keywords as code — with commit history, reasons, and confidence levels — is the only way I've found to keep this manageable across 12 locales.
SaveKit is the project. Previous article here. If you've done multilingual SEO and found different patterns, I'd genuinely like to hear about it in the comments.

Top comments (0)