В поисках приколов на сайт, которые позволят увеличить его скорость, я как то наткнулся на AJAX - такая технология, когда сервер вам не страничку отдает, а только некоторую ее часть, которую уже ваш браузер вставляет вместо неактуальной части.

Понятно, что чем меньше байт передается, тем быстрее работает сайт. Ну и я решил переписать обработчики GET запросов с учетом АЯКС логики. По пути пришлось переписать половину серверного кода, но это было интересно.

Теперь сайт работает так: администратор (я) провоцирует некоторое изменение -> кэшируются списки с постами по всем категориям -> рендерятся все ajax странички -> минифицируются, сжимаются гзипом или бротли -> кладутся в серверный кэш.

Далее, когда юзер запрашивает что то, есть 2 варианта развития событий: он пришел с другого сайта (или обновил страницу) или он пришел с этого же сайта. Если он пришел с этого же сайта, то ему отдается ajax, соответствующий его GET запросу, а если с другого, то соответствующая страница рендерится с использованием закэшированных списков и отдается юзеру.

И, я не думал про это во время реализации нового функционала, но пофиксились блики в FireFox'e! Потому что страница теперь не обновляется при переходах, а меняется только main-content ее блок. 🤠

В процессе я немного поломал себе админку, надо пофиксить.