Many Bangladeshi corporate sites offer a language toggle that stores the choice in a cookie and serves both languages from the same web address. It looks correct in a developer’s browser and quietly fails everywhere else.
The reason is caching. A full-page cache stores one copy of each address. If the language lives in a cookie, the cache cannot see it, so whichever language happens to be generated first is served to every later visitor. The toggle appears to do nothing, pages arrive in the wrong language, and a Bengali page and an English page can be mixed inside the same session.
Search engines see the same problem
A search engine indexing one address can only record one language version. If both languages share a URL, the Bengali site effectively does not exist in search results, no matter how well it is written. There is no hreflang relationship to declare, because there is no second address to point at.
The durable fix is structural: give each language its own path, publish hreflang tags in both directions, list both trees in the sitemap and redirect the old query-string addresses permanently. Caching then works in your favour instead of against you, and the Bengali content becomes indexable content rather than a hidden layer.
