Three Sites Went Live Linking to a Different Site's Pages
Copying a previous build is how most small shops work, and it reintroduces the same error every time unless something checks for it automatically.
Evidence
Three portfolio sites were built by copying an existing sibling site, which is the normal and sensible way to start a new build. On each one the rename pass missed a folder, so templates still carried the source site's own page addresses.
The result was live buttons and headings pointing at pages that did not exist on the new site. All three shipped that way on the same day, in August 2026.
Every affected page returned a normal response code, because the pages themselves were fine. Only the links out of them were wrong.
Methodology
Found by reading the rendered pages rather than by checking status codes. An earlier review missed it completely, because the broken links were not on the homepage.
They were on deeper page types that only render in particular circumstances, including an error page and a listing layout used by one content shape. A reviewer clicking around a new site for five minutes would not reach any of them.
This is the single most useful thing on this page for anyone running a small shop, because copying a previous build is how almost everybody works.
You do not start a client site from nothing. You start from the last one, because that is sensible and fast. And every time you do it, you carry across everything you forget to change.
Why a normal check missed it
Two reasons, and both of them apply to any shop that works this way.
The first is that a page returning normally only tells you a route resolved. It says nothing about whether the page is correct, and the wrong links were sitting on pages that resolved perfectly.
The second is where the links were. Not on the homepage, which gets looked at. They were on deeper page types that only render in specific circumstances, including one that only appears on a page nobody deliberately visits.
So a reviewer could open the new site, click around for five minutes and see nothing wrong.
The fix is a script, not more care
The thing worth taking from this is not that somebody should have checked harder.
People under deadline do not check harder. A script that reads every link out of every template and tries them against a running copy of the site does the same job on the worst Friday of the year as on a quiet Tuesday, and it does it before anything is live.
That is the whole argument for a repeatable build. Not that the system is clever. That the checking is not a person remembering.