Сайт представляет собой систему клиент-сервер, в которой серверная (back-end) и клиентская (front-end) части написаны на разных языках программирования.
Навороченный front-end ты без JS не сделаешь - никак. Но делать back-end на JS, мягко говоря, неразумно. Для back-end намного эффективнее использовать другие языки, начиная с PHP (который создан специально для этих задач и является наиболее удобным инструментом для написания back-end).
Мода на Node.JS в back-end закончилась много лет назад, когда разработчики осознали, что идея использования одного языка на front и back себя не окупает: JS приносит намного больше проблем, чем решает, и при этом эффективен лишь для очень узкого круга задач back-end.