Как оптимизировать фукцию next.js?
Вообще есть такая проблемка в Next, что нет оптимального способа зафетчить что-то один раз, например глобальные настройки, и потом использовать это в приложении. Наиболее близким вариантом решения было-бы использовать getStaticProps в _app, но по некоторым причинам это на данный момент не возможно.

Один из разработчиков Next предлагает следующие решения:


I want to fetch data once, and only once, until the next build, globally for my entire application. Solution
I want to share a layout between pages, while persisting React state to allow nested layouts. Solution
Finally, of course, you can create a shared function fetching your data and use it inside getStaticProps for every page


Как по мне, именно для вашей задачи стоило-бы использовать этот вариант
Вообще для этого Custom App компонент https://nextjs.org/docs/advanced-features/custom-app

Только он getStaticProps не умеет. Если хочется через getStaticProps, то можете написать утиль с кэшированием.