@awenn2015
Веб-программист самоучка

Как более оптимизированно подгружать посты через кнопку «показать еще»?

Я выбираю между двумя вариантами:

1) Грузить все посты сразу в php и класть в js переменную (первую пачку отрисовываем через php) остальные добавляем через js беря данные из переменной, логика пагинации на стороне js, минусы этого варианта в загрузке большого кол-ва данных в php при загрузке страницы, плюс в быстрой отрисовке новых постов
2) В php берем только первую страницу остальное грузим через get запросы, за пагинацию отвечает уже php, минусы этого варианта в долгих wp-ajax запросах, плюс в том что вроде как делаем "правильно" и по канону
  • Вопрос задан
  • 164 просмотра
Решения вопроса 3
Mike_Ro
@Mike_Ro Куратор тега WordPress
Python, JS, WordPress, SEO, Bots, Adversting
Второе.
за пагинацию отвечает уже php

Не обязательно. JS может содержать цифру последнего загруженного поста, на основе этого делать расчет.
минусы этого варианта в долгих wp-ajax запросах

Кэширование никто не отменял.
Ответ написан
Wispik
@Wispik
Первый вариант сразу отпадает, если постов, например, больше 100, или 1000. Это нагрузка на сервер, плюс сайт будет медленнее загружаться. Вообще в целом, грузить кучу контента сразу, который пользователь скорее всего не увидит, плохая затея
Второй вариант правильный. И что значит "минусы этого варианта в долгих wp-ajax запросах" не понятно.
Можно отдавать новые посты в json и на фронте из отрисовывать
Ответ написан
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
Второй вариант.
Для оптимизации скорости пагинации можете изучить тему "пагинация с курсором" (php cursor pagination)
У вас же нет проблем когда листаете ленту в ВК, всё упирается в скорость сети пользователя.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
OtshelnikFm
@OtshelnikFm Куратор тега WordPress
Обо мне расскажет yawncato.com
Если контент не часто обновляется (и у записей нет фильтров всяких) - то можно кешировать следующие страницы записей. Скидывать их в json файлы или просто html и уже статику получившуюся дергать через ajax. Это не будет трогать БД и работать почти мгновенно.
Но тут надо смотреть от ситуации конечно. Но этот вариант мало кто советует. Это идеально если в день 1-2 статьи добавляется. Просто по хуку сохранения, изменения записи инвалидировать этот кеш
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы