Security and HTTPS Checklist
Secure your site for users, search engines, and AI agents. HTTPS is a confirmed ranking signal, and security breaches can lead to manual actions and deindexing. These 13 checks cover the full security stack including DNS-over-HTTPS.
Why Security Matters for SEO
HTTPS has been a confirmed ranking signal since 2014. Browsers mark non-HTTPS sites as "Not Secure," destroying trust before a user reads a single word. Security breaches can lead to manual actions, malware warnings, and complete removal from search results.
In 2026, security also affects AI search. AI agents verify TLS certificates before rendering content. An expired certificate or mixed content warning can prevent AI systems from accessing your page entirely.
Sources
- Google has used HTTPS as a ranking signal since 2014, Google Search Central HTTPS announcement.
Secure vs Insecure Site
The 13 Security Checks
Ranked by security impact and SEO relevance.
| # | Check | Category | Impact | Difficulty |
|---|---|---|---|---|
| 1 | Install and maintain valid SSL certificate | SSL | Critical | Easy |
| 2 | Force HTTPS with 301 redirect | SSL | Critical | Easy |
| 3 | Fix mixed content errors | SSL | Critical | Medium |
| 4 | Implement HSTS header | Headers | High | Easy |
| 5 | Add Content-Security-Policy | Headers | High | Hard |
| 6 | Add X-Content-Type-Options header | Headers | Medium | Easy |
| 7 | Add X-Frame-Options header | Headers | Medium | Easy |
| 8 | Add Referrer-Policy header | Headers | Medium | Easy |
| 9 | Add Permissions-Policy header | Headers | Low | Medium |
| 10 | Use modern TLS version (1.2+) | SSL | High | Medium |
| 11 | Submit to HSTS preload list | Headers | Medium | Easy |
| 12 | Monitor GSC Security & Manual Actions | Monitoring | Critical | Easy |
Deep Dive: Every Check Explained
Implementation guides with code examples for all 12 security checks.
1 Install and Maintain a Valid SSL Certificate
Use a free certificate from Let's Encrypt or your hosting provider. Ensure it covers your root domain and all subdomains (wildcard or SAN). Set up auto-renewal. Check expiry dates monthly.
# Check SSL certificate details openssl s_client -connect yourdomain.com:443 \ -servername yourdomain.com 2>/dev/null \ | openssl x509 -noout -text | grep -A2 "Validity" # Install Certbot (Let's Encrypt) sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com # Test auto-renewal sudo certbot renew --dry-run
2 Force HTTPS with 301 Redirect
All HTTP traffic must redirect to HTTPS with a permanent 301 redirect. Every request to http:// and https:// non-canonical versions should resolve to your chosen HTTPS canonical URL.
# Nginx: force HTTPS
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
return 301 https://www.yourdomain.com$request_uri;
}
# Apache .htaccess
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] 3 Fix Mixed Content Errors
Mixed content occurs when an HTTPS page loads HTTP resources. Modern browsers block mixed content entirely, breaking page functionality. Use the CSP upgrade-insecure-requests directive to fix this automatically.
# Content-Security-Policy: auto-upgrade HTTP to HTTPS add_header Content-Security-Policy "upgrade-insecure-requests" always; # Find mixed content with curl curl -s https://www.yourdomain.com | grep -i 'src="http://\|href="http://'
4 Implement HSTS (HTTP Strict Transport Security)
HSTS tells browsers to always connect via HTTPS, preventing downgrade attacks and SSL stripping. Set max-age of at least one year and include subdomains.
# Nginx: HSTS configuration add_header Strict-Transport-Security \ "max-age=31536000; includeSubDomains; preload" always; # Apache .htaccess Header always set Strict-Transport-Security \ "max-age=31536000; includeSubDomains; preload" # Verify HSTS header curl -I https://www.yourdomain.com | grep -i strict
5 Add Content-Security-Policy (CSP)
CSP prevents XSS attacks by controlling which resources can load on your page. Start with a restrictive policy and relax as needed. CSP also fixes mixed content via upgrade-insecure-requests.
# Recommended CSP for most sites add_header Content-Security-Policy " default-src 'self'; script-src 'self' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' https: data:; font-src 'self' https://fonts.gstatic.com; frame-src 'self' https://www.youtube.com; form-action 'self'; upgrade-insecure-requests; " always;
6 Add X-Content-Type-Options Header
Prevents MIME type sniffing, which can be used for script injection attacks. The nosniff directive tells the browser to trust the server-declared content type.
add_header X-Content-Type-Options "nosniff" always;
7 Add X-Frame-Options Header
Prevents clickjacking by controlling whether your site can be loaded in an iframe. SAMEORIGIN allows iframes on the same domain only.
add_header X-Frame-Options "SAMEORIGIN" always;
8 Add Referrer-Policy Header
Controls how much referrer information is sent with requests. strict-origin-when-cross-origin is the recommended default for balancing analytics with privacy.
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
9 Add Permissions-Policy Header
Controls which browser APIs your site can access. Disable unused permissions for better privacy and security.
add_header Permissions-Policy \ "geolocation=(), microphone=(), camera=(), payment=(), usb=()" always;
10 Use Modern TLS Versions
Disable TLS 1.0 and 1.1 (both deprecated). Enable TLS 1.2 and 1.3 only. Modern TLS improves security and connection speed.
# Nginx: modern TLS configuration ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256; ssl_prefer_server_ciphers off; ssl_ecdh_curve prime256v1:secp384r1;
11 Submit to HSTS Preload List
Submit your domain to the HSTS preload list at hstspreload.org. Browsers include a hardcoded list of HSTS-only sites, ensuring HTTPS is always used even on the first visit.
12 Implement DNS-over-HTTPS (DoH)
DNS-over-HTTPS encrypts DNS queries to prevent eavesdropping and manipulation. While not a direct ranking signal, DoH improves privacy, security, and can speed up DNS resolution. Modern browsers and operating systems support DoH natively. For SEO, DoH ensures that DNS queries related to your site cannot be intercepted or manipulated, preserving the integrity of your traffic and protecting against DNS-based attacks that could harm your search presence.
# What is DNS-over-HTTPS and why it matters for SEO # DoH encrypts DNS queries using HTTPS, preventing: # - DNS spoofing/cache poisoning attacks # - ISP-level DNS hijacking # - Man-in-the-middle DNS interception # # How to test if your DNS uses DoH: curl -s https://dns.google/resolve?name=yourdomain.com&type=A # Enable DoH in browsers (user-side): # Chrome: Settings > Privacy > Use secure DNS # Firefox: Settings > Network Settings > Enable DNS over HTTPS # Edge: Settings > Privacy > Use secure DNS # # Server-side: Use a DNS provider that supports DoH # Cloudflare: 1.1.1.1 (supports DoH) # Google: 8.8.8.8 (supports DoH) # Quad9: 9.9.9.9 (supports DoH)
13 Monitor GSC Security and Manual Actions
Check Google Search Console weekly for security issues and manual actions. A manual action can remove your site from search results entirely until the issue is fixed and reviewed.
Common Security Mistakes
Errors that leave your site vulnerable or affect SEO.
Bad Practice vs Best Practice
Security Tools
Tools to audit and monitor your site security.
securityheaders.com
Audits all security headers and gives a letter grade (A+ to F). Shows exactly which headers are missing.
FreeSSL Labs
Deep SSL/TLS configuration analysis. Certificate chain, protocol support, cipher strength.
FreeWhy No HTTPS?
Checks for mixed content and HTTPS configuration issues across your entire site.
FreeHSTS Preload List
Submit your domain to the HSTS preload list for built-in browser HTTPS enforcement.
FreeGoogle Search Console
Security Issues and Manual Actions reports for site-wide security monitoring.
FreeMozilla Observatory
Comprehensive security audit including headers, TLS, and best practices scoring.
FreeDetectify
Automated web application security scanning with continuous monitoring and domain takeovers detection.
PaidRelated Checklists
Keep exploring the technical SEO series. Every checklist follows the same structure.
CDN, Caching, and Hosting
HTTPS and TLS delivery happen at the hosting and CDN layer.
E-E-A-T and Entities
HTTPS and a safe browsing status are baseline trust signals.
Site Migrations
Certificate and security headers often break during migrations.
Redirects and Status Codes
HTTP to HTTPS redirects are the most important redirects you run.
Crawlability
Secure, crawlable infrastructure is the shared foundation.
Schema Markup
Trust and structure work together for rich results.
Need Technical SEO Help?
Get professional SEO audit services and technical SEO solutions from Clienvora. Our expert team delivers measurable results for businesses of all sizes.
Free consultation. Get a personalized technical SEO audit for your website today. Or download the full checklist PDF.
Frequently Asked Questions
Common questions about security and SEO.
Yes, HTTPS has been a confirmed ranking signal since 2014. Google also uses HTTPS as a tiebreaker when two pages are otherwise equal.
Mixed content is when an HTTPS page loads HTTP resources (images, scripts, iframes). Browsers block these resources, breaking page functionality and hurting user experience. This can lead to higher bounce rates and lower rankings.
Security headers are HTTP response headers that protect against common attacks. The most important for SEO are HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, and Permissions-Policy.
Yes. AI agents verify TLS certificates before rendering content. An expired certificate or misconfigured security headers can prevent AI systems from accessing your page entirely.
DNS over HTTPS (DoH) encrypts DNS queries to prevent eavesdropping and manipulation. While not a direct ranking signal, DoH improves security and privacy for your users. It ensures DNS queries to your site cannot be intercepted, protecting against DNS spoofing and hijacking that could harm traffic and search presence.
Monthly. Set up auto-renewal with Let's Encrypt or your certificate provider. Use monitoring tools to alert you before expiry. An expired certificate makes your site completely inaccessible.