Direct answer: The 36 article pages from study 45 were rechecked about 40 hours later (2026-11-03 08:41 → 2026-11-05 00:40), and all 41 URLs still return 200. 31 of 36 pages have an identical link structure; only the five E14 pages each lose one link and one nofollow. Totals move from 3,583 to 3,578 links and 173 to 168 nofollow; internal, external, external URLs, external hosts, target=_blank and empty anchor text do not change.
Another 16 pages changed response size (−259 to +86 bytes) without any structural effect. The five JS shells remain ~1.4 KB 200 responses.
Method: same sample, same parser, delayed recheck
The plan was a 12-hour recheck; the global write lock was held by another track for a long time, so the actual recheck happened about 40 hours later. The article reports the real timing and does not call it a 12/24-hour recheck.
The same 41 URLs from study 45 were fetched serially on 2026-11-05 between 00:40 and 00:41, at least 0.8 s apart, with the same user agent. Non-200 responses were retried three times before being recorded as a change. Extraction still uses scripts/article_link_probe.py; comparison uses scripts/article_link_recheck.py.
| Item | Baseline | Recheck |
|---|---|---|
| Fetched | 2026-11-03 08:40–08:41 | 2026-11-05 00:40–00:41 |
| Interval | — | About 40 hours |
| URLs / usable pages | 41 / 36 | 41 / 36 |
| JS shells | 5 | 5 (still 200) |
Totals: five fewer links, all from nofollow
| Measure | Baseline | Recheck | Change |
|---|---|---|---|
| Links | 3,583 | 3,578 | −5 |
| Internal | 3,000 | 3,000 | 0 |
| External | 270 | 270 | 0 |
| Unique external URLs (per-page sum) | 174 | 174 | 0 |
| External hosts (per-page sum) | 113 | 113 | 0 |
rel with nofollow | 173 | 168 | −5 |
target="_blank" | 295 | 295 | 0 |
| No visible text | 380 | 380 | 0 |
The per-page sums are 174 external URLs and 113 hosts; after cross-page dedupe they remain study 45's 63 URLs and 15 hosts. No external target appeared or disappeared.
Changes are limited to the five E14 pages
| Site / page | Links | nofollow | Body |
|---|---|---|---|
| E14-1 | −1 | −1 | −16 B |
| E14-2 | −1 | −1 | −17 B |
| E14-3 | −1 | −1 | −16 B |
| E14-4 | −1 | −1 | −16 B |
| E14-5 | −1 | −1 | −16 B |
| Total | −5 | −5 | — |
All five pages lose one link and one nofollow together, with a 16–17 B size drop, matching a template edit that removed one nofollow link. The article does not infer why. The other 31 pages keep identical link counts.
Sixteen pages changed size, none changed structure
| Size change | Pages | Note |
|---|---|---|
| −259 to −100 B | 2 | Two E23 pages |
| −99 to −1 B | 8 | Includes five E14 pages |
| 0 B | 20 | Identical |
| +1 to +86 B | 6 | E03, E22, E23, E26 |
Size changes can come from timestamps, counters, random strings or minor content edits. The study did not diff pages individually; it only confirms that link counts did not change. Recording size and structure separately avoids treating a dynamic string as a redesign.
What this means for acceptance
- Template structure is stable. 31 of 36 pages keep the same structure after 40 hours, so rechecks can focus on the few changed pages.
- Trace changes to the template. All five E14 pages lose one link and one nofollow together, pointing to a template edit rather than an article edit.
- Size change is not structure change. Sixteen pages differ in bytes while links, external targets and empty anchors stay the same.
- Label the interval honestly. This is about 40 hours, not 12 or 24, and cannot be mixed with on-time rechecks.
- Keep shells separate. The five JS shells remain ~1.4 KB 200 responses; time did not turn them into content pages.
Limits
- About 40 hours: delayed by the lock, so it does not represent change speed at 12 or 24 hours.
- Single recheck: two points in time only; no cause or trend is inferred.
- Page level: navigation, footer and recommendation modules are included; body links are not separated.
- No byte diff: only size is recorded, not the specific change.
- 10 sites, 36 pages: a pilot, no industry claim.
Data and reproduction
Anonymised data: equipment-article-links-recheck-2026.csv (36 rows × 32 columns: status, bytes, baseline/recheck/delta for eight link measures, structure and size change flags). The repository keeps docs/research/2026-11-article-links-recheck.csv. The baseline remains study 45's docs/research/2026-11-article-links.csv.
Parser: scripts/article_link_probe.py (10 tests); comparison: scripts/article_link_recheck.py (5 tests). Run:
python -m unittest scripts.test_article_link_probe scripts.test_article_link_recheck
Related: the article link structure pilot (study 45 baseline), the article heading outline pilot, and the unknown path and soft 404 pilot., and the page text share pilot
Sources and definitions
- Sample: the 41 article URLs from study 45 (10 sites; 36 usable + 5 JS shells).
- Baseline: 2026-11-03 08:40–08:41; recheck: 2026-11-05 00:40–00:41, serial, ≥0.8 s apart.
- Failure handling: non-200 retried three times before recording; all 41 returned 200.
- Comparison: eight link counts and status compared per page; size change recorded separately.