Blog / Chrome 68 Is Here — Every HTTP Page Now Says "Not Secure
https chrome migration security

Chrome 68 Is Here — Every HTTP Page Now Says "Not Secure

Chrome 68 now labels every HTTP page Not Secure. A complete migration checklist: free certificates, redirects, mixed content, HSTS and what comes after.
The CompleteStatus Team · · 6 min read
Chrome 68 Is Here — Every HTTP Page Now Says "Not Secure
Want this checked continuously?
CompleteStatus grades your headers, SSL and email security 24/7 — free, commercial use allowed.
Monitor your site free

As of last Tuesday, July 24th, the world's most-used browser tells your visitors not to trust you — if you're still on HTTP. Chrome 68 shipped with the change Google announced back in February: every page served over plain HTTP now carries a "Not Secure" label in the address bar. Not just checkout pages, not just login forms — your homepage, your blog, your brochure site. All of it.

There's no judgment call in the label, no assessment of what your site does. HTTP means "Not Secure," full stop. If you've been putting off the HTTPS migration, this is the week the cost of waiting became visible to every Chrome user who lands on your site.

The endgame of an eighteen-month rollout

Google telegraphed this move at every step, tightening the screw one release at a time:

  • January 2017 — Chrome 56: HTTP pages with password or credit card fields get "Not Secure."
  • October 2017 — Chrome 62: the label extends to any HTTP page with a form field the moment you type in it, and to all HTTP pages in Incognito mode.
  • July 2018 — Chrome 68: every HTTP page, unconditionally.

And it's not over. Google has already said that in an upcoming release the "Not Secure" text will flash red when users enter data on HTTP pages, and that the plan is eventually to remove the positive "Secure" wording from HTTPS pages entirely — because encryption is meant to become the unremarkable default, with only its absence called out.

The context makes the timing rational rather than punitive: by Google's transparency numbers, HTTPS now carries the substantial majority of Chrome traffic, and most of the top sites on the web default to it. Certificates are free, setup is largely automated, and HTTPS has been a (lightweight) search-ranking signal since 2014. The excuses have run out — which is exactly the argument Google is making with the label.

The migration checklist

The good news: a well-planned HTTPS migration is a solved problem. Here's the sequence that avoids the common potholes.

1. Get a certificate — free is fine

For the overwhelming majority of sites, a free domain-validated certificate from Let's Encrypt is exactly the right choice — the encryption is identical to what paid certificates provide. Better still, many hosts and CDNs now provision certificates for you with a checkbox. If you're on your own server, an ACME client like Certbot issues and renews automatically:

certbot --nginx -d example.com -d www.example.com

Note the renewal implication: Let's Encrypt certificates last 90 days by design. Automation handles it — but verify the automation (more on that below).

2. Redirect everything with 301s — permanently

Every HTTP URL should answer with a 301 permanent redirect to its exact HTTPS twin — not just the homepage, but every path, preserving the full URL so deep links and accumulated search equity carry over:

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://example.com$request_uri;
}

Or with Apache:

<VirtualHost *:80>
    ServerName example.com
    Redirect permanent / https://example.com/
</VirtualHost>

Use 301 (permanent), not 302 — search engines treat 301 as "the new address is the real one" and transfer ranking signals accordingly.

3. Sweep for mixed content

The classic migration wound: the page loads over HTTPS, but an image, script or stylesheet still points at http:// — and the padlock breaks anyway (browsers block insecure scripts outright). The fixes, in order of preference:

  • Use relative URLs (/img/logo.png) or protocol-relative references so assets inherit the page's scheme.
  • Search your templates and database for hardcoded http:// references — in a CMS, old post content is the usual culprit.
  • Let CSP report the stragglers: the Content-Security-Policy-Report-Only header with a report URI surfaces mixed content across the whole site without breaking anything while you hunt.

4. HSTS — once you're confident

The Strict-Transport-Security header tells browsers to skip HTTP entirely for your domain, eliminating even the first insecure request. It's the right end state — but it's a commitment, because browsers will enforce it for the duration you declare. Start with a short max-age, confirm nothing's broken, then extend:

# start conservative, raise to a year (31536000) once stable
add_header Strict-Transport-Security "max-age=300" always;

Hold off on preload until you're certain — getting your domain out of browsers' preload lists is slow and manual.

5. Re-verify with search engines

Google Search Console treats https://example.com as a different property from http://example.com — add and verify the HTTPS property, submit your sitemap with HTTPS URLs, and update the property in Analytics too. Expect some ranking wobble for a few weeks as the index digests the move; the 301s ensure it settles.

6. Update the stragglers

CDN origin settings, canonical tags, Open Graph URLs, email templates, social profiles, paid ad destination URLs. Anything still generating HTTP links is generating a redirect hop at best.

You've traded one risk for another — watch it

Here's the part most migration guides skip: the day you finish, you acquire a brand-new failure mode. An HTTP site can't have an expired certificate; an HTTPS site with an expired certificate greets every visitor with a full-page browser warning — functionally a total outage, and one that Chrome's new posture makes more alarming than ever. Renewal automation fails quietly: the cron job stops, a DNS change breaks validation, the renewed cert never reaches one server behind the load balancer. And the industry is simultaneously pushing certificate lifetimes shorter, so renewals only get more frequent from here.

The answer is independent verification — an external check that reads the certificate your servers actually serve and alerts you weeks before expiry, no matter what your automation believes.

Make the label work for you

Chrome 68 turned HTTPS from best practice into table stakes: the browser now actively tells visitors which sites didn't bother. The migration takes a weekend for a typical site, the certificate is free, and every step above is well-trodden. What remains afterward is simply keeping it healthy.

CompleteStatus covers that last mile — certificate expiry monitoring with alerts at 30, 14 and 7 days, plus uptime checks that catch TLS failures the moment a visitor would. Create a free account, migrate this month, and let "Not Secure" be something your competitors' visitors see.

Stop checking by hand

CompleteStatus runs these exact checks around the clock — uptime, SSL, DNS, security headers and SPF/DKIM/DMARC — and alerts you the moment something changes. One dashboard, one bill.
Start free Run a free check
Uptime is table stakes. We watch the rest — security headers, email authentication, certs and DNS, with the fix attached.
Start free
Company
© 2026 CompleteStatus. All rights reserved. CompleteStatus — operated in the United States · support@completestatus.com