по поводу pagespeed:
ssr или ssg не особо важно. что сильно важно:
1. отсутствие лишних данных. Например, страница постов, на ней показываются заголовок, автор, дата. Мы в api запрашиваем посты, т.е. в asyncData у нас чтото вроде:
asyncData({$axios}) {
const posts = (await $axios.get('/api/v1/posts')).data
return {posts}
}
НО! нам не нужны сами посты, нужны только заголовок, автор, дата - поэтому надо смапить эти данные, т.е.
return {posts: posts.map(post => ({title: post.title}))}
так себе пример, но идея должна быть понятна
2. использовать lazyhydration
3. ну и само собой простые рекомендации, вроде lazyload изображений
4. если есть возможность (для сео блоки не важные) lazyload компонентов