What the Wayback Machine Can and Cannot Recover: Images, CSS, Fonts, PDFs, Videos, Forms and Menus

What a Wayback Machine snapshot really contains, asset by asset: CSS, fonts, images, PDFs, videos, forms, menus, meta tags, and what must come from the owner.
A Clear Review Before Work Begins

Start with the archive URL and the sources you still have. We review the recoverable scope before the restoration work begins.

Start Your Website Restoration

Paste your domain or Wayback Machine archive URL, choose the restoration type, and start with the service that fits your website.

You can find archived pages at archive.org/web.

Table of Contents

The Wayback Machine saves what a browser received from a public page on a given date: the HTML, and often the stylesheets, images, scripts and documents it linked to. It does not save the server behind the page. Text, layout, images and PDFs are usually recoverable, at least in part. Form processors, logins, carts, private databases, menu settings and licensed fonts usually are not, and what looks recovered on screen is often the visible shell of something that no longer works.

This guide walks through each asset type in turn and explains what the archive can supply, what has to come from the owner, and how to tell the difference. For the checks that follow a rebuild, see After Website Restoration: The SEO and QA Checklist. For product catalogs, checkout and themes, see Rebuilding an Online Store from the Wayback Machine.

Four labels that keep a restoration honest

Every asset in a rebuild ends up in one of four states: recovered, corrected, recreated or unresolved. Label each one, because a page can look identical to the capture while most of what makes it look that way was written last week.

  • Recovered: the original file is available and its role on the page is verified.
  • Corrected reference: the file survives, but a path or loading reference needed repair.
  • Recreated: the asset was written or supplied new, from an approved visual reference or by the owner.
  • Unresolved: no usable resource or adequate reference exists.

Keep these labels in a simple register with the original URL, the capture date used, the source of any replacement and the owner’s decision. It stops a replacement photo or a rewritten paragraph from being described later as recovered original material. Whether the rebuild is a static package from our HTML website restoration or an editable site from WordPress restoration, the register travels with the project.

CSS and fonts: the page looks wrong, not missing

When archived text is right but the appearance is wrong, a stylesheet, a font or a file the stylesheet depends on did not load. Check what the browser actually requests before writing new CSS, because recreating the design immediately can hide a recoverable original file and introduce differences that were never necessary.

Compare one representative page with a dated capture at the same viewport width, then open the browser’s network panel and inspect each linked stylesheet: the requested address, whether it loaded, and what the response contains. A file named style.css can return an error page. Look inside the stylesheets that did load for imports, background images, icons and font declarations, because repairing the first request often exposes the next missing dependency.

Fonts are the most common gap. If /assets/css/site.css asks for ../fonts/body.woff2, the request that matters is /assets/fonts/body.woff2. When the archive saved the stylesheet but not the font, the stylesheet loads while the text renders in a fallback. Compare the font request, the rendered font and the capture before touching widths or spacing, or a layout workaround will break when the right font is restored. Preserve stylesheet order and media conditions, since the cascade depends on them, and note library versions: swapping an old icon library for its newest release changes class names and is a compatibility change, not recovery.

A quick diagnostic routine:

  • Look for failed stylesheet and font requests in the network panel.
  • Check stylesheet order in the head; a missing early file changes how later rules apply.
  • Find styles loaded from other domains, such as font services or CDNs, which may have disappeared.
  • Search for inline style blocks in the HTML that override the main stylesheet.
  • Try another capture date; the stylesheet may exist in a different snapshot.

A free web font can usually be reloaded from its current source or self-hosted. A commercial font needs a license for web use before it is restored; archive availability does not settle rights. Where it cannot be used, pick an alternative with similar proportions and test headings and body text. Where no stylesheet survives, recreate from the captures in one commented file, layout and typography first, then colors, then details, and validate on several pages at narrow, intermediate and wide widths. A matching screenshot proves one state at one width, not a restored responsive design.

Need this done for you?

Wayback Restore rebuilds lost websites from Wayback Machine snapshots: HTML from $29, WordPress $79, Elementor $149, WooCommerce from $249. Free archive check before you pay.

Check what can be restored (free)  ·  Request a free archive review

Images and WordPress media associations

An image problem is one of three things: the file is missing, the page references the wrong path, or WordPress has lost the media record and its associations. A folder of recovered files fixes only the first. An image is restored when the intended page displays the correct file at the right size and the media relationships work.

Open the affected page and record the requested image URL, the page URL and the role: inline, gallery or featured. Then check the Media Library. If the record exists but the file is unavailable, investigate the exact referenced file and its size variants. If the file exists but the page references another path, fix the reference. If the image displays but the record is absent, attachment relationships still need work. If the inline image works but the featured image is wrong, inspect the featured assignment separately. None of these can be diagnosed from a broken-image icon.

WordPress manages uploads as attachment records with an ID, source URL, alt text, caption and an associated post. Those fields are not the binary image, and the associated post is not a list of everywhere the image is used. An archived page may reveal an image URL or an old attachment ID without supplying the record, and re-uploading creates a new ID, so do not promise that historical IDs will come back from a public snapshot.

Build an image-to-content map before importing: original reference and page, recovered file and dimensions, intended role, current attachment record, and acceptance result per page and size. Match by content, not filename similarity. Smaller sizes can be regenerated from a usable original, but a missing high-resolution original cannot be recreated from a thumbnail. Reconnect one representative page in a review copy first, assign the featured image explicitly, and avoid blind sitewide text replacement, because themes, builders and plugins store media references differently. Check more than one width, add role-appropriate alt text, and record “file obtained”, “attachment created” and “page verified” separately.

PDFs and downloads

A PDF link in a captured page does not prove the document was saved. Recover the actual file, verify it is the intended document and edition, and review its contents before republishing, because a download labeled “current brochure” can point at prices and policies that are years out of date.

Record the original download address, the visible link label and the referring page together; brochure.pdf alone rarely identifies the right edition. Search the exact address in the archive and check the date you actually reach, and do not assign the parent page’s date to a file because the link was present there.

Verify the file, not its extension. A download ending in .pdf can contain an archive error saved under that name, and very small files are often errors. Open every page, confirm text and images render, and compare the cover, title, page count and ending with any authorized copy. A checksum shows two copies are identical; it does not show they were complete. Keep an untouched copy as the provenance reference.

Then resolve the edition question. Old prices, expired offers and superseded policies need an owner decision: historical record, current download or neither. If two owner-held copies differ, establish which edition the link promised and which the business now approves. A missing original cannot be recreated from its link label; a new brochure is new work and should be dated as such. Files that were never captured often turn up in email attachments, shared drives, printed copies or with partners. If nothing turns up, replace the link with a current version or remove it. Keep the original filename where approved so old bookmarks work, add a note beside any historical document, and record each file as recovered, replaced or retired.

Videos and embedded media

A video in an archived page is one of three things: a self-hosted file, an external player embed, or only a poster image. Identify which before promising playback. A play button or a thumbnail is not evidence that the video itself was captured.

Inspect the page for a video source, an iframe address or player configuration. In HTML, poster=”preview.jpg” and src=”intro.mp4″ are two resources; recovering the preview does not supply the MP4. For self-hosted files, search the archive for the exact file address, because large media is often missing or truncated. For platform embeds, the archive saved the player code, not the video. If a media request returns an error or placeholder, record that rather than labeling the video recovered.

Owner-controlled sources matter most here. Ask the owner, the videographer or the agency for original files, exports and caption files. A video still present in the owner’s own platform account can be re-embedded through that provider’s supported process; that does not extend to downloading someone else’s video or bypassing a private video’s access controls. Uploaders can turn embedding off and players can block playback inside a page even when the video plays on the provider’s site, so test inside the actual enclosing page. If no source exists, remove the empty player and replace it with a written summary, still images or a new short video, with the gap noted.

Test playback, not a screenshot, including sound, seeking and the mobile layout. Document each reference as recovered file, current authorized embed, approved replacement, thumbnail only, or unresolved.

Forms and integrations

An archived form preserves its fields and button, not the system that processed submissions. Making it work again means identifying where submissions should go now, configuring a service the owner controls, and verifying the result end to end. The archive contains no historical enquiries and proves nothing about email delivery.

Trace the action behind the interface: the endpoint the form posts to, any script attached to the button, and the intended outcome. Recovering the markup is not recovering the backend, and data should never be submitted to an old endpoint because its address appears in the archive. An API key or token visible in recovered source is a security problem, not a configuration value; the owner should rotate it through the provider’s process.

A practical rebuild sequence:

  • List every form from the captures and the fields each showed, including required markers and dropdown options.
  • Decide where each submission goes today: an inbox the owner monitors, a CRM, a booking system or a mailing list.
  • Choose a form plugin or hosted form service and connect it to that destination.
  • Add spam protection and consent text that matches current requirements.
  • Test with agreed test data and confirm the message reaches the right person or system.

Do not copy hidden fields or tokens from the archived code, response-time promises the business no longer makes, privacy wording that names companies no longer involved, or email addresses the owner no longer controls. Treat each stage as separate evidence: field validation, the browser’s success response, the processor’s recorded submission, and delivery to the intended channel. A success animation proves only the first two.

The same applies to chat widgets, booking calendars, newsletter pop-ups, maps, payment buttons and review badges, each of which depended on an outside account. Where one is gone, set up a current equivalent under the owner’s own login rather than embedding code copied from the capture. Test live submissions only with agreed authority and clearly identified test data, and hand over a list of every connected service, its purpose and its account owner.

Menus and navigation

Archived pages show what visitors saw in the header and footer: labels, destinations and nesting. They do not contain the WordPress menu database or theme settings, so a menu is rebuilt from a navigation inventory in whatever system the new site actually uses, then tested as a visitor.

Record the main navigation, footer links and any section menus from the homepage and representative inner pages, opening dropdowns where archived interaction works rather than assuming every top-level label was a link. Keep the original destination and capture date beside each label, and do not silently combine two captures into a supposedly exact version. If no capture demonstrates the mobile menu, mark it unknown and have the owner approve a responsive interpretation.

Menu hierarchy is not page hierarchy. A “Services” item may expand to several links without a Services page existing; do not create an empty page or change the children’s paths to reproduce the indentation. A captured link proves a page was referenced, not that its contents survive. For a missing destination, reconstruct it from sufficient sources, use an owner-approved alternative, or leave it out of the published menu until it is ready. Do not route lost links to the homepage, and confirm external destinations still point at the intended organization.

Rebuild in the interface the theme supports: Appearance > Menus for classic and hybrid themes, the Navigation block for block themes, or the builder’s own header component, and assign it to the right location. Then test logged out on desktop and a narrow viewport: labels, order, nesting, keyboard focus, touch opening, and every link’s final address, which should never be a staging or replay URL.

SEO titles and meta descriptions

Historical titles and descriptions come from the title element and the meta description in the captured HTML, or from an owner-held SEO export. A screenshot of the page heading is not the meta description, and an old search snippet may not match what the site actually supplied, because search engines generate titles and snippets from several sources.

For each page, keep the original address, the dated source and the raw recovered values separate from any proposed current value. The visible heading and the HTML title often differ, and social sharing tags may hold different text again; recover each from evidence rather than copying one into the other. If no trustworthy description survives, mark it unavailable and propose a new one for approval without calling it recovered.

Review historical claims before reusing them: an old office address or a “24-hour delivery” promise is not safe to republish because it appeared in a capture. Preserve each page’s established search role rather than reassigning a service page to another service’s primary term because a new title sounds attractive. Small, safe improvements include replacing a default like “Home | Welcome” with the main service and business name, rewriting a description that promises an ended offer, adding the product type to a product title, making every title and description unique, and settling one way of appending the brand. On a WordPress rebuild these values go into the SEO plugin’s per-page fields, not the visible heading. After saving, view the logged-out source at the canonical address and confirm what is actually emitted, checking for duplicate tags; if there are duplicates, fix the responsible mechanism rather than resetting the plugin.

Content ownership and reuse rights

Controlling the domain and finding a capture do not establish permission to republish the content. Before reuse, confirm who can authorize the restoration and who holds rights to the individual materials, and keep unresolved items out of the publication package. This is an operational checklist, not legal advice; refer disputed or unclear cases to a qualified adviser.

An expired domain may carry archived pages from a previous business. Registering it tells a restoration team which address you can manage; it does not transfer that business’s articles, photographs or branding. A website is also not one permission decision: text, photographs, brochures, video, theme and fonts may have different creators and conditions, and the photographer is generally the initial copyright owner of a photograph. Locate the relevant agreement or license for commissioned and stock material rather than treating an old footer notice as evidence of unlimited reuse. The Internet Archive does not guarantee the copyright status of material in its collections; finding a capture is source discovery, not rights clearance.

A simple approval list:

  • The requester’s relationship to the original website is confirmed.
  • Text written by the owner or their staff is marked approved for reuse.
  • Photos and graphics have a known source and permission.
  • Third-party material, such as quotes or logos, is reviewed separately.
  • Outdated facts, prices and contact details are updated before publishing.

Where evidence is incomplete, mark the asset as awaiting clarification and either obtain permission, use an approved replacement or exclude it.

Which WordPress editor should the rebuild use?

Choose the editor by testing what the owner needs to change after delivery, not by matching the old site’s builder. The capture is a design reference; it does not dictate the implementation, and it says nothing about how maintainable the result will be.

Write the maintenance requirement in the owner’s words: edit a service paragraph, replace a picture, add an article, change the address everywhere. Editing words inside a prepared layout, moving columns and changing a shared header are different capabilities. An HTML-based conversion, such as our Simple WordPress package, preserves recoverable presentation but needs HTML and CSS knowledge to edit layouts. The block editor suits a deliberately rebuilt block-based site but does not make imported historical HTML editable as native blocks. A visual builder, as in our Elementor restoration, recreates each archived layout as editable sections, which suits owners who build landing pages, at the cost of a heavier page and sometimes extra licenses.

Run a short owner trial on staging before committing: edit a heading, replace an image, update a shared detail, add the kind of content the business needs, then preview, publish and roll back. Whatever the choice, preserve historical URLs independently of it and note the decision in the handover.

Frequently asked questions

Can the original form submissions be recovered?

No. Submitted messages went to a server or service and were never part of the public page, so the archive does not contain them.

Can a screenshot stand in for a missing PDF?

It documents what was visible, but it is not the multipage document and should not be presented as supplying pages or searchable text it does not show.

Does copying files into the uploads folder restore the Media Library?

No. Files and attachment records are separate. Establish whether records survive or need a native reconstruction, then verify page and featured-image associations.

Need this done for you?

Wayback Restore rebuilds lost websites from Wayback Machine snapshots: HTML from $29, WordPress $79, Elementor $149, WooCommerce from $249. Free archive check before you pay.

Check what can be restored (free)  ·  Request a free archive review

Share the Post:

Related Posts