Хранятся в БД лайки к ответам в виде:
otvet_id | user_id
Дальше понятно юзер лайкает проверяем если есть соотношение - убираем лайк, если нет - ставим лайк.
Мыль 1: размер таблицы соответствий. Вот картинка с одного форума:
Всего в разделе 500 тыс. сообщений, пусть по 2 лайка в среднем к каждому - уже миллион строк соответствий. Это только один раздел, а разделов там много.
Мысль 2: Вот эта надпись "Вам нравится" т.е. мы уже проверили что лайк юзера тут стоит. Но одно дело дергать миллионную таблицу когда нажали на кнопку лайка, а второе просто при каждом отображении страницы зарегистрированному юзеру. БД не сойдёт с ума?
Мысль 3. И ведь не закешируешь страницу из-за этих лайков )) Ну либо запретить лайкать старые посты и закешировать?