A common post-migration symptom.
WHY IT HAPPENS
The database was copied from a site running on a different domain, or on http, and the URLs came with it.
Typical cases: moving from a staging subdomain to the live domain, moving from an old domain to a new one, or restoring an old backup taken before HTTPS was enabled.
WHAT YOU SEE
Images missing, or loading from the old domain Broken padlock Links pointing at the old address Admin URLs redirecting to the old site
THE FIX
A database search and replace, from the old URL to the new. In WordPress use Better Search Replace across all tables. Back up first.
Replace the old domain and old scheme in one operation where possible: http://oldsite.com to https://newsite.com.
AFTERWARDS
Update the site address in the application Re-save permalinks Clear every cache Check several pages with the console open
THE ONE PEOPLE MISS
Images still loading from the staging subdomain. When staging is deleted, they break. Search for the staging hostname specifically.