Prerender SPA Server
How to Use
The quickest way to run your own prerender server:
Clone & Install dependencies
# clone prerender-spa-server
git clone https://github.com/nicejade/prerender-spa-server.git
cd prerender-spa-server
# install dependencies
pnpm i
# OR yarn / npm
Deploy Server
# deploy server
yarn deploy
Configure Nginx
location / {
set $prerender 0;
if ($http_user_agent ~* "Googlebot|googlebot|bingbot|baiduspider|twitterbot|facebookexternalhit|rogerbot|embedly|quora link preview|showyoubot|outbrain|pinterest|slackbot|vkShare|W3C_Validator") {
set $prerender 1;
}
if ($args ~ "_escaped_fragment_") {
set $prerender 1;
}
if ($prerender = 1) {
set $prerender "127.0.0.1:3000";
rewrite .* /$scheme://$host$request_uri? break;
proxy_pass http://$prerender;
}
}
How Test It
curl http://localhost:3000/render?url=https://www.example.com/
How to dev
git clone https://github.com/nicejade/prerender-spa-server.git
cd prerender-spa-server
code ./
Inspiration Source
Prerender
Prerender is a node server that uses Headless Chrome to render HTML, screenshots, PDFs, and HAR files out of any web page. The Prerender server listens for an http request, takes the URL and loads it in Headless Chrome, waits for the page to finish loading by waiting for the network to be idle, and then returns your content.
Redis
Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. Redis provides data structures …
Nginx
nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server, originally written by Igor Sysoev. For a long time, it has been running on many heavily loaded Russian sites including Yandex, Mail.Ru, VK, and Rambler. According to Netcraft, nginx served or proxied 21.62% busiest sites in August 2022.
Prerender In-Memory Cache plugin
In memory cache for use with Prerender server.
License
The MIT License ( MIT ) .
Copyright (c) 2022-present, nicejade .