Kagi’s 16 October changelog is mostly the usual list of small fixes. One closed issue, though, is a lesson every SEO should know about. Feedback ticket #11490 is titled “Kagi Translate has turned my blog post into a kagi.com page that outranks me, untranslated“. It is exactly what it sounds like.
What happened
A small blogger, posting as AviD, opened the thread on 15 September. He had searched Google for one of his own long-form posts. Ranking above his page was a copy on translate.kagi.com/<his-domain>/<path>, and it wasn’t even translated. “A few days later my page was gone from the results for that term altogether, and the copy was still there.”
He did the audit most site owners never do. His own side was clean: a self-referencing absolute canonical, the page indexed, nothing blocked. Then he looked at Kagi’s side:
translate.kagi.com/robots.txtwasUser-agent: *followed by an emptyDisallow:, in other words “crawl everything”.- Proxied pages returned HTTP 200 with no X-Robots-Tag.
- There was no rel=canonical pointing back to the source, either in the response or added by JavaScript.
- Path-based URLs made the copies look like ordinary pages on a strong domain.
He was fair to Kagi. Its fetcher identified itself honestly as KagiTranslatePreview/1.0 and respected his robots.txt. He also noted that Google Translate had the same problem in 2010, and again in December 2023 through translate.google.com/website. The 2023 episode left an estimated 4.9 million pages indexed and used as a spam vector. He asked for X-Robots-Tag: noindex first, a passed-through canonical second, and a robots.txt Disallow only as a last resort.
Kagi’s Giorgio replied that “it was certainly never our intention to outrank anyone on search”. He said proxied pages now send X-Robots-Tag: noindex, so search engines should drop the copies as they recrawl them. The thread’s timestamps put that reply on 21 September. The 16 October changelog is the first time Kagi has listed it in public.
Kagi picked the right fix
We checked this morning, 19 October. translate.kagi.com/robots.txt still has an empty Disallow, but Kagi has added a comment explaining why. Translated pages “stay crawlable on purpose”, because they answer with X-Robots-Tag: noindex, nofollow and a matching meta robots tag, “and a crawler has to fetch a page to see either one”. Blocking them in robots.txt “would hide that directive and leave copies already in search results ranking against the sites they were translated from”. A request to the proxied copy of AviD’s post now returns x-robots-tag: noindex, nofollow.
That is textbook. A lot of teams still reach for a robots.txt Disallow to “remove” pages. That stops crawling, but it can’t remove URLs that are already indexed, because Google never sees the noindex. Kagi chose the boring, correct fix over the one that would have looked faster.
The rest of the changelog
There’s one more search change that matters. With Safe Search on, known scam and phishing sites are now blocked rather than just downranked. It’s a small change, but it moves from ranking to removal. It sits alongside the Quick Bangs and Quick Snaps limit rising from 20 to 50, weather-widget triggers in more than 40 languages, and Privacy Pass now working with Quick Answer and Inline Summarize.
Our take
Any proxy, translator or reader-mode service on a strong domain is a duplicate-content risk for the sites it serves. We saw something similar with Duck.ai’s share pages, where DuckDuckGo made every share page noindex. AviD only found his copy because he searched for his own post. Most small sites never will. So run that search: quote a distinctive sentence from your best pages and see who else ranks for it. Once you find a copy, it may still take a recrawl, or several, before Google drops it.
Kagi’s handling of the ticket is a good sign for a company that has been trimming its product line. The original bug is a reminder that even search companies get indexing defaults wrong.





Leave a Reply