OnlineCCMS All articles
Migration & Replatforming

The Quiet 4GB: Auditing Your CMS Media Library in Half a Day

OnlineCCMS
The Quiet 4GB: Auditing Your CMS Media Library in Half a Day

Photo: Department of Homeland Security Office of the Inspector General, Public domain, via Wikimedia Commons

Most content audits begin and end with pages. Somebody exports the sitemap, opens a spreadsheet, deletes the 2019 Christmas opening hours page, and calls the job done. Meanwhile, in a tab nobody has opened since launch, the media library has been quietly absorbing everything the organisation has ever uploaded — and it is still growing.

That matters more than it used to. Hosting is metered, migrations are quoted per gigabyte, and accessibility rules do not stop at the page boundary. A 6MB photo of a ribbon-cutting from three chief executives ago is not just clutter; it is a line item.

Why the library gets ignored

Pages have owners. Images do not. A page sits under a section, has a named editor, and shows up in a sitemap someone can actually read. A file called IMG_2043.jpg sits in a flat list of ten thousand other files, uploaded by a person who left two years ago, used on a page that may or may not still exist.

So the library becomes the digital equivalent of the stationery cupboard: everything gets put in, nothing gets taken out, and the person who knows where things are has long since retired.

There is also a tooling excuse. Most CMS dashboards are built to show you pages. Media reports are usually buried, or absent, or require an export that lands as a CSV with fourteen columns and no headers anyone understands. That is annoying, but it is not a reason to skip it.

Start with a number, not a feeling

Before you delete anything, get a baseline. Pull the media library export and note four figures: total file count, total storage, files with no alt text, and files with no recorded upload date or owner. If your CMS will not give you those, install a temporary reporting extension or ask your host for a storage breakdown by directory. Half a day is plenty for this.

Write the numbers down with today's date. When your finance director asks why hosting costs crept up, or when a replatforming supplier quotes a migration as a five-figure line, having a starting number is the difference between a conversation and an argument.

The four buckets

Sorting is the real work, and it is easier if you resist the urge to categorise by type. Instead, sort by future usefulness:

Most teams find that the third and fourth buckets are bigger than they expected, and that the first bucket contains a surprise cluster of images missing alt text on high-traffic pages.

Alt text is the accessibility headline

Under the Public Sector Bodies (Websites and Mobile Applications) Accessibility Regulations 2018, published content is expected to meet WCAG 2.2 AA. That includes a text alternative for every meaningful image. It is easy to assume this was handled at upload. It usually was not.

Export a list of images missing alt attributes and cross-reference against your top pages. You will typically find three patterns: decorative images marked as content, content images with empty alt text, and alt text that says something like 'image1' or the filename. The last one is worse than nothing, because it actively misleads screen reader users.

Fix the images on your highest-traffic templates first. A 20-page fix on the pages people actually visit is worth more than a scattergun sweep of everything.

PDFs deserve their own pass

PDFs are the forgotten estate of most library audits. They are also where the genuinely awkward questions live: outdated policy documents, superseded price lists, forms that were replaced by an online service two years ago, and guidance that references legislation since repealed.

Search for files over two years old and check whether each one is still linked from a live page. Where it is, decide whether it should be a page instead. A HTML page is searchable, translatable, responsive and — crucially — far easier to update than a PDF that gets re-uploaded every January as policy-2026-final-v2.pdf.

Anything unlinked and more than a year old is a strong candidate for retirement, subject to your organisation's records retention rules. If you work in local government or the NHS, check with your records manager before deleting anything that could count as a corporate record. Deletion is not the only option; moving files to an archive area keeps them out of the way without destroying evidence.

Orphans, duplicates and the upload folder problem

Orphaned files — uploaded, never linked, never used — are usually 10 to 25 per cent of a library. Duplicates are the other quiet cost: the same photograph uploaded four times because four people could not find the first one.

Run a duplicate check by file size and filename. Where you find a genuine match, keep the file that is linked from live content and retire the rest. Where you find near-duplicates — crops of the same image, resized versions, the same logo in three formats — agree a single house version and write it down somewhere the team can find it.

While you are there, take a hard look at your folder structure. If it is a single flat list, that is the root cause of the duplication. A simple two-level structure based on how the site is organised will do more to prevent the problem recurring than any amount of one-off tidying.

What it costs when you leave it

Three bills arrive eventually. Storage and CDN costs rise quietly. Migration projects take longer, because every supplier has to move and re-index the library. And accessibility exposure grows, because every unlabelled image on a public page is a potential complaint.

None of those line items appear on a dashboard with the word 'library' in them. That is precisely why the audit is worth doing now, on a quiet Tuesday, rather than during a migration kick-off call when someone asks how many assets you have and nobody in the room knows.

A realistic half-day plan

Morning: export the library, get your four baseline numbers, and run the duplicate and orphan checks. Afternoon: fix alt text on your top twenty pages, triage the PDFs, and write a one-page note recording what you retired and what you kept. Send it to whoever owns the site.

That is it. You will not finish the library in half a day, and you should not try. You will have a baseline, a shortlist, and a document that turns a vague feeling about clutter into something a manager can act on. Next quarter, do it again with the new numbers.

All Articles

Related Articles

The Logo Changed Overnight: A First-Month Playbook for CMS Acquisitions

The Logo Changed Overnight: A First-Month Playbook for CMS Acquisitions

Evidence, Not Faith: Testing a CMS Backup on a Quiet Afternoon

Evidence, Not Faith: Testing a CMS Backup on a Quiet Afternoon

Dead Weight in the Stack: Auditing CMS Extensions Before Upgrade Season

Dead Weight in the Stack: Auditing CMS Extensions Before Upgrade Season