Why Our Website Importers Never Hotlink Your Files
When an organization moves its website to a new platform, the old platform does not stay around forever. The subscription ends, the account closes and every file stored there disappears. That simple fact shapes one of the firmest rules in our engineering: our importers never hotlink.
Hotlinking means a page loads an image, font or file directly from someone else's server. It is the easiest way to make an imported page look complete, and it is a time bomb.
Why hotlinking looks fine and then fails
On the day of the import, a hotlinked page looks perfect. The images load, the fonts render and everything matches the old site. Nobody notices that the files still live on the old host.
Then, weeks or months later, the old account is closed. Every image goes blank at once. Fonts fall back to defaults. Downloadable documents return errors. The organization thinks the new platform broke their site, and in a sense it did, because it never really moved their files.
Hotlinking also leaks visitors' information to the old host and to third-party services, and it ties page speed to servers we do not control.
The rule
Every importer we build follows the same rule. Every asset it discovers is downloaded on our servers and stored in the customer's own media library. Every reference to that asset, in page content, stylesheets, scripts, settings, menus and product galleries, is rewritten to point at the stored copy.
After an import, the only addresses that should appear in the imported pages are the customer's own files, the customer's own pages and outbound links the customer deliberately wrote, such as a link to their social media profile.
The traps we have learned to look for
Assets hide in more places than you might expect. Some of the patterns we handle:
- Stylesheets that import other stylesheets. A theme's stylesheet may pull in another file, which pulls in a font service. We follow the whole chain and bring every piece home.
- Font services. Hosted font kits often load a script that injects a stylesheet that references font files on yet another domain. We fetch the stylesheet on the server, download every font file it uses and rewrite the references.
- Videos with several sources. A video element may list more than one format plus a poster image. All of them come with it.
- Images inside settings. Logos, background images and social icons often live in theme settings rather than page content. Those are rewritten too.
Fonts get the same treatment as images
We apply the same principle to our own sites. The fonts on this website are hosted on our own servers rather than loaded from a public font service. It keeps pages working if that service changes, avoids sending visitors' details to a third party and makes the fonts load as part of our own site. You can read more in why we self-host every font.
Proving it
"We downloaded everything" is a claim. We back it with a check. After an import, we search the rendered pages and the saved stylesheets for the old site's address and for known third-party asset hosts. The bar is zero remote references. A page that looks pixel-perfect because it is still borrowing the old host's files does not pass.
That check is part of the larger loop in how we rehearse a website migration, where each run is compared screen by screen and the importer is fixed until the result is clean.
When the source cannot provide something
Occasionally an asset cannot be fetched: it was already deleted on the old host, or it is generated by a script at the moment a visitor arrives. In those cases we record the gap and ask the owner for the file or the data, rather than leaving a broken reference or guessing. Product prices injected by scripts, for example, are better provided by the owner as a spreadsheet than scraped and hoped for.
Frequently asked questions
What is hotlinking?
Hotlinking is loading an image, font or file directly from another website's server instead of storing your own copy. If that server removes the file, your page breaks.
Will my images keep working after I cancel my old website host?
When you move to VoVo, your images and files are copied into your own media library, so closing the old account does not affect them.
How do you check that nothing is still loading from the old site?
After each import we search the pages and stylesheets for the old site's address and known third-party asset hosts. The goal is zero remote references.
Comments (0)
No comments yet. Be the first to share your thoughts!