Kortaga Public Engineering Specification · Marked Public Blueprint

Public Blueprint: Kortaga Website Check · Public: yes (kortaga, check.kortaga.com)

Kortaga Website Check: Public Blueprint & Hourly Domain Watch

An owner whose website stopped opening or stopped bringing calls types their domain at check.kortaga.com and reads, in plain words, what is wrong, the exact evidence on the home page, and the first step to fix it for free. This page publishes the blueprint we build and test against.

Coming Soon · Hourly Domain Watch

Hourly domain watch on the same single-request specification

A one-time check catches what is broken today; an accidental noindex tag after a plugin update, an expired TLS certificate, or a broken booking script usually happens while the owner is working elsewhere. We are extending this blueprint with an opt-in hourly domain watch:

1. The function

An owner types their domain at check.kortaga.com and reads, in plain words, what is wrong (the domain lapsed, DNS points nowhere, the server is down, hosting is suspended, Wix has no site connected, WordPress shows a database or critical error, scripts or stylesheets 404, the page slides sideways on a phone, a noindex or wrong canonical tag hides the site from Google, or the page reads like an unedited starter template) and the first thing to do, linked to the matching free repair guide when one is live. Free, no account, and nothing asked but the domain.

2. Enumerated cases (C1 through C13)

  1. Case 01
    Only a public hostname. What is typed is reduced to a hostname. An IP address, a port, a single-label name, or a suffix reserved for private networks is refused in words before any network request is sent.
  2. Case 02
    What one check sends out. One A query to Cloudflare's public DNS resolver (and one AAAA query only when A is empty), followed by one GET of https://<domain>/ and at most five redirect hops inside one 8-second ceiling, reading at most 200 KB of HTML and probing up to 3 critical same-page scripts or stylesheets. Private or reserved DNS answers are reported and never fetched.
  3. Case 03
    Nothing kept, with two rate-limit budgets before DNS. The response body is inspected in memory and dropped: no visitor database, no log line, no cookie. Results cache for 60 seconds per domain. Per visitor: 10 checks per minute per address (IPv6 counted by /64) before any DNS lookup. Per server: 3 fetches per minute per resolved IP so a loop over many names on one server cannot hammer a host.
  4. Case 04
    Redirects followed safely to the landing page. Each redirect hop passes the same public-hostname and private-IP gate as the first address. The final page is read as the home page, and the answer names where the redirect chain ended. Loops and chains past five hops are reported clearly.
  5. Case 05
    A security screen is not called an outage. When a site's bot screen or rate limiter answers with a challenge page, the check reports that the server answered and turned our automated request away rather than falsely calling the site down.
  6. Case 06
    Links only to live repair guides. Every finding gives the first repair step inline on the card and links only to deployed, verified step-by-step repair guides.
  7. Case 07
    Escaped output and kept out of search indexes. User input and HTML evidence snippets are strictly HTML-escaped. Every domain result page sends noindex (both meta tag and X-Robots-Tag header) and Cache-Control: no-store.
  8. Case 08
    Phone-first instrument layout. At 390px phone width, the page has zero horizontal scroll and every input and button meets a 44px minimum height.
  9. Case 09
    Visual and navigational disasters ranked first. Flags primary buttons and navigation links wired to href="#" or javascript:void(0), broken images, dead form actions, unlabeled icon controls, fixed pixel widths causing phone sideways scroll, and tiny unreadable font sizes.
  10. Case 10
    Search red flags. Flags accidental noindex tags or headers, rel="canonical" links pointing at a different domain or staging host, empty client-side JavaScript shells with no initial text, and unedited starter titles.
  11. Case 11
    Transport, contact, security, and hygiene. Flags missing tap-to-call tel: links when a phone number is printed in plain text, missing document language or image alt attributes, outdated jQuery 1.x/2.x bundles, stale copyright years, and client-side secret key prefixes visible in page source (redacting the key tail immediately).
  12. Case 12
    Explainable starter-template and vibe-coded detector. Separates custom pages and established CMS builds (WordPress, Wix, Squarespace, Shopify, Bootstrap, Preline) from unedited AI starter templates using a 3-spot marked preview and three plain-English sentences, calibrated with zero false alarms across our 25-site benchmark and 24-case fixture suite.
  13. Case 13
    One-click copy of findings and shareable report link. When a check finds a fault, the card includes buttons to copy the plain-text summary and repair steps or the shareable report URL straight to the clipboard.

3. How it fails and how you know

4. What was studied