Six products each needed metadata, structured data and rank tracking. Six implementations means six places for a canonical tag to go wrong.
What I did about it
One multi-tenant engine, consumed over an API with a tenant slug and key — Abaqwa, BellaBliss, QuataMaps, QuataDigital, ntaccul and QuataFood all read from it.
Also packaged as a standalone product with its own billing module and pricing page.
What I rejected, and why
Nine tests and no CI, with six production products depending on it. That is the wrong ratio and it is at the top of the list.
Nine tests and no CI, with six production products reading from it. The blast radius and the test coverage are inversely proportional, which is precisely backwards for shared infrastructure.