Offloft 0.1.0 is here: offload your WordPress media and know it arrived.Read what's new

How Offloft verifies your media.

Offloft treats an upload as finished only after it has checked the copy in your bucket. For each file, and each size of each image, it confirms the object exists and has the right size. A checksum protects each upload, and where the provider's fingerprint allows it, Offloft compares the content too. Until a file passes, your site keeps serving the local copy, so a failed upload doesn't reach your pages.

Why isn't an upload enough?

An upload is your server sending a file and getting an answer. Offload work is long and full of small interruptions, and one image is really many files. If nobody goes back and looks, a size that never arrived stays unnoticed until a page needs it.

So Offloft looks. It asks your bucket about each file after the upload, rather than trusting that the upload went as planned.

What does Offloft check?

Three things for each file: that it exists in your bucket, that it has the right size, and, where it can be checked, that it has the right content.

  • Exists and right size. Offloft asks your storage for the file's details and compares its size with the size on your server.
  • Right content, as it's sent. Each file, or each part of a large file, goes up with a checksum. The provider checks that checksum on arrival and refuses anything that doesn't match.
  • Right content, afterwards. Where the provider's file fingerprint (its ETag) is an MD5 of the file, Offloft compares it with the MD5 it recorded. Large files sent in parts and some encrypted storage don't have that kind of fingerprint, so for those the later checks rely on the size.

Each size of an image is tracked as its own file: the original, the scaled copy, every thumbnail and every extra format.

When does it check?

After each upload. On demand, with "Verify everything". And on a schedule, with Pro's audits.

What is the life of a file?

A file is served from the cloud only once it's verified. These are the state names you'll see in the REST API and WP-CLI.

Only a verified file is served from the cloud. At every other moment, your site uses the local file.
StateWhat it meansYour site serves
pendingWaiting to be uploaded.Local file
uploadingBeing sent to your bucket, in parts if it is large.Local file
uploadedSent, and waiting for its check.Local file
verifiedChecked in your bucket.Cloud copy
failedThe upload or check didn't succeed. Offloft retries with growing waits, then raises an issue.Local file

What happens when a check fails?

The file stays local and keeps serving. An issue explains why in plain words, and a Fix button uploads it again where that's possible.

Why does this matter for big libraries?

A library of tens of thousands of files is many more files than it looks, because each image has several sizes. Even a small failure rate means real files that didn't make it. Tracking each size on its own is how those get found and fixed before a visitor sees them.

Questions about verification

Does verification slow my site down?

No. It happens in the background, not on page loads.

Does it download every file to check it?

No. Offloft asks your storage about each file with one small request, called a HEAD request, which returns the file's details without its contents. So checking a large library uses very little bandwidth.

What does Pro add?

Scheduled audits and automatic repair.

Your media, in your bucket, checked.

Install Offloft free. Setup takes five steps, and nothing moves until the connection test passes.

Type to search.