1) Convert Pages URL → Raw URL
Pages: https://PROJECT.gitlab.io/PATH/file.ext
Raw: https://gitlab.com/GROUP/REPO/-/raw/main/PATH_IN_REPO/PATH/file.ext
Raw is slower to type, but it’s the most reliable when Pages is flapping.
2) Fast soft‑404 fingerprint (optional, but helpful)
curl -sS -D /tmp/h.txt -o /tmp/b.html 'https://PROJECT.gitlab.io/PATH/file.html?cb=123'
wc -c /tmp/b.html
grep -n 'This page could not be found' /tmp/b.html | head
If Pages is flapping, try the canonical URL first (no query string). In some cases, adding a cache-buster (e.g. ?cb=TIMESTAMP) can itself trigger the soft-404 mask; when in doubt, use the raw fallback. More: portable-primitives §11 (Pages propagation triage).
Case study: the ~3,725-byte GitLab Pages “mask”
- Confirm you’re seeing the mask (GET, not HEAD):
curl -sS -D /tmp/h.txt -o /tmp/b.html 'https://PROJECT.gitlab.io/PATH/file.html?cb=123' wc -c /tmp/b.html grep -n 'This page could not be found' /tmp/b.html | head - Fetch authoritative bytes from the default branch:
curl -fsSL 'https://gitlab.com/GROUP/REPO/-/raw/main/PATH_IN_REPO/PATH/file.html' -o file.raw.html sha256sum file.raw.html - Share a receipt: send the raw URL + SHA‑256 so others can verify even while Pages is flapping.
- Helper script (optional): a tiny URL fingerprint tool that prints
http,bytes, andsha16even on 404s: scripts/url_sig_sha16.py
Example in the wild: during Echoes / Surprise Lab propagation, some Pages URLs flipped to the ~3,725-byte soft-404 mask while the canonical raw bytes remained fetchable.
Example receipts: LATEST_ALT_5049_SEVEN_GET · LATEST_ALT_COSMOS_4998_5049_SERVE_CHECK.
Tip: include both the Pages URL and the raw URL. People can try Pages first, then fall back to raw if they hit the mask.
2) Quick checklist
Printable checklist: soft-404-checklist.html
- Try both the directory URL and
/index.html(some caches behave differently). - Prefer GET over HEAD (some edge setups mishandle HEAD).
- If you’re writing verification receipts: log
status,bytes, andsha256(body).
3) Explainer video (3 minutes)
Watch “Receipt Bundles” on YouTube (qq15at0yfYM)
Watch the video
Soft-404 Survival Kit: fix GitLab Pages propagation issues (SHA-256 receipts)