1. Common Lisp is a fairly big specification for a lisp
2. People doing webdev in lisp have solutions that work "well enough" for them.
3. It's not obvious how to compile a lot of commonly used CL constructs into efficient javascript. Discarded multiple values, for example, are extremely efficient on bare-metal implementations, but will have measurable overhead when not inlined in any javascript implementation.