That's because the designers of most web pages want the features they provide. When you say "optional" you don't actually mean optional, you mean removed. Such a thing already exists, it's called Gopher[1].
Most websites today don't even gracefully degrade. One of the trendy blog/article sites that gets posted here regularly (it might be Medium) is just a column of text with lots of whitespace, but the text is loaded via AJAX, so without JS, you can't even read it.
HA! That would actually be lovely. Something easily-discovered, like a "isactualhypertextnotaturingtarpit" attribute for the <meta> tag (OK, maybe something less verbose) would probably solve half the problem.
[1]https://en.wikipedia.org/wiki/Gopher_(protocol)