SSL certificate checker
Validates your SSL certificate and warns when fewer than 30 days remain.
What TMOD checks
- That the site is served over HTTPS and the certificate is valid for the hostname requested.
- Certificate expiry, with a warning raised when fewer than 30 days remain.
- Whether the certificate chain is complete, a missing intermediate certificate works in some browsers and fails in others, which is the hardest TLS problem to notice.
- Whether HTTP requests redirect to HTTPS, checked separately by the canonicalization engine.

Why it matters
HTTPS has been a ranking signal since 2014 and a browser requirement in practice for years. A site without it is marked Not Secure in the address bar, which is visible to every visitor before they read anything.
For AdSense, HTTPS is effectively mandatory. Ad serving over an insecure connection is blocked or degraded, and mixed content, secure pages loading insecure resources, breaks ads specifically while often leaving the rest of the page looking fine.
The 30-day expiry warning exists because certificate expiry is an outage, not a degradation. An expired certificate makes the whole site unreachable behind a full-page browser interstitial. Automated renewal is normal now and it still fails more often than people expect, usually silently, in a cron job nobody is watching.
How to fix it
01Use automated renewal and verify it works
Let's Encrypt with certbot, or whatever your host provides, is free and automatic. Setting it up is not the same as confirming it renews, check that a renewal has actually happened at least once before trusting it.
02Serve the full chain
If some visitors report certificate errors and you cannot reproduce them, a missing intermediate certificate is the usual cause. Browsers with a cached intermediate succeed while fresh ones fail. Configure the server to serve the full chain file, not just the leaf certificate.
03Redirect HTTP to HTTPS permanently
A 301 from http to https on every URL. Without it both versions are reachable, which is a duplicate-content problem as well as a security one.
04Fix mixed content after switching
Once on HTTPS, any resource still loaded over http is blocked. Update hardcoded http URLs in your content, theme and database, old image URLs inside post content are the usual survivors. Mixed-content detection runs on every crawled page for exactly this reason.
What a certificate proves and what it does not
A standard certificate proves two things: the connection is encrypted, and the server you reached controls the hostname you asked for. That is all, and it is enough for a content site. It says nothing about who runs the site, whether the business is real, or whether the content is trustworthy, which is why a padlock has never been a trust badge and why phishing sites have valid certificates too.
Organisation and extended validation certificates add checks on the legal entity behind the domain, and browsers stopped showing that distinction prominently years ago. For a publisher, they buy nothing a free certificate does not already provide. Where money changes hands and a compliance requirement names them, that is a different decision, and it is a legal one rather than a technical one.
The upgrade worth making instead is HSTS, which tells browsers to refuse plain http for your domain in future. It closes the gap where the very first request goes out unencrypted before your redirect answers, and unlike a certificate upgrade it costs one header. Add it after you are confident every subdomain is on https, because it applies to all of them and it is deliberately hard to undo.

Renewal is the entire job
Certificates are short-lived now, typically 90 days, on the reasoning that anything renewed that often has to be automated. The automation is reliable and the things around it are not, which is why expiry remains a common outage on otherwise well-run sites.
The failures are consistent. The renewal job runs on a server that was replaced. Port 80 gets firewalled off, and the challenge that proves domain control cannot complete. DNS moves to a new provider and the API credentials for the DNS challenge are never updated. A CDN sits in front and serves its own cached certificate while the origin renews happily behind it. In every case the renewal fails quietly and the site keeps working, right up to the day it does not.
So treat the 30-day warning here as the monitoring rather than the nuisance, confirm at least one renewal has actually completed before trusting the setup, and check the full chain is served rather than the leaf alone. And when a certificate does move, re-check that the sitemap lists https URLs and that the handshake is not adding latency from a badly placed origin.
It works on my machine, and only there
The certificate problems worth a walkthrough are the ones you cannot reproduce, and the most common is the incomplete chain. A fraction of visitors report security warnings, you check on your own browser and everything is fine. What happened: the server is sending only the site's own certificate, without the intermediate certificate that links it to a trusted root. Browsers that have seen that intermediate before have it cached and connect happily; a fresh install, an older Android device or a command-line client fails with an unable to verify message. The fix is configuration, serve the full chain file instead of the leaf alone, and the reason it survives so long is that the person who could fix it is the least likely to ever see it.
The second mystery is the name mismatch after a change nobody connected to certificates. The site standardises on www, or adds a shop subdomain, and the certificate covers example.com alone. Browsers refuse outright with a name error. A certificate is only valid for the names listed in it, so the fix is reissuing with every hostname you serve listed, which automated issuers do free provided you ask for both names.
The third involves a CDN, where TLS terminates in two places. The visitor's connection ends at the edge with the CDN's certificate, and the CDN connects onward to your origin with yours. Either can expire independently: an origin certificate lapses and the site stays up until the edge cache misses, or the edge certificate misbehaves while your origin tests clean. When a certificate problem appears on a proxied site, check both hops before concluding anything.
All three are invisible from the inside, which is the argument for testing from the outside. An external probe, this one or any TLS checker, sees the chain as served, the names as listed and the days remaining, with no cache to flatter the result. After any certificate change it is also worth re-running the wider technical pass, because the http to https redirect and the mixed-content scan cover the two ways a protocol change quietly multiplies URLs. If you want to see what the probe sees with your own eyes, any browser will show the served chain in the certificate viewer behind the padlock icon, and openssl s_client -connect yourdomain.com:443 prints it in a terminal: the names covered, the issuer, the dates, and whether the intermediate arrived. Reading it once demystifies every mystery above.
Questions
Is a free certificate as good as a paid one?
For encryption, identical. A Let's Encrypt certificate provides exactly the same TLS security as an expensive one, and browsers treat them the same. Paid certificates offer organisational validation and warranties that matter for banking and commerce; for a content site they buy nothing a free certificate does not already provide.
My certificate is valid but the checker warns about expiry.
That is the 30-day warning and it is informational. The certificate works today. It exists so that a renewal failure surfaces while you still have a month to fix it, rather than as a site-wide outage on the day it lapses.
I switched to HTTPS and my traffic dropped.
That usually means the migration was incomplete rather than that HTTPS hurt you. Check that every HTTP URL 301s to its HTTPS equivalent, that canonical tags point at HTTPS, that the sitemap lists HTTPS URLs, and that the HTTPS property is registered in Search Console, it is treated as a separate site there.
Do I need a wildcard certificate?
Only if you run many subdomains or create them dynamically. For the normal case of a site plus www, a standard certificate listing both names is simpler, and automated issuers handle it without extra steps. Wildcards require DNS-based validation, which means giving your renewal tooling access to DNS records, one more thing that can silently break. There is no trust or ranking difference between the two; choose by how many names you actually serve.
What actually happens the day a certificate expires?
Every visitor gets a full-page browser warning instead of your site, and clicking through it is deliberately difficult, so traffic effectively drops to zero within hours. Crawlers back off too. The recovery is quick once the certificate is renewed, days rather than months, but the outage is total while it lasts, which is why the 30-day warning here is worth treating as an alarm rather than a note.
Read more
Screaming Frog, Ahrefs and Sitebulb for AdSense readiness
The big SEO crawlers are better at technical auditing than any AdSense tool. They are also scoped to a different question. Here is where the line falls.
Search Console vs a site crawler, and what each one cannot tell you
One reports what Google decided about your site. The other inspects what your site actually serves. Neither answers the other's questions.
The robots.txt lines that quietly block ad crawlers
Blocking Mediapartners-Google costs you ad revenue while the site keeps ranking normally, so nothing looks wrong. Here is how to read the file.