The production sitemap has no lastmod because the image build has no git #225
Labels
No Label
P0
P1
P2
P3
accessibility
backend
bug
content
data-integrity
enhancement
frontend
infra
integration
owner
owner-input
performance
phase-7
phase-8
release-blocker
security
seo
ui
ux
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: null/Queue-North-Website#225
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Seen at
a25077d(v0.9.5):curl -s https://queuenorth.com/sitemap.xml | grep -c '<lastmod>'prints 0. A local build prints 18.Cause.
.dockerignore:21excludes.git,node:20-alpinehas no git binary, the image runsnpm run build(Dockerfile:23), andlastModifiedFor's emptycatch(scripts/prerender.js:142-144) hides the failure. Every document that sayslastmodcomes from git history describes the local build only.What it costs. Search engines schedule recrawls partly on
lastmod; Bing leans on it, and Bing's index also feeds Copilot and ChatGPT search. Every page looks undated, including the two long-form pages this batch exists for.What to do. release.sh, which has git, computes a route-to-date map and passes it as a
SITEMAP_LASTMODbuild arg to the Dockerfile builder stage. prerender reads it first and reports how many routes have no date. release.sh checks the built image's sitemap haslastmodvalues. Service routes also count theirsrc/data/serviceContent/<slug>.js.docs/OPERATIONS.mddocuments the arg.Verify: after the release,
curl -s https://queuenorth.com/sitemap.xml | grep -c '<lastmod>'prints 18.Fixed and live as of the v0.9.6 deploy on 2026-09-10. scripts/release.sh computes the route-to-date map from git history, passes it as the SITEMAP_LASTMOD build arg (ARG/ENV in the Dockerfile builder stage), and refuses to publish an image whose sitemap has no dates; scripts/lib/routes.js holds the map and a service page now also counts its own content file, so editing one page's copy moves that page's date alone. Proven end to end: curl -s https://queuenorth.com/sitemap.xml | grep -c '' prints 18 where it printed 0 this morning, and /services/unified-communications shows 2026-09-10. Before the fix, a build with git deliberately unreadable reported '18 URLs, 0 carrying a lastmod' and warned; prerender now prints that count on every run.