{"id":25876537,"url":"https://github.com/yaodingyd/cf-worker-spa-meta-ssr-template","last_synced_at":"2026-05-31T21:32:13.682Z","repository":{"id":279297961,"uuid":"937424834","full_name":"yaodingyd/CF-worker-SPA-meta-SSR-template","owner":"yaodingyd","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-02T02:11:35.000Z","size":29,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-02T03:20:27.625Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/yaodingyd.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-23T02:35:44.000Z","updated_at":"2025-03-02T02:11:38.000Z","dependencies_parsed_at":"2025-03-02T03:20:35.722Z","dependency_job_id":null,"html_url":"https://github.com/yaodingyd/CF-worker-SPA-meta-SSR-template","commit_stats":null,"previous_names":["yaodingyd/cf-worker-aqualink","yaodingyd/cf-worker-spa-meta-ssr-template"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yaodingyd/CF-worker-SPA-meta-SSR-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaodingyd%2FCF-worker-SPA-meta-SSR-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaodingyd%2FCF-worker-SPA-meta-SSR-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaodingyd%2FCF-worker-SPA-meta-SSR-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaodingyd%2FCF-worker-SPA-meta-SSR-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yaodingyd","download_url":"https://codeload.github.com/yaodingyd/CF-worker-SPA-meta-SSR-template/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaodingyd%2FCF-worker-SPA-meta-SSR-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33750474,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-31T02:00:06.040Z","response_time":95,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":"2025-03-02T10:30:08.310Z","updated_at":"2026-05-31T21:32:13.664Z","avatar_url":"https://github.com/yaodingyd.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CF worker SPA metadata edge rendering template\n\nIf you want to improve your single-page-application(SPA)'s SEO and have metadata dynamically rendered per page, you might not need to drastically change the application architecture so you can do full Server-Side-Render(SSR) or use Static-Site-Generation(SSG) for every page of your page. Either way will incur a large technical toll, making the application more difficult to develop or build. Instead, you could take advantage of Cloudflare worker and keep the SPA, only use edge rendering to dynamically change the metadata.\n\nThis repo is a template to mostly demonstrate how to achieve this. We only have one function inside worker to serve all static assets. It will try to update the metadata in `index.html` and then serve to client.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyaodingyd%2Fcf-worker-spa-meta-ssr-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyaodingyd%2Fcf-worker-spa-meta-ssr-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyaodingyd%2Fcf-worker-spa-meta-ssr-template/lists"}