Website report

Visit sitehttps://www.useterse.ai/

Terse builds durable agent infrastructure with serverless actors and workflows, strongly typed TypeScript APIs, and Rust runtimes.

Audit Full discovery audit·Language English (en)·Response HTTP 200·Served by Vercel

Analysed Nov 9, 2026 · 15 categories · 118 passed · 18 warnings · 2 issues · 12 informational

Audit score

C

83/100

Mixed

Agentic
84
SEO
83

What we found

2Needs a fix18Could be better118Looks good12Informational
  1. 1.Needs a fix: llms.txt follows the spec: needs fixing. see checkClear, accessible information helps AI assistants understand and cite your website.
  2. 2.Could be better: Interactive controls have source labels: needs attention. see checkA usable mobile layout helps visitors read and act on your content.
  3. 3.Could be better: Your page embedding rules need tightening. see checkRestricting embedding helps prevent deceptive clicks on your content.
  4. 4.Could be better: Browsers can guess file types. see checkThe nosniff header helps stop files from being interpreted as executable code.
  5. 5.Could be better: ARIA references point to source elements: needs attention. see checkA usable mobile layout helps visitors read and act on your content.

Built with 2 technologies· detected stack

Read from the public source and response headers of the sampled pages.

Hosting and deploymentType
  • VercelHosting / edge
Payments and servicesType
  • Google FontsFont integration

A framework or CDN signal describes the public response, not the origin host or private backend.

Site checks

118 passed · 18 warnings · 2 issues

Every observation from the crawl, grouped by what it describes. Open a row for the evidence and the recommended fix.

Metadata11Looks good

100/100
Looks good: Page title exists

Looks good · Metadata · Measured on your page

Observed evidence

Title found: "Terse — Durable Agent Infrastructure"

Why this matters

The title and description are the text someone reads in a search result before deciding whether to click. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Title length

Looks good · Metadata · Review suggested

Observed evidence

Title is 36 characters, inside this audit's 15–60 review range.

Why this matters

The title and description are the text someone reads in a search result before deciding whether to click. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Title says what the site does

Looks good · Metadata · Measured on your page

Observed evidence

Title "Terse — Durable Agent Infrastructure" says more than the site name.

Why this matters

The title and description are the text someone reads in a search result before deciding whether to click. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Meta description exists

Looks good · Metadata · Measured on your page

Observed evidence

Meta description found: "Terse builds durable agent infrastructure with serverless actors and workflows, strongly t…"

Why this matters

The title and description are the text someone reads in a search result before deciding whether to click. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Meta description length

Looks good · Metadata · Review suggested

Observed evidence

Description is 130 characters and inside this audit's 70–160 preview range.

Why this matters

The title and description are the text someone reads in a search result before deciding whether to click. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Titles unique across pages

Looks good · Metadata · Measured on your page

Observed evidence

All 10 indexable sampled pages have distinct titles.

Why this matters

The title and description are the text someone reads in a search result before deciding whether to click. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Show 5 more checks
Looks good: Homepage isn't noindexed

Looks good · Metadata · Measured on your page

Observed evidence

No blocking robots meta tag on the homepage.

Why this matters

The title and description are the text someone reads in a search result before deciding whether to click. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Character encoding declared

Looks good · Metadata · Measured on your page

Observed evidence

UTF-8 declared in the Content-Type header and a meta tag.

Why this matters

The title and description are the text someone reads in a search result before deciding whether to click. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: HTML5 doctype

Looks good · Metadata · Measured on your page

Observed evidence

HTML5 doctype declared.

Why this matters

The title and description are the text someone reads in a search result before deciding whether to click. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: No meta keywords tag

Looks good · Metadata · Measured on your page

Observed evidence

No obsolete meta keywords tag.

Why this matters

The title and description are the text someone reads in a search result before deciding whether to click. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Valid metadata order in <head>

Looks good · Metadata · Measured on your page

Observed evidence

No invalid element interrupts metadata in <head>.

Why this matters

The title and description are the text someone reads in a search result before deciding whether to click. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Indexing16Looks good

100/100
Looks good: Single canonical declaration

Looks good · Indexing · Measured on your page

Observed evidence

One canonical declaration found.

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Noindex and canonical agree

Looks good · Indexing · Measured on your page

Observed evidence

No conflicting noindex and cross-page canonical instructions.

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: No meta-refresh redirect

Looks good · Indexing · Measured on your page

Observed evidence

No meta-refresh redirect.

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: No soft-404 response

Looks good · Indexing · Measured on your page

Observed evidence

No soft-404 pattern on sampled HTTP 200 pages.

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Canonical target integrity

Looks good · Indexing · Measured on your page

Observed evidence

Canonical is a valid https URL. Its host is checked by the canonical consistency check.

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Sampled URLs have aligned indexability signals

Looks good · Indexing · Measured on your page

Observed evidence

Indexability signals align across 10 sampled URL(s).

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Show 10 more checks
Looks good: robots.txt exists

Looks good · Indexing · Measured on your page

Observed evidence

robots.txt responds with 200.

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: robots.txt doesn't block everything

Looks good · Indexing · Measured on your page

Observed evidence

The audited URL is allowed for Googlebot. Most specific matching path; allow wins equal-length conflicts.

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Sitemap exists

Looks good · Indexing · Measured on your page

Observed evidence

Sitemap found at https://www.useterse.ai/sitemap.xml.

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Sitemap parses and lists URLs

Looks good · Indexing · Measured on your page

Observed evidence

Sitemap lists 25 same-origin URLs.

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Sitemap declared in robots.txt

Looks good · Indexing · Measured on your page

Observed evidence

robots.txt declares the sitemap.

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Canonical URL set

Looks good · Indexing · Measured on your page

Observed evidence

Canonical set: https://www.useterse.ai/

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Canonical is absolute and self-referencing

Looks good · Indexing · Measured on your page

Observed evidence

Canonical is absolute and points at this page.

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: www vs apex consistency

Looks good · Indexing · Measured on your page

Observed evidence

Hostname is used consistently (www.useterse.ai).

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: URLs are readable slugs

Looks good · Indexing · Measured on your page

Observed evidence

URL slugs are readable (20 sampled).

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Sampled pages expose search-access signals

Looks good · Indexing · Measured on your page

Observed evidence

No restrictive search-access signal on 10 sampled page(s). Actual indexing is not verified.

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Content1Could be better9Looks good1Informational

100/100
Could be better: Title and H1 agreeTitle ("Terse — Durable Agent Infrastructure") and H1 ("Real time state for multiplayer apps.") share no significant words.

Could be better · Content · Review suggested

Observed evidence

Title ("Terse — Durable Agent Infrastructure") and H1 ("Real time state for multiplayer apps.") share no significant words.

Why this matters

This is the substance of the page. Placeholders and repeated copy make it read as unfinished. It is there, but weaker than this check expects.

Recommended fix

Align them around the same core topic — mixed signals confuse both rankers and readers.

Not measured: ReadabilityFlesch reading ease ≈ 33.

Not measured · Content · Not established

Observed evidence

Flesch reading ease ≈ 33.

Why this matters

This observation could not be established from the available evidence. Resolve the collection limit or inspect the relevant source before deciding whether a change is needed.

Recommended fix

60+ reads easily for most visitors. This is a heuristic, not a rule — technical audiences tolerate denser text.

Looks good: Crawlable content in source HTML

Looks good · Content · Measured on your page

Observed evidence

No recognized empty JavaScript application shell on 10 sampled page(s). The entered page exposes 430 publisher word(s).

Why this matters

This is the substance of the page. Placeholders and repeated copy make it read as unfinished. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Homepage content volume

Looks good · Content · Measured on your page

Observed evidence

The audited page has about 430 words of main content.

Why this matters

This is the substance of the page. Placeholders and repeated copy make it read as unfinished. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Text-to-HTML ratio

Looks good · Content · Measured on your page

Observed evidence

Text-to-HTML ratio is 16.8%.

Why this matters

This is the substance of the page. Placeholders and repeated copy make it read as unfinished. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: No placeholder text

Looks good · Content · Measured on your page

Observed evidence

No placeholder text detected on crawled pages.

Why this matters

This is the substance of the page. Placeholders and repeated copy make it read as unfinished. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Show 5 more checks
Looks good: No starter-template leftovers

Looks good · Content · Measured on your page

Observed evidence

No starter-template artifacts detected.

Why this matters

This is the substance of the page. Placeholders and repeated copy make it read as unfinished. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Crawled pages aren't near-duplicates

Looks good · Content · Measured on your page

Observed evidence

No near-duplicate main content among 8 indexable sampled pages.

Why this matters

This is the substance of the page. Placeholders and repeated copy make it read as unfinished. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: No deprecated HTML tags

Looks good · Content · Measured on your page

Observed evidence

No deprecated HTML tags.

Why this matters

This is the substance of the page. Placeholders and repeated copy make it read as unfinished. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Outbound references

Looks good · Content · Measured on your page

Observed evidence

17 outbound link(s) present.

Why this matters

This is the substance of the page. Placeholders and repeated copy make it read as unfinished. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Discovery copy is distinct across sampled pages

Looks good · Content · Measured on your page

Observed evidence

No repeated description, H1, or publisher copy across 10 sampled pages.

Why this matters

This is the substance of the page. Placeholders and repeated copy make it read as unfinished. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Social sharing8Looks good

100/100
Looks good: Open Graph title

Looks good · Social sharing · Measured on your page

Observed evidence

og:title: "Terse — Durable Agent Infrastructure"

Why this matters

This is what your link looks like when someone drops it into a chat or a feed. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Open Graph description

Looks good · Social sharing · Measured on your page

Observed evidence

og:description: "Terse builds durable agent infrastructure with serverless actors and workflows, strongly t…"

Why this matters

This is what your link looks like when someone drops it into a chat or a feed. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Open Graph image

Looks good · Social sharing · Measured on your page

Observed evidence

og:image is set: "https://www.useterse.ai/og-image-v5.png"

Why this matters

This is what your link looks like when someone drops it into a chat or a feed. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Share image loads

Looks good · Social sharing · Measured on your page

Observed evidence

og:image returns 200 (image/png).

Why this matters

This is what your link looks like when someone drops it into a chat or a feed. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Share image dimensions declared

Looks good · Social sharing · Measured on your page

Observed evidence

Dimensions declared: 1280×640.

Why this matters

This is what your link looks like when someone drops it into a chat or a feed. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: og:url and og:type

Looks good · Social sharing · Measured on your page

Observed evidence

og:url and og:type ("website") are set.

Why this matters

This is what your link looks like when someone drops it into a chat or a feed. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Twitter/X card

Looks good · Social sharing · Measured on your page

Observed evidence

twitter:card is "summary_large_image".

Why this matters

This is what your link looks like when someone drops it into a chat or a feed. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: og:site_name

Looks good · Social sharing · Measured on your page

Observed evidence

og:site_name: "Terse".

Why this matters

This is what your link looks like when someone drops it into a chat or a feed. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Structured data5Looks good

100/100
Looks good: JSON-LD present

Looks good · Structured data · Measured on your page

Observed evidence

2 JSON-LD block(s) found on the homepage.

Why this matters

Structured data tells machines who published the page and what it describes. Broken markup is ignored outright. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: JSON-LD parses

Looks good · Structured data · Measured on your page

Observed evidence

All 15 JSON-LD block(s) parse cleanly.

Why this matters

Structured data tells machines who published the page and what it describes. Broken markup is ignored outright. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Organization or WebSite schema

Looks good · Structured data · Measured on your page

Observed evidence

Identity schema present: WebSite, Organization.

Why this matters

Structured data tells machines who published the page and what it describes. Broken markup is ignored outright. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Breadcrumb schema on inner pages

Looks good · Structured data · Measured on your page

Observed evidence

2/9 inner pages have breadcrumb schema.

Why this matters

Structured data tells machines who published the page and what it describes. Broken markup is ignored outright. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Content-specific schema

Looks good · Structured data · Measured on your page

Observed evidence

Content schema found: BlogPosting, SoftwareApplication.

Why this matters

Structured data tells machines who published the page and what it describes. Broken markup is ignored outright. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Headings7Looks good

100/100
Looks good: H1 exists

Looks good · Headings · Measured on your page

Observed evidence

H1 found: "Real time state for multiplayer apps."

Why this matters

Headings are the outline every parser and screen reader follows to find the answer. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Single H1

Looks good · Headings · Measured on your page

Observed evidence

Exactly one H1 on the homepage.

Why this matters

Headings are the outline every parser and screen reader follows to find the answer. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Heading levels don't skip

Looks good · Headings · Measured on your page

Observed evidence

Heading hierarchy is sequential across 14 headings.

Why this matters

Headings are the outline every parser and screen reader follows to find the answer. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: H1 has real text

Looks good · Headings · Measured on your page

Observed evidence

H1 reads "Real time state for multiplayer apps.".

Why this matters

Headings are the outline every parser and screen reader follows to find the answer. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Headings are descriptive

Looks good · Headings · Measured on your page

Observed evidence

14 headings, averaging 4.5 words — descriptive.

Why this matters

Headings are the outline every parser and screen reader follows to find the answer. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Content is sectioned with H2s

Looks good · Headings · Measured on your page

Observed evidence

6 H2 section(s) structure the page.

Why this matters

Headings are the outline every parser and screen reader follows to find the answer. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Element IDs are unique per document

Looks good · Headings · Measured on your page

Observed evidence

All inspected element IDs are unique within their documents.

Why this matters

Headings are the outline every parser and screen reader follows to find the answer. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Images4Looks good

100/100
Looks good: Alt text coverage

Looks good · Images · Measured on your page

Observed evidence

All 6 visible images declare alt attributes (including empty alt for decorative images). Whether each description fits its image needs a human look.

Why this matters

Alt text is what a screen reader announces, and what image search and AI systems read in place of the picture. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Width/height attributes

Looks good · Images · Measured on your page

Observed evidence

All 6 visible images declare dimensions or are sized by their container.

Why this matters

Alt text is what a screen reader announces, and what image search and AI systems read in place of the picture. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Modern image formats

Looks good · Images · Measured on your page

Observed evidence

1 of 1 raster images have a WebP/AVIF source or come from a format-negotiating image service.

Why this matters

Alt text is what a screen reader announces, and what image search and AI systems read in place of the picture. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Lazy loading

Looks good · Images · Measured on your page

Observed evidence

1/6 images are lazy-loaded.

Why this matters

Alt text is what a screen reader announces, and what image search and AI systems read in place of the picture. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Mobile2Could be better2Looks good2Informational

69/100
Could be better: Interactive controls have source labels1 of 279 source controls lack a detectable name.

Could be better · Mobile · Measured on your page

Observed evidence

1 of 279 source controls lack a detectable name.

Why this matters

Google indexes the phone rendering, so that is the version being graded. It is there, but weaker than this check expects.

Recommended fix

Give each control visible text, a connected label, aria-label or aria-labelledby. Placeholder and neighboring text alone do not name an input. Verify the browser accessibility tree after fixing.

Affected pages (1)

  • https://www.useterse.ai/contact
Reference
Could be better: ARIA references point to source elementsARIA references point at IDs that do not exist on 1 sampled page(s), e.g.

Could be better · Mobile · Measured on your page

Observed evidence

ARIA references point at IDs that do not exist on 1 sampled page(s), e.g. aria-controls="da-panel-agents".

Why this matters

Google indexes the phone rendering, so that is the version being graded. It is there, but weaker than this check expects.

Recommended fix

Connect ARIA references to unique existing IDs. If JavaScript adds the targets, verify the rendered accessibility tree.

Affected pages (1)

  • https://www.useterse.ai/
Reference
Not applicable: Responsive image markupNone of the 12 images use srcset.

Not applicable · Mobile · Measured on your page

Observed evidence

None of the 12 images use srcset.

Why this matters

Google indexes the phone rendering, so that is the version being graded. This check does not apply to the features observed in this sample.

Recommended fix

Serve smaller variants to phones with srcset/sizes (next/image handles this) — mobile users shouldn't download desktop-sized images.

Not measured: No tiny inline font sizesNo sub-12px inline font sizes detected; stylesheet rules and rendered sizes were not measured.

Not measured · Mobile · Not established

Observed evidence

No sub-12px inline font sizes detected; stylesheet rules and rendered sizes were not measured.

Why this matters

This observation could not be established from the available evidence. Resolve the collection limit or inspect the relevant source before deciding whether a change is needed.

Recommended fix

Check computed font sizes in a browser across mobile widths.

Looks good: Viewport meta tag

Looks good · Mobile · Measured on your page

Observed evidence

Viewport configured: "width=device-width, initial-scale=1.0".

Why this matters

Google indexes the phone rendering, so that is the version being graded. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Pinch zoom not disabled

Looks good · Mobile · Measured on your page

Observed evidence

The viewport lets users zoom.

Why this matters

Google indexes the phone rendering, so that is the version being graded. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Language2Looks good1Informational

100/100
Not applicable: hreflang syntaxNo hreflang tags — fine for single-language sites.

Not applicable · Language · Measured on your page

Observed evidence

No hreflang tags — fine for single-language sites.

Why this matters

The declared language tells browsers and assistive tech how to read the page and who it is for. This check does not apply to the features observed in this sample.

Recommended fix

Only add hreflang if you publish the same content in multiple languages/regions.

Looks good: html lang attribute

Looks good · Language · Measured on your page

Observed evidence

Language declared: lang="en".

Why this matters

The declared language tells browsers and assistive tech how to read the page and who it is for. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Declared language matches content

Looks good · Language · Measured on your page

Observed evidence

Declared language (en) matches detected content language.

Why this matters

The declared language tells browsers and assistive tech how to read the page and who it is for. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Branding3Looks good1Informational

100/100
Not measured: Web app manifestNo web manifest linked.

Not measured · Branding · Not established

Observed evidence

No web manifest linked.

Why this matters

This observation could not be established from the available evidence. Resolve the collection limit or inspect the relevant source before deciding whether a change is needed.

Recommended fix

Optional, but a manifest.json enables install prompts and better mobile integration.

Looks good: Favicon

Looks good · Branding · Measured on your page

Observed evidence

Favicon declared via <link rel="icon"> (/favicon.svg).

Why this matters

These icons are what appear in browser tabs, bookmarks and search results. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Apple touch icon

Looks good · Branding · Measured on your page

Observed evidence

apple-touch-icon is declared.

Why this matters

These icons are what appear in browser tabs, bookmarks and search results. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Theme color

Looks good · Branding · Measured on your page

Observed evidence

theme-color is "#faf9f7".

Why this matters

These icons are what appear in browser tabs, bookmarks and search results. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Performance

100/100

Measured from the audited response and its markup. These are source observations, not field Core Web Vitals.

Performance measurements observed during the audit
MeasureThis siteReading
Server response time236 msLooks good: goodThe audit received response headers after 236 ms from one test location.
HTML payload size30 KBLooks good: goodThe page's HTML is a lean 30 KB uncompressed.
No render-blocking head scripts—Looks good: goodNo synchronous render-blocking scripts in <head>.
Inline styles are bounded0.0 KBLooks good: goodInline styles total 0.0 KB.
Script/stylesheet count—Looks good: good4 total script/style resources — reasonable.
Web fonts don't block text—Looks good: goodGoogle Fonts links set a non-blocking font-display value.
HTML served compressed—Looks good: goodHTML is compressed with br.
Iframe usage—Looks good: goodNo iframes.
Source HTML weight29.6 KBInformational: measured source, not transferred bytes29.6 KB of HTML on the audited page

From a single automated fetch of the audited page. A quick reading, not a substitute for Lighthouse or field data.

Security

89/100

HTTPS, transport security and the response headers the audited pages send.

Could be better: Frame embedding protectionNo frame-embedding restriction was observed (neither CSP frame-ancestors nor X-Frame-Options).

Could be better · Security · Review suggested

Observed evidence

No frame-embedding restriction was observed (neither CSP frame-ancestors nor X-Frame-Options).

Why this matters

HTTPS protects what visitors send you, and response headers limit what a hostile page can do in their browser. It is there, but weaker than this check expects.

Recommended fix

Send Content-Security-Policy: frame-ancestors 'self' (or 'none', or a list of partner origins), or X-Frame-Options: SAMEORIGIN. It stops other sites from framing your pages to trick visitors into clicking (clickjacking).

Reference
Could be better: X-Content-Type-OptionsX-Content-Type-Options: nosniff is not set.

Could be better · Security · Review suggested

Observed evidence

X-Content-Type-Options: nosniff is not set.

Why this matters

HTTPS protects what visitors send you, and response headers limit what a hostile page can do in their browser. It is there, but weaker than this check expects.

Recommended fix

Add it — one header, stops MIME-sniffing attacks. Most hosts let you set headers in config (vercel.json, netlify.toml, next.config).

Could be better: Content Security PolicyNo Content-Security-Policy detected.

Could be better · Security · Review suggested

Observed evidence

No Content-Security-Policy detected.

Why this matters

HTTPS protects what visitors send you, and response headers limit what a hostile page can do in their browser. It is there, but weaker than this check expects.

Recommended fix

Configure an enforced policy for script and resource origins; use report-only monitoring to prepare changes safely.

Reference
Could be better: Browser feature permissionsNo explicit restriction on sensitive browser features was observed.

Could be better · Security · Review suggested

Observed evidence

No explicit restriction on sensitive browser features was observed.

Why this matters

HTTPS protects what visitors send you, and response headers limit what a hostile page can do in their browser. It is there, but weaker than this check expects.

Recommended fix

Disable unused camera, microphone, or geolocation access using Permissions-Policy.

Not applicable: Password forms avoid URL submissionNo enabled, named password inputs in sampled HTML.

Not applicable · Security · Measured on your page

Observed evidence

No enabled, named password inputs in sampled HTML.

Why this matters

HTTPS protects what visitors send you, and response headers limit what a hostile page can do in their browser. This check does not apply to the features observed in this sample.

Recommended fix

Review authentication forms separately when applicable.

Looks good: Site serves over HTTPS

Looks good · Security · Measured on your page

Observed evidence

Site serves over HTTPS.

Why this matters

HTTPS protects what visitors send you, and response headers limit what a hostile page can do in their browser. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: HTTP redirects to HTTPS

Looks good · Security · Measured on your page

Observed evidence

http:// permanently redirects to https://./

Why this matters

HTTPS protects what visitors send you, and response headers limit what a hostile page can do in their browser. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: HSTS header

Looks good · Security · Measured on your page

Observed evidence

HSTS is set: max-age=63072000.

Why this matters

HTTPS protects what visitors send you, and response headers limit what a hostile page can do in their browser. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Referrer policy

Looks good · Security · Measured on your page

Observed evidence

No Referrer-Policy is set, so browsers apply their default, strict-origin-when-cross-origin, which sends only the origin to other sites.

Why this matters

HTTPS protects what visitors send you, and response headers limit what a hostile page can do in their browser. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: No mixed content

Looks good · Security · Measured on your page

Observed evidence

No insecure subresources detected.

Why this matters

HTTPS protects what visitors send you, and response headers limit what a hostile page can do in their browser. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Server technology disclosure

Looks good · Security · Measured on your page

Observed evidence

No X-Powered-By disclosure.

Why this matters

HTTPS protects what visitors send you, and response headers limit what a hostile page can do in their browser. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Declared form submission targets

Looks good · Security · Measured on your page

Observed evidence

1 declared form(s) submit over HTTPS. Some post to another site (https://api.web3forms.com),/ which is normal for newsletter, payment and booking services; confirm each is one you use.

Why this matters

HTTPS protects what visitors send you, and response headers limit what a hostile page can do in their browser. The inspected source provides this signal.

Recommended fix

Nothing to do here.

AI answer readiness

100/100

Retrieval signals an answer engine relies on: crawler access, clear entities and answers it can quote. These checks do not measure citations or traffic.

Needs a fix: llms.txt follows the specllms.txt is missing markdown links in the form [name](url).

Needs a fix · AI answer readiness · Published platform rule

Observed evidence

llms.txt is missing markdown links in the form [name](url).

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. Right now the sampled pages don't provide it.

Recommended fix

Follow the published structure: a single H1, a blockquote summary, then H2 sections whose lists use [name](url): short note. Parsers read the H1 and the link lists.

Reference
Could be better: FAQ/QA schemaNo FAQPage or QAPage schema on any crawled page.

Could be better · AI answer readiness · Review suggested

Observed evidence

No FAQPage or QAPage schema on any crawled page.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. It is there, but weaker than this check expects.

Recommended fix

If the page answers recurring questions, use visible question-and-answer content and matching FAQPage markup. QAPage is for a single question with user-submitted answers. Google FAQ rich results are restricted to eligible authoritative government and health sites; markup does not guarantee AI citations.

Reference
Could be better: Question-style headingsOnly 5% of 118 H2/H3 headings are question-shaped.

Could be better · AI answer readiness · Review suggested

Observed evidence

Only 5% of 118 H2/H3 headings are question-shaped.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. It is there, but weaker than this check expects.

Recommended fix

Phrase key subheadings as the questions users actually ask ("How much does X cost?"). This improves the measured question-heading signal; the audit does not guarantee citations.

Could be better: Definitional openingThe opening paragraph doesn't define what the site/topic is: "Each actor handles one request at a time and has its own SQLite database.

Could be better · AI answer readiness · Review suggested

Observed evidence

The opening paragraph doesn't define what the site/topic is: "Each actor handles one request at a time and has its own SQLite database. The op…"

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. It is there, but weaker than this check expects.

Recommended fix

"X is a Y that does Z for W" in the first paragraph gives answer engines a liftable definition of you. Write it once, benefit everywhere.

Not measured: Citable facts density10 concrete figures across 589 words.

Not measured · AI answer readiness · Not established

Observed evidence

10 concrete figures across 589 words.

Why this matters

This observation could not be established from the available evidence. Resolve the collection limit or inspect the relevant source before deciding whether a change is needed.

Recommended fix

Good — keep facts specific and current, and date-stamp them.

Not applicable: Accept: text/markdown negotiationThe homepage answered Accept: text/markdown with text/html; charset=utf-8.

Not applicable · AI answer readiness · Measured on your page

Observed evidence

The homepage answered Accept: text/markdown with text/html; charset=utf-8.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. This check does not apply to the features observed in this sample.

Recommended fix

Optional: return a stripped markdown body when the request asks for text/markdown. Some hosts and CDNs do this for you; a plain HTML answer is not a defect.

Not applicable: Advertised machine interfaces are inspectableNo OpenAPI interface was advertised by sampled HTML.

Not applicable · AI answer readiness · Measured on your page

Observed evidence

No OpenAPI interface was advertised by sampled HTML.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. This check does not apply to the features observed in this sample.

Recommended fix

An API is optional. Add a service-desc link if you already publish a machine-readable API specification.

Looks good: llms.txt

Looks good · AI answer readiness · Measured on your page

Observed evidence

llms.txt exists (7437 chars of markdown).

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: llms-full.txt

Looks good · AI answer readiness · Measured on your page

Observed evidence

llms-full.txt is published.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: AI crawler access

Looks good · AI answer readiness · Measured on your page

Observed evidence

The audited URL is allowed for evaluated answer-search crawlers.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Authored, dated articles

Looks good · AI answer readiness · Measured on your page

Observed evidence

2 article(s) with author + date metadata.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Semantic HTML structure

Looks good · AI answer readiness · Measured on your page

Observed evidence

Semantic structure present: main×1, section×8, nav×1, footer×1.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Answers lead the section

Looks good · AI answer readiness · Measured on your page

Observed evidence

Paragraphs get to the point without preamble.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Content is chunkable

Looks good · AI answer readiness · Measured on your page

Observed evidence

Paragraphs average 27 words, lists present — chunk-friendly.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Freshness signals

Looks good · AI answer readiness · Measured on your page

Observed evidence

dateModified present in schema.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Cites external sources

Looks good · AI answer readiness · Measured on your page

Observed evidence

124 outbound reference(s) across crawled pages.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Consistent brand entity

Looks good · AI answer readiness · Measured on your page

Observed evidence

Brand declared: og:site_name "Terse" + identity schema.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Description reads as a liftable summary

Looks good · AI answer readiness · Measured on your page

Observed evidence

Meta description works as a standalone summary.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Entity identity agrees across signals

Looks good · AI answer readiness · Measured on your page

Observed evidence

The site is consistently named "Terse" and 6 identity URL(s) stay on useterse.ai.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Question headings have concise answers

Looks good · AI answer readiness · Measured on your page

Observed evidence

6 concise answer block(s) follow 6 question-shaped heading(s).

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Machine-readable provenance signals

Looks good · AI answer readiness · Measured on your page

Observed evidence

Found 4 of 4 machine-readable provenance signal types: contact, author, date, breadcrumb.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Markdown copies of pages

Looks good · AI answer readiness · Measured on your page

Observed evidence

1 of 3 probed URLs returned markdown.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

AdSense readinessOptional

30/100

Publisher-policy signals, for sites that plan to carry ads. These checks do not affect the overall score or grade, and they do not measure or guarantee AdSense approval.

On its own, this site scores 35/100 for publisher readiness. Ignore this section if you do not run ads.

Needs a fix: Latest article has real depthThe newest article has 48 words of body text.

Needs a fix · AdSense policy · Measured on your pageCritical

Observed evidence

The newest article has 48 words of body text.

Why this matters

A publisher review looks for this before it accepts a site. Right now the sampled pages don't provide it.

Recommended fix

Publish articles that answer the question fully — under a few hundred words a page rarely carries more than a restated headline. Depth is measured here in words of body copy, not in padding.

Affected pages (1)

  • https://www.useterse.ai/blog/authors/thomas-karatzas
Reference
Could be better: Sampled publisher-content coverage3/6 editorial pages expose fewer than 250 publisher words; those 6 pages hold 3180 publisher words in total.

Could be better · AdSense policy · Review suggestedCritical

Observed evidence

3/6 editorial pages expose fewer than 250 publisher words; those 6 pages hold 3180 publisher words in total. 4 of the 10 sampled pages are support or tool pages and were excluded from this check.

Why this matters

A publisher review looks for this before it accepts a site. It is there, but weaker than this check expects.

Recommended fix

Review whether each page fully serves its purpose. Expand incomplete editorial content with useful information; keep concise navigation and tool pages when they help visitors.

Affected pages (3)

  • https://www.useterse.ai/slack
  • https://www.useterse.ai/support
  • https://www.useterse.ai/use-cases
Reference
Could be better: About pageNo about page found.

Could be better · AdSense policy · Review suggested

Observed evidence

No about page found.

Why this matters

A publisher review looks for this before it accepts a site. It is there, but weaker than this check expects.

Recommended fix

Add an About page that identifies the publisher, site purpose, and relevant experience. This supports content transparency but is not a standalone AdSense requirement.

Could be better: Tool pages expose explanatory content2/6 tool-style screen(s) expose fewer than 80 publisher words.

Could be better · AdSense policy · Review suggested

Observed evidence

2/6 tool-style screen(s) expose fewer than 80 publisher words. Google publishes no minimum word count; this is an audit heuristic.

Why this matters

A publisher review looks for this before it accepts a site. It is there, but weaker than this check expects.

Recommended fix

Explain the tool's purpose, inputs, method, limitations, and result interpretation in source HTML. Add useful material, not filler.

Affected pages (2)

  • https://www.useterse.ai/contact
  • https://www.useterse.ai/support
Reference
Could be better: Latest article names an author and a dateThe newest article shows a date but no author.

Could be better · AdSense policy · Measured on your page

Observed evidence

The newest article shows a date but no author.

Why this matters

A publisher review looks for this before it accepts a site. It is there, but weaker than this check expects.

Recommended fix

Add the missing one in the visible page and in Article JSON-LD, so the byline and the markup agree.

Affected pages (1)

  • https://www.useterse.ai/blog/authors/thomas-karatzas
Reference
Could be better: Author bylines on content1/3 sampled editorial pages lack detectable author attribution.

Could be better · AdSense policy · Review suggested

Observed evidence

1/3 sampled editorial pages lack detectable author attribution.

Why this matters

A publisher review looks for this before it accepts a site. It is there, but weaker than this check expects.

Recommended fix

Identify who created editorial content with a visible byline, author link, or matching Article author markup. This is a transparency heuristic, not an AdSense approval rule.

Affected pages (1)

  • https://www.useterse.ai/slack
Reference
Could be better: ads.txtads.txt exists but contains no google.com pub- line.

Could be better · AdSense policy · Review suggested

Observed evidence

ads.txt exists but contains no google.com pub- line.

Why this matters

A publisher review looks for this before it accepts a site. It is there, but weaker than this check expects.

Recommended fix

Add your AdSense publisher line exactly as shown in your AdSense account.

Not measured: Domain age & historyDomain age isn't visible from the site itself.

Not measured · AdSense policy · Not established

Observed evidence

Domain age isn't visible from the site itself.

Why this matters

This observation could not be established from the available evidence. Resolve the collection limit or inspect the relevant source before deciding whether a change is needed.

Recommended fix

Do not use age as a content-quality proxy. Verify ownership and account eligibility in AdSense; Google's general eligibility page publishes no domain-age threshold.

Reference
Not measured: Latest article reads as edited workThe newest article has only 48 words, too few to measure style reliably.

Not measured · AdSense policy · Not established

Observed evidence

The newest article has only 48 words, too few to measure style reliably.

Why this matters

This observation could not be established from the available evidence. Resolve the collection limit or inspect the relevant source before deciding whether a change is needed.

Recommended fix

The depth check covers length. Style signals need a few hundred words before they mean anything.

Affected pages (1)

  • https://www.useterse.ai/blog/authors/thomas-karatzas
Reference
Looks good: Privacy policy page

Looks good · AdSense policy · Measured on your page

Observed evidence

Privacy policy found: https://www.useterse.ai/privacy

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Privacy policy advertising disclosures

Looks good · AdSense policy · Published platform rule

Observed evidence

Fetched privacy policy contains cookie/storage, advertising, and third-party/vendor disclosure signals.

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Reference
Looks good: Terms page

Looks good · AdSense policy · Measured on your page

Observed evidence

Terms page found: https://www.useterse.ai/terms

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Contact method

Looks good · AdSense policy · Measured on your page

Observed evidence

Contact page found: https://www.useterse.ai/contact

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: First-party contact email

Looks good · AdSense policy · Measured on your page

Observed evidence

First-party contact email found: founders@useterse.ai, support@useterse.ai.

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Thin page share

Looks good · AdSense policy · Review suggested

Observed evidence

5/6 editorial pages clear the audit's publisher-content triage threshold. 4 of the 10 sampled pages are support or tool pages and were excluded from this check.

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: No ads on non-content screens

Looks good · AdSense policy · Published platform rule

Observed evidence

No Google ad code detected on sampled non-content screens.

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Reference
Looks good: Publisher content differs across URLs

Looks good · AdSense policy · Review suggested

Observed evidence

No high publisher-content repetition among 7 substantial sampled page(s).

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Publisher content exists in source HTML

Looks good · AdSense policy · Measured on your page

Observed evidence

No empty client-rendered publisher shell in the crawl sample.

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Clear navigation

Looks good · AdSense policy · Measured on your page

Observed evidence

Navigation present with 6 links.

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Article-style content exists

Looks good · AdSense policy · Measured on your page

Observed evidence

Article-style content detected.

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Show 4 more checks
Looks good: No "coming soon" or placeholder pages

Looks good · AdSense policy · Measured on your page

Observed evidence

No "coming soon", "under construction" or lorem-ipsum text on crawled pages.

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Site language is AdSense-supported

Looks good · AdSense policy · Measured on your page

Observed evidence

Language "en" is AdSense-supported.

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Existing ad scripts

Looks good · AdSense policy · Measured on your page

Observed evidence

No competing ad scripts on the page.

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Author or publisher background

Looks good · AdSense policy · Review suggested

Observed evidence

Discoverable author or publisher background supports all 2 attributed editorial pages.

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to change.

Reference

Hosting and infrastructure

Public endpoint facts observed at audit time. A CDN or proxy can conceal the origin infrastructure.

Hosting and infrastructure observations
Hostnamewww.useterse.ai
HostingVercel
IP addresses216.150.1.129, 216.150.16.129
DNS A216.150.16.129 · 216.150.1.129
DNS CNAMEbd1f0a90447156e8.vercel-dns-016.com
DNS CAA{"critical":0,"type":"CAA","issue":"globalsign.com"} · {"critical":0,"type":"CAA","issue":"letsencrypt.org"} · {"critical":0,"type":"CAA","issue":"pki.goog"} · {"critical":0,"type":"CAA","issue":"sectigo.com"}
TLSTLSv1.3TLS_AES_128_GCM_SHA256
Certificate issuerLet's Encrypt / YR1
Certificate valid untilDec 10 21:23:25 2026 GMT
Certificate validationPassed

Website anatomy and diagnostics

Explore links, resources, crawler access and site integrations.

Page architecture

Choose a page to explore its details and connections.

Page content

430 publisher words

Page structure

html content

Observed discovery

Depth 0 · 9 incoming links

HTTP 200 · 29.6 KB source

Source interactions

31 controls · 0 unnamed

0 script / 4 stylesheet references

Canonical declaration
https://www.useterse.ai/
Schema types
SoftwareApplication, Organization, ImageObject, WebSite
Outgoing links in sampled graph
/pricing · /blog/terse-vs-cloudflare-durable-objects · /blog/terse-vs-rivet-actors · /privacy · /terms

Routes: / · /contact · /privacy · /pricing · /blog · /terms · /slack · /support · /use-cases

Resource origins 2

Resources associated with your website. External resources may belong to the same organization.

  • https://www.useterse.ai/stylesheet, image · 63 references · same origin
  • https://fonts.googleapis.com/stylesheet · 12 references · cross origin
Crawler policy by page

Review crawler access for your pages. Search, training and user-triggered services have different purposes; declared access does not guarantee discovery.

Robots policy for every evaluated crawler and sampled page
Crawler / purposePagePolicyMatched directive
Googlebotsearch/allowedallow: /
Googlebotsearch/contactallowedallow: /
Googlebotsearch/privacyallowedallow: /
Googlebotsearch/pricingallowedallow: /
Googlebotsearch/blog/terse-vs-cloudflare-durable-objectsallowedallow: /
Googlebotsearch/termsallowedallow: /
Googlebotsearch/slackallowedallow: /
Googlebotsearch/supportallowedallow: /
Googlebotsearch/use-casesallowedallow: /
Googlebotsearch/blog/terse-vs-rivet-actorsallowedallow: /
bingbotsearch/allowedallow: /
bingbotsearch/contactallowedallow: /
bingbotsearch/privacyallowedallow: /
bingbotsearch/pricingallowedallow: /
bingbotsearch/blog/terse-vs-cloudflare-durable-objectsallowedallow: /
bingbotsearch/termsallowedallow: /
bingbotsearch/slackallowedallow: /
bingbotsearch/supportallowedallow: /
bingbotsearch/use-casesallowedallow: /
bingbotsearch/blog/terse-vs-rivet-actorsallowedallow: /
OAI-SearchBotsearch/allowedallow: /
OAI-SearchBotsearch/contactallowedallow: /
OAI-SearchBotsearch/privacyallowedallow: /
OAI-SearchBotsearch/pricingallowedallow: /
OAI-SearchBotsearch/blog/terse-vs-cloudflare-durable-objectsallowedallow: /
OAI-SearchBotsearch/termsallowedallow: /
OAI-SearchBotsearch/slackallowedallow: /
OAI-SearchBotsearch/supportallowedallow: /
OAI-SearchBotsearch/use-casesallowedallow: /
OAI-SearchBotsearch/blog/terse-vs-rivet-actorsallowedallow: /
PerplexityBotsearch/allowedallow: /
PerplexityBotsearch/contactallowedallow: /
PerplexityBotsearch/privacyallowedallow: /
PerplexityBotsearch/pricingallowedallow: /
PerplexityBotsearch/blog/terse-vs-cloudflare-durable-objectsallowedallow: /
PerplexityBotsearch/termsallowedallow: /
PerplexityBotsearch/slackallowedallow: /
PerplexityBotsearch/supportallowedallow: /
PerplexityBotsearch/use-casesallowedallow: /
PerplexityBotsearch/blog/terse-vs-rivet-actorsallowedallow: /
Claude-SearchBotsearch/allowedallow: /
Claude-SearchBotsearch/contactallowedallow: /
Claude-SearchBotsearch/privacyallowedallow: /
Claude-SearchBotsearch/pricingallowedallow: /
Claude-SearchBotsearch/blog/terse-vs-cloudflare-durable-objectsallowedallow: /
Claude-SearchBotsearch/termsallowedallow: /
Claude-SearchBotsearch/slackallowedallow: /
Claude-SearchBotsearch/supportallowedallow: /
Claude-SearchBotsearch/use-casesallowedallow: /
Claude-SearchBotsearch/blog/terse-vs-rivet-actorsallowedallow: /
GPTBottraining/allowedallow: /
GPTBottraining/contactallowedallow: /
GPTBottraining/privacyallowedallow: /
GPTBottraining/pricingallowedallow: /
GPTBottraining/blog/terse-vs-cloudflare-durable-objectsallowedallow: /
GPTBottraining/termsallowedallow: /
GPTBottraining/slackallowedallow: /
GPTBottraining/supportallowedallow: /
GPTBottraining/use-casesallowedallow: /
GPTBottraining/blog/terse-vs-rivet-actorsallowedallow: /
ClaudeBottraining/allowedallow: /
ClaudeBottraining/contactallowedallow: /
ClaudeBottraining/privacyallowedallow: /
ClaudeBottraining/pricingallowedallow: /
ClaudeBottraining/blog/terse-vs-cloudflare-durable-objectsallowedallow: /
ClaudeBottraining/termsallowedallow: /
ClaudeBottraining/slackallowedallow: /
ClaudeBottraining/supportallowedallow: /
ClaudeBottraining/use-casesallowedallow: /
ClaudeBottraining/blog/terse-vs-rivet-actorsallowedallow: /
Google-Extendedtraining and other Google AI uses/allowedallow: /
Google-Extendedtraining and other Google AI uses/contactallowedallow: /
Google-Extendedtraining and other Google AI uses/privacyallowedallow: /
Google-Extendedtraining and other Google AI uses/pricingallowedallow: /
Google-Extendedtraining and other Google AI uses/blog/terse-vs-cloudflare-durable-objectsallowedallow: /
Google-Extendedtraining and other Google AI uses/termsallowedallow: /
Google-Extendedtraining and other Google AI uses/slackallowedallow: /
Google-Extendedtraining and other Google AI uses/supportallowedallow: /
Google-Extendedtraining and other Google AI uses/use-casesallowedallow: /
Google-Extendedtraining and other Google AI uses/blog/terse-vs-rivet-actorsallowedallow: /
ChatGPT-Useruser-initiated; robots may not apply/allowedallow: /
ChatGPT-Useruser-initiated; robots may not apply/contactallowedallow: /
ChatGPT-Useruser-initiated; robots may not apply/privacyallowedallow: /
ChatGPT-Useruser-initiated; robots may not apply/pricingallowedallow: /
ChatGPT-Useruser-initiated; robots may not apply/blog/terse-vs-cloudflare-durable-objectsallowedallow: /
ChatGPT-Useruser-initiated; robots may not apply/termsallowedallow: /
ChatGPT-Useruser-initiated; robots may not apply/slackallowedallow: /
ChatGPT-Useruser-initiated; robots may not apply/supportallowedallow: /
ChatGPT-Useruser-initiated; robots may not apply/use-casesallowedallow: /
ChatGPT-Useruser-initiated; robots may not apply/blog/terse-vs-rivet-actorsallowedallow: /
Advertised APIs and machine interfaces
  • documentation · declared

    https://github.com/TerseAI/durable-actors/blob/main/docs/self-hosting.md

    This interface was advertised; its runtime behavior remains unverified.

  • documentation · declared

    https://github.com/TerseAI/durable-actors/blob/main/docs/reference/typescript-guide.md

    This interface was advertised; its runtime behavior remains unverified.

  • documentation · declared

    https://rivet.dev/actors/docs/

    This interface was advertised; its runtime behavior remains unverified.

  • documentation · declared

    https://rivet.dev/actors/docs/state/

    This interface was advertised; its runtime behavior remains unverified.

  • documentation · declared

    https://rivet.dev/actors/docs/actions/

    This interface was advertised; its runtime behavior remains unverified.

  • documentation · declared

    https://rivet.dev/actors/docs/sqlite/

    This interface was advertised; its runtime behavior remains unverified.

  • documentation · declared

    https://rivet.dev/docs/deploy/

    This interface was advertised; its runtime behavior remains unverified.

Public DNS and TLS endpoint

www.useterse.ai · observed · 216.150.1.129, 216.150.16.129

A
216.150.16.129 · 216.150.1.129
AAAA
Unavailable for this exact hostname
CNAME
bd1f0a90447156e8.vercel-dns-016.com
NS
Unavailable for this exact hostname
MX
Unavailable for this exact hostname
CAA
{"critical":0,"type":"CAA","issue":"globalsign.com"} · {"critical":0,"type":"CAA","issue":"letsencrypt.org"} · {"critical":0,"type":"CAA","issue":"pki.goog"} · {"critical":0,"type":"CAA","issue":"sectigo.com"}

TLS: TLSv1.3

Certificate validation passed for the observed endpoint.

Issuer: Let's Encrypt / YR1

Certificate valid until: Dec 10 21:23:25 2026 GMT

PageSpeed measurement

Loading the PageSpeed panel…

Growth resources

Loading growth resources…

Where to take this site next

Follow-on work suggested by the observations above.

  1. 01

    Build content depth around real keywords

    Technical basics are in place — use pages that answer actual searches as the next content focus. This audit does not measure rankings.

  2. 02

    Steal from our keyword datasets

    Curated keyword collections by niche give you a content calendar without paid tools.

  3. 03

    Fix AdSense policy signals

    Make policy pages, publisher disclosures and substantial content reachable before applying. This audit cannot predict approval.

Apply the recommended fixes

Hand the complete evidence to a coding agent, or take the report with you.

Open in ChatGPT Open in Grok Open in Perplexity

Report notes

  • 01This report covers the sampled public pages listed above. Other pages may have different results.
  • 02Browser-rendered content, private backend systems and authenticated experiences may require a separate review.
  • 03Unavailable observations are identified in the report. Results do not guarantee rankings, citations, security, accessibility or advertising approval.
Pages included in this report
  • https://www.useterse.ai/
  • https://www.useterse.ai/contact
  • https://www.useterse.ai/privacy
  • https://www.useterse.ai/pricing
  • https://www.useterse.ai/blog/terse-vs-cloudflare-durable-objects
  • https://www.useterse.ai/terms
  • https://www.useterse.ai/slack
  • https://www.useterse.ai/support
  • https://www.useterse.ai/use-cases
  • https://www.useterse.ai/blog/terse-vs-rivet-actors