How to use this tool
Site is OK? — User Guide
1. Getting Started
Site is OK is a website infrastructure health checker. It scans any domain for common issues across HTTP, HTTPS, SSL certificates, DNS, email configuration (SPF/DMARC/DKIM), mail server blacklist reputation, domain registration, and security headers — then gives you a score out of 100.
You can run a check without an account. Just type a domain name and click Analyze.
Creating a free account lets you save domains, track their scores over time, and get a dashboard overview.
↑ Back to top
2. Running Checks
Quick check (no account needed)
- Enter a domain name like
example.com in the search box on the home page.
- Click Analyze or press Enter.
- The scan is enqueued to run in the background. A spinner page shows progress and automatically redirects to the results when the scan is complete. This keeps the site fast and prevents request timeouts for complex scans.
From the dashboard (account required)
- Go to My Domains in the top navigation.
- Click any domain row to view its latest results.
- If the domain has been checked before, you'll see the cached result. Click Run live check to scan it again — you can force a re-scan once every 60 seconds for the same domain.
Tip: You don't need to type https:// or www. — just the domain name is enough.
↑ Back to top
3. Understanding Results
Score
The overall score (0–100) reflects the health of your domain across all checked categories:
- 0–39 (Red): Serious problems — site may be down, SSL broken, or DNS misconfigured.
- 40–54 (Orange): Multiple issues that should be addressed.
- 55–69 (Yellow): Some issues present, but the site is generally functional.
- 70–84 (Light Green): Minor issues only.
- 85–100 (Green): Everything looks good.
Check Categories
- HTTP — Is the site reachable over HTTP? Does it redirect to HTTPS?
- HTTPS — Is HTTPS working? Is it enforced?
- SSL Certificate — Is the certificate valid? When does it expire? Who issued it? Does the hostname match?
- DNS — Are A, AAAA, MX, and NS records present?
- SPF — Does the domain have an SPF record for email authentication?
- SPF Validation — Validates the SPF record for multiple records (RFC violation), policy strictness (
~all vs -all), and DNS lookup count (max 10 per RFC 7208).
- DMARC — Does the domain have a DMARC policy? Analyzes policy strength (
p=none/quarantine/reject), subdomain policy (sp=), DKIM/SPF alignment mode (adkim=/aspf=), reporting addresses (rua=/ruf=), enforcement percentage (pct=), and validates external report URI authorization (_report._dmarc TXT record) per RFC 7489.
- DKIM — Does the domain have a DKIM record? Common selector patterns are probed (default, google, s1, s2, etc.). Since DKIM selectors are custom, a "not found" result does not necessarily mean DKIM is not configured.
- MTA-STS — Does the domain have an MTA-STS policy? Checks for a DNS TXT record at
_mta-sts. and fetches the policy file at https:///.well-known/mta-sts.txt. MTA-STS enforces TLS for inbound mail to prevent downgrade attacks.
- TLS-RPT — Does the domain have a TLS-RPT record? Checks for a DNS TXT record at
_smtp._tls.. TLS-RPT specifies where receiving mail servers should send daily reports about TLS delivery failures, and pairs naturally with MTA-STS.
- BIMI — Does the domain have a BIMI record? Checks for a DNS TXT record at
default._bimi.. BIMI (Brand Indicators for Message Identification) allows brand logos to appear in recipients' inboxes. It extracts the logo URL (l=) and VMC authority URL (a=), and notes that BIMI requires DMARC enforcement at p=quarantine or p=reject.
- Autodiscover / Autoconfig — Checks for
autodiscover. CNAME/A record (Microsoft Outlook) and autoconfig. A record (Mozilla Thunderbird). These DNS records allow email clients to automatically discover incoming/outgoing server settings, simplifying setup for users.
- MX Resolution — Validates that each MX target hostname resolves to at least one A or AAAA record. Unresolvable MX hostnames will cause email delivery failures, as sending mail servers cannot connect to a host with no IP address.
- MX PTR (Reverse DNS) — For each MX IP address, checks that a PTR (reverse DNS) record exists and resolves back to the MX hostname. Missing or mismatched PTR records are a common cause of email being rejected or marked as spam by receiving mail servers.
- Blacklist (RBL) — Are mail server IPs listed on common DNS-based blacklists (Spamhaus, SpamCop, SORBS, Barracuda, UCEPROTECT)? Only checked when MX records exist.
- Domain Registration — Who is the registrar? When does the domain expire?
- Security Headers — Are recommended security headers (HSTS, X-Frame-Options, etc.) present?
- Cookie Security — Are cookies set with
Secure, HttpOnly, and SameSite attributes? Missing flags expose session cookies to interception, XSS theft, and cross-site request forgery (CSRF). PCI DSS Req 6.5.10.
- Sensitive Files — Probes for exposed sensitive files like
.git/, .env, backup.sql, .htaccess, composer.json, wp-config.php, xmlrpc.php, phpinfo.php, .svn/, .DS_Store. Exposed files can leak credentials, source code, and configuration. PCI DSS Req 2.2.
- Backup Files — Probes for backup and temporary file variants (
.bak, .old, .orig, .swp, ~, .save, .tmp) of known files like index.php, .env, config.json, wp-config.php. These files often contain source code or credentials left behind by editors or deployment processes.
- Information Disclosure — Flags HTTP headers that reveal server or framework versions (
Server, X-Powered-By, X-AspNet-Version, X-Runtime, X-Version, X-Generator), enabled directory listings, and verbose error pages. These leaks help attackers choose exploits. PCI DSS Req 2.2.
Intrusive Checks
Some checks are marked ⚠ Intrusive because they actively probe the target server by requesting many paths (e.g. .git/HEAD, .env, index.php.bak). These checks are not run by default and are completely separated into their own ⚠ Intrusive tab. The scan page has two tabs — Standard and ⚠ Intrusive — placed above the scan input. Standard scans run by default; intrusive checks are a separate, manual action.
To run intrusive checks, first scan a domain in the Standard tab, then switch to the ⚠ Intrusive tab. Intrusive checks require a free account and a domain saved to My Domains — anonymous users cannot see or run them, and logged-in users can only see or run them for domains in their dashboard. A confirmation dialog explains the risks (extra requests, server stress, and the possibility that our scanner may be firewalled or blocked by WAF/CDN providers) and requires explicit consent before proceeding. Results appear in the same tab with a separate Intrusive Security score (out of 100) and categorized check sections with icons, similar to the standard scan.
Intrusive checks include:
- Sensitive Files & Backup Files — probes for exposed source, backup, and temporary files.
- SMTP Banner Consistency — connects to mail servers on port 25 with a 5-second timeout and checks whether the advertised SMTP banner hostname matches the MX record. Mismatched banners can trigger spam filters.
- SMTP EHLO Capabilities — connects to mail servers on port 25, sends an EHLO handshake, and parses the response for supported SMTP extensions (STARTTLS, 8BITMIME, PIPELINING, SIZE, DSN, ENHANCEDSTATUSCODES). Missing STARTTLS is flagged because it prevents opportunistic TLS between mail servers.
Intrusive checks can trigger WAF alerts or rate limits on the target server, which may result in our scanner being firewalled or blocked. Only run these on domains you own or have permission to test. If our scanner gets blocked because of your scans, your account and anything connected to it may be banned from the site.
Intrusive checks are never run by scheduled (cron) checks — they are always a manual, one-time action. Intrusive results are stored separately from standard checks, so they persist independently. Cached intrusive results are only shown to logged-in users for domains saved to their dashboard.
Technology Detection
The tool also detects what technologies your site is built with (CMS, web server, etc.). Detected technologies are shown with a confidence badge:
- Detected — Confirmed presence based on headers or content.
- Probable — Likely present based on indirect signals.
- Unknown — Could not determine.
Recommendations
At the top of the results, you'll see a summary of recommendations — actionable items sorted by severity. Click any recommendation to jump to the relevant check section for details.
↑ Back to top
4. Account & Authentication
Registration
- Click Sign in / Register in the top right.
- Switch to the Register tab.
- Enter your email and a password (minimum 8 characters).
- Confirm your password and click Create Account.
- You'll be automatically logged in and redirected to the home page.
Login
- Click Sign in / Register.
- Enter your email and password.
- Click Sign In.
Password Reset
- On the sign-in page, click Forgot password?.
- Enter your email address.
- If email sending is enabled, a reset link is emailed to you. Otherwise, the link is shown on screen.
- Click the link, enter a new password (twice), and submit.
- You'll be redirected to the sign-in page with a success message.
Invited Users (Admin-Created Accounts)
- An admin can create an account for you by entering your email in the Admin Panel.
- You receive an email with a setup link (expires in 7 days).
- Clicking the link takes you to a Create Password page (not "Reset Password") — the system detects you're a new invitee because you've never logged in.
- Enter your password (twice), submit, and you'll be redirected to sign in.
- If the link expires, an admin can resend the invite or re-invite you from the Admin Panel.
Email Verification
- When you register, a verification link is sent to your email (if email sending is enabled).
- Click the link to verify your email address.
- Unverified accounts see a warning on the Account Settings page with a Resend verification email button.
- Some features may be limited until your email is verified.
Account Settings
Click your email in the top right to access the Account Settings page, where you can:
- View account info — see your email address and verification status.
- Change email — enter a new email address and your current password. A verification link is sent to the new address; the email is not switched until you confirm via that link.
- Change password — enter your current password and a new one (minimum 8 characters). The new password must be different from the current one.
- Security (2FA) — enable two-factor authentication using an authenticator app (Google Authenticator, Authy, etc.). Scan a QR code to set up, verify with a 6-digit code, and save the backup codes for emergency access. When 2FA is enabled, you'll need a code from your app in addition to your password to sign in. You can disable 2FA at any time with your password. Security emails are sent when 2FA is enabled, disabled, or when a backup code is used to sign in. Available on Pro and Business plans only.
- Security (Passkeys) — register a passkey (Touch ID, Face ID, Windows Hello, or a security key) to sign in without a password. You can add multiple passkeys from different devices and remove them anytime. On the login page, click "Sign in with Passkey" to authenticate instantly using your device's biometrics. Falls back to password (and 2FA if enabled) when no passkey is available. Available on all plans.
- Notifications — control which alerts you receive (SSL, domain, DNS, site down), choose digest vs immediate delivery, and optionally set a different notification email address.
- Display — choose your time zone, locale, 12/24-hour time format, and preferred date format. These settings are used for timestamps in the dashboard and in email reports.
- Export data — download all your data (account info, saved domains, full check history) as a JSON file.
- Delete account — permanently delete your account and all associated data. Requires your password and typing DELETE to confirm. This cannot be undone.
- Resend verification — if your email is not verified, request a new verification link.
- Log out — sign out of your account on this device.
Logout
- Click your email in the top right to go to Account Settings.
- Click Log out at the bottom of the page.
↑ Back to top
5. Saved Domains & Dashboard
Adding a domain
- Go to My Domains.
- Type a domain name in the input field and click Add Domain.
- The domain appears in your list with a "Not checked yet" status.
- Multiple users can save and monitor the same domain independently — each user has their own check history, alerts, and change tracking for that domain.
Checking a saved domain
- Click any domain row in the dashboard to view its latest results.
- If it has been checked before, you'll see the cached result immediately.
- If it has never been checked, a live check will run automatically.
Removing a domain
- Click the Remove button on the right side of the domain row.
- Confirm the removal. All saved check history for that domain will also be deleted.
Score badges
Each domain in the dashboard shows a colored score badge on the right:
- Red, orange, yellow, green, or dark green — matching the score scale described above.
- A grey dash (—) means the domain hasn't been checked yet.
- A small ↑ or ↓ next to the domain name indicates the score improved or dropped since the previous check.
Fleet Summary & Filters
At the top of the dashboard, a summary bar shows how many of your domains are healthy, warning, or critical, plus your average score across all checked domains. Use the filter tabs (All / Critical / Warning / Healthy) to quickly find domains that need attention. Domains are automatically sorted by urgency — critical issues appear first.
Graphs & Trends
Click the Graphs button on any domain to view visual trends over time:
- Uptime timeline — green/red bar chart showing up/down status for each check.
- Response time — line chart of how fast the server responds (in milliseconds).
- Security score — line chart of the 0–100 score over time.
- SSL days remaining — countdown chart showing how many days until the SSL certificate expires.
Charts use server-rendered SVG — no JavaScript libraries — so they load instantly and work everywhere. The graphs page also shows an uptime percentage and average response time summary at the top.
Alert indicators
When issues are detected during scheduled checks, alert badges appear next to the domain name:
- Site down (red) — both HTTP and HTTPS endpoints are not responding.
- DNS broken (red) — no A records found for the domain.
- SSL expires Nd — SSL certificate expires in N days. Shows in orange when ≤30 days, red when ≤7 days.
- Domain expires Nd — domain registration expires in N days. Shows in orange when ≤60 days, red when ≤7 days.
Email notifications use escalation tiers so you get reminded as the deadline approaches:
SSL at 30, 14, 7, and 1 day(s); domain at 60, 30, 14, 7, and 1 day(s). Each tier crossing sends a new email.
These indicators update automatically after each scheduled check. Click the domain row to see full details.
↑ Back to top
6. Cached vs Live Checks
To avoid repeatedly pinging servers, the tool uses a caching system:
- Cached check: When you open a domain, the tool loads the most recent saved result from the database. A grey banner at the top says "cached result from [timestamp]" so you know it's not fresh. The page never re-scans just because you loaded it.
- Live check: Click Run live check in the cache banner, or Analyze on the home page, to request a fresh scan. The new result is saved to the database, updating the cache.
- Anonymous CAPTCHA: Anonymous users can run a few live checks freely. After that, an image CAPTCHA appears in a modal when they click Analyze or Run live check. Signing in removes the CAPTCHA.
- Never checked: If a domain has no cached result, the tool only runs an automatic live check for logged-in users who have that domain saved in their dashboard. For everyone else, no scan happens automatically; use the Analyze button to start one.
Note: Live checks take a few seconds because they connect to your server from multiple angles (HTTP, HTTPS, SSL, DNS, RDAP). Cached results load instantly.
↑ Back to top
7. Email Alerts
When email sending is enabled, the system sends automatic alerts for issues detected during scheduled checks:
- SSL expiring — certificate expires in 14 days or fewer.
- Domain expiring — domain registration expires in 30 days or fewer.
- DNS broken — no A records found for the domain.
- Site down — both HTTP and HTTPS endpoints are not responding.
- Blacklisted (RBL) — mail server IP is listed on a DNS-based blacklist (Spamhaus, SpamCop, SORBS, Barracuda, UCEPROTECT).
Alerts are sent at most once per domain per alert type within a 24-hour window to avoid duplicate notifications. You'll receive an email at the address registered on your account.
Notification Preferences
You can customize how alerts are delivered from the Account Settings → Notifications section:
- Per alert type — enable or disable each alert type individually (SSL, domain, DNS, site down, blacklist).
- Per domain — silence alerts for individual domains from the My Domains dashboard using the 🔔/🔇 toggle button.
- Digest mode — choose immediate delivery, or batch non-critical alerts into a daily or weekly digest email. Site down and DNS broken alerts are always sent immediately regardless of digest mode.
- Notification email — optionally send alerts to a different email address than your account email.
Deliverability: To ensure emails reach your inbox (not spam), make sure the sending domain has SPF, DKIM, and DMARC DNS records configured. Check your spam/junk folder if you don't receive expected emails, and mark them as "not spam" to whitelist the sender.
↑ Back to top
8. Plans & Tiers
There are three plans available. The plan determines how many domains you can save and monitor:
- Free — 1 domain, $0/month. Perfect for monitoring a single personal site.
- Pro — 20 domains, $5/month (or $50/year). For freelancers and small businesses managing multiple sites.
- Business — 100 domains, $25/month (or $250/year). For businesses and agencies managing many client domains.
Anyone can scan any domain for free without an account. The tier limit only affects how many domains you can save for ongoing monitoring.
Plan details and prices are on the Pricing page; once signed in, your current plan, domain usage, and billing history are on the Billing page. You can upgrade, switch, or cancel your subscription at any time. Payments are processed securely via our payment provider.
When you reach your domain limit, the Add Domain form is disabled and an upgrade prompt appears on the My Domains dashboard.
Upgrading (Free → Paid): Click the "Upgrade" button on any paid plan card, choose monthly or yearly billing, and complete checkout on our payment provider's secure page.
Switching plans (Paid → different Paid): If you already have an active subscription, clicking "Switch to" or "Upgrade to" on another plan triggers an instant plan switch — no checkout page. The proration is handled automatically: upgrades charge the prorated difference immediately, downgrades refund unused time. You can switch plans at most once every 6 hours.
Cancelling: Use the "Cancel Subscription" button in the Manage Subscription section. Your subscription remains active until the end of the current billing period, then your account is automatically downgraded to the Free plan.
You will receive a confirmation email from us for each billing event: new subscription, plan switch, and cancellation. (Our payment provider also sends their own receipt and refund emails.)
Paid subscriptions have an expiration date. If your subscription expires or is cancelled, your account is automatically downgraded to the Free plan (1 domain). If you have more than 1 domain saved, the extra domains remain in your list but you won't be able to add new ones until you upgrade again.
Pro and Business plans also include change history — a timeline of what changed between checks for each domain (SSL issuer, DNS records, security headers, score, and more). Click the "History" button on any domain in your dashboard to view it.
The Business plan also includes weekly email reports — every Monday you receive a summary of all your monitored domains: current scores, SSL/HTTP/HTTPS/DNS status, any expiring certificates or domains, and all changes detected in the past 7 days. The report is sent to your notification email (or account email if no override is set).
↑ Back to top
9. FAQ
Do I need an account?
No. You can run one-off checks without registering. An account is only needed to save domains and track them over time.
Is my data shared?
No. Your account and saved domains are private. Check results are stored only for your reference.
How often should I check my domains?
Saved domains are checked automatically once a day via a scheduled job. You can also run a live check manually at any time from the dashboard or the scan page. Email alerts are sent automatically when issues like SSL expiration, domain expiration, DNS problems, or site downtime are detected.
The score changed between checks — why?
Scores reflect real-time conditions. SSL certificates expire, DNS records change, servers go down temporarily. A lower score on a live check vs a cached one usually means something changed since the last check.
My domain shows "no DNS records found"
This means the domain doesn't exist or has no DNS configured. Double-check the spelling — make sure you entered the domain without http:// or paths.
↑ Back to top