https://typesafe.ai scored 88 out of 100 (B+) across 203 checks, with 2 outright failures and 29 warnings. Jev typed the page as saas_product.
On the four questions that decide AI-answer visibility: machines partly discover the pages (0.55), clearly yes parse and quote the content (0.88), partly tell who the business is (0.52), and only weakly find signals to trust it (0.23).
The area with the most to gain is credibility signals. Worth doing this quarter rather than immediately.
At least one finding needs a human specialist rather than a generated file.
| scored checks | 124 of 203 total. The rest are context (info) or not applicable to this page type. |
|---|---|
| rest on a source | 92 of 124 scored checks rest on a standard, a vendor requirement or vendor documentation. |
| our invention or proxy | 32 scored checks are our own threshold or an adjacent measurement. They are listed below and marked OUR-INVENTION or PROXY. |
| policy corrections | 6 check(s) were adjusted by evidence policy from what the module asserted. Each is recorded with its reason in the JSON. |
| standing | check we still score |
|---|---|
| COMMUNITY-CONVENTION | llms.txt is present aeo.llms_present |
| COMMUNITY-CONVENTION | Markdown/plain-text page variant offered aeo.md_variant |
| COMMUNITY-CONVENTION | Accept: text/markdown negotiation honored aeo.accept_markdown |
| COMMUNITY-CONVENTION | Content served without a consent cookie aeo.cookie_free |
| COMMUNITY-CONVENTION | Schema.org structured data present aeo.schema_types |
| OUR-INVENTION | FAQ/Q&A block present in HTML aeo.faq_block |
| OUR-INVENTION | Paragraphs are short (median word count) aeo.para_median |
| OUR-INVENTION | Opening paragraph is a direct answer (<60 words) aeo.direct_answer |
| OUR-INVENTION | Only one meta description meta.description.duplicate |
| OUR-INVENTION | Below-the-fold images lazy-load images.lazy |
| OUR-INVENTION | Page has internal links links.internal |
| OUR-INVENTION | No empty anchor text anchors.empty |
| OUR-INVENTION | Outbound links carry appropriate rel links.external_rel |
| OUR-INVENTION | Open Graph tags are complete og.complete |
| OUR-INVENTION | og:image is absolute with dimensions og.image_abs |
| OUR-INVENTION | Twitter card is configured twitter.card |
| OUR-INVENTION | Character encoding is declared meta.charset |
| OUR-INVENTION | Viewport meta is set meta.viewport |
| OUR-INVENTION | No deprecated HTML tags html.legacy_tags |
| OUR-INVENTION | Inline styles/scripts are minimal maintainability.inline |
| OUR-INVENTION | Apple touch icon is declared icons.apple_touch |
| PROXY | Page has substantive content aeo.content_length |
| PROXY | Definition/summary present in the first screen aeo.first_screen |
| PROXY | HTTP Last-Modified header present aeo.http_last_modified |
| PROXY | Author page is reachable aeo.author_page |
| PROXY | Social profile links present aeo.social_links |
| PROXY | External links are followed aeo.external_nofollow |
| PROXY | Sentence length is reasonable aeo.sentence_length |
| PROXY | H1 topic terms appear in the first paragraph aeo.h1_in_first_paragraph |
| PROXY | No repeated sentences aeo.duplicate_sentences |
| PROXY | No repeated headings aeo.duplicate_headings |
| PROXY | Alt text is descriptive aeo.alt_text_quality |
| known limits | Off-page drivers are the strongest known influence on AI citation and this tool cannot see them: brand web mentions correlate about 0.664 with AI Overview visibility against 0.218 for backlinks, and AI-perceived domain authority is reported as roughly 6x more influential than any page-level feature. Reddit and forum presence shapes AI answers but is not a property of the audited page. Per-engine citation monitoring needs the engine's own reporting (Search Console's generative AI report, Bing's AI Performance) rather than a fetch. |
|---|
| page type | saas_product · decided by jev · 910.5 ms · 911 input tokens · jev-1.13.0 |
|---|---|
| transactional | False |
| FAQ natural here | True |
| content-primary | False |
| not applicable | none, every check applied to this page type |
| title | Home - TypeSafe AI (18 chars) |
|---|---|
| meta description | TypeSafe AI is an AI lab building machine-native intelligence infrastructure for automation, designed to make decisions within software. Try our first System One Model, Jev, in early access. |
| words | 827 |
| h1 count | 2 |
| links | 24 total, 16 internal |
| images | 22 |
| structured data | 0 block(s): none |
| result | severity | check | wt |
|---|---|---|---|
| fail | medium | Images use modern formatsVENDOR-DOCUMENTED Technical & Delivery web.dev and MDN guidance, security header specs 17/22 unoptimised; e.g. https://framerusercontent.com/images/ub9RBlmGZ0n3brL8IMauQjE23o.png?width=409...; https://framerusercontent.com/images/XFb8UYrphxzo3oDjnsjiEEnkczg.png?width=40...; https://framerusercontent.com/images/xfYFVnZ38Ftcb2Kkwzm7Rxk4ro.png?width=409... Convert the bulk of raster images to WebP or AVIF. | 1.5 |
| fail | medium | Framing is controlledVENDOR-DOCUMENTED Technical & Delivery web.dev and MDN guidance, security header specs No X-Frame-Options or CSP frame-ancestors; clickjacking is possible. x-frame-options and frame-ancestors both absent Send X-Frame-Options: DENY or CSP frame-ancestors 'none'. | 1.5 |
| result | severity | check | wt |
|---|---|---|---|
| warn | medium | Definition/summary present in the first screenPROXY AEO Content & Trust adjacent measurement unless listed below First 2 paragraphs carry only 3 words — little to lift for a direct answer. TypeSafe AI Open with a 1-2 sentence definition or summary of the topic. | 3.0 |
| warn | medium | Topic vocabulary is echoed in the answer contentVENDOR-DOCUMENTED AEO Content & Trust prompt-content alignment was the dominant on-page lever 1/6 distinctive title/H1 terms reappear in the answering content; missing: took, opposite, research, direction, home. (Proxy: token overlap for semantic prompt-content alignment.) found: typesafe | missing: took, opposite, research, direction, home Echo the page's own topic terms in the lead and answer paragraphs. | 2.0 |
| warn | medium | Viewport meta is correctVENDOR-DOCUMENTED Technical & Delivery web.dev and MDN guidance, security header specs Viewport present but missing width=device-width or initial-scale. width=device-width Use <meta name="viewport" content="width=device-width, initial-scale=1">. | 2.0 |
| warn | low | H1 topic terms appear in the first paragraphPROXY AEO Content & Trust adjacent measurement unless listed below The opening paragraph does not reuse the H1's key terms. H1: We took the opposite research direction vs first paragraph: TypeSafe AI Reflect the H1 topic in the lead sentence. | 1.5 |
| warn | low | JSON-LD structured data is presentVENDOR-DOCUMENTED Structured Data structured data is recommended, never required in order to rank No JSON-LD was found. Google does not require structured data in order to rank; it is recommended and can enable rich results. no <script type=application/ld+json> blocks in the raw HTML Add a JSON-LD block (Organization and WebSite at minimum). | 1.5 |
| warn | low | Third-party script domains are limitedVENDOR-DOCUMENTED Technical & Delivery web.dev and MDN guidance, security header specs events.framer.com, framerusercontent.com | 1.5 |
| warn | low | DOM size is reasonableVENDOR-DOCUMENTED Technical & Delivery web.dev and MDN guidance, security header specs 1686 elements Trim widget-heavy markup. | 1.5 |
| warn | medium | Content-Security-Policy is setVENDOR-DOCUMENTED Technical & Delivery web.dev and MDN guidance, security header specs No CSP; XSS payloads have no allow-list to run against. content-security-policy absent Ship a restrictive Content-Security-Policy. | 1.5 |
| warn | low | 404 page is a styled HTML pageVENDOR-DOCUMENTED Technical & Delivery web.dev and MDN guidance, security header specs 404 has a title but no obvious navigation back into the site. HTTP 404; title present, nav absent Add nav/links to the 404 template. | 1.5 |
| warn | medium | Schema.org structured data presentCOMMUNITY-CONVENTION AEO Infrastructure community practice unless listed below No JSON-LD / microdata schema types found. absence check: nothing matching this test was found on the page (see the detail line for what was searched) Add JSON-LD (Article, WebPage, FAQPage, Product, ...). | 1.0 |
| warn | low | Alt text is descriptivePROXY AEO Content & Trust adjacent measurement unless listed below 22 of 22 image(s) have empty or filename-style alt text. (empty alt), (empty alt), (empty alt), (empty alt), (empty alt) Describe images in alt text instead of leaving filenames. | 1.0 |
| warn | medium | No empty anchor textOUR-INVENTION On-page SEO our thresholds unless listed below Links with no visible text are invisible to users and crawlers. 3 empty anchor(s), e.g. href="./" Give every link visible text, or an aria-label/title. | 1.0 |
| warn | low | Cache max-age is saneVENDOR-DOCUMENTED Technical & Delivery web.dev and MDN guidance, security header specs A sub-5-minute TTL on the HTML document defeats most caching. max-age=0 Raise max-age for cacheable documents. | 1.0 |
| warn | low | Charset is declaredVENDOR-DOCUMENTED Technical & Delivery web.dev and MDN guidance, security header specs Charset declared in a <meta> tag but not the Content-Type header. charset=utf-8 (meta) Add charset to the Content-Type header too. | 1.0 |
| warn | low | Third-party iframes are limitedVENDOR-DOCUMENTED Technical & Delivery web.dev and MDN guidance, security header specs www.unicorn.studio | 1.0 |
| warn | low | Referrer-Policy is setVENDOR-DOCUMENTED Technical & Delivery web.dev and MDN guidance, security header specs Absent; the browser default (strict-origin-when-cross-origin) applies. referrer-policy absent | 1.0 |
| warn | low | Permissions-Policy is setVENDOR-DOCUMENTED Technical & Delivery web.dev and MDN guidance, security header specs Absent; powerful browser features are open to any frame. permissions-policy absent | 1.0 |
| warn | low | Web app manifest is linkedVENDOR-DOCUMENTED Technical & Delivery web.dev and MDN guidance, security header specs no manifest link Add <link rel="manifest" href="/manifest.webmanifest">. | 1.0 |
| warn | low | llms.txt is presentCOMMUNITY-CONVENTION AEO Infrastructure A proposal by Answer.AI, not a standard of any body. Google has stated it does not use it. No /llms.txt. llms.txt is a community proposal (llmstxt.org), not a standard of any standards body, and Google has stated it does not use it; its effect on citations is unproven. HTTP 404 Publish /llms.txt as text/plain with a summary and key links if you want to support this community convention. | 0.5 |
| warn | medium | Markdown/plain-text page variant offeredCOMMUNITY-CONVENTION AEO Infrastructure text/markdown is IANA-registered but no fetch contract is documented No .md / index.md variant returns markdown or plain text. https://typesafe.ai/index.md -> HTTP 404 (text/html; charset=utf-8) Serve a .md or /index.md mirror, or honor Accept: text/markdown. | 0.5 |
| warn | low | FAQPage structured data presentVENDOR-DOCUMENTED AEO Infrastructure the FAQ rich result is retired; the schema.org type remains valid No FAQPage schema; without it, an answer engine must infer Q&A pairs. (no schema types) Add FAQPage JSON-LD for the questions this page answers. | 0.5 |
| warn | low | XML feed availableSTANDARDS-BACKED AEO Infrastructure feed format is standard; the citation benefit is not documented No XML feed found in <link> tags or at the usual paths. absence check: nothing matching this test was found on the page (see the detail line for what was searched) Publish an RSS or Atom feed and link it from the page head. | 0.5 |
| warn | low | No repeated headingsPROXY AEO Content & Trust adjacent measurement unless listed below 1 heading(s) repeat verbatim. x2: open roles Deduplicate repeated headings. | 0.5 |
| warn | low | Outbound links carry appropriate relOUR-INVENTION On-page SEO our thresholds unless listed below Outbound links that are paid or untrusted should be nofollow/sponsored. 8/8 outbound link(s) are followed (no rel) Add rel="nofollow" or rel="sponsored" where appropriate. | 0.5 |
| warn | low | og:image is absolute with dimensionsOUR-INVENTION On-page SEO our thresholds unless listed below Social platforms need an absolute URL and known dimensions to render the image immediately. https://framerusercontent.com/images/RtIGTDwO43jR4ZDilesXiR5znc.jpg (missing og:image:width/height) Use an absolute https URL and add og:image:width/height. | 0.5 |
| warn | low | Inline styles/scripts are minimalOUR-INVENTION On-page SEO our thresholds unless listed below Heavy inline styling/scripting bloats HTML and blocks caching. 11 inline script(s), 9 <style> block(s), 916 style attr(s) Move styles/scripts to external, cacheable files. | 0.5 |
| warn | low | og:image dimensions are declaredVENDOR-DOCUMENTED Structured Data schema.org and Google structured data docs og:image:width / og:image:height are missing. absence check: nothing matching this test was found on the page (see the detail line for what was searched) Add og:image:width and og:image:height. | 0.5 |
| warn | low | security.txt is publishedVENDOR-DOCUMENTED Technical & Delivery web.dev and MDN guidance, security header specs No security.txt; security researchers have no contact route. /.well-known/security.txt and /security.txt both absent Publish /.well-known/security.txt per RFC 9116. | 0.5 |
| warn | low | theme-color meta is setVENDOR-DOCUMENTED Technical & Delivery web.dev and MDN guidance, security header specs no theme-color meta Add <meta name="theme-color" content="#...">. | 0.5 |
| result | severity | check | wt |
|---|---|---|---|
| fail | medium | Images use modern formatsVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs 17/22 unoptimised; e.g. https://framerusercontent.com/images/ub9RBlmGZ0n3brL8IMauQjE23o.png?width=409...; https://framerusercontent.com/images/XFb8UYrphxzo3oDjnsjiEEnkczg.png?width=40...; https://framerusercontent.com/images/xfYFVnZ38Ftcb2Kkwzm7Rxk4ro.png?width=409... Convert the bulk of raster images to WebP or AVIF. | 1.5 |
| fail | medium | Framing is controlledVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs No X-Frame-Options or CSP frame-ancestors; clickjacking is possible. x-frame-options and frame-ancestors both absent Send X-Frame-Options: DENY or CSP frame-ancestors 'none'. | 1.5 |
| warn | medium | Viewport meta is correctVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs Viewport present but missing width=device-width or initial-scale. width=device-width Use <meta name="viewport" content="width=device-width, initial-scale=1">. | 2.0 |
| warn | low | Third-party script domains are limitedVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs events.framer.com, framerusercontent.com | 1.5 |
| warn | low | DOM size is reasonableVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs 1686 elements Trim widget-heavy markup. | 1.5 |
| warn | medium | Content-Security-Policy is setVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs No CSP; XSS payloads have no allow-list to run against. content-security-policy absent Ship a restrictive Content-Security-Policy. | 1.5 |
| warn | low | 404 page is a styled HTML pageVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs 404 has a title but no obvious navigation back into the site. HTTP 404; title present, nav absent Add nav/links to the 404 template. | 1.5 |
| warn | low | Cache max-age is saneVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs A sub-5-minute TTL on the HTML document defeats most caching. max-age=0 Raise max-age for cacheable documents. | 1.0 |
| warn | low | Charset is declaredVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs Charset declared in a <meta> tag but not the Content-Type header. charset=utf-8 (meta) Add charset to the Content-Type header too. | 1.0 |
| warn | low | Third-party iframes are limitedVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs www.unicorn.studio | 1.0 |
| warn | low | Referrer-Policy is setVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs Absent; the browser default (strict-origin-when-cross-origin) applies. referrer-policy absent | 1.0 |
| warn | low | Permissions-Policy is setVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs Absent; powerful browser features are open to any frame. permissions-policy absent | 1.0 |
| warn | low | Web app manifest is linkedVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs no manifest link Add <link rel="manifest" href="/manifest.webmanifest">. | 1.0 |
| warn | low | security.txt is publishedVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs No security.txt; security researchers have no contact route. /.well-known/security.txt and /security.txt both absent Publish /.well-known/security.txt per RFC 9116. | 0.5 |
| warn | low | theme-color meta is setVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs no theme-color meta Add <meta name="theme-color" content="#...">. | 0.5 |
| pass | info | Time to first byte is within budgetVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs HEAD request to the final URL; includes connect + TLS + server processing and excludes body download, so it is a close proxy for TTFB. Full document (GET, body included) took 501.3 ms. Single unauthenticated request from the audit host; network latency dominates, so this band is a sanity check, not a ranking cutoff. 76.9 ms (HEAD) | 2.0 |
| pass | info | HTML is served compressedVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs Compression negotiated with the audit client's Accept-Encoding (requests default gzip/deflate); a brotli-only server may appear uncompressed here even though real browsers get br. content-encoding: gzip | 2.0 |
| pass | info | Content-Type is text/htmlVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs text/html | 2.0 |
| pass | info | Strict-Transport-Security set with long max-ageVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs max-age=31536000 | 2.0 |
| pass | info | Cache-Control header is presentVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs public, max-age=0, must-revalidate | 1.5 |
| pass | info | HTML document weight is reasonableVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs Measured via content-length header. 82018 bytes | 1.5 |
| pass | info | JS assets are compressedVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs 1/1 compressed (gzip) | 1.5 |
| pass | info | Render-blocking stylesheet count is lowVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs 0 render-blocking stylesheet(s) in <head> Inline critical CSS or split stylesheets by media. | 1.5 |
| pass | info | No render-blocking scripts in <head>VENDOR-DOCUMENTED web.dev and MDN guidance, security header specs 0 blocking external script(s) in <head> Add defer (or async) to head scripts. | 1.5 |
| pass | info | X-Content-Type-Options: nosniffVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs nosniff | 1.5 |
| pass | info | Server banner hides its versionVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs server: Framer/26fa766 | 1.5 |
| pass | info | Legal & trust pages are reachableVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs 4 of 7 common paths return 200. privacy-policy=200 privacy=200 terms=200 terms-of-service=200 cookie-policy=404 contact=404 about=404 Publish privacy, terms and contact pages and link them site-wide. | 1.5 |
| pass | info | Document declares a DOCTYPEVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs | 1.0 |
| pass | info | Conditional-request validator presentVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs etag: "ba3f056349b1fb740e4c6eb1e40d6b92" | 1.0 |
| pass | info | External scripts use async or deferVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs Body-end synchronous scripts are a legitimate pattern; flagged only as a count. no external scripts | 1.0 |
| pass | info | Image count is manageableVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs 22 images | 1.0 |
| pass | info | Images declare width & heightVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs 22/22 have width+height | 1.0 |
| pass | info | Below-fold images are lazy-loadedVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs 22/22 images use loading=lazy | 1.0 |
| pass | info | Apple touch icon is declaredVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs https://framerusercontent.com/images/kcuF2BEp5XaVfkmFB634IPRKQH0.png | 0.5 |
| pass | info | Third-party origins are preconnectedVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs 1 preconnect/dns-prefetch hint(s) | 0.5 |
| info | info | HTTP protocol version (1.1 / 2 / 3)VENDOR-DOCUMENTED web.dev and MDN guidance, security header specs The negotiated protocol version is not exposed by the fetch layer (response headers do not carry it). Report only; not measured. not observable via ctx.headers | 0 |
| info | info | HTML vs referenced-asset transfer weightVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs Only the first 5 CSS and 5 JS assets were fetched, and sizes are content-length as-served (i.e. already compressed when an encoding is present). Nothing is estimated. HTML 82018 bytes; 1 measured asset(s) 0 bytes | 0 |
| info | info | CSS assets are compressedVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs No external assets of this type to test. | 0 |
| info | info | humans.txt is publishedVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs No humans.txt (an optional credits file). /humans.txt = 404 | 0 |
| info | info | Service worker is registeredVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs No serviceWorker.register() call found in inline scripts; not every site is a PWA. no service worker registration string | 0 |
| info | info | Tap targets are large enoughVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs Requires a rendered layout; not measurable from static HTML. | 0 |
| info | info | Base font size is legible on mobileVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs Requires rendering; not measurable from static HTML. | 0 |
| info | info | CDN / edge location hintVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs No recognised CDN/edge header present. | 0 |
| info | info | Trailing-slash variant canonicalisesVENDOR-DOCUMENTED web.dev and MDN guidance, security header specs Audited URL is the root; no trailing-slash variant to test. | 0 |
| result | severity | check | wt |
|---|---|---|---|
| warn | low | JSON-LD structured data is presentVENDOR-DOCUMENTED structured data is recommended, never required in order to rank No JSON-LD was found. Google does not require structured data in order to rank; it is recommended and can enable rich results. no <script type=application/ld+json> blocks in the raw HTML Add a JSON-LD block (Organization and WebSite at minimum). | 1.5 |
| warn | low | og:image dimensions are declaredVENDOR-DOCUMENTED schema.org and Google structured data docs og:image:width / og:image:height are missing. absence check: nothing matching this test was found on the page (see the detail line for what was searched) Add og:image:width and og:image:height. | 0.5 |
| pass | info | og:image is absolute and reachableVENDOR-DOCUMENTED schema.org and Google structured data docs https://framerusercontent.com/images/RtIGTDwO43jR4ZDilesXiR5znc.jpg no og:image declared in <head> | 1.5 |
| pass | info | og:url matches the canonicalVENDOR-DOCUMENTED schema.org and Google structured data docs | 1.0 |
| pass | info | og:type matches the contentVENDOR-DOCUMENTED schema.org and Google structured data docs og:type=website | 0.5 |
| pass | info | twitter:card value is validVENDOR-DOCUMENTED schema.org and Google structured data docs twitter:card=summary_large_image | 0.5 |
| pass | info | twitter:image is presentVENDOR-DOCUMENTED schema.org and Google structured data docs | 0.5 |
| info | info | Every JSON-LD block is an object or @graphVENDOR-DOCUMENTED schema.org and Google structured data docs No JSON-LD blocks to inspect. | 0 |
| info | info | Microdata usageVENDOR-DOCUMENTED schema.org and Google structured data docs 0 element(s) with itemscope. Site does not use Microdata. | 0 |
| info | info | RDFa usageVENDOR-DOCUMENTED schema.org and Google structured data docs 0 element(s) with @typeof. Site does not use RDFa. | 0 |
| info | info | Schema types found on the pageVENDOR-DOCUMENTED schema.org and Google structured data docs No @type values found. | 0 |
| info | info | Image, logo, url and @id values are absolute URLsVENDOR-DOCUMENTED full URLs recommended No structured-data URL values to inspect. | 0 |
| info | info | No conflicting duplicate schemaVENDOR-DOCUMENTED schema.org and Google structured data docs No typed nodes to compare for conflicts. | 0 |
| info | info | No deprecated or superseded typesVENDOR-DOCUMENTED schema.org and Google structured data docs No schema types found to check for deprecation. | 0 |
| info | info | FAQ questions match visible page contentVENDOR-REQUIRED markup must match visible content No FAQPage questions to compare. | 0 |
| info | info | Offer prices match visible page contentVENDOR-DOCUMENTED schema.org and Google structured data docs No Offer nodes to compare. | 0 |
| info | info | Article headline matches the page h1VENDOR-DOCUMENTED schema.org and Google structured data docs No Article headline and/or h1 to compare. | 0 |
| result | severity | check | wt |
|---|---|---|---|
| warn | medium | Definition/summary present in the first screenPROXY adjacent measurement unless listed below First 2 paragraphs carry only 3 words — little to lift for a direct answer. TypeSafe AI Open with a 1-2 sentence definition or summary of the topic. | 3.0 |
| warn | medium | Topic vocabulary is echoed in the answer contentVENDOR-DOCUMENTED prompt-content alignment was the dominant on-page lever 1/6 distinctive title/H1 terms reappear in the answering content; missing: took, opposite, research, direction, home. (Proxy: token overlap for semantic prompt-content alignment.) found: typesafe | missing: took, opposite, research, direction, home Echo the page's own topic terms in the lead and answer paragraphs. | 2.0 |
| warn | low | H1 topic terms appear in the first paragraphPROXY adjacent measurement unless listed below The opening paragraph does not reuse the H1's key terms. H1: We took the opposite research direction vs first paragraph: TypeSafe AI Reflect the H1 topic in the lead sentence. | 1.5 |
| warn | low | Alt text is descriptivePROXY adjacent measurement unless listed below 22 of 22 image(s) have empty or filename-style alt text. (empty alt), (empty alt), (empty alt), (empty alt), (empty alt) Describe images in alt text instead of leaving filenames. | 1.0 |
| warn | low | No repeated headingsPROXY adjacent measurement unless listed below 1 heading(s) repeat verbatim. x2: open roles Deduplicate repeated headings. | 0.5 |
| pass | info | Page has substantive contentPROXY adjacent measurement unless listed below 827 words of body text | 2.0 |
| pass | info | Claim density and specificityVENDOR-DOCUMENTED Princeton GEO found statistics addition among the strongest methods 126 numbers, 3 percentages, 9 dates, 0 unit mentions and 3 currency amounts. Scored: Princeton GEO (KDD'24) found 'Statistics Addition' among the top methods (~+37% relative visibility); specific figures are what answer engines lift. (Threshold is our proxy, not a documented standard.) 15 specific citable figures | 2.0 |
| pass | info | Freshness is verifiableVENDOR-DOCUMENTED freshness is a documented signal, modest in effect 1 freshness signal(s) present. Sun, 27 Sep 2026 22:27:30 GMT | 2.0 |
| pass | info | Page text is quotable (snippet control)VENDOR-DOCUMENTED nosnippet, max-snippet and data-nosnippet are documented controls No nosnippet / max-snippet / data-nosnippet directive found — the page text is eligible to be quoted. | 2.0 |
| pass | info | Citation crawlers can access the siteVENDOR-DOCUMENTED per-vendor crawler documentation No citation crawler is blocked in robots.txt (or no matching group, which defaults to allowed). OAI-SearchBot:allowed; PerplexityBot:allowed; Claude-SearchBot:allowed; ChatGPT-User:allowed; Perplexity-User:allowed; Amzn-SearchBot:allowed; Meta-WebIndexer:allowed; Googlebot:allowed | 2.0 |
| pass | info | Content is accessible to answer enginesVENDOR-DOCUMENTED documented property No `isAccessibleForFree` marker and no paywall / login-wall markup detected — the text is accessible to answer engines. | 2.0 |
| pass | info | Machine-readable freshnessVENDOR-DOCUMENTED lastmod and HTTP validators are the machine-readable freshness signals A machine-readable freshness signal (HTTP Last-Modified header and/or sitemap <lastmod>) is present — the machine-readable half of freshness, which Bing documents as a signal. Sun, 27 Sep 2026 22:27:30 GMT | 1.5 |
| pass | info | Social profile links presentPROXY adjacent measurement unless listed below 2 social profile(s) linked. linkedin.com, x.com | 1.5 |
| pass | info | HTTP Last-Modified header presentPROXY adjacent measurement unless listed below The response carries a Last-Modified header. Sun, 27 Sep 2026 22:27:30 GMT | 1.0 |
| pass | info | Outbound citations existVENDOR-DOCUMENTED outbound linking is documented practice 2 external link(s) to 1 domain(s). ashbyhq.com | 1.0 |
| pass | info | No repeated sentencesPROXY adjacent measurement unless listed below No sentence (≥8 words) repeats verbatim. | 1.0 |
| pass | info | Author page is reachablePROXY adjacent measurement unless listed below https://typesafe.ai/team | 0.5 |
| pass | info | External links are followedPROXY adjacent measurement unless listed below 2 followed vs 0 nofollow/sponsored/ugc. | 0.5 |
| pass | info | Sentence length is reasonablePROXY adjacent measurement unless listed below avg 13.3 words/sentence; longest (61 words): TypeSafe AI Manifesto Our Team Docs Sign in Contact sales Manifesto Team Contact âµ â© â© âµ Clock Tool 1.1 Sunday, Sep 27, 2026 22:2... | 0.5 |
| info | info | Headings phrased as questionsOUR-INVENTION Q&A formatting alone did not improve absorption No heading ends in '?'. Not scored: question-shaped headings are formatting, not a documented citation lever. 0 question headings | 0 |
| info | info | FAQ-style Q&A pair presentOUR-INVENTION format alone does not help; alignment does, so this is measured but not scored No question heading is immediately followed by an answer paragraph. Not scored: FAQ formatting is not a documented citation driver. | 0 |
| info | info | List/table densityPROXY adjacent measurement unless listed below 0 <li> + 0 <tr> = 0 structured items per 827 words → 0.0 per 1000 words. | 0 |
| info | info | Paragraph length is scannableOUR-INVENTION our metric, no evidence it affects citation 199 paragraphs; average 3.9 words, median 2 words. Not scored: no study ties paragraph length to AI citation; Google states chunking is not required. | 0 |
| info | info | No single oversized paragraphOUR-INVENTION our metric, no evidence Longest paragraph is 58 words. Not scored: paragraph size is not a documented citation driver. Reinforcement Learning from Human Feedback (RLHF) has led to LLMs that are optimized for human preferences. This has led to models that are superhuman at ins... | 0 |
| info | info | TL;DR / summary block presentOUR-INVENTION no evidence A summary-style block was detected. Not scored: TLDR/BLUF is a weak positive (Discovered Labs +0.05), too small to weigh. The Bitterest Lesson Read More TL;DR: Compute drives progress in AI, but what good is progress if you are not doing the right task! AI: too good to be true, too bad to be useful | TypeSafe AI Read ... | 0 |
| info | info | Published date is declaredPROXY adjacent measurement unless listed below No datePublished / article:published_time signal found. | 0 |
| info | info | Modified date is declaredPROXY adjacent measurement unless listed below No dateModified / article:modified_time signal found. | 0 |
| info | info | Visible 'last updated' text presentPROXY adjacent measurement unless listed below No visible 'last updated / reviewed' text found. | 0 |
| info | info | Author byline is detectablePROXY author signals showed an inverse correlation in one large study; scoring this would mislead No author signal found. Not scored: bylines are human-trust hygiene, not an AI-citation lever (Seer: inverse correlation). | 0 |
| info | info | About page is reachablePROXY adjacent measurement unless listed below No /about, /about-us or /company page responded 200. Not scored: EEAT surface is not a documented citation driver. probed /about /about-us /company /about.html — none returned 200 | 0 |
| info | info | Contact page is reachablePROXY adjacent measurement unless listed below No /contact, /contact-us, /support or /help page responded 200. Not scored: EEAT surface is not a citation driver. | 0 |
| info | info | Contact methods are discoverablePROXY adjacent measurement unless listed below Email/phone/address found. Not scored: contact discoverability is EEAT hygiene, not a documented AI-citation lever. email: hello@typesafe.ai | 0 |
| info | info | Physical address presentPROXY adjacent measurement unless listed below No street address or Organization-address schema found (expected for local/brick-and-mortar businesses). | 0 |
| info | info | Privacy policy is reachablePROXY adjacent measurement unless listed below A privacy policy is reachable. Not scored: EEAT/legitimacy hygiene, not a documented AI-citation lever. https://typesafe.ai/privacy, https://typesafe.ai/privacy-policy | 0 |
| info | info | Terms page is reachablePROXY adjacent measurement unless listed below A terms page is reachable. Not scored: EEAT/legitimacy hygiene, not a documented AI-citation lever. https://typesafe.ai/terms, https://typesafe.ai/terms-of-service | 0 |
| info | info | Refund/returns policy is reachablePROXY adjacent measurement unless listed below No Product/Offer schema or cart/checkout cues, so a refund policy was not expected. | 0 |
| info | info | Organization name is consistentPROXY adjacent measurement unless listed below No Organization schema name found to compare against the title/footer. | 0 |
| info | info | Cites high-authority sourcesOUR-INVENTION the favoured-domain list is ours External links exist but none match the fixed high-authority list. Not scored: the list is arbitrary, not evidence-based. ashbyhq.com | 0 |
| info | info | Readability is computableOUR-INVENTION no evidence that Flesch scores relate to citation Flesch Reading Ease 51.9, Flesch-Kincaid grade 10.1 (syllable-counted, 809 words / 49 sentences). Not scored: readability is human hygiene, not a documented AI-citation lever. | 0 |
| info | info | Top topic termsPROXY adjacent measurement unless listed below Top 10 terms after stopword removal: jev (17), models (17), gpt (12), decisions (11), typesafe (11), intelligence (9), rlhf (9), chat (8), llm (7), rlcd (7). | 0 |
| info | info | Primary language detectedPROXY adjacent measurement unless listed below Latin-script / English (en) — 4258 Latin chars vs 0 Arabic-script | 0 |
| info | info | FAQ/Q&A schema presentPROXY adjacent measurement unless listed below No FAQPage/QAPage schema (a bonus, not required). | 0 |
| info | info | Attributable entity summaryPROXY adjacent measurement unless listed below Present: author=(none); organization schema=(none); publisher=(none); sameAs count=0. Missing: author, organization schema, publisher. | 0 |
| result | severity | check | wt |
|---|---|---|---|
| warn | medium | Schema.org structured data presentCOMMUNITY-CONVENTION community practice unless listed below No JSON-LD / microdata schema types found. absence check: nothing matching this test was found on the page (see the detail line for what was searched) Add JSON-LD (Article, WebPage, FAQPage, Product, ...). | 1.0 |
| warn | low | llms.txt is presentCOMMUNITY-CONVENTION A proposal by Answer.AI, not a standard of any body. Google has stated it does not use it. No /llms.txt. llms.txt is a community proposal (llmstxt.org), not a standard of any standards body, and Google has stated it does not use it; its effect on citations is unproven. HTTP 404 Publish /llms.txt as text/plain with a summary and key links if you want to support this community convention. | 0.5 |
| warn | medium | Markdown/plain-text page variant offeredCOMMUNITY-CONVENTION text/markdown is IANA-registered but no fetch contract is documented No .md / index.md variant returns markdown or plain text. https://typesafe.ai/index.md -> HTTP 404 (text/html; charset=utf-8) Serve a .md or /index.md mirror, or honor Accept: text/markdown. | 0.5 |
| warn | low | FAQPage structured data presentVENDOR-DOCUMENTED the FAQ rich result is retired; the schema.org type remains valid No FAQPage schema; without it, an answer engine must infer Q&A pairs. (no schema types) Add FAQPage JSON-LD for the questions this page answers. | 0.5 |
| warn | low | XML feed availableSTANDARDS-BACKED feed format is standard; the citation benefit is not documented No XML feed found in <link> tags or at the usual paths. absence check: nothing matching this test was found on the page (see the detail line for what was searched) Publish an RSS or Atom feed and link it from the page head. | 0.5 |
| pass | info | robots.txt does not blanket-block all AI crawlersSTANDARDS-BACKED blanket disallow semantics | 3.0 |
| pass | info | Citation bots are not blockedVENDOR-DOCUMENTED training crawlers and citation crawlers behave differently; Google-Extended does not control AI Overviews None of the 12 citation bots are blocked at the root. | 2.0 |
| pass | info | Primary text present in raw HTMLVENDOR-DOCUMENTED JS rendering guidance; answer crawlers often do not execute scripts 827 words present in the raw HTML. 827 words | 2.0 |
| pass | info | Homepage is served as text/htmlSTANDARDS-BACKED content type semantics Answer engines can parse an HTML document. text/html | 1.0 |
| pass | info | Sitemap is plain XML (no JS)STANDARDS-BACKED sitemap protocol 14 URL(s) in plain XML. text/xml · https://typesafe.ai/sitemap.xml | 1.0 |
| pass | info | Content served without a consent cookieCOMMUNITY-CONVENTION plausible, not documented The server set no cookies, so no cookie-gated consent wall blocks the first bytes. | 1.0 |
| pass | info | Meta description presentVENDOR-DOCUMENTED snippet suggestion, not a ranking requirement Answer engines use the description as a citation snippet. TypeSafe AI is an AI lab building machine-native intelligence infrastructure for automation, designed to make decisions within software. Try our first System One Model, Jev, in early access. | 1.0 |
| pass | info | Character encoding is declaredSTANDARDS-BACKED character encoding declaration from <meta charset> | 0.5 |
| pass | info | Accept: text/markdown negotiation honoredCOMMUNITY-CONVENTION community practice The server returns a markdown/plain content-type when asked. Accept: text/html -> 'text/html' | Accept: text/markdown -> 'text/markdown' | 0.5 |
| pass | info | FAQ/Q&A block present in HTMLOUR-INVENTION no documented effect on citation FAQ signal detected viaheading. 0 <details>, 0 faq-classed element(s) | 0.5 |
| pass | info | Paragraphs are short (median word count)OUR-INVENTION our metric, no documented threshold Short paragraphs are easier for an answer engine to lift. median 2 words across 181 paragraphs | 0.5 |
| pass | info | Opening paragraph is a direct answer (<60 words)OUR-INVENTION our metric, no documented threshold A short opening paragraph reads as a direct answer. TypeSafe AI | 0.5 |
| pass | info | Open Graph title and description presentVENDOR-DOCUMENTED social preview, not a search signal Home - TypeSafe AI | 0.5 |
| info | info | llms.txt is served as text/plain or text/markdownCOMMUNITY-CONVENTION no fetch contract is documented by any vendor llms.txt not available to inspect. | 0.5 |
| info | info | llms.txt parses as markdownCOMMUNITY-CONVENTION format is the proposal's own convention llms.txt not available to inspect. | 0.5 |
| info | info | llms.txt has an H1COMMUNITY-CONVENTION the proposal's shape, not a requirement llms.txt not available to inspect. | 0.5 |
| info | info | llms.txt contains a markdown linkCOMMUNITY-CONVENTION the proposal's shape, not a requirement llms.txt not available to inspect. | 0.5 |
| info | info | Citation meta tags presentVENDOR-DOCUMENTED scholarly indexing only No citation_* / Dublin Core meta tags. | 0.5 |
| info | info | llms.txt is under our heuristic size limitOUR-INVENTION the 512KB ceiling is ours llms.txt not available to inspect. | 0 |
| info | info | llms-full.txt full-content exportCOMMUNITY-CONVENTION community practice unless listed below No /llms-full.txt (HTTP 404). Optional full-content export. | 0 |
| info | info | AI crawler access matrixCOMMUNITY-CONVENTION community practice unless listed below Resolved from robots.txt for 24 agents (12 citation, 12 training/data). GPTBot: allowed; ClaudeBot: allowed; Google-Extended: allowed; Applebot-Extended: allowed; CCBot: allowed; Bytespider: allowed; Meta-ExternalAgent: allowed; Amazonbot: allowed; cohere-ai: allowed; Diffbot: allowed; Timpibot: allowed; ImagesiftBot: allowed; OAI-SearchBot: allowed; ChatGPT-User: allowed; PerplexityBot: allowed; Perplexity-User: allowed; Claude-SearchBot: allowed; Claude-User: allowed; Googlebot: allowed; Applebot: allowed; DuckAssistBot: allowed; YouBot: allowed; Amzn-SearchBot: allowed; Meta-WebIndexer: allowed | 0 |
| info | info | Training/data bots are blockedVENDOR-DOCUMENTED blocking a training crawler is a licensing choice, not an AEO loss None of the 12 training/data bots are blocked. | 0 |
| info | info | llms.txt references the audited pageCOMMUNITY-CONVENTION community practice unless listed below No /llms.txt to check. | 0 |
| info | info | Definition lists presentCOMMUNITY-CONVENTION community practice unless listed below No <dl> term/definition pairs. | 0 |
| info | info | Tables presentCOMMUNITY-CONVENTION community practice unless listed below No <table> elements. | 0 |
| info | info | Ordered lists presentCOMMUNITY-CONVENTION community practice unless listed below No <ol> ordered-list elements. | 0 |
| info | info | Feed probe matrixCOMMUNITY-CONVENTION community practice unless listed below Result of probing page <link> tags and common feed paths. https://typesafe.ai/feed -> HTTP 404 (text/html; charset=utf-8); https://typesafe.ai/rss.xml -> HTTP 404 (text/html; charset=utf-8); https://typesafe.ai/atom.xml -> HTTP 404 (text/html; charset=utf-8); https://typesafe.ai/feed.xml -> HTTP 404 (text/html; charset=utf-8); https://typesafe.ai/rss -> HTTP 404 (text/html; charset=utf-8) | 0 |
| info | info | ai.txt security policy publishedCOMMUNITY-CONVENTION community practice unless listed below Optional machine-readable AI-usage policy. /ai.txt -> HTTP 404; /.well-known/ai.txt -> HTTP 404 | 0 |
| info | info | JSON-LD blocks are validCOMMUNITY-CONVENTION community practice unless listed below No JSON-LD blocks on the page. | 0 |
| info | info | Page has an H1 headingSTANDARDS-BACKED HTML permits multiple h1 elements; no engine documents a count rule 2 H1 elements. HTML permits multiple H1s and neither Google nor Bing documents a count rule; visual prominence is what matters, not the tag count. We took the opposite research direction | 193.6x Faster, 444.6x Cheaper. | 0 |
| result | severity | check | wt |
|---|---|---|---|
| warn | medium | No empty anchor textOUR-INVENTION our thresholds unless listed below Links with no visible text are invisible to users and crawlers. 3 empty anchor(s), e.g. href="./" Give every link visible text, or an aria-label/title. | 1.0 |
| warn | low | Outbound links carry appropriate relOUR-INVENTION our thresholds unless listed below Outbound links that are paid or untrusted should be nofollow/sponsored. 8/8 outbound link(s) are followed (no rel) Add rel="nofollow" or rel="sponsored" where appropriate. | 0.5 |
| warn | low | og:image is absolute with dimensionsOUR-INVENTION our thresholds unless listed below Social platforms need an absolute URL and known dimensions to render the image immediately. https://framerusercontent.com/images/RtIGTDwO43jR4ZDilesXiR5znc.jpg (missing og:image:width/height) Use an absolute https URL and add og:image:width/height. | 0.5 |
| warn | low | Inline styles/scripts are minimalOUR-INVENTION our thresholds unless listed below Heavy inline styling/scripting bloats HTML and blocks caching. 11 inline script(s), 9 <style> block(s), 916 style attr(s) Move styles/scripts to external, cacheable files. | 0.5 |
| pass | info | Page has a <title>VENDOR-REQUIRED a title is used to generate the title link "Home - TypeSafe AI" | 3.0 |
| pass | info | Viewport meta is setOUR-INVENTION our thresholds unless listed below width=device-width | 2.0 |
| pass | info | Heading hierarchy has no skipsVENDOR-DOCUMENTED logical hierarchy documented by Bing | 1.5 |
| pass | info | Image alt coverageSTANDARDS-BACKED WCAG 1.1.1 requires text alternatives 22/22 images have descriptive or decorative (empty) alt text (100.0%) | 1.5 |
| pass | info | Open Graph tags are completeOUR-INVENTION our thresholds unless listed below og:title, og:description, og:image, og:url, og:type all present | 1.5 |
| pass | info | First 100 words contain real contentVENDOR-DOCUMENTED surface key information early Opens with "Home - TypeSafe AI TypeSafe AI Manifesto Our Team Docs Sign in Contact sales Manifesto Team Contact TypeSafeAI 1.1 Lo..." | 1.0 |
| pass | info | Images declare width/heightVENDOR-DOCUMENTED layout shift guidance Every image carries explicit dimensions. | 1.0 |
| pass | info | Page has internal linksOUR-INVENTION our thresholds unless listed below 9 unique internal link(s) | 1.0 |
| pass | info | Anchors are descriptiveVENDOR-DOCUMENTED relevant anchor text documented by Bing | 1.0 |
| pass | info | Character encoding is declaredOUR-INVENTION our thresholds unless listed below utf-8 | 1.0 |
| pass | info | No deprecated HTML tagsOUR-INVENTION our thresholds unless listed below | 1.0 |
| pass | info | Only one meta descriptionOUR-INVENTION our thresholds unless listed below | 0.5 |
| pass | info | Meta description is presentVENDOR-DOCUMENTED documented as a suggestion Google sometimes uses TypeSafe AI is an AI lab building machine-native intelligence infrastructure for automation, designed to make decisions within software. Try our first System... | 0.5 |
| pass | info | Below-the-fold images lazy-loadOUR-INVENTION our thresholds unless listed below 22/22 images lazy-loading | 0.5 |
| pass | info | Twitter card is configuredOUR-INVENTION our thresholds unless listed below twitter:card=summary_large_image with image | 0.5 |
| pass | info | Apple touch icon is declaredOUR-INVENTION our thresholds unless listed below https://framerusercontent.com/images/kcuF2BEp5XaVfkmFB634IPRKQH0.png | 0.5 |
| info | info | Title length is in a healthy bandOUR-INVENTION Google documents no limit; truncation is by device width Title is 18 characters. Google documents no limit; the title link is truncated in Search results as needed, typically to fit the device width (https://developers.google.com/search/docs/appearance/title-link). The 30-65 character band is ours, not Google's. | 0 |
| info | info | Title is not a copy of the H1OUR-INVENTION no documentation requires the title to differ from the h1 Title and H1 differ. No documentation requires the title to differ from the H1. | 0 |
| info | info | Meta description length is in bandOUR-INVENTION no documented limit Meta description is 190 characters. Google documents no limit; the snippet is truncated in Search results as needed, typically to fit the device width (https://developers.google.com/search/docs/appearance/snippet). The 70-160 character band is ours. | 0 |
| info | info | Exactly one H1STANDARDS-BACKED multiple h1 is valid HTML; no documented count rule 2 <h1> elements. Multiple H1s are valid HTML; the documented concern is visual prominence, not the tag count (Google's title-link guidance warns against headings of equal visual weight). No count rule is documented. | 0 |
| info | info | H1 length is reasonableOUR-INVENTION our band, nothing documents it No single H1 to measure. The 3-60 character band is ours; nothing documents it. | 0 |
| info | info | Heading count is saneOUR-INVENTION our threshold 9 heading(s) on the page. The <=30 threshold is ours; no engine documents a heading-count limit. | 0 |
| info | info | Page word countVENDOR-DOCUMENTED thin content guidance exists, with no number 827 words in the main visible text. No universal minimum; very thin pages are typically under ~300 words but this is not a ranking law. | 0 |
| info | info | Text-to-HTML ratioOUR-INVENTION our threshold 1.0% text-to-HTML ratio. The >=10% threshold is ours; no engine documents a text-to-HTML ratio requirement. | 0 |
| info | info | A clear primary CTA is presentOUR-INVENTION conversion practice, not a search signal No CTA copy was matched. A call to action is conversion practice, not a ranking factor. | 0 |
| info | info | Title/description share terms with the H1OUR-INVENTION our thresholds unless listed below H1 "We took the opposite research direction" shares 0 of 5 terms with the title and 0 with the description. | 0 |
| info | info | Content language vs lang attributeOUR-INVENTION our thresholds unless listed below lang="en"; dominant script in text is Latin (Latin 4258, Arabic 0, Hebrew 0, CJK 0); matches the declared language. | 0 |
| info | info | Modern image formats in useVENDOR-DOCUMENTED format guidance No raster images (webp/avif/png/jpg) detected; possibly SVG or none. | 0 |
| info | info | Orphan-page signal (links vs sitemap)OUR-INVENTION our thresholds unless listed below Page links to 9 internal URL(s); the sitemap lists 14 URL(s). A page that links to nothing is a dead end; true orphan status (nothing links to THIS page) cannot be measured from here. | 0 |
| info | info | target=_blank links use rel=noopenerOUR-INVENTION a security concern, not a search signal 6/6 target=_blank link(s) missing rel=noopener. This is a security concern (reverse-tabnabbing), not a search signal. | 0 |
| info | info | theme-color is declaredOUR-INVENTION our thresholds unless listed below No theme-color meta tag (affects mobile browser chrome only). | 0 |
| info | info | Meta keywords tagOUR-INVENTION our thresholds unless listed below No meta keywords tag (fine; it is largely ignored). | 0 |
| info | info | RTL pages declare dir="rtl"OUR-INVENTION our thresholds unless listed below lang="en" is not RTL; dir check not applicable. | 0 |
| result | severity | check | wt |
|---|---|---|---|
| pass | info | Served over HTTPSSTANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs | 3.0 |
| pass | info | Homepage returns HTTP 200STANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs | 3.0 |
| pass | info | robots.txt does not block the whole siteSTANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs | 3.0 |
| pass | info | Canonical link is declaredSTANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs https://typesafe.ai/ | 3.0 |
| pass | info | Page is not marked noindexSTANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs | 3.0 |
| pass | info | XML sitemap is present and validSTANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs https://typesafe.ai/sitemap.xml with 14 <loc> entries | 2.5 |
| pass | info | http:// redirects to https://STANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs http:// upgrades to https:// https://typesafe.ai/ | 2.0 |
| pass | info | robots.txt existsSTANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs 64 bytes | 2.0 |
| pass | info | Canonical points at this pageSTANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs | 2.0 |
| pass | info | x-robots-tag does not block indexingSTANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs | 2.0 |
| pass | info | Missing pages return 404, not a soft 200STANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs Probe returned HTTP 404 | 2.0 |
| pass | info | Redirect chain is shortSTANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs 0 redirect(s) before the final document. | 1.5 |
| pass | info | robots.txt advertises a sitemapSTANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs https://typesafe.ai/sitemap.xml | 1.5 |
| pass | info | www and non-www agree on the canonical hostSTANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs | 1.5 |
| pass | info | robots.txt is not an HTML error pageSTANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs | 1.0 |
| pass | info | Sitemap lists URLsSTANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs 14 URL(s) listed | 1.0 |
| pass | info | Homepage appears in the sitemapSTANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs | 1.0 |
| pass | info | Canonical is an absolute URLSTANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs | 1.0 |
| pass | info | html lang attribute is setSTANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs lang="en" | 1.0 |
| pass | info | URL length is reasonableSTANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs 20 characters | 1.0 |
| pass | info | Canonical URL has no tracking parametersSTANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs | 1.0 |
| pass | info | Redirects do not expose a default portSTANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs | 0.5 |
| pass | info | URL uses hyphens not underscoresSTANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs | 0.5 |
| pass | info | Hostname is lowercaseSTANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs | 0.5 |
| pass | info | Favicon is declaredSTANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs | 0.5 |
| info | info | hreflang annotations presentSTANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs No hreflang set. Fine for a single-language site, a gap for multi-locale. | 0 |
| info | info | ads.txt is publishedSTANDARDS-BACKED robots.txt protocol, sitemap protocol, W3C HTML and URL specs No ads.txt. Only relevant if you sell ad inventory. | 0 |