In my experience, in the long term every site (or more general IT system) of some size gets killed by growth, technology changes, evolutive maintenance and most importantly: evolving user requirements and expectations.
Once that the "spaghetti" is too big, the only way out is to re-design from scratch. The art is to do this in a future proof way. I have experienced that I don't master that art , and have seen few archtiectures that really seem (with emphasis on "seem") future proof.
What I do know (at least I think I do) is that it usually pays to keep the user interface (the site) as lean and focussed as possible, and to hide as much of the code as possible in independent services feeding the site.
However, transferring an existing "legacy" situation to such architecture without wrecking the whole site in the process is quite a chalenge.