Competitive result not qualified

Fewer than 10 internal destinations were verified in this attempt.

Latest attempt inconclusive: Fewer than 10 internal destinations were verified in this attempt. No new competitive result was awarded.

The diagnostic report below may cover additional pages and external links. Only the stored competitive sample determines the ranking. At least 10 verified internal links are required; unavailable checklist items do not exclude a site. How scoring works

uploadthing.com

uploadthing.com · 🇺🇸 United States · Community picks

Not ranked: this scan does not meet the current evidence and freshness requirements.

Scanned

The quick verdict

This sample has no current rank.

Link health

Ranks first

Quality checklist

Breaks ties

Broken links
0

Confirmed in sample

16 links verified · 0 unknown · 4 selected source pages · 100% of selected destinations verified. Sample only; scan limit reached. Unknown links are not counted as broken.

What to fix first

View all priorities →
  1. Distinct page titles

    Use a title that describes the purpose of this page rather than repeating the same title across URLs.

  2. Open Graph image description

    Describe the sharing image with og:image:alt.

  3. Structured data syntax

    Provide JSON-LD with @context and @type (or a typed @graph). Match the markup to the visible content; syntax alone does not validate its meaning.

Fix with your coding assistant

Copy a ready-to-use prompt with the issues and affected URLs.

View full reportConfirmed issues, suggested fixes and the evidence behind them.

Extended diagnostic evidence

0 confirmed broken links in 16 verified. 2 discovered links could not be verified.

89% of discovered links verified. These diagnostic counts may include pages and external links outside the ranked sample. Unknown links are not counted as broken.

Broken links
0
Links verified
16
Unverifiable
2

mostly access denied

Pages read
4

0 internal · 0 external

Latest competitive sample and evidence · Not qualified

Fewer than 10 internal destinations were verified in this attempt. Each item is evaluated independently; unavailable readings do not veto the result.

4 selected source URLs · 5 internal destinations. 5 evaluated · 0 unknown · 0 using previous evidence. The expanded diagnostic report follows below.

SEO
45.00/100
Accessibility
83.33/100
Structure
83.33/100
Sharing
88.89/100
Selected pages
  • https://uploadthing.com/
  • https://uploadthing.com/info/privacy-policy
  • https://uploadthing.com/info/terms-of-service
  • https://uploadthing.com/sign-in
Internal link verdicts and weights
  • ok · weight 6 · https://docs.uploadthing.com/
  • ok · weight 6 · https://uploadthing.com/
  • ok · weight 6 · https://uploadthing.com/info/privacy-policy
  • ok · weight 6 · https://uploadthing.com/info/terms-of-service
  • ok · weight 6 · https://uploadthing.com/sign-in
Scoring checks
  • Page title: passed · 4/4 applicable observations

    https://uploadthing.com/: uploadthing

    https://uploadthing.com/info/privacy-policy: uploadthing

    https://uploadthing.com/info/terms-of-service: uploadthing

    https://uploadthing.com/sign-in: uploadthing

  • Distinct page titles: failed · 0/4 applicable observations

    https://uploadthing.com/: uploadthing

    https://uploadthing.com/info/privacy-policy: uploadthing

    https://uploadthing.com/info/terms-of-service: uploadthing

    https://uploadthing.com/sign-in: uploadthing

  • Meta description: passed · 4/4 applicable observations

    https://uploadthing.com/: An easier way to upload files.

    https://uploadthing.com/info/privacy-policy: An easier way to upload files.

    https://uploadthing.com/info/terms-of-service: An easier way to upload files.

    https://uploadthing.com/sign-in: An easier way to upload files.

  • Canonical URL: failed · 1/4 applicable observations

    https://uploadthing.com/info/privacy-policy: No canonical URL

    https://uploadthing.com/info/terms-of-service: No canonical URL

    https://uploadthing.com/sign-in: No canonical URL

    https://uploadthing.com/: https://uploadthing.com

  • Main heading: passed · 4/4 applicable observations

    https://uploadthing.com/: 7 H1 element(s)

    https://uploadthing.com/info/privacy-policy: 2 H1 element(s)

    https://uploadthing.com/info/terms-of-service: 2 H1 element(s)

    https://uploadthing.com/sign-in: 2 H1 element(s)

  • Heading hierarchy: failed · 3/4 applicable observations

    https://uploadthing.com/info/privacy-policy: 1 skipped heading level(s)

    https://uploadthing.com/: 0 skipped heading level(s)

    https://uploadthing.com/info/terms-of-service: 0 skipped heading level(s)

    https://uploadthing.com/sign-in: 0 skipped heading level(s)

  • Main landmark: failed · 1/4 applicable observations

    https://uploadthing.com/info/privacy-policy: 0 main landmarks

    https://uploadthing.com/info/terms-of-service: 0 main landmarks

    https://uploadthing.com/sign-in: 0 main landmarks

    https://uploadthing.com/: 1 main landmarks

  • Document language: passed · 4/4 applicable observations

    https://uploadthing.com/: en

    https://uploadthing.com/info/privacy-policy: en

    https://uploadthing.com/info/terms-of-service: en

    https://uploadthing.com/sign-in: en

  • Image alternatives declared: passed · 1/1 applicable observations

    https://uploadthing.com/info/privacy-policy: 0 of 0 images lack an alt attribute

    https://uploadthing.com/info/terms-of-service: 0 of 0 images lack an alt attribute

    https://uploadthing.com/sign-in: 0 of 0 images lack an alt attribute

    https://uploadthing.com/: 0 of 2 images lack an alt attribute

  • Buttons named: failed · 1/3 applicable observations

    https://uploadthing.com/: 0 of 0 buttons have no HTML name

    https://uploadthing.com/info/privacy-policy: 1 of 1 buttons have no HTML name

    https://uploadthing.com/info/terms-of-service: 1 of 1 buttons have no HTML name

    https://uploadthing.com/sign-in: 0 of 1 buttons have no HTML name

  • Links named: passed · 4/4 applicable observations

    https://uploadthing.com/: 0 of 14 links have no HTML name

    https://uploadthing.com/info/privacy-policy: 0 of 17 links have no HTML name

    https://uploadthing.com/info/terms-of-service: 0 of 11 links have no HTML name

    https://uploadthing.com/sign-in: 0 of 2 links have no HTML name

  • Mobile viewport: passed · 4/4 applicable observations

    https://uploadthing.com/: width=device-width, initial-scale=1

    https://uploadthing.com/info/privacy-policy: width=device-width, initial-scale=1

    https://uploadthing.com/info/terms-of-service: width=device-width, initial-scale=1

    https://uploadthing.com/sign-in: width=device-width, initial-scale=1

  • HTTPS page: passed · 4/4 applicable observations

    https://uploadthing.com/: https://uploadthing.com/

    https://uploadthing.com/info/privacy-policy: https://uploadthing.com/info/privacy-policy

    https://uploadthing.com/info/terms-of-service: https://uploadthing.com/info/terms-of-service

    https://uploadthing.com/sign-in: https://uploadthing.com/sign-in

  • No insecure embedded resources: passed · 4/4 applicable observations

    https://uploadthing.com/: 0 HTTP embedded resource URL(s)

    https://uploadthing.com/info/privacy-policy: 0 HTTP embedded resource URL(s)

    https://uploadthing.com/info/terms-of-service: 0 HTTP embedded resource URL(s)

    https://uploadthing.com/sign-in: 0 HTTP embedded resource URL(s)

  • Open Graph title: passed · 4/4 applicable observations

    https://uploadthing.com/: uploadthing

    https://uploadthing.com/info/privacy-policy: uploadthing

    https://uploadthing.com/info/terms-of-service: uploadthing

    https://uploadthing.com/sign-in: uploadthing

  • Open Graph description: passed · 4/4 applicable observations

    https://uploadthing.com/: An easier way to upload files.

    https://uploadthing.com/info/privacy-policy: An easier way to upload files.

    https://uploadthing.com/info/terms-of-service: An easier way to upload files.

    https://uploadthing.com/sign-in: An easier way to upload files.

  • Open Graph type: passed · 4/4 applicable observations

    https://uploadthing.com/: website

    https://uploadthing.com/info/privacy-policy: website

    https://uploadthing.com/info/terms-of-service: website

    https://uploadthing.com/sign-in: website

  • Open Graph URL: passed · 4/4 applicable observations

    https://uploadthing.com/: https://uploadthing.com

    https://uploadthing.com/info/privacy-policy: https://uploadthing.com

    https://uploadthing.com/info/terms-of-service: https://uploadthing.com

    https://uploadthing.com/sign-in: https://uploadthing.com

  • Open Graph image URL: passed · 4/4 applicable observations

    https://uploadthing.com/: https://uploadthing.com/og.jpg?v=2

    https://uploadthing.com/info/privacy-policy: https://uploadthing.com/og.jpg?v=2

    https://uploadthing.com/info/terms-of-service: https://uploadthing.com/og.jpg?v=2

    https://uploadthing.com/sign-in: https://uploadthing.com/og.jpg?v=2

  • Open Graph image description: failed · 0/4 applicable observations

    https://uploadthing.com/: No sharing image description

    https://uploadthing.com/info/privacy-policy: No sharing image description

    https://uploadthing.com/info/terms-of-service: No sharing image description

    https://uploadthing.com/sign-in: No sharing image description

  • Social card type: passed · 4/4 applicable observations

    https://uploadthing.com/: summary_large_image

    https://uploadthing.com/info/privacy-policy: summary_large_image

    https://uploadthing.com/info/terms-of-service: summary_large_image

    https://uploadthing.com/sign-in: summary_large_image

  • Homepage favicon available: passed · 1/1 applicable observations

    https://uploadthing.com/favicon.ico: HTTP 200; image/vnd.microsoft.icon

  • Homepage sharing image available: passed · 1/1 applicable observations

    https://uploadthing.com/og.jpg?v=2: HTTP 200; image/jpeg

  • Root sitemap available: failed · 0/1 applicable observations

    https://uploadthing.com/sitemap.xml: HTTP 404; no sitemap root found

  • Rendered color contrast: unverified · 0/1 applicable observations

    https://uploadthing.com/: Requires a browser or human assessment; excluded from points.

  • Keyboard and focus behavior: unverified · 0/1 applicable observations

    https://uploadthing.com/: Requires a browser or human assessment; excluded from points.

Sample reference: 0e66c0f58eae069dc80137816286336a15e1803b08aa42a11b9a71363e1eab5d

Full standard report · free for everyone. This is a bounded sample, not an audit of every page.

No confirmed broken links in this sample. Unverified URLs are not evidence of healthy links.

Diagnostic checklist

20 passed · 8 need work · 3 not verified. Open a check for the evidence and suggested fix.

SEO
45.00
Sharing
88.89

Measured performance

227 ms median to homepage response headers. Measurements: 227, 231, 225 ms.

Same crawler, three sequential requests, DNS and TLS included. Timing is diagnostic only and never decides a position. This is server/network response, not browser loading or Core Web Vitals.

Static checks inspect crawler-visible HTML; they do not certify accessibility or code quality.

SEO3 to improve
Page titlePassed

4/4 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Give each page a descriptive, non-empty <title>.

Distinct page titlesNeeds work

0/4 applicable observations passed. 0.00/1 checklist weight earned.

How to improve: Use a title that describes the purpose of this page rather than repeating the same title across URLs.

Meta descriptionPassed

4/4 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Add a non-empty meta name="description" that summarizes this page.

Canonical URLNeeds work

1/4 applicable observations passed. 0.25/1 checklist weight earned.

How to improve: Declare one valid HTTP(S) canonical URL for each indexable page. It may point to another URL when intentional.

Root sitemap availableNeeds work

0/1 applicable observations passed. 0.00/1 checklist weight earned.

How to improve: Publish a sitemap URL set or index at /sitemap.xml. This checks its root, not every listed URL.

Accessibility1 to improve
Document languagePassed

4/4 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Declare a valid language tag on the html element, such as en or pt-BR.

Image alternatives declaredPassed

1/1 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Add alt text to informative images. Use alt="" for decorative images. This check does not judge text quality.

Form controls namedNot applicable

No applicable elements found. Informational; excluded from points.

How to improve: Associate a label with each visible form control, or provide a non-empty aria-label / valid aria-labelledby.

Buttons namedNeeds work

1/3 applicable observations passed. 0.33/1 checklist weight earned.

How to improve: Give every button visible text or an accessible name, including icon-only buttons.

Rendered color contrastNot verified

0/1 applicable observations passed. Informational; excluded from points.

How to improve: Check foreground/background contrast in the rendered page.

Keyboard and focus behaviorNot verified

0/1 applicable observations passed. Informational; excluded from points.

How to improve: Test every interactive control with a keyboard and inspect focus visibility.

Structure2 to improve
Main headingPassed

4/4 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Add a descriptive H1 identifying the main topic.

Heading hierarchyNeeds work

3/4 applicable observations passed. 0.75/1 checklist weight earned.

How to improve: Nest headings logically without skipping a level, starting with H1.

Main landmarkNeeds work

1/4 applicable observations passed. 0.25/1 checklist weight earned.

How to improve: Mark the main content with one <main> or role="main" landmark.

Mobile viewportPassed

4/4 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Add meta name="viewport" with width=device-width and do not disable user zoom.

HTTPS pagePassed

4/4 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Serve the page over HTTPS with a valid certificate.

No insecure embedded resourcesPassed

4/4 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Use HTTPS for embedded script, image, stylesheet, frame, audio and video URLs.

Sharing1 to improve
Open Graph titlePassed

4/4 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Provide a non-empty og:title meta property.

Open Graph descriptionPassed

4/4 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Provide a non-empty og:description meta property.

Open Graph typePassed

4/4 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Declare og:type, such as website or article.

Open Graph URLPassed

4/4 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Set og:url to an absolute HTTP(S) URL for this content.

Open Graph image URLPassed

4/4 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Set og:image to an absolute HTTP(S) image URL. Homepage image availability is checked separately.

Open Graph image descriptionNeeds work

0/4 applicable observations passed. 0.00/1 checklist weight earned.

How to improve: Describe the sharing image with og:image:alt.

Social card typePassed

4/4 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Declare twitter:card as summary or summary_large_image for a website card.

Homepage favicon availablePassed

1/1 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Serve a non-empty public image with an image Content-Type.

Homepage sharing image availablePassed

1/1 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Serve a non-empty public image with an image Content-Type.

AI access1 to improve
Content in initial HTMLPassed

4/4 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Render meaningful main content on the server so readers can access it without executing JavaScript.

Structured data syntaxNeeds work

0/4 applicable observations passed. 0.00/1 checklist weight earned.

How to improve: Provide JSON-LD with @context and @type (or a typed @graph). Match the markup to the visible content; syntax alone does not validate its meaning.

Performance0 to improve
HTML transfer budgetPassed

4/4 applicable observations passed. 1.00/1 checklist weight earned.

How to improve: Keep the uncompressed HTML at or below 500 KB. Remove duplicated inline payloads and unnecessary markup.

Repeated homepage HTTP responsePassed

1/1 applicable observations passed. Informational; excluded from points.

How to improve: Improve server response and CDN caching. Median of three requests; diagnostic only, never a ranking tiebreak.

Browser loading and Core Web VitalsNot verified

0/1 applicable observations passed. Informational; excluded from points.

How to improve: Measure LCP, INP and CLS with browser and field tools.

Checklist quality-v3. Competitive weights: Structure 30%, Accessibility markup 30%, SEO 25%, Sharing 15%. AI access and performance are diagnostic only. This expanded report may include pages outside the competitive sample. Unverified scored checks earn no points; not-applicable and manual checks are excluded. Full methodology and references.

Page health

From the 4 pages we read. Full details in the report.

Missing titles

0

Duplicate titles

4

Missing descriptions

0

Missing H1

0

Multiple H1

4

Avg response

378 ms

Slowest pages

HTTP response time measured by our crawler; not browser loading speed.

Pages inspected (4)

All 4 pages from this scan.

PageStatusTitleH1ms
https://uploadthing.com/200uploadthing
Page checklist evidence
  • title: passeduploadthing
  • description: passedAn easier way to upload files.
  • canonical: passedhttps://uploadthing.com
  • h1: passed7 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: passed1 main landmarks
  • lang: passeden
  • alt: passed0 of 2 images lack an alt attribute
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: not-applicable0 of 0 buttons have no HTML name
  • links-named: passed0 of 14 links have no HTML name
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://uploadthing.com/
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passeduploadthing
  • og-description: passedAn easier way to upload files.
  • og-type: passedwebsite
  • og-url: passedhttps://uploadthing.com
  • og-image: passedhttps://uploadthing.com/og.jpg?v=2
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed1221 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed389,948 bytes of HTML; budget 500,000
7595
https://uploadthing.com/info/privacy-policy200uploadthing
Page checklist evidence
  • title: passeduploadthing
  • description: passedAn easier way to upload files.
  • canonical: failedNo canonical URL
  • h1: passed2 H1 element(s)
  • headings: failed1 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: not-applicable0 of 0 images lack an alt attribute
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: failed1 of 1 buttons have no HTML name
  • links-named: passed0 of 17 links have no HTML name
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://uploadthing.com/info/privacy-policy
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passeduploadthing
  • og-description: passedAn easier way to upload files.
  • og-type: passedwebsite
  • og-url: passedhttps://uploadthing.com
  • og-image: passedhttps://uploadthing.com/og.jpg?v=2
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed17294 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed329,489 bytes of HTML; budget 500,000
2352
https://uploadthing.com/info/terms-of-service200uploadthing
Page checklist evidence
  • title: passeduploadthing
  • description: passedAn easier way to upload files.
  • canonical: failedNo canonical URL
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: not-applicable0 of 0 images lack an alt attribute
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: failed1 of 1 buttons have no HTML name
  • links-named: passed0 of 11 links have no HTML name
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://uploadthing.com/info/terms-of-service
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passeduploadthing
  • og-description: passedAn easier way to upload files.
  • og-type: passedwebsite
  • og-url: passedhttps://uploadthing.com
  • og-image: passedhttps://uploadthing.com/og.jpg?v=2
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed26862 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed350,947 bytes of HTML; budget 500,000
2256
https://uploadthing.com/sign-in200uploadthing
Page checklist evidence
  • title: passeduploadthing
  • description: passedAn easier way to upload files.
  • canonical: failedNo canonical URL
  • h1: passed2 H1 element(s)
  • headings: passed0 skipped heading level(s)
  • main: failed0 main landmarks
  • lang: passeden
  • alt: not-applicable0 of 0 images lack an alt attribute
  • labels: not-applicable0 of 0 controls have no HTML label
  • buttons: passed0 of 1 buttons have no HTML name
  • links-named: passed0 of 2 links have no HTML name
  • viewport: passedwidth=device-width, initial-scale=1
  • https: passedhttps://uploadthing.com/sign-in
  • mixed: passed0 HTTP embedded resource URL(s)
  • og-title: passeduploadthing
  • og-description: passedAn easier way to upload files.
  • og-type: passedwebsite
  • og-url: passedhttps://uploadthing.com
  • og-image: passedhttps://uploadthing.com/og.jpg?v=2
  • og-alt: failedNo sharing image description
  • twitter-card: passedsummary_large_image
  • readable: passed151 characters of crawler-visible content (minimum 100)
  • jsonld: failed0 of 0 blocks have valid JSON-LD structure
  • html-size: passed274,889 bytes of HTML; budget 500,000
2309