What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Shahrukh Khan’s September 29, 2026 case study describes a multilingual Quran, hadith, and duas site built as static HTML with Next.js 15 and next-intl. Its Quran section alone works out to 37,416 verse routes—6,236 ayat across six locales—while the author says the wider site emits just under 40,000 HTML files. The reported setup avoids a database call at request time for those pages, but its build and memory figures are observations from one project, not independently reproduced benchmarks.
What the 37,000-page figure counts
Khan lists 6,236 ayat in the Quran corpus used for route generation and six locales: English, Indonesian, Arabic, Urdu, Turkish, and French. Multiplying those figures gives 37,416 Quran verse routes. That subtotal explains the rounded “37,000 pages” in the project title; it is not the total for the whole site.
As an Amazon Associate I earn from qualifying purchases.
The author says the site’s wider output is just under 40,000 emitted HTML files after adding hadith, duas, the 99 Names, prayer-time city pages, and learning pages. Khan also reports a cold build of about 90 seconds on the described setup. Neither figure is an independently verified count or a comparative build benchmark. Khan’s project write-up is the source for these project-specific numbers.
How the Quran routes are generated
The article describes an App Router pattern at /[locale]/quran/[surahSlug]/[verse]. A build-time parameter generator walks the locales, surahs, and each surah’s ayat count, returning the route parameters for the pages to prerender. Khan says the surah data comes from local JSON derived from a Quran.com Uthmani source, avoiding a network request during the build.
#1 Best Overall
In the reported configuration, the route sets dynamic = 'force-static' and dynamicParams = false. In practical terms, the build is instructed to render these pages statically, and paths not included in the generated parameter list are intended to return 404 rather than be generated on demand. Next.js’s Dynamic Segments documentation explains how dynamic route segments can be prerendered at build time.
Why the author split the sitemap
Khan says the initial app/sitemap.ts implementation attempted to assemble all roughly 37,000 Quran URLs in one function and ran out of memory during route compilation on the project’s VPS. The replacement described in the post uses a sitemap index and six locale-specific sitemap route handlers, each marked force-static.
Rank #2
The author reports an out-of-memory failure at about 1.6 GB and roughly 600 MB of memory after switching to the sharded approach. These are anecdotal observations from this setup, not proof that sitemap sharding or Next.js generally produces the same reduction elsewhere. Khan also says Google fetched the locale sitemaps within 24 hours; the post does not include an independent crawl record.
What static prerendering changes—and what it does not
For content with known routes and data available during a build, prerendering can put ready-to-serve HTML on disk instead of requiring a request-time database lookup for every page. That fits the project’s stated aim of keeping a runtime database call off the hot path. Next.js 15’s release article discusses static-generation performance improvements and experimental controls, while warning that advanced controls can increase resource use and out-of-memory risk. Those controls are not a universal shortcut for large builds. The Next.js 15 release post provides the framework context.
Rank #3
Static output also shifts work rather than eliminating it: the site must build and publish updated files when its content or configuration changes. The case study gives no independently published figures for search ranking, traffic, response performance, or operating cost, so none can be inferred from its route count or use of a CDN.
How the author describes deployment
The reported deployment serves the static output directory from a VPS with nginx, with Cloudflare in front in Full mode. Khan says the edge layer handles public-facing TLS and caching, and describes using a self-signed origin certificate. The post also gives an nginx example with long-lived immutable caching for hashed /_next/static/ assets; that is a sample configuration, not a policy that should be copied without checking how a particular deployment versions and serves its assets.
Rank #4
This is the author’s configuration description, not a security review or a general TLS recommendation. Certificate validation and proxy settings should be selected against current provider documentation and the deployment’s security requirements. The article’s statement that its Full-mode origin connection did not validate the origin certificate chain should be treated as a description of that reported setup, not current universal guidance.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →What the case study establishes
Khan summarizes the architecture this way: “The whole build ships as HTML files, the CDN does the hard work, and you spend zero time maintaining a runtime.” It captures the design goal, but not a guarantee that static sites require no maintenance: content updates, builds, publishing, and infrastructure still need attention. The case study is a useful implementation example for a large, routeable content corpus, not a controlled comparison with request-time rendering or other sitemap strategies.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

