Несколько вариантов, как сделать сайт с предзагрузкой, когда при переходе по разделам страница не обновляется:
- Использовать подход, как в твиттере. 1 Все возможные представления (профиль, новый твит, лента, поиск и т. д.) — на одной странице. 1 Затем с помощью JavaScript скрывать одни элементы и показывать другие. 1
- Использовать AJAX для подгрузки страниц и замещения их содержимого. 1 Совместив это с History API, можно получить полноценные переходы по сайту (с отображением в истории), но без обновления страницы. 1
- Применить предзагрузку ссылок. 2 Если разработчики считают, что пользователи далее перейдут на определённую страницу, а браузеру для неё нужны какие-то критические ресурсы, то можно использовать директиву prefetch. 2 Она указывает браузеру на ресурсы, которые необходимо предзагрузить ещё до перехода пользователей на страницу. 2
- Использовать предзагрузку страниц (пререндеринг). 2 Для этого нужно добавить директиву prerender внутрь атрибута rel в ссылке. 2 Происходит полный пререндеринг: создаётся невидимая версия целой страницы, на которую собираются перейти пользователи, в том числе применяется CSS и JS. 2 После клика страница мгновенно материализуется, заменяя старый контент. 2
Для реализации этих подходов рекомендуется обратиться к специалисту.