HTTPS and SEO: Does SSL Affect Google Rankings?
Does HTTPS SEO matter? Yes β Google confirmed SSL as a ranking signal. Full migration guide, mixed-content fixes, and the real impact on your search visibility.

HTTPS is a confirmed Google ranking signal β Google announced it in August 2014 and has only reinforced it since. So yes, SSL affects your rankings, but the more important truth is the inverse: running on plain HTTP actively works against you. Modern browsers stamp HTTP pages with a visible "Not Secure" warning, HTTPS is a prerequisite for HTTP/2 and a clean Core Web Vitals profile, and AI search engines lean on trust signals like a valid certificate when deciding which sources to cite. Think of HTTPS as the price of admission, not a competitive edge β you don't win for having it, you lose for not.
What HTTPS Actually Is (and Why SEO Cares)
HTTPS (HyperText Transfer Protocol Secure) is HTTP wrapped in encryption. It uses a TLS (Transport Layer Security) certificate to scramble data traveling between the user's browser and your server, so a third party sitting on the same Wi-Fi or somewhere along the route can't read passwords, card numbers, or session cookies in transit.
For search, that encryption does two jobs at once:
- Security β it defeats man-in-the-middle attacks, where someone intercepts or tampers with the connection between user and server.
- Trust signal β it tells Google, browsers, and increasingly AI answer engines that the site is safe to load and safe to recommend.
Every major browser now flags plain HTTP. Chrome, Firefox, Safari, and Edge all show a "Not Secure" label in the address bar, and on pages with a login or payment field the warning gets louder. Users notice. A scary address bar pushes bounce rates up and conversions down before Google's algorithm even enters the picture.
If you want the bigger map of where HTTPS sits among crawling, indexing, and performance signals, our complete technical SEO guide connects every piece. Security is one pillar of that larger structure.

The Google HTTPS Ranking Signal: What's Documented
Google has been unusually transparent about HTTPS. Here's the documented timeline, with no embellishment:
- August 2014 β Google announced HTTPS as a ranking signal, calling it "lightweight" and affecting "fewer than 1% of global queries" at launch, while signaling it might strengthen over time.
- 2016β2018 β Chrome began marking HTTP pages with form fields as insecure, then expanded the "Not Secure" label to all HTTP pages by mid-2018.
- 2021 β Google rolled out the Page Experience update. HTTPS is one of its named signals, alongside Core Web Vitals and the absence of intrusive interstitials.
- Today β HTTPS is effectively table stakes. The realistic competitive view: it rarely lifts you on its own, but its absence undermines trust, blocks HTTP/2, and leaves a visible browser warning that suppresses clicks.
So is HTTPS a tiebreaker? In practice, two pages of similar quality rarely differ only by protocol anymore, because nearly all serious competitors already run HTTPS. The honest framing is that HTTPS removes a penalty rather than adding a bonus. Google's own Search Central documentation recommends HTTPS for every site and explains how it's treated during crawling and indexing.
There's a newer angle too. AI search β Google AI Overviews, ChatGPT, Perplexity, Gemini β pulls from sources it can fetch cleanly and trust. A site throwing certificate errors or mixed-content warnings is a weak citation candidate. If getting surfaced in AI answers is on your radar, pair this with getting featured in AI Overviews and the broader answer engine optimization guide.
How HTTPS Connects to Speed and Core Web Vitals
A common misconception is that encryption slows sites down. The opposite is usually true in practice, and the reason is architectural:
| Factor | HTTP/1.1 (plain) | HTTPS + HTTP/2 / HTTP/3 |
|---|---|---|
| Multiplexing | One request per connection | Many requests over one connection |
| Header compression | None | HPACK / QPACK |
| Handshake cost | None (but no protocol gains) | ~1 round trip (TLS 1.3), reusable |
| Browser eligibility | Excluded from HTTP/2 | Required for HTTP/2 and HTTP/3 |
Modern TLS 1.3 cut the handshake from two round trips to one, and session resumption reuses prior connections. The encryption overhead is negligible β on the order of a millisecond or two per connection. Meanwhile HTTP/2 (which browsers only enable over HTTPS) gives you multiplexing and header compression, which typically make a real site faster than HTTP/1.1.
That matters because Google's Largest Contentful Paint (LCP) target is under 2.5 seconds for a "good" rating, and you can't realistically hit that on HTTP/1.1 for a resource-heavy page. If LCP is your bottleneck, see how to optimize Largest Contentful Paint and the wider Core Web Vitals breakdown. HTTPS is the foundation those optimizations sit on.
Step-by-Step HTTPS Migration Guide
A migration done right is invisible to users and to Google. A migration done wrong drops traffic for weeks. Follow these steps in order.
1. Get an SSL/TLS Certificate
You have three realistic paths, and for the vast majority of sites the free option is the right one:
- Let's Encrypt β free, automated, auto-renewing, supported everywhere. Best default for most sites.
- Cloudflare β free SSL bundled with their CDN; the easiest setup if you're already proxying through them.
- Commercial certificates β DigiCert, Sectigo, and similar. Only needed when you require Organization Validation (OV) or Extended Validation (EV) for legal or compliance reasons.
For SEO, the encryption strength of a free Domain Validation (DV) certificate is identical to a paid one. Google does not differentiate. The only difference between DV, OV, and EV is who the certificate authority verified and how, not how strong the encryption is.
2. Install the Certificate on Your Server
Installation depends on your stack, but the principles are universal: redirect HTTP to HTTPS, enable modern TLS, and ship security headers. Here's a production-grade nginx server block that earns an A+ on SSL Labs:
# Redirect all HTTP traffic to HTTPS (301 permanent)
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
# ACME challenge for Let's Encrypt renewal
location /.well-known/acme-challenge/ {
root /var/www/certbot;
}
# 301 redirect everything else to HTTPS
location / {
return 301 https://$host$request_uri;
}
}
# Main HTTPS server block
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name example.com www.example.com;
# Certificate paths (Let's Encrypt)
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
# Modern TLS configuration
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
# HSTS β tells browsers to always use HTTPS
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
# Security headers
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
# OCSP stapling for faster certificate verification
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
root /var/www/example.com;
index index.html;
}This config enforces TLS 1.2/1.3 only, staples OCSP responses to speed up verification, and sets HSTS so browsers refuse to downgrade to HTTP.
3. Set Up HTTP β HTTPS Redirects
Every HTTP URL must 301 redirect (permanent) to its exact HTTPS equivalent. This single step does three jobs:
- Preserves link equity from existing backlinks pointing at HTTP URLs.
- Prevents duplicate content, where HTTP and HTTPS versions both exist and compete.
- Guarantees users always land on the secure version.
Use a 301, not a 302. A 302 is temporary and won't pass authority the way you need it to β the difference matters more than people think, as our breakdown of 301, 302, 404, and 500 status codes explains. Verify your redirect with curl:
# Test redirect (should return 301 with HTTPS location)
curl -I http://example.com
# Expected: HTTP/1.1 301 Moved Permanently
# Expected: Location: https://example.com/
# Test HTTPS is working
curl -I https://example.com
# Expected: HTTP/2 200
# Expected: strict-transport-security header presentAvoid redirect chains. http://www β https://www β https://non-www adds latency on every hop and wastes crawl budget. Redirect to the final canonical host in one move.

4. Update Every Internal Reference to HTTPS
After the certificate is live, sweep the whole codebase and database for http:// references and change them to https://. Miss a few and you get mixed content β an HTTPS page trying to load HTTP resources, which browsers block. Update:
- Navigation and footer links
- Inline content links
- Image
srcattributes, CSS, and JavaScript references - Canonical tags (a canonical still pointing to HTTP sends conflicting signals)
- Sitemap URLs
- Open Graph and Twitter Card URLs
hreflangannotations on international sites
Canonical tags are the silent killer here β one stale HTTP canonical can keep Google indexing the wrong version. If that concept is fuzzy, read canonical tags explained before you migrate.
5. Update Google Search Console and Your Sitemap
Add the HTTPS version as a new property in Google Search Console (or confirm your Domain property covers both). Then:
- Submit an updated sitemap containing only HTTPS URLs. (New to this? See how to create an XML sitemap.)
- Watch the Pages report for crawl and indexing errors during the transition.
- Use the URL Inspection tool to confirm Google sees and indexes the HTTPS version.
- Confirm pages actually get indexed β here's how to check if your site is indexed by Google.
6. Find and Fix Mixed Content
Mixed content breaks the padlock and can break functionality outright when browsers block scripts and styles loaded over HTTP. Hunt it down by:
- Opening the browser DevTools console and looking for "Mixed Content" warnings.
- Deploying a
Content-Security-Policy-Report-Onlyheader to collect violations without breaking the live site, then promoting it to enforcing once clean. The MDN-backed guidance at web.dev walks through the upgrade path. - Running an automated audit that flags every insecure resource. Run a free SlapMyWeb audit to see exactly which mixed-content resources, missing headers, and HSTS gaps your site has right now.
Security Headers That Reinforce HTTPS Trust
HTTPS is the foundation; security headers are the walls. Each one closes a class of attack that browsers β and by extension trust-aware systems β care about:
- HSTS (Strict-Transport-Security) β forces browsers to use HTTPS and blocks downgrade attacks. Add
preloadand submit to the HSTS preload list to enforce HTTPS before the first visit. - CSP (Content-Security-Policy) β the strongest defense against cross-site scripting and injection. Start in report-only mode, then enforce.
- X-Content-Type-Options: nosniff β stops browsers from guessing (and misinterpreting) file types.
- Referrer-Policy β controls what URL data leaks to outbound destinations.
- Permissions-Policy β restricts access to camera, microphone, geolocation, and other powerful features.
Common HTTPS Migration Mistakes
These are the errors that turn a clean migration into a traffic dip:
- No redirect β both HTTP and HTTPS resolve, creating duplicate content and splitting signals.
- Redirect chains β multiple hops add latency and waste crawl budget.
- Mixed content β a single HTTP image kills the padlock and triggers console warnings.
- Expired certificate β browsers show a full-page interstitial that scares users off entirely. Auto-renewal (Let's Encrypt + certbot) prevents this.
- Stale sitemap β Google keeps crawling old HTTP URLs you've abandoned.
- HTTP canonical tags β point Google back at the version you're trying to retire.
- Internal links still on HTTP β every one forces an unnecessary redirect hop.
- Forgotten hreflang β international sites must repoint every hreflang URL to HTTPS.
After you migrate, re-audit weekly for four to six weeks. Most fluctuation settles in that window if redirects are clean. For the full post-migration checklist, work through our step-by-step SEO audit guide.

Beyond the Basics: Advanced HTTPS Hardening
For competitive niches and anything handling user data, go past the minimum:
- HSTS preloading β submit your domain so HTTPS is enforced even on a user's very first visit, closing the initial-request downgrade window.
- TLS 1.3 only β fastest handshake, strongest ciphers, signals a modern stack.
- OCSP stapling β your server fetches and attaches the certificate revocation status, shaving the verification round trip off page load.
- CAA DNS records β restrict which certificate authorities are allowed to issue certificates for your domain, limiting mis-issuance risk.
- Certificate Transparency monitoring β watch public CT logs for unauthorized certificates issued against your domain.
These don't directly move rankings, but they protect the trust foundation that everything else β including AI citation eligibility β depends on.
Frequently Asked Questions
Does HTTPS directly improve Google rankings?
HTTPS is a confirmed Google ranking signal, announced in 2014 and incorporated into the Page Experience signals. It is lightweight compared to content quality and links, so it rarely lifts a page on its own. The bigger effect is defensive: lacking HTTPS triggers a browser "Not Secure" warning, blocks HTTP/2, and undermines trust, all of which work against you.
Is a free Let's Encrypt certificate as good as a paid one for SEO?
Yes. For SEO, a free Let's Encrypt Domain Validation certificate is identical to a paid one β Google does not differentiate, and the encryption strength is the same. Paid Organization Validation (OV) or Extended Validation (EV) certificates only matter when you need verified business identity for legal or compliance reasons, not for rankings.
How long does it take for rankings to recover after an HTTPS migration?
With redirects configured correctly, most sites see temporary fluctuation for a few weeks as Google recrawls and reindexes the HTTPS URLs, then return to normal within roughly four to six weeks. A migration missing 301 redirects or carrying mixed content can cause deeper, longer drops, so verify redirects with curl before you go live.
Does HTTPS slow down my website?
No β in practice it usually speeds sites up. Modern TLS 1.3 adds only about a millisecond or two per connection and reduced the handshake to a single round trip. Because HTTP/2 and HTTP/3 require HTTPS, switching unlocks multiplexing and header compression that make a real site faster than plain HTTP/1.1.
What is mixed content and why does it break the padlock?
Mixed content is when an HTTPS page loads resources β images, scripts, or stylesheets β over insecure HTTP. Browsers block active mixed content (scripts, iframes) outright and warn on passive content (images), which removes the padlock icon. Fix it by updating every resource URL to HTTPS and using a Content-Security-Policy to catch stragglers.
SlapMyWeb Team
We build SlapMyWeb β a brutally honest AI website audit that scans 240+ SEO, performance and Core Web Vitals signals and hands you the fix code.