todoist.com/help
Ranks Overall #1,696 Astro Showcase #196
Data from Oct 2, 2026, 7:10 PM UTC old Measured once a month · 1 run since Oct 2, 2026
Elsewhere:
PageSpeed Insights ·
Calibre ·
Treo ·
CrUX Vis ·
Tame the Bots ·
Scoring Calculator ·
Wayback Machine
Lab data is measured using Lighthouse, Mobile mode unless otherwise specified. Field data is reported from Chrome UX Report (using p75 measurements).
Stack
Lighthouse Scores LAB Simulated
Metrics LAB FIELD
Field figures are the p75 across real Chrome users over a 28-day trailing window (2026-09-02 → 2026-09-29), url-level.
| Metric | Lab Simulated | Field | |||
|---|---|---|---|---|---|
| Value | Change / range | Trend | p75 | Distribution | |
| LCP CWV Largest Contentful Paint | 4.61 s poor | — 4.61 s – 4.61 s | 2.22 s good | 78.9% 11.1% 10% | |
| INP CWV Interaction to Next Paint — field only, no lab run can measure it | n/a | — | 261 ms needs work | 65% 24.2% 10.8% | |
| CLS CWV Cumulative Layout Shift | 0.065 good | — 0.065 – 0.065 | 0.020 good | 95.2% 4.8% 0% | |
| TBT Total Blocking Time | 1.53 s poor | — 1.53 s – 1.53 s | n/a | — | |
| FCP First Contentful Paint | 2.83 s needs work | — 2.83 s – 2.83 s | 2.40 s needs work | 62.6% 17.6% 19.8% | |
| Speed Index | 2.83 s good | — 2.83 s – 2.83 s | n/a | — | |
| TTFB Time to First Byte | 608 ms good | — 608 ms – 608 ms | 1.71 s needs work | 52.2% 24.6% 23.2% | |
LCP Subparts LAB Unthrottled
The subparts attribute LCP to your server, resource discovery, download, or rendering. Note that the Lab LCP shown above is a simulated throttled estimate.
LCP LAB Simulated vs LCP FIELD
The lab LCP is 2.07× the field p75 — real users likely have above-average hardware or network connectivity.
Page weight
| Metric | Value | Change / range | Trend |
|---|---|---|---|
| Page Weight | 2.07 MB | — 2.07 MB – 2.07 MB | |
| Requests | 119 | — 119 – 119 | |
| Third-party Weight | 1.27 MB | — 1.27 MB – 1.27 MB | |
| Third-party CPU | 739 ms | — 739 ms – 739 ms | |
| Unused JS | 533 kB | — 533 kB – 533 kB | |
| Unused CSS | 10.7 kB | — 10.7 kB – 10.7 kB |
By resource type
| Type | Transfer | Share | Size | Requests |
|---|---|---|---|---|
| script | 75.9% | 1.56 MB | 64 | |
| font | 14% | 288 kB | 6 | |
| other | 3.4% | 69.1 kB | 21 | |
| stylesheet | 2.8% | 58.3 kB | 1 | |
| document | 2% | 40.5 kB | 2 | |
| image | 1.9% | 38.8 kB | 7 | |
| Total | 2.07 MB | 119 |
Third parties 19 entities
| Entity | Transfer | Size | Main thread Simulated |
|---|---|---|---|
| Google Tag Manager | 544 kB | 316 ms | |
| 265 kB | 143 ms | ||
| TikTok | 157 kB | 45 ms | |
| Osano CMP | 87.6 kB | 116 ms | |
| Amazon Web Services | 56.9 kB | 7 ms | |
| All 19 | 1.27 MB | 739 ms |
Page health
| Metric | Value | Change / range | Trend |
|---|---|---|---|
| Main Thread Work | 5.24 s | — 5.24 s – 5.24 s | |
| Long Tasks | 20 | — 20 – 20 | |
| DOM Elements | 889 | — 889 – 889 | |
| Axe Violations Violating nodes from a full Axe CLI run (more than Lighthouse reports) | 10 | — 10 – 10 | |
| A11y Failures | 4 | — 4 – 4 | |
| A11y Failing Nodes | 9 | — 9 – 9 |
Main thread work
| Task | Time | Share | Duration Simulated |
|---|---|---|---|
| script evaluation | 62% | 3.23 s | |
| other | 18% | 940 ms | |
| script parse compile | 9% | 483 ms | |
| style layout | 7% | 385 ms | |
| garbage collection | 2% | 90 ms | |
| parse HTML | 1% | 62 ms | |
| paint composite render | 1% | 50 ms | |
| Total | 5.24 s |
Axe violations axe-core 4.13.0, full rule set
10 violating nodes across 5 rules, 928 passing. This is a standalone Axe CLI run and is stricter than the subset Lighthouse already includes.
-
serious
color-contrast— Elements must meet minimum color contrast ratio thresholds 6 nodesOffending elements (5 of 6)
-
div > ._body-sm_qx30j_223<p class="_text_qx30j_1 _body-sm_qx30j_223">Get ready to turn thinking into doing. <a class="_text_qx30j_1 _inherit_qx30j_29 _link_1x4gc_1" href="/ramble" rel="noopener noreferrer" target="_blank">Me… -
._link_1x4gc_1<a class="_text_qx30j_1 _inherit_qx30j_29 _link_1x4gc_1" href="/ramble" rel="noopener noreferrer" target="_blank">Meet Ramble</a> -
article[data-theme="todoist"] > .product-card__header.pi-24.pb-24 > .stack[data-astro-cid-gwobdmqt="true"] > .stack--exception-4.text--body-2xs.text--medium<p data-astro-cid-gwobdmqt="true" class="text text--body-2xs text--medium stack--exception-4 display-onlight-tertiary"> Capture, plan, and finish your work </p> -
article[data-theme="automations"] > .product-card__header.pi-24.pb-24 > .stack[data-astro-cid-gwobdmqt="true"] > .stack--exception-4.text--body-2xs.text--medium<p data-astro-cid-gwobdmqt="true" class="text text--body-2xs text--medium stack--exception-4 display-onlight-tertiary"> Describe a workflow, and it runs </p> -
.text--body-2xs.text--semibold.display-onlight-tertiary<p class="text text--body-2xs text--semibold display-onlight-tertiary"> Engage Awards Finalist<br> 2025 </p>
-
-
serious
aria-command-name— ARIA commands must have an accessible name 1 nodeOffending element
-
._overlay_1d1qk_6<div role="button" class="_overlay_1d1qk_6" tabindex="-1"></div>
-
-
serious
label-title-only— Form elements should have a visible label 1 nodeOffending element
-
#article-search<input type="search" placeholder="Search" class="_input_1vye5_45 _text_qx30j_1 _body-base_qx30j_205 _withIcon_1vye5_69 _withAction_1vye5_73 _input_ukqb5_1" id="article-search" aria-describedby="artic…
-
-
serious
list— <ul> and <ol> must only directly contain <li>, <script> or <template> elements 1 nodeOffending element
-
._hidden-gt-lg_snh3y_36._hidden_snh3y_1 > ._end_l56yj_11._navbarSection_l56yj_1 > ._navbarItemGroup_ue8ah_1<ul class="_navbarItemGroup_ue8ah_1" style="--navbar-item-group-gap:var(--space-4)">
-
-
serious
listitem— <li> elements must be contained in a <ul> or <ol> 1 nodeOffending element
-
._hidden-gt-lg_snh3y_36._hidden_snh3y_1 > ._end_l56yj_11._navbarSection_l56yj_1 > ._navbarItemGroup_ue8ah_1 > astro-slot[name="langPicker"] > .lang-picker[data-astro-cid-2jbx7wes=""]<li class="lang-picker" data-astro-cid-2jbx7wes="">
-
Accessibility failures 4 of 30 audits
-
color-contrast— Background and foreground colors do not have a sufficient contrast ratio. 6 nodes -
aria-command-name— `button`, `link`, and `menuitem` elements do not have accessible names. 1 node -
list— Lists do not contain only `<li>` elements and script supporting elements (`<script>` and `<template>`). 1 node -
listitem— List items (`<li>`) are not contained within `<ul>`, `<ol>` or `<menu>` parent elements. 1 node
Best Practices failures 2 of 19 audits
-
third-party-cookies— Uses third-party cookies 11 items -
inspector-issues— Issues were logged in the `Issues` panel in Chrome Devtools 1 item
Hygiene
Measurement log
Field history 25 weeks
Weekly p75 from the CrUX History API, backfilled in a single request.
| Week ending | LCP | INP | CLS | FCP | TTFB |
|---|---|---|---|---|---|
| 2026-09-26 | 1.93 s | 232 ms | 0.010 | 2.29 s | 1.68 s |
| 2026-09-19 | 1.95 s | 230 ms | 0.010 | 2.29 s | 1.83 s |
| 2026-09-12 | 2.09 s | 230 ms | 0 | 2.29 s | 1.88 s |
| 2026-09-05 | 1.99 s | 221 ms | 0 | 2.13 s | 1.85 s |
| 2026-08-29 | 2.13 s | 219 ms | 0 | 2.10 s | 1.80 s |
| 2026-08-22 | 2.17 s | 221 ms | 0 | 2.11 s | 1.82 s |
| 2026-08-15 | 1.93 s | 186 ms | 0.010 | 1.99 s | 1.59 s |
| 2026-08-08 | 1.99 s | 185 ms | 0.020 | 1.96 s | 1.56 s |
| 2026-08-01 | 2.14 s | 197 ms | 0.010 | 2.08 s | 1.63 s |
| 2026-07-25 | 2.10 s | 207 ms | 0 | 2.10 s | 1.65 s |
| 2026-07-18 | 2.42 s | 268 ms | 0.010 | 2.34 s | 1.95 s |
| 2026-07-11 | 2.48 s | 260 ms | 0.010 | 2.36 s | 2.00 s |
Runs
Every stored run for this URL, newest first.
| When | Scores | Perf | LCP | CLS | TBT | Weight | Runs | Spread | Bench | Took | Archive |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Oct 2, 2026, 7:10 PM UTC | 52 | 4.61 s | 0.065 | 1.53 s | 2.07 MB | 3/3 | ±21 | 2,418 -3% | 45.6s |
|