By John Gruber
WorkOS Radar:
Protect your app against AI bots, free-tier abuse, and brute-force attacks.
Kyle Wiggers, writing at TechCrunch:
Google says it has begun requiring users to turn on JavaScript, the widely used programming language to make web pages interactive, in order to use Google Search. In an email to TechCrunch, a company spokesperson claimed that the change is intended to “better protect” Google Search against malicious activity, such as bots and spam, and to improve the overall Google Search experience for users. The spokesperson noted that, without JavaScript, many Google Search features won’t work properly and that the quality of search results tends to be degraded.
The Google spokesperson told TechCrunch that, on average, “fewer than .1%” of searches on Google are done by people who disable JavaScript. That’s no small number at Google scale. Google processes around 8.5 billion searches per day, so one can assume that millions of people performing searches through Google aren’t using JavaScript.
One of Google’s motivations here may be inhibiting third-party tools that give insights into Google Search trends and traffic. According to a post on Search Engine Roundtable on Friday, a number of “rank-checking” tools — tools that indicate how websites are performing in search engines — began experiencing issues with Google Search around the time Google’s JavaScript requirement came into force.
I long ago stopped being a fan (or regular user) of Google Search, but the SEO industry is worse (to keep the Obi-Wan Kenobi quote references going from my headline, you’ll never find a more wretched hive of scum and villainy than “SEO experts”), so I’m amenable to an argument from Google that this is a justifiable step in their never-ending war with SEO scammers seeking to game search results in their favor.
But the bottom line is that with this change, Google Search is more of an app than it is a website. A website is a server where you can make requests over the HTTP protocol and get results in HTML format. A server that communicates with clients via executable JavaScript is not a website. Whether it’s a justifiable decision or not, I don’t buy for a second that it’s a necessary decision on Google’s part. Thus I find this decision sad, but given the course Google has been on for the last 15 years or so, I’m also unsurprised. Old original Google was a company of and for the open web. Post 2010-or-so Google is a company that sees the web as a de facto proprietary platform that it owns and controls. Those who experience the web through Google Chrome and Google Search are on that proprietary not-closed-per-se-but-not-really-open web.
Requiring JavaScript for Google Search is not about the fact that 99.9 percent of humans surfing the web have JavaScript enabled in their browsers. It’s about taking advantage of that fact to tightly control client access to Google Search results. But the nature of the true open web is that the server sticks to the specs for the HTTP protocol and the HTML content format, and clients are free to interpret that as they see fit. Original, novel, clever ways to do things with website output is what made the web so thrilling, fun, useful, and amazing. This JavaScript mandate is Google’s attempt at asserting that it will only serve search results to exactly the client software that it sees fit to serve. That’s Google’s right. But it’s sad.
Here’s a good thread on Hacker News discussing the change, with some interesting commentary on the state of the no-JavaScript web. Also worth pointing out that Kagi, the best search engine in the world, works fine without JavaScript.
I’ll end with my longstanding hot take, which, as the years go on, seems more and more obviously true and no longer a hot take at all: The web would be better off if browsers had never added support for scripting. The web would be much faster; much better for its original purpose of delivering content to consume, not software to interact with; and much more secure and private. More control would remain in the hands of client software — and thus in the hands of users — than server-side.
★ Saturday, 18 January 2025