{"id":18496575,"url":"https://github.com/nicejade/prerender-spa-server","last_synced_at":"2025-04-08T22:32:23.636Z","repository":{"id":81310875,"uuid":"543650570","full_name":"nicejade/prerender-spa-server","owner":"nicejade","description":"For serving your prerendered HTML to crawlers for SEO, through Prerender \u0026 Redis \u0026 Nginx.","archived":false,"fork":false,"pushed_at":"2023-11-21T14:06:04.000Z","size":19,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-23T19:14:00.827Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nicejade.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-09-30T14:51:13.000Z","updated_at":"2024-09-28T09:07:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"28da345c-a03f-4fb4-a079-0c0062e95d19","html_url":"https://github.com/nicejade/prerender-spa-server","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicejade%2Fprerender-spa-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicejade%2Fprerender-spa-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicejade%2Fprerender-spa-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicejade%2Fprerender-spa-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nicejade","download_url":"https://codeload.github.com/nicejade/prerender-spa-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247940780,"owners_count":21022022,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T13:30:00.115Z","updated_at":"2025-04-08T22:32:19.805Z","avatar_url":"https://github.com/nicejade.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003ePrerender SPA Server\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cstrong\u003ePrerender SPA Server\u003c/strong\u003e：For serving your prerendered HTML to crawlers for SEO, through Prerender \u0026 Redis \u0026 Nginx.\n\u003c/div\u003e\n\n## How to Use\n\nThe quickest way to run your own prerender server:\n\n### **Clone \u0026 Install dependencies**\n\n```bash\n# clone prerender-spa-server\ngit clone https://github.com/nicejade/prerender-spa-server.git\ncd prerender-spa-server\n\n# install dependencies\npnpm i\n# OR yarn / npm\n```\n\n### **Deploy Server**\n\n```bash\n# deploy server\nyarn deploy\n```\n\n### **Configure Nginx**\n\n```bash\nlocation / {\n  set $prerender 0;\n  if ($http_user_agent ~* \"Googlebot|googlebot|bingbot|baiduspider|twitterbot|facebookexternalhit|rogerbot|embedly|quora link preview|showyoubot|outbrain|pinterest|slackbot|vkShare|W3C_Validator\") {\n    set $prerender 1;\n  }\n  if ($args ~ \"_escaped_fragment_\") {\n    set $prerender 1;\n  }\n  if ($prerender = 1) {\n    set $prerender \"127.0.0.1:3000\";\n\t  rewrite .* /$scheme://$host$request_uri? break;\n    proxy_pass http://$prerender;\n  }\n}\n```\n\n### How Test It\n\n```bash\ncurl http://localhost:3000/render?url=https://www.example.com/\n```\n\n## How to dev\n\n```\ngit clone https://github.com/nicejade/prerender-spa-server.git\ncd prerender-spa-server\ncode ./\n```\n\n## Inspiration Source\n\n### [Prerender](https://nicelinks.site/post/62e60030bd6b821eb12244e2)\n\n\u003e 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.\n\n### [Redis](https://nicelinks.site/post/603e39560c8e4b046a182003)\n\n\u003e Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. Redis provides data structures …\n\n\"Redis Client Error Error: connect ECONNREFUSED 127.0.0.1:6379\"， If you encounter this problem on the server, see the article [redis-server --daemonize yes](https://memo.lovejade.cn/m/333).\n\n### [Nginx](https://nicelinks.site/post/6339a6aa35a9c117dacf2363)\n\n\u003e 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.\n\n### [Prerender In-Memory Cache plugin](https://github.com/prerender/prerender-memory-cache)\n\n\u003e In memory cache for use with Prerender server.\n\n## License\n\nThe MIT License ( [MIT](http://opensource.org/licenses/MIT) ) .\n\nCopyright (c) 2022-present, [nicejade](https://nicelinks.site/member/admin) .\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicejade%2Fprerender-spa-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnicejade%2Fprerender-spa-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicejade%2Fprerender-spa-server/lists"}