How healthy is your website?
Check your site's security and setup for free. Create an account to monitor it and receive alerts.
Check your site Create a free account

yasen.lindeas.com

cached result from 2026-11-03 16:08:17 (2h ago) — fresh scan skipped to save resources
Run live check
yasen.lindeas.com: A few things need attention — a free account re-scans daily and alerts you if they turn into outages. The result stays on this page — sign up to save it and monitor it. Verified owners rescan on demand. Sign up
89/100
yasen.lindeas.com — Standard Security Checks
Recommendations (9)
Detected Technology
Web Server
Unknown Unknown
CDN
Unknown Unknown
Application
WordPress Probable
SSL Provider
Let's Encrypt Detected
Website
✓
HTTP
The HTTP endpoint redirects to HTTPS.
OK
›
Status
200
Response Time Ms
238
Redirect Count
1
Final Url
https://yasen.lindeas.com/
Content Type
text/html; charset=UTF-8
Redirects To Https
Yes
Enforces Https
Yes
Vantage
fedora-1 (87.120.125.249)
Redirect chain
301 http://yasen.lindeas.com/ → https://yasen.lindeas.com/
200 https://yasen.lindeas.com/
What this means

The server correctly redirects HTTP traffic to HTTPS.

Standards & references

RFC 9110 — HTTP semantics

Recommendation

No action required.

✓
HTTPS
The HTTPS endpoint is responding normally.
OK
›
Status
200
Response Time Ms
238
Redirect Count
0
Final Url
https://yasen.lindeas.com/
Content Type
text/html; charset=UTF-8
Vantage
fedora-1 (87.120.125.249)
What this means

The server returned a successful HTTP response.

Standards & references

RFC 8446 — TLS 1.3 · MDN — HTTPS

Recommendation

No action required.

www.yasen.lindeas.com — no DNS record detected. This is optional and does not affect the score.
i
Host Fingerprint
This host identifies itself through: page title "Arcane Lore | a direct publicism site, personal pages of Yasen Pramatarov"; generator "WordPress 7.0.8".
Info
›
Page Title
Arcane Lore | a direct publicism site, personal pages of Yasen Pramatarov
Generator
WordPress 7.0.8
What this means

The page a host serves — its title, generator meta, and the hostname it redirects to — usually names what software runs on it. For an IP address with no domain records, this is often the fastest way to tell what the host actually is.

Recommendation

No action required — this is informational identification, not a finding.

SSL / TLS
✓
SSL Certificate
Certificate is valid.
OK
›
TLS version ✓
TLSv1.3
Cipher suite ✓
TLS_AES_256_GCM_SHA384
Certificate chain ✓
Chain validates (3 certificates).
Revocation (OCSP) –
No OCSP responder in certificate (expected for Let's Encrypt and other CAs that use CRLs).
Certificate transparency ✓
SCTs present in certificate.
HSTS / preload –
Strong HSTS policy (max-age >= 180 days).
Valid
Yes
Expires
2027-02-01 09:01:28
Days Remaining
89
Issuer
YR1
Issuer Org
Let's Encrypt
Subject
yasen.lindeas.com
SAN
yasen.lindeas.com
Hostname Match
Yes
Key Type
RSA
Bits
2048
Signature Algorithm
RSA-SHA256
Chain Count
3
TLS Supported
Yes
Tls10 Supported
No
Tls11 Supported
No
Weak Cipher Accepted
No
Has Wildcard
No
What this means

HTTPS can establish a valid certificate for this domain.

Recommendation

No action required.

✓
TLS Version
TLSv1.3
OK
›
TLS Version
TLSv1.3
Tls10 Supported
No
Tls11 Supported
No
What this means

TLS 1.2 and 1.3 are the modern, secure protocol versions. Older versions (1.0, 1.1, SSLv3) have known vulnerabilities and are disabled here.

Recommendation

No action required.

✓
Cipher Suite
TLS_AES_256_GCM_SHA384
OK
›
Cipher Suite
TLS_AES_256_GCM_SHA384
Cipher Strength
Strong
Weak Ciphers Accepted
No
What this means

Strong cipher suites (AES-GCM, ChaCha20-Poly1305) protect against eavesdropping and tampering. Weak ciphers (RC4, DES, 3DES, CBC, NULL, EXPORT) are deprecated and prohibited by PCI DSS Req 4.2.1.

Recommendation

No action required.

✓
Certificate Chain
Chain validates (3 certificates).
OK
›
Chain Count
3
Chain Valid
Yes
What this means

The certificate chain is complete and validates against trusted root CAs.

Recommendation

No action required.

✓
Certificate Transparency
SCTs present in certificate.
OK
›
Has Ct
Yes
What this means

Certificate Transparency (CT) helps detect misissued certificates. Most modern CAs include Signed Certificate Timestamps (SCTs) by default.

Recommendation

No action required.

i
OCSP Revocation
No OCSP responder in certificate (expected for Let's Encrypt and other CAs that use CRLs).
Info
›
OCSP Status
No OCSP URL
What this means

OCSP (Online Certificate Status Protocol) checks whether a certificate has been revoked by the issuing CA before its expiration date. Some CAs (e.g. Let's Encrypt since 2025) no longer provide OCSP and use CRLs instead.

Standards & references

RFC 6960 — OCSP

Recommendation

No action required.

i
HSTS
Strong HSTS policy (max-age >= 180 days).
Info
›
Max-age
31536000s
IncludeSubDomains
yes
Preload directive
no
Preload-ready
no
Preload list
not listed
What this means

HSTS instructs browsers to always use HTTPS for the domain. A strong policy needs max-age >= 15552000 (180 days); preloading additionally requires max-age >= 31536000, includeSubDomains, and the preload directive.

i HSTS header is not preload-ready

The HSTS header is present but missing: preload.

Why it matters

HSTS preload requires all three directives. The current header provides some protection but is not eligible for browser preloading.

Fix steps
  1. Update the HSTS header to include all required directives.
  2. Ensure all subdomains support HTTPS before adding includeSubDomains.
nginx
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
Official documentation
DNS
✓
DNS A
Record found.
OK
›
Records
value=5.39.72.233 ttl=60
What this means

An A record maps the domain to an IPv4 address.

Standards & references

RFC 1035 — DNS A records

Recommendation

No action required.

i
DNS AAAA
No record found.
Info
›
What this means

An AAAA record maps the domain to an IPv6 address. IPv6 is recommended but not mandatory.

Standards & references

RFC 3596 — AAAA records

i Add an AAAA record for IPv6

No IPv6 AAAA record was found for the domain.

Why it matters

IPv6 is recommended for future-proofing but not mandatory. Many networks still work without it.

Fix steps
  1. Check if the web server has an IPv6 address.
  2. If so, add an AAAA record pointing to that address.
DNS record example
Name: @
Type: AAAA
Value: <your-public-IPv6>
TTL: 3600
Official documentation
✓
DNS NS
Record found.
OK
›
Records
value=ns2.dreamhost.com ttl=14400, value=ns1.dreamhost.com ttl=14400, value=ns3.dreamhost.com ttl=14400
What this means

NS records identify the authoritative nameservers for the domain.

Standards & references

RFC 1034 — nameserver records

Recommendation

No action required.

✓
DNS TTL
All record TTLs are within the usual range (60s–1 week).
OK
›
A
60s
TXT
60s
What this means

TTL controls how long resolvers cache a record. Very low TTLs increase DNS query load and defeat failover caching; very high TTLs delay migrations and disaster recovery.

Standards & references

RFC 2181 — TTL semantics

Recommendation

No action required.

!
DNS CAA
No CAA records — any certificate authority may issue certificates for this domain.
-3
Warning
›
What this means

CAA records restrict which certificate authorities can issue certificates for this domain, blocking unauthorized issuance (PCI DSS 4.2.1). Without them, any CA may issue.

Standards & references

RFC 8659 — CAA · PCI DSS v4.0

! Add CAA records

No CAA records were found for yasen.lindeas.com.

Why it matters

Without CAA records, any certificate authority may issue certificates for this domain. CAA restricts issuance to the CA(s) you name, blocking unauthorized or mistaken issuance — including from compromised or mis-operated CAs. Note: a CAA record on a parent domain (e.g. the zone apex) also covers this name.

Fix steps
  1. Check which CA issued your current certificate — the issuer is shown in the SSL certificate details, or via: echo | openssl s_client -connect yasen.lindeas.com:443 2>/dev/null | openssl x509 -noout -issuer
  2. Add a CAA issue record naming that CA (e.g. "letsencrypt.org", "digicert.com", "pki.goog") in your DreamHost DNS panel.
  3. Add a CAA issuewild record if wildcard certificates should be restricted too.
  4. Optionally add a CAA iodef record with a mailto: address to receive violation reports.
  5. If this is a subdomain, check whether a CAA record already exists at the zone apex — it applies to the whole tree.
Zone file example
; name  TTL   class type  flags tag        value
@       3600  IN    CAA   0     issue      "letsencrypt.org"
@       3600  IN    CAA   0     issuewild  "letsencrypt.org"
@       3600  IN    CAA   0     iodef      "mailto:security@yasen.lindeas.com"
i
DNSSEC
DNSSEC is not enabled — and DreamHost DNS does not offer it.
Info
›
Delegation Signed
No
Keys Published
No
DNS Provider
DreamHost (ns2.dreamhost.com)
What this means

DNSSEC cryptographically signs DNS records so resolvers can detect forged or poisoned answers (PCI DSS 4.1).

i DNSSEC unavailable at DreamHost — decide whether it matters

No DS or DNSKEY records were found for yasen.lindeas.com, and DreamHost's nameservers do not support DNSSEC signing.

Why it matters

DNSSEC cryptographically signs DNS responses so validating resolvers detect forged or poisoned answers. Unsigned zones can be spoofed by anyone able to inject DNS replies (PCI DSS 4.1).

Fix steps
  1. DreamHost does not offer DNSSEC on its DNS hosting — there is no switch to enable. Only DNS hosting is affected; web hosting can stay put.
  2. If you want DNSSEC: point the domain's nameservers at a provider that signs zones (Cloudflare is free and is a common choice for this), then publish the DS record at your registrar.
  3. Or accept the gap: unsigned zones resolve normally — DNSSEC adds spoofing resistance, not uptime. Many registrar/host bundles still ship without it.
  4. Optionally ask DreamHost to support it — several providers added DNSSEC after customer demand.
  5. Verify after any change with: dig +dnssec yasen.lindeas.com or dnsviz.net.
✓
DNS Wildcard
No wildcard records — nonexistent subdomains return NXDOMAIN.
OK
›
What this means

A wildcard record answers for every subdomain name that does not exist in the zone. It can mask subdomain takeover findings — a dangling CNAME and the wildcard catch-all resolve identically — and a wildcard MX accepts mail on arbitrary subdomains, making per-subdomain email validation meaningless.

Recommendation

No action required.

✓
DNS CNAME Chain
No CNAME aliases on the scanned names — they resolve directly.
OK
›
Yasen.lindeas.com
resolves directly (no CNAME)
What this means

Every CNAME hop costs the resolver an extra lookup before the final address arrives — deep chains add latency, and a chain that points back into itself never resolves, breaking the name entirely.

Recommendation

No action required.

✓
DNS Version Disclosure
No version disclosure — 3 nameserver(s) answered without revealing software version.
OK
›
What this means

Nameserver software often answers the CHAOS-class version.bind query with its exact version string. That hands fingerprint data to anyone asking — matching the server to known exploits and tracking unpatched infrastructure — while serving no operational purpose to visitors.

Recommendation

No action required.

✓
Subdomain Takeover
No dangling subdomains detected — 14 common names checked.
OK
›
Names Probed
14
Www.yasen.lindeas.com
no records
Mail.yasen.lindeas.com
no records
Dev.yasen.lindeas.com
no records
Staging.yasen.lindeas.com
no records
Test.yasen.lindeas.com
no records
Blog.yasen.lindeas.com
no records
Api.yasen.lindeas.com
no records
Admin.yasen.lindeas.com
no records
App.yasen.lindeas.com
no records
Cdn.yasen.lindeas.com
no records
Docs.yasen.lindeas.com
no records
Status.yasen.lindeas.com
no records
Beta.yasen.lindeas.com
no records
Demo.yasen.lindeas.com
no records
What this means

A subdomain pointing at a decommissioned third-party service can be claimed by anyone — the attacker then hosts arbitrary content under the domain's name: phishing pages that inherit its reputation, session-cookie theft when cookies are scoped to the parent domain, or malware delivery. Dangling CNAMEs are the most common cause; deleting the DNS record removes the risk entirely.

Recommendation

No action required.

Domain Registration
✓
Domain Registration
Domain is registered.
OK
›
Available
No
Registrar
DreamHost, LLC
Created
2005-09-07T08:38:54Z
Expires
2027-09-07T08:38:54Z
Days Remaining
307
Status
client transfer prohibited
Queried Domain
lindeas.com
What this means

Domain registration data was retrieved successfully.

Recommendation

No action required.

i
Hosting Network
The site's addresses are announced by AS16276 (OVH - OVH SAS, FR).
Info
›
5.39.72.233
AS16276 (OVH - OVH SAS, FR) · 5.39.0.0/17
What this means

A domain's A/AAAA answers are served from networks someone operates — the ASN and its owner name tell you who actually hosts the site, and the abuse contact is where reports about it land. Registered block owner and announcing AS can legitimately differ.

Recommendation

No action required — this is informational context.

Email
i
DNS MX
No record found.
Info
›
What this means

MX records specify which mail servers receive email for the domain.

Standards & references

RFC 5321 §5 — mail routing

Recommendation

This is optional and does not affect the score.

Web Security
!
Security Headers
1/6 recommended security headers are present.
-4
Warning
›
Strict-Transport-Security ✓
max-age=31536000; includeSubDomains
Content-Security-Policy ✗
Not set
X-Content-Type-Options ✗
Not set
Referrer-Policy ✗
Not set
Permissions-Policy ✗
Not set
Frame Protection ✗
Not set
Present
1/6
What this means

Security headers protect against XSS, clickjacking, MIME sniffing, and other common web vulnerabilities.

Standards & references

OWASP Secure Headers Project · PCI DSS v4.0

! Add missing security headers (1/6 present)

Missing: Content-Security-Policy, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, Frame Protection.

Why it matters

Security headers protect against XSS, clickjacking, MIME sniffing, and other common web vulnerabilities.

Fix steps
  1. Review the missing headers listed below and add the ones relevant to your site.
  2. Test the headers with curl -I after applying the changes.
nginx
add_header Content-Security-Policy "default-src 'self'";
add_header X-Content-Type-Options "nosniff";
add_header Referrer-Policy "strict-origin-when-cross-origin";
add_header Permissions-Policy "geolocation=(), microphone=(), camera=()";
add_header X-Frame-Options "SAMEORIGIN";
Apache
Header always set Content-Security-Policy "default-src 'self'"
Header always set X-Content-Type-Options "nosniff"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "geolocation=(), microphone=(), camera=()"
Header always set X-Frame-Options "SAMEORIGIN"
i
CSP Quality
No Content-Security-Policy header — nothing to grade.
Info
›
What this means

A Content-Security-Policy restricts which resources the browser may load and is one of the strongest defences against cross-site scripting (XSS).

Recommendation

Add a Content-Security-Policy header — see the Security Headers recommendation.

✓
CORS Policy
No CORS headers on the homepage — cross-origin reads are denied by default.
OK
›
Scope
homepage response only — other routes may differ
What this means

Cross-Origin Resource Sharing headers decide which websites may read this response in a visitor's browser. Reflected-origin misconfigurations need an intrusive probe to detect.

Recommendation

No action required. Add CORS headers only if other sites legitimately need to fetch this content.

✓
Cache Policy
Cache headers present — explicit policy, no risky combinations.
OK
›
Scope
homepage response only
Cache-control
no-cache
Etag
none
Last-modified
present
What this means

Cache-Control, ETag and Last-Modified tell browsers and shared caches what may be stored and for how long. Checked on the homepage response only — static assets may have a different policy.

Recommendation

No action required.

✓
Mixed Content
No insecure http:// resources found on the page.
OK
›
Active Resources
0
Passive Resources
0
What this means

HTTPS pages that load resources over plain HTTP expose users to tampering and downgrade attacks; browsers block active mixed content entirely.

Recommendation

No action required.

!
Subresource Integrity
Third-party subresources without integrity protection: 7 missing integrity.
-3
Warning
›
Third Party Subresources
7
With Integrity
0
Unprotected
7
Same Origin Subresources
4
script src
https://c0.wp.com/c/7.0.8/wp-includes/js/jquery/jquery.min.js
script src
https://c0.wp.com/c/7.0.8/wp-includes/js/jquery/jquery-migrate.min.js
script src
https://www.googletagmanager.com/gtag/js?id=G-XJYLZL7T9K
script src
https://stats.wp.com/e-202645.js
script src
https://c0.wp.com/p/jetpack/16.0.2/_inc/build/carousel/jetpack-carousel.min.js
link stylesheet
https://c0.wp.com/p/jetpack/16.0.2/_inc/blocks/swiper.css
link stylesheet
https://c0.wp.com/p/jetpack/16.0.2/modules/carousel/jetpack-carousel.css
What this means

Third-party scripts and stylesheets execute with your page's full privileges — if a CDN is compromised or its content swapped, injected code runs on your site. An integrity= hash makes the browser reject tampered resources (PCI DSS Req 6.4.3 requires an integrity mechanism for payment-page scripts).

! Add integrity attributes to third-party subresources

7 third-party script(s)/stylesheet(s) load without an integrity attribute.

Why it matters

Third-party code executes with the page's full privileges — a compromised CDN or swapped asset injects arbitrary JavaScript into your site. An integrity hash makes the browser verify the bytes and refuse tampered content (PCI DSS Req 6.4.3 requires an integrity mechanism for payment-page scripts).

Fix steps
  1. Compute a hash for each external resource: fetch it, run openssl dgst -sha384 -binary | openssl base64 -A.
  2. Add integrity="sha384-…" and crossorigin="anonymous" to the <script>/<link> tag — the crossorigin attribute is required for the check to run on cross-origin resources.
  3. Pin versioned URLs (e.g. lib@1.2.3/…js) — an integrity hash silently breaks the resource when a mutable "latest" URL changes content.
  4. Alternatively self-host the asset — same-origin resources do not need SRI.
Generate a sha384 integrity hash
curl -s https://cdn.example.com/lib.js | openssl dgst -sha384 -binary | openssl base64 -A
Tag with integrity enforced
<script src="https://cdn.example.com/lib@1.2.3/lib.js"
        integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC"
        crossorigin="anonymous"></script>
i
Cookie Security
1 cookie(s) (found at /wp-login.php) — missing: SameSite.
Info
›
Cookies
1
Secure
1/1
Httponly
1/1
Samesite
0/1
wordpress_test_cookie ✓ Secure ✓ HttpOnly ✗ SameSite
What this means

Secure and HttpOnly are set; only SameSite is absent. All major browsers treat a missing SameSite attribute as SameSite=Lax by default (RFC 6265bis), so cross-site requests already do not send these cookies — setting it explicitly documents intent and covers legacy clients.

i Add missing cookie security flags (SameSite)

1 cookie(s) — wordpress_test_cookie. Missing: SameSite.

Why it matters

Only the SameSite attribute is absent. All major browsers have treated a missing SameSite as SameSite=Lax by default since ~2020 (RFC 6265bis), so cross-site requests already do not send these cookies — this is low-priority hardening rather than an active vulnerability.

Fix steps
  1. Add SameSite=Lax to the Set-Cookie headers — modern browsers already enforce that default, so this mainly documents intent and covers legacy clients.
  2. Framework-issued cookies (e.g. WordPress test cookies) may be hard to change — check for a plugin or upstream option before custom code.
Set-Cookie example
Set-Cookie: session=abc123; Secure; HttpOnly; SameSite=Lax
nginx — edge stopgap (needs nginx ≥ 1.19.3)
# Rewrite flags onto every Set-Cookie passing through
proxy_cookie_flags ~ secure samesite=lax httponly;
Apache — edge stopgap
Header always edit Set-Cookie ^(.*)$ "$1; Secure; HttpOnly; SameSite=Lax"
✓
Information Disclosure
No information disclosure headers or behaviours detected.
OK
›
What this means

Revealing server versions, frameworks, directory listings, or verbose errors can help attackers choose exploits.

Standards & references

OWASP WSTG — info leakage

Recommendation

No action required.

✓
Debug Mode
No framework debug output or verbose error disclosure detected on the served pages.
OK
›
What this means

Debug mode and displayed errors leak stack traces, file paths, environment variables, and sometimes credentials — a map for attackers. The pages we fetched showed none of it.

Recommendation

No action required.

i
WAF / Bot Protection
No WAF or bot-mitigation layer detected in responses.
Info
›
What this means

A Web Application Firewall (WAF) or bot-mitigation layer filters traffic before it reaches the application — including automated scanners. Detection is informational and does not affect the score.

Standards & references

OWASP — Web Application Firewalls

Recommendation

No action required.

i
security.txt
No security.txt published.
Info
›
Url
https://yasen.lindeas.com/.well-known/security.txt
HTTP Status
404
What this means

A security.txt file gives security researchers a standard, machine-readable way to find your disclosure contact — so a real vulnerability report reaches you instead of landing in a public issue tracker or an abandoned inbox.

Recommendation

Publish /.well-known/security.txt over HTTPS with at least one Contact: URI (mailto: or a web form) and an Expires: timestamp — RFC 9116 defines the format; securitytxt.org has a generator.

i
HTTP Versions
The site answered over HTTP/1.1 only — no HTTP/2 or HTTP/3 detected.
Info
›
Negotiated
HTTP/1.1
What this means

HTTP/2 and HTTP/3 improve page load performance through multiplexing and lower latency. This check is informational and does not affect the score.

Standards & references

RFC 9113 — HTTP/2 · RFC 9114 — HTTP/3

i Enable HTTP/2

The site answered over HTTP/1.x — HTTP/2 was not negotiated.

Why it matters

HTTP/2 multiplexes many requests over one connection and compresses headers, which noticeably improves load times on pages with many resources. All modern browsers support it and fall back to HTTP/1.1 cleanly, so enabling it is safe. HTTP/3 (QUIC over UDP 443) is a further step — supported natively by Caddy and LiteSpeed, in nginx ≥ 1.25.1 via the ngx_http_v3 module, and by all major CDNs. Apache httpd has no stable HTTP/3 support; front it with a CDN or reverse proxy instead.

Fix steps
  1. Confirm HTTPS works — HTTP/2 is only negotiated over TLS (ALPN).
  2. Enable HTTP/2 on the TLS listener for every virtual host.
  3. Reload the server and verify with: curl -sI --http2 https://yasen.lindeas.com/ — look for "HTTP/2" in the status line.
Generic web server
Enable HTTP/2 on the HTTPS listener (it is negotiated via ALPN during the TLS handshake).
Consult your server's documentation for the exact directive — it is one line on nginx, Apache, Caddy, LiteSpeed and IIS.
SEO
!
SEO Basics
1 core SEO element(s) missing: meta description.
-1
Warning
›
Title tag ℹ
present but 73 chars — aim for ~10–60
Meta description ✗
missing
Viewport (mobile) ✓
declared
Indexable ✓
no noindex found
Crawler directives –
meta robots: max-image-preview:large · meta robots: index,follow
H1 heading ✓
exactly one
Canonical URL ℹ
not declared — dedup of www/http variants relies on redirects
Ignored meta tags ℹ
keywords — ignored by search engines, safe to remove
Response time ✓
238ms
Compression ✓
gzip
Title
Arcane Lore | a direct publicism site, personal pages of Yasen Pramatarov (73 chars)
What this means

Search engines index what the page itself declares: title and meta description shape the result snippet, the viewport tag signals mobile-readiness, and meta/X-Robots-Tag directives can quietly exclude the page from indexes entirely.

! Fill in the core SEO elements

Missing: Meta description; off-band: Title tag.

Why it matters

Title and meta description control the snippet searchers see — weak or missing ones mean low click-through even when the page ranks. A missing viewport tag fails Google's mobile-friendly requirement, and a missing/multiple h1 leaves the page's topic under-declared.

Fix steps
  1. Give the page a unique <title> of roughly 10–60 characters.
  2. Write a meta description of roughly 50–160 characters summarizing this page.
  3. Add <meta name="viewport" content="width=device-width, initial-scale=1"> in <head>.
  4. Use exactly one <h1> naming the page's subject.
HTML head — the core set
<title>Fresh pasta recipes — Nonna's Kitchen</title>
<meta name="description" content="Sixty handmade pasta recipes with step photos, from tagliatelle to ravioli.">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="canonical" href="https://example.com/recipes">
i
Content & Markup
Content signals are fine overall — 2 recommended item(s) flagged below.
Info
›
Visible text ✓
~3801 words
Heading hierarchy ✓
no level skips
Character encoding ✓
declared via Content-Type
Language attribute ✓
en-US
Image alt text ℹ
4 of 15 image(s) missing alt
Internal links ℹ
224 internal · 49 external — 2 internal link(s) still use http://
Favicon ✓
declared via <link>
Visible Words
~3801
Headings
h1×1 h2×13 h3×10
Images
4 of 15 missing alt
What this means

Search engines rank what they can read. Server-side text is the content they index — a page that ships an empty body for JavaScript to fill may index as blank, thin pages struggle to rank, and heading order plus language hints help crawlers (and screen readers) understand the page.

Recommendation

Optional: add alt text to the missing image(s); switch internal links to https:// or relative URLs.

✓
Social & Structured Data
Sharing and structured-data markup are in place.
OK
›
Structured data ✓
microdata attributes
Social cards ✓
Open Graph complete
hreflang –
none — needed only for multilingual sites
What this means

When the page is shared, Open Graph and Twitter Card tags decide the preview image and text — without them links render bare. Structured data (schema.org JSON-LD or microdata) makes pages eligible for rich results, but only blocks that actually parse count.

Recommendation

No action required.

i
Web Presence
External presence is thin — 1 recommended item(s) flagged below.
Info
›
Console verification ℹ
no DNS/meta verification found — a Google tag is present, so it may already be verified via Analytics/GTM
What this means

Search visibility compounds with presence: engines trust domains with crawl history, webmaster consoles are where crawl and index data lives, AI-crawler rules decide whether the site appears in AI answers, and third-party indexes are a floor-level check that the wider web sees the domain at all.

Recommendation

Optional: verify the domain in Google Search Console or Bing Webmaster Tools — a DNS TXT record or a <meta> tag in the page head takes minutes.

This scan sent 20 requests to yasen.lindeas.com (17 web · 3 dns probes) + 4 external lookups · scanned from vantage fedora-1 (87.120.125.249)how we keep scans polite