{"id":14954538,"url":"https://github.com/meteor/galaxy-seo-package","last_synced_at":"2026-03-04T09:02:07.723Z","repository":{"id":44894996,"uuid":"49029136","full_name":"meteor/galaxy-seo-package","owner":"meteor","description":"Wrapper around third-party Prerender.io package.","archived":false,"fork":false,"pushed_at":"2024-07-18T18:18:04.000Z","size":34,"stargazers_count":16,"open_issues_count":0,"forks_count":6,"subscribers_count":17,"default_branch":"master","last_synced_at":"2026-01-26T10:45:36.935Z","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/meteor.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-01-04T23:16:42.000Z","updated_at":"2025-10-06T09:00:09.000Z","dependencies_parsed_at":"2023-12-06T14:29:22.652Z","dependency_job_id":"fe8c2f7b-112f-472d-812e-fe2dae61c804","html_url":"https://github.com/meteor/galaxy-seo-package","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/meteor/galaxy-seo-package","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meteor%2Fgalaxy-seo-package","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meteor%2Fgalaxy-seo-package/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meteor%2Fgalaxy-seo-package/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meteor%2Fgalaxy-seo-package/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/meteor","download_url":"https://codeload.github.com/meteor/galaxy-seo-package/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meteor%2Fgalaxy-seo-package/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30076935,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T08:01:56.766Z","status":"ssl_error","status_checked_at":"2026-03-04T08:00:42.919Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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-09-24T13:04:07.963Z","updated_at":"2026-03-04T09:02:07.700Z","avatar_url":"https://github.com/meteor.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Galaxy SEO Support\n===\n\nMakes use of the built-in SEO support in Galaxy. If your app qualifies for SEO support, run:\n\n`meteor add mdg:seo`\n\nto turn on the built-in Prerender.io integration.  You may also use this package with non-Galaxy deployments if you configure it manually.\n\nThis package is a thin wrapper around the [`prerender-node`](https://www.npmjs.com/package/prerender-node) npm module, which understands the configuration format used by Meteor Cloud (Galaxy) to provide apps with a complimentary Prerender.io account.  If you're not deploying to Meteor Cloud (Galaxy), you may want to just use the npm module directly.\n\n## Manual configuration (non-Galaxy users)\n\nIn your settings.json file, include:\n\n```\n{\n  \"PrerenderIO\": {\n    # Required\n    \"token\": \"yourtoken\" # You need to provide anything here for local server support\n    # Optional\n    \"serviceUrl\": \"http://localhost:3033/\",\n    \"forwardHeaders\": true,\n    \"serverRequestOptions\": {},\n    \"allowList\": [\"^/(\\\\?.+)?$\", \"/dashboard\"],\n    \"blockList\": [\"^/search\"],\n  }\n}\n```\n\nThe `serviceURL` is optional and only used to test the Prerender server locally.\nLeave it out in your production configuration.\n\nSee [Prerender-node customization](https://www.npmjs.com/package/prerender-node#customization) for more details\nabout options.\n\n*NOTICE*: You may also provide the above settings using environment variables:\n* `PRERENDERIO_TOKEN`\n* `PRERENDERIO_SERVICE_URL=\"http://localhost:3033/\"`\n* `PRERENDERIO_FORWARD_HEADERS=\"true\"`\n* `PRERENDERIO_SERVER_REQUEST_OPTIONS=\"{}\"`\n* `PRERENDERIO_ALLOW_LIST=\"[]\"`\n* `PRERENDERIO_BLOCK_LIST=\"[]\"`\n\nThey precede the configuration from the settings file.\n\n## Testing and Verifying\nThere are two options to test whether Prerender is working or not.\n\n### Locally (recommended)\n\n1. Set the `serviceUrl` to `http://localhost:3033/`.\n2. Download the [open source Prerender server](https://prerender.io/documentation/test-it) to another directory\n3. Run the Prerender server with a custom port locally (because 3000 is taken by your Meteor app), with `$ PORT=3033 node server.js`\n4. Visit any URL of your application and append `?_escaped_fragment_=`, e.g. [http://localhost:3000/?_escaped_fragment_=](http://localhost:3000/?_escaped_fragment_=) (perhaps using curl instead of a browser)\n\nThis will show you the version Prerender generated and search engines will see.\nYou can view logs in the running prerender server which is quite helpful.\n\n\n### Using the Prerender service\n\n1. Set the `serviceUrl` to `http://service.prerender.io/`.\n2. Visit any URL of your application and append `?_escaped_fragment_=`, e.g. [http://localhost:3000/?_escaped_fragment_=](http://localhost:3000/?_escaped_fragment_=)\n3. See what is reported to Prerender at [https://prerender.io/][prerender-io],\n\nFor more options, take a look at the [prerender-node package][prerender-node].\n\n\n## Delaying the rendering\n\nSometimes the content will not show up immediately and all Prerender sees are loading spinners.\nThis happens because Prerender uses the HTML too early, while the subscriptions are still loading.\n\nSet `window.prerenderReady = false;` in the client side code. This will tell Prerender to wait.\nWhen your content is loaded, set it to `true` and Prerender will use that version.\nIt's also possible to never set it to `true`.\nThe request will then time out after about 20 seconds and Prerender will use whatever is on the screen.\n\n## Possible Errors\n\n```\nError: connect ECONNREFUSED\n    at errnoException (net.js:905:11)\n    at Object.afterConnect [as oncomplete] (net.js:896:19)\n```\nIf you get this error, you probably forgot to run your local Prerender server.\n\n## Contributions\n\nThanks to [@dferber90](https://github.com/dferber90) for the [dferber:prerender] package which this is based on.\nThanks to [@electricjesus](https://github.com/electricjesus) and [@dfischer][dfischer] for a [previous version](https://github.com/dfischer/meteor-prerenderio).\nThanks to [@arunoda](https://github.com/arunoda) for simplifying [prerender-node][prerender-node].\n\n[prerender-node]: https://github.com/prerender/prerender-node\n[prerender-io]: https://prerender.io/\n[dfischer]: https://github.com/dfischer\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeteor%2Fgalaxy-seo-package","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeteor%2Fgalaxy-seo-package","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeteor%2Fgalaxy-seo-package/lists"}