1) С чего начать стоит посмотреть сколько загружается с теми же данными но при пустом контенте. Тоесть проверить оптимальность бд. Explain и.т.д. Но если проблема всеже в виде
2) Если ты используеш что-то типо бутстрапа. Имеет смысл раделить его. Поместить сетку css на верх, а подробные стили в низ страницы. Так же имеет смысл размещать js в низу страницы.
3) Настроить на отдачи контента gzip
Чтобы уменьшить размер страниц, в первую очередь воспользуйтесь сжатием данных в протоколе HTTP. Это уменьшает размер текстовых ресурсов, включающих элементы HTML, CSS и JavaScript, на 50% и более. Для сжатия данных протокола HTTP используются технологии zip, gzip и другие.
4) Кеширование Хорошо, redis и на уровне http заголовков.
https://habrahabr.ru/post/204464/
5) Минифицировать js и css
6) В некоторых случаях хорошо хранить стили на посторонних ресурсах(не на своем сайте) гугл и прочее. Но это вариативно, нужно измерять.
7) Картинки(галерея) имеет смыл подгружать ajax, но на сео это может отразится плохо. Ключевики title, alt могут потерятся.