Direct answer: Across 25 sites, 17 http entries end on https and 8 stay on http; https is reachable on 21 (the other four failed: two connection failures, two certificate errors); final hosts are 19 www, 2 apex; only 4 send HSTS; only 9 declare a canonical — and all nine match the final host. Single request per entry, pilot.

This layer decides how many entries exist for the same content. If http and https, www and apex, with and without parameters all resolve without a canonical, link equity and crawling are split. Earlier rounds looked at page content and crawl policy; this one looks at the entry itself.

17
http entries reaching https
21
https reachable
4
https requests failed
19
end on www
4
send HSTS
9
declare canonical

Method

For each site: request http://host/ and https://host/, follow redirects, record the final URL, status and hop count; then parse the first canonical and the Strict-Transport-Security header from the https homepage. UA LingyiResearchBot/1.0, two requests per site, six seconds apart, 20-second timeout.

MetricRule
http→httpsFinal scheme of the http entry is https
Host consistentBoth entries end on the same host (port and case ignored, www kept)
www / apexWhether the https final host starts with www.
HSTSStrict-Transport-Security present on the https response
Canonical host matchCanonical host equals the https final host

Result 1: upgrade, failure and coexistence

EntrySitesNote
http ends on https17 / 25The common pattern
http stays on http8 / 25Three of them also serve https separately, so both entries exist
https reachable21 / 25All finals are https
https request failed4 / 25Two connection failures, two certificate errors

The four https failures differ: two cannot connect even without certificate verification; two are certificate errors, one returning 403 when unverified and one returning 200 but landing back on http://. The last is an https-to-http downgrade, which is worse than a site that never offered https.

Result 2: hosts and HSTS

  • 19 end on www, 2 on apex (hehaixny.com, cn-kede.com); no www↔apex redirect pair was observed.
  • 21 sites end on the same host from both entries; the four failures cannot be compared.
  • Only 4 send HSTS: most redirect, but do not tell the browser to remember https-only.
  • Average 0.8 hops on the http entry; the longest needed two.

Result 3: few canonicals, but written correctly

CanonicalSitesNote
Declared9 / 25All absolute https URLs
Missing16 / 25Common on older templates
Host matches final9 / 9Everyone who wrote one wrote the host correctly
Host mismatch0—

The counter-intuitive result: the problem is not wrong canonicals, it is missing ones. The 16 without one are not broken today, but parameterised links, extra domains or a redesign will leave them without a consolidation signal. Adding one line costs far less than cleaning up duplicates later.

Five actionable conclusions

  1. http should do one thing: 301 to https. Do not let http and https both serve.
  2. Never let https fall back to http. One certificate-error site did exactly that; fix it first.
  3. Pick one host. www or apex is fine, but the other should 301 across; the two apex sites here are worth a self-check.
  4. Add HSTS. At 4/25, most sites redirect but do not "remember".
  5. Add canonical. 16 missing, and the nine existing ones are all correct — a one-line template change.

Limits

  • Single request: redirects and certificates may vary by CDN, region and WAF.
  • Root path only: deep links, language directories and parameterised URLs are not covered.
  • Limited certificate reading: only connection failure / certificate error / 200, no chain or expiry analysis.
  • First canonical only: duplicates are not expanded.
  • Non-random sample: 25 sites, a pilot.

Data and recalculation

Anonymised data: equipment-host-canonical-pilot-2026.csv (25 rows, 19 fields, with a notes column for the four https failures and one http 400). The repository keeps docs/research/2026-11-host-canonical-pilot.csv.

Parsing and verdicts: scripts/host_canonical_probe.py; tests: scripts/test_host_canonical_probe.py (17 tests, no network). Run:

python -m unittest scripts.test_host_canonical_probe

Related: the 30-site robots scan, the performance proxy pilot and the 12 acceptance clauses.

Sources and definitions

  1. HTTP status and redirects: RFC 9110: rfc-editor.org.
  2. HSTS: RFC 6797: rfc-editor.org.
  3. canonical: RFC 6596: rfc-editor.org.
  4. Capture: around 2026-11-02 04:10 Asia/Shanghai, UA LingyiResearchBot/1.0, two requests per site, six seconds apart.
About the author

Lingyi Information Official (delivery team) works on requirements, solutions and acceptance for corporate websites, brand systems and smart manufacturing projects. This is a pilot observation and method record, not an evaluation, ranking or security certification for any company; a single request does not describe long-term state.

Put entry normalization into acceptance

One http-to-https hop, one chosen host, a canonical and HSTS — four checks, each recheckable.

Request an entry review