Persistent SEO report
simple-whois.app SEO analysis
Last analyzed:
Available again in 5:00
Score history
2 days · min 78 · max 100 · +22
Search snippet preview
simple-whois.app
Simple WHOIS: who owns a domain and when it expires
Check if a domain is taken, who it is registered through and when it expires. Get an email when it changes.
How this page can look in a result. Google may rewrite both lines.
URL
simple-whois.app
Status
200
Language
EN
HTML time
0.30s
HTML size
5.2 kB
Words
188
To-do, by priority
Fails first, then warnings. Tips are things this HTML fetch cannot see.
HSTS
Tells browsers to skip HTTP entirely on the next visit.
Content-Security-Policy
Limits which scripts, frames and connections the page may use.
Clickjacking
X-Frame-Options or CSP frame-ancestors stop other sites framing yours.
X-Content-Type-Options
nosniff stops the browser guessing MIME types for scripts and styles.
Word count
Very thin pages give crawlers little to rank. 300+ words is a useful floor, not a goal.
Title vs H1
Title and H1 should describe the same page. When they diverge, one of them is lying.
Compression
gzip/br/zstd shrink HTML on the wire. Uncompressed HTML is slower to crawl and to load.
Referrer-Policy
Controls how much of the URL leaks to the next site.
Measure Core Web Vitals from real visitors
This fetch cannot see LCP/FCP. Pintelly records them in the visitor's browser after you add the script.
Scan every page visitors actually load
This tool looks at one URL. SEO Insights scores each path from real traffic, with a to-do list.
Meta data
100%
TitlePass51 characters
+
51 characters
Simple WHOIS: who owns a domain and when it expires
Why it matters: This is the headline Google shows in search results.
Meta descriptionPass107 characters
+
107 characters
Check if a domain is taken, who it is registered through and when it expires. Get an email when it changes.
Why it matters: Google often uses this as the snippet under the title.
CanonicalPasshttps://simple-whois.app/
+
https://simple-whois.app/
Why it matters: Tells crawlers which URL is the one to index when duplicates exist.
Robots metaPassIndexable
+
Indexable
Why it matters: noindex removes the page from search. nofollow stops link equity flowing out.
LanguagePassen → eng
+
en → eng
Why it matters: html lang should match the actual text, or the page looks mis-targeted.
HreflangInfoNo hreflang links
+
No hreflang links
Why it matters: Tells Google which language/region variant to show. Optional on a single-language site.
CharsetPassutf-8
+
utf-8
Why it matters: Without UTF-8, titles and body text can render as mojibake in search.
DoctypePassHTML5
+
HTML5
Why it matters: HTML5 is the current doctype; older ones trigger quirks mode.
FaviconPass/favicon.ico
+
/favicon.ico
Why it matters: Shown in browser tabs and, on some SERPs, next to the URL.
ViewportPasswidth=device-width, initial-scale=1
+
width=device-width, initial-scale=1
Why it matters: Without it, mobile Google treats the page as a zoomed desktop layout.
Apple touch iconPassPresent
+
Present
Why it matters: Used when someone saves the page to their home screen. Optional.
Open GraphPass9 tags
+
9 tags
Why it matters: Controls the title, description and image when the URL is pasted into Slack, iMessage, LinkedIn.
Twitter cardPass1 tags
+
1 tags
Why it matters: Same idea as Open Graph, for X. Optional if og: tags already exist.
Social tags
- og:url
- https://simple-whois.app/
- og:type
- website
- og:image
- https://simple-whois.app/og.png
- og:title
- Simple WHOIS: who owns a domain and when it expires
- og:image:alt
- Is it taken? Check any domain from your browser, terminal or AI assistant.
- og:site_name
- Simple WHOIS
- og:description
- Check if a domain is taken, who it is registered through and when it expires. Get an email when it changes.
- og:image:width
- 1200
- og:image:height
- 630
- twitter:card
- summary_large_image
Page quality
89%
Word countWarning188 words
+
188 words
Why it matters: Very thin pages give crawlers little to rank. 300+ words is a useful floor, not a goal.
What to do
Write the substance a visitor actually needs — padding does not help.
ReadabilityInfoeasy · 77 · avg sentence 8.95
+
easy · 77 · avg sentence 8.95
Why it matters: A rough Flesch score of this HTML text. Not a ranking factor on its own.
Stop-word ratioInfo27.7%
+
27.7%
Why it matters: A descriptive signal, not a penalty. High function-word ratio usually just means natural language.
Title vs H1WarningH1 barely overlaps the title
+
H1 barely overlaps the title
Why it matters: Title and H1 should describe the same page. When they diverge, one of them is lying.
What to do
Reuse the important words from the title in the H1.
Title words in bodyPassUsed in the body
+
Used in the body
Why it matters: If the title promises a topic the body never mentions, the snippet oversells the page.
Lists and paragraphsInfo0 lists · 8 paragraphs
+
0 lists · 8 paragraphs
Why it matters: Lists and short paragraphs are a structure signal for both people and extractors.
Image alt textPassAll have alt (0)
+
All have alt (0)
Why it matters: Alt is what Google and a screen reader have when the image does not load.
Image dimensionsPassDimensions set
+
Dimensions set
Why it matters: width and height on <img> reduce layout shift. Optional for this HTML-only check.
FramesPassNo frames
+
No frames
Why it matters: Framesets hide content from crawlers and break the back button.
Deprecated HTMLPassNone found
+
None found
Why it matters: <font>, <center>, <marquee> are relics. They do not help SEO and they age the page.
Mixed contentPassNone
+
None
Why it matters: HTTP images or scripts on an HTTPS page get blocked and look untrustworthy.
Email addressesPass0
+
0
Why it matters: Raw emails in HTML get harvested. Not an SEO fail — a spam risk.
Page structure
100%
H1PassIs it taken?
+
Is it taken?
Why it matters: One H1 should name the page. Zero or five both confuse the outline.
Heading orderPass4 headings
+
4 headings
Why it matters: Skipping from H1 to H3 (or H2 to H4) breaks the document outline.
Structured dataInfoNo JSON-LD
+
No JSON-LD
Why it matters: Valid JSON-LD can unlock rich results. Missing JSON-LD is not an error. Invalid JSON-LD is.
Heading outline
- H1Is it taken?
- H2Check without the website
- H3Make it a one-word command
- H3Ask your AI assistant
Links
100%
Empty anchorsPassAll have text
+
All have text
Why it matters: A link with no text (and no image) is invisible to people and weak for crawlers.
Generic anchorsPassNone
+
None
Why it matters: "Click here" / "read more" waste the ranking signal of the link.
Duplicate anchorsPassNone
+
None
Why it matters: The same visible text pointing at two URLs makes the label ambiguous.
Dynamic parametersPassClean internal URLs
+
Clean internal URLs
Why it matters: Internal links with ?utm or session ids create duplicate URLs.
target=_blankPassSafe
+
Safe
Why it matters: A new-tab link without rel=noopener gives the opened page a handle on yours.
Link countsInfo6 internal · 0 external · 0 nofollow
+
6 internal · 0 external · 0 nofollow
Why it matters: A count, not a verdict. Useful to see if the page is a dead end or a link farm.
Server
94%
HTTPSPassHTTPS
+
HTTPS
Why it matters: Chrome and Google treat HTTP as not secure. Ranking and trust both suffer.
Status codePass200
+
200
Why it matters: Only 2xx (and a clean redirect to 2xx) should be the URL you want indexed.
CompressionWarningUncompressed
+
Uncompressed
Why it matters: gzip/br/zstd shrink HTML on the wire. Uncompressed HTML is slower to crawl and to load.
What to do
Enable compression on the server or CDN.
HTML response timePass0.30s
+
0.30s
Why it matters: How long our fetch waited for the HTML. Not your visitors' LCP — that needs real traffic.
HTML sizePass5.2 kB
+
5.2 kB
Why it matters: A huge HTML document is slow to parse. Images and JS are usually the real weight.
Redirect hopsPassNo redirect
+
No redirect
Why it matters: Each extra hop wastes crawl budget and slows the first HTML byte.
HTTPS on the chainPassHTTPS
+
HTTPS
Why it matters: A hop from HTTPS back to HTTP is a downgrade. HTTP should land on HTTPS.
Final statusPass200
+
200
Why it matters: The URL you want indexed should end on 2xx.
Temporary redirectsPassPermanent or none
+
Permanent or none
Why it matters: 302/307 on a host or scheme change look accidental. 301/308 are the permanent codes.
SSL
100%
HTTPSPassHTTPS
+
HTTPS
Why it matters: Search and browsers treat HTTP as not secure.
Trusted certificatePassTrusted
+
Trusted
Why it matters: An untrusted chain is a browser warning, not a ranking bonus.
Name matches hostPasssimple-whois.app
+
simple-whois.app
Why it matters: The certificate must cover this hostname (CN or SAN), including wildcards.
ExpiryPass85 days
+
85 days
Why it matters: An expired cert is an interstitial. Under 30 days is a calendar problem.
Self-signedPassCA-signed
+
CA-signed
Why it matters: A leaf that signs itself is not trusted by browsers.
Certificate chainPass5 certificates
+
5 certificates
Why it matters: The server must send intermediates. A missing WE1/GTS link is the usual 'works on my machine, fails on mobile' install bug.
Signature algorithmPassecdsa-with-SHA384
+
ecdsa-with-SHA384
Why it matters: SHA-1 and MD5 signatures are rejected by current browsers.
Public keyPassec · 256 bit · prime256v1
+
ec · 256 bit · prime256v1
Why it matters: RSA below 2048 bits, or a tiny curve, is too weak.
Negotiated protocolPassTLSv1.3 · h2 · TLS_AES_256_GCM_SHA384
+
TLSv1.3 · h2 · TLS_AES_256_GCM_SHA384
Why it matters: What this handshake actually spoke. A modern client will pick 1.2 or 1.3 when the server offers them.
IssuerInfoLet's Encrypt / YE1
+
Let's Encrypt / YE1
Why it matters: Who signed the leaf. Informational.
- CN
- simple-whois.app
- Issuer
- Let's Encrypt / YE1
- Remaining
- 85d
- TLS
- TLSv1.3 · h2
- Key
- ec 256 bit
- Cipher
- TLS_AES_256_GCM_SHA384
Security headers
36%
HSTSErrorNo HSTS
+
No HSTS
Why it matters: Tells browsers to skip HTTP entirely on the next visit.
What to do
Send Strict-Transport-Security with max-age of at least 15552000 (180 days).
Content-Security-PolicyErrorNo CSP
+
No CSP
Why it matters: Limits which scripts, frames and connections the page may use.
What to do
Start with default-src 'self' and add the origins you actually need. Avoid unsafe-inline if you can.
ClickjackingErrorMissing
+
Missing
Why it matters: X-Frame-Options or CSP frame-ancestors stop other sites framing yours.
What to do
Send X-Frame-Options: DENY (or SAMEORIGIN), or frame-ancestors in CSP.
X-Content-Type-OptionsErrorMissing
+
Missing
Why it matters: nosniff stops the browser guessing MIME types for scripts and styles.
What to do
Send X-Content-Type-Options: nosniff.
Referrer-PolicyWarningMissing
+
Missing
Why it matters: Controls how much of the URL leaks to the next site.
What to do
strict-origin-when-cross-origin is a sound default.
Permissions-PolicyInfoNot set
+
Not set
Why it matters: Restricts camera, geolocation, and similar APIs. Optional.
Cross-Origin-Opener-PolicyInfoNot set
+
Not set
Why it matters: Isolates the browsing context from window.opener. Optional.
Cross-Origin-Resource-PolicyInfoNot set
+
Not set
Why it matters: Stops other sites embedding this response. Optional.
X-XSS-ProtectionPassNot set
+
Not set
Why it matters: Deprecated. Modern browsers ignore it; a leftover 1; mode=block can cause issues.
X-Powered-ByPassNot sent
+
Not sent
Why it matters: Advertises the stack to scanners. Not a ranking factor.
ServerInfocloudflare
+
cloudflare
Why it matters: Often a version string. Informational fingerprint.
Indexability
100%
robots.txtPassNot blocked
+
Not blocked
Why it matters: If this path is disallowed, Google will not index it no matter how good the tags are.
sitemap.xmlPassIn sitemap
+
In sitemap
Why it matters: Being listed helps discovery. Not being listed is not fatal for a linked page.
Get this report by email on a schedule, with what changed since last time.

