Most SharePoint problems aren't SharePoint problems. They're what happens when a flat pile of team sites grows for five years with no plan. The fix is an information architecture decided up front and a small amount of governance to keep it.
Flat, not nested
Modern SharePoint wants a flat structure: many sites, joined into hub sites for navigation and shared branding, not a deep tree of subsites. A subsite is a permissions and lifecycle trap; a hub is a link you can change later. Start with a handful of hubs that match how the organisation actually thinks — by function, by region, by programme — and hang sites off them.
One site per unit of work
A site should map to a team, a project, or a well-defined function — something with an owner and a lifecycle. "Marketing" is a site. "Q3 campaign" might be a site or a channel, depending on how long it lives. If you can't name the owner, it isn't a site yet.
Metadata over folders, within reason
Managed metadata and site columns beat ten levels of folders for anything you'll want to filter or report on later. But don't over-engineer it: two or three columns people will actually fill in are worth more than a taxonomy nobody maintains.
Provisioning is a form, not a favour
The reason structures rot is that every new site is a one-off request handled differently. Replace that with a request form and a Power Automate flow that creates the site from a template, applies the naming convention, joins the right hub, sets the owners, and logs it. Now every site starts consistent, and you have a register of what exists.
Governance you can sustain
- Naming: one convention, enforced at provisioning.
- Ownership: every site has two owners; an annual access review confirms they're still right.
- Lifecycle: sites with no activity for a set period get flagged to their owner, then archived.
None of this is exotic. It's just decided once and applied every time — which is the whole difference between a SharePoint people use and one they route around.