Per Nergård (MVP)
Mar 10, 2026
  400
(2 votes)

Missing Properties tool for Optimizely CMS

If you have been working with Optimizely CMS for a while you have probably accumulated some technical debt in your property definitions. When you refactor your models removing properties, renaming content types, or cleaning up after a migration the old property definitions often stick around in the database. They are harmless for the most part, but they add noise and can be confusing when inspecting content types.

  I actually built a tool for this like 10 years ago and I recently had a need to revisit it during a large migration project where we ended up with quite a few orphaned properties that   
  needed cleaning up.

  What it does

  The tool scans all your code-defined content types (PageTypes and BlockTypes) and looks for property definitions in the database that no longer have a corresponding attribute in code. Manually created content types are intentionally skipped it  only checks types backed by a C# model.

  The results are grouped by content type so you can see exactly what is affected. From there you have a few options:

  - Select individual properties and delete them
  - Select all properties for a specific content type
  - Delete everything at once

  Both deletion paths require a confirmation dialog because this operation is permanent and cannot be undone.

  There is also a Rescan button if you want to re-check after deploying model changes.

  Installation

  Configure blazor and decide on how you want to render the component. I just created a content type specific for the tool. Example layout included on github.

  Add the tool to your project and register it in Startup.cs:

  services.AddMissingProperties();

 

  The source code is on https://github.com/pernergard/NergardToolsAndUtilities

 

Mar 10, 2026

Comments

Please login to comment.
Latest blogs
Commerce 15 and CMS 13: Optimizely’s Next Step Toward AI-Powered, Graph-First Commerce

Optimizely is preparing to release Commerce 15 in mid-May 2026 , positioning this as a foundational shift—not just an upgrade. The direction is...

Augusto Davalos | May 7, 2026

The future of Content: Introducing Optimizely CMS 13

Optimizely In the rapidly evolving landscape of digital experience, the "monolithic vs. headless" debate is being replaced by a more sophisticated...

Aniket | May 6, 2026

Hide built in scheduled job from the admin UI

Ok so this probably goes into the not so useful section but late last night I got a veery strong feeling that all projects I am  involved with have...

Per Nergård (MVP) | May 6, 2026

Optimizely SaaS CMS Developer Certification Exam

The Optimizely SaaS CMS Developer Certification is an industry-recognized credential for developers and architects who build scalable, composable...

Megha Rathore | May 5, 2026