Я просто всегда обходил стороной вопрос вебсокитов, так как считал, что их назначение это держать открытым конект с клиентом. В вопросе с таким сайтом, это не актуально. Ну и на практике, мне не попадались задачи которые требуют такой связи. Это если ты делаешь приложение для совместного пользования, чат так какой то или гуглдок свой.
На мой взгляд вебсокеты нужны всем, даже сайтам по типу блога. Как только на сайте есть динамические данные (которые могут меняться) сразу появляется проблема их актуализации. С server-side рендером юзер не увидет новые данные пока вручную не обновит страницу. С spa дело уже лучше но с текущими технологиями но тут зоопарк подходов и решений. Многие делают запросы при маунте компонентов а это значит юзеру нужно переключаться по внутренним экранам сайта чтобы получить новые обновления данных. С новыми подходами вроде suspence ситуация еще больше усложняется и вообще непонятно почему такое смещение у сообщества в сторону получения данных (и кеширования) вместо реалтайм оповещений (популярность всяких fetch, axios и т.д даже у graphql загрузка данных и получение оповещений по данным это совсем разные подходы/запросы/техники)
Я вот вообще не вижу разницы между запросом за данными и реалтайм-оповещениями. Для меня загрузка данных это просто initial-реалтайм-оповещение которое будет включать в себя данные которые необходимы для отображение экрана сайта или его части.
И вместо того чтобы юзать всякие axios-ы или любые библиотеки для http я сделал всю коммуникацию с сервером через вебсокеты - не только получение оповещений но и начальная загрузка необходимых данных. И все стало проще. Никакого http, никакой возни со статусами ошибок и дилемм как передавать данные и какие моменты http юзать (POST vs PUT, path vs query vs headers vs body). Просто настроили единственный коннект по вебсокетам (которые автоматически переподключается при обрыве связи) и дальше просто получаем нужные обновления данных (ну и заодно отсылаем запросы на их изменения)