Why this one still goes wrong
An HTTPS migration is the simplest migration type by a wide margin. Paths do not change. Content does not change. Templates do not change. The mapping is http://x/path to https://x/path, which requires no judgment at all.
It still goes wrong often enough to be worth its own page, and almost always for the same reason: after the change, more than one version of the site is reachable, and nobody decided which one is canonical.
The four-variant problem
Every site has four possible host and protocol combinations. After an HTTPS migration, all four frequently remain reachable. Google then has to work out which is canonical, and it will make a decision whether or not you intended one.
The consequence is not dramatic. It is a slow dilution: links split across variants, crawl budget spent recrawling duplicates, and Search Console reporting split across properties so nobody can see the whole picture. It rarely produces a visible drop, which is precisely why it persists for years.
Pick one canonical host. Write it down. Make every other variant reach it in a single 301, and make every canonical tag, sitemap entry and internal link agree.
The most common configuration error is two rules that each do their job correctly and produce a two-hop chain together.
One rule upgrades HTTP to HTTPS. Another rule normalizes www to non-www. Run in sequence, http://www.example.com becomes https://www.example.com becomes https://example.com. Both rules are right. The result is a hop that did not need to exist, on every legacy inbound link to the site.
Googlebot follows up to ten hops, so nothing visibly breaks. But every hop costs crawl budget and adds real latency for users arriving from old links. The fix is to handle protocol and host normalization in one rule at the edge, then test all four variants individually.
Mixed content lives in the database
Template-level mixed content is easy to find and fix. The awkward part is content.
Editors paste absolute URLs into body copy. Over years, a site accumulates thousands of http:// image and link references inside database fields that no template change touches. They surface as blocked images on individual pages, discovered one at a time by users rather than all at once by a crawler.
Search the content database directly, not just the codebase. A find-and-replace across body fields is the only reliable fix, and it wants a backup taken first.
Where this sits
HTTPS migrations rarely happen alone anymore — they are usually bundled into a replatform or a domain change. When bundled, the protocol change is the least of the risks, but the four-variant check still needs running against the new host.
The technical scope page covers redirect architecture in more depth, and the full checklist puts these steps in sequence with the rest of the launch work.
Planning this move?
Send the launch date and what is changing. We will tell you which parts of this page apply to your situation and which do not.
- Reply
- Typically within one business day.
- Hours
- Monday to Friday, 9am–6pm US Eastern.
- First call
- Scoping, not a pitch. No deck.