Lighthouse Mobile
· 0 checks — Mobile Lighthouse audit -- Performance, Accessibility, Best Practices, and SEO category breakdown.Detailed Report
Audit breakdown by category with detailed findings.
Performance
Insights
Remove large, duplicate JavaScript modules from bundles to reduce unnecessary bytes consumed by network activity.
Performance issues directly impact user engagement and conversion rates.
Polyfills and transforms enable older browsers to use new JavaScript features. However, many aren't necessary for modern browsers. Consider modifying your JavaScript build process to not transpile Baseline features, unless you know you must support older browsers. Learn why most sites can deploy ES6+ code without transpiling
Performance issues directly impact user engagement and conversion rates.
3rd party code can significantly impact load performance. Reduce and defer loading of 3rd party code to prioritize your page's content.
Performance issues directly impact user engagement and conversion rates.
A forced reflow occurs when JavaScript queries geometric properties (such as offsetWidth) after styles have been invalidated by a change to the DOM state. This can result in poor performance. Learn more about forced reflows and possible mitigations.
Performance issues directly impact user engagement and conversion rates.
Reducing the download time of images can improve the perceived load time of the page and LCP. Learn more about optimizing image size
Performance issues directly impact user engagement and conversion rates.
| URL | Resource Size | Est Savings | |
|---|---|---|---|
div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri | /static-assets/image/pages/app/feature-image-3-mobile-lay... | 148.5 KiB | 141.3 KiB |
div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri | duckduckgo.com/static-assets/image/pages/app/feature-image-2-layer2-light.png | 103.9 KiB | 98.8 KiB |
div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri | /static-assets/image/pages/app/feature-image-3-mobile-lay... | 102.6 KiB | 97.5 KiB |
div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri | duckduckgo.com/static-assets/image/pages/app/feature-image-2-layer3-light.png | 94.3 KiB | 89.7 KiB |
div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri | /static-assets/image/pages/app/feature-image-1-mobile-lay... | 83.2 KiB | 79.1 KiB |
div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri | duckduckgo.com/static-assets/image/pages/app/feature-image-2-layer1-light.png | 67.6 KiB | 64.3 KiB |
div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri | /static-assets/image/pages/app/feature-image-3-mobile-lay... | 37.7 KiB | 35.8 KiB |
div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri | /static-assets/image/pages/app/feature-image-1-mobile-lay... | 35.0 KiB | 33.3 KiB |
div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri | /static-assets/image/pages/app/feature-image-1-mobile-lay... | 32.8 KiB | 31.2 KiB |
div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri | /static-assets/image/pages/app/feature-image-1-mobile-lay... | 24.5 KiB | 23.3 KiB |
section.mobile-badge-banner_hideOnLandscape__ji4KC > div.mobile-badge-banner_atbBadge__ISxcF > a > img section.mobile-badge-banner_hideOnLandscape__ji4KC > div.mobile-badge-banner_atbBadge__ISxcF > a > img | duckduckgo.com/_next/static/media/google-play-store-v2.962e9ea3.png | 22.6 KiB | 22.4 KiB |
div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri | /static-assets/image/pages/app/feature-image-3-mobile-lay... | 19.2 KiB | 18.3 KiB |
div.home-btf-hero_heroButtonContainer__OurbA > a.app-hero-download-button_button__7du6k > span.button_icon__eid__ > img.app-hero-download-button_animatedDownloadIcon__UOKjA div.home-btf-hero_heroButtonContainer__OurbA > a.app-hero-download-button_button__7du6k > span.button_icon__eid__ > img.app-hero-download-button_animatedDownloadIcon__UOKjA | duckduckgo.com/static-assets/icons/animated-download-icon-light.gif | 14.0 KiB | 11.6 KiB |
The browser that actively protects your personal information.
Download DuckDuck… div.homepage-skeleton_root__hTNhj > main.minimal-homepage_layout__5B6f9 > div#features > main.app-legacy_root__gRed1 | duckduckgo.com/static-assets/backgrounds/grain.png | 11.1 KiB | 9.5 KiB |
These insights are also available in the Chrome DevTools Performance Panel - record a trace to view more detailed information.
The maximum potential First Input Delay that your users could experience is the duration of the longest task. Learn more about the Maximum Potential First Input Delay metric.
Performance issues directly impact user engagement and conversion rates.
Time to Interactive is the amount of time it takes for the page to become fully interactive. Learn more about the Time to Interactive metric.
Performance issues directly impact user engagement and conversion rates.
Diagnostics
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. Learn how to reduce unused CSS.
Performance issues directly impact user engagement and conversion rates.
| URL | Transfer Size | Est Savings |
|---|---|---|
| duckduckgo.com/_next/static/css/3704c28297c876cc.css | 20.8 KiB | 14.5 KiB |
| duckduckgo.com/_next/static/css/caadcb8e0d62f2cf.css | 14.4 KiB | 14.2 KiB |
| duckduckgo.com/_next/static/css/a2ef363cef9e7032.css | 14.0 KiB | 12.3 KiB |
| duckduckgo.com/_next/static/css/32fd28a215782122.css | 17.4 KiB | 11.0 KiB |
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. Learn how to reduce unused JavaScript.
Performance issues directly impact user engagement and conversion rates.
| URL | Transfer Size | Est Savings |
|---|---|---|
| duckduckgo.com/_next/static/chunks/5035-ebe4ba9aa80ab524.js | 71.3 KiB | 61.2 KiB |
| duckduckgo.com/_next/static/chunks/5203-41c443b75be6b9f5.js | 59.7 KiB | 54.0 KiB |
| duckduckgo.com/_next/static/chunks/7458-55dd9af37e88136a.js | 82.1 KiB | 33.4 KiB |
| duckduckgo.com/_next/static/chunks/7864-96f587958cbfeaba.js | 34.5 KiB | 30.6 KiB |
| duckduckgo.com/_next/static/chunks/pages/_app-907f2a2b90aba8a9.js | 96.9 KiB | 28.9 KiB |
| /_next/static/chunks/pages/[locale]/home/mobile-426cc6149... | 33.0 KiB | 26.2 KiB |
| duckduckgo.com/_next/static/chunks/framework-64870e4997d77dcd.js | 61.1 KiB | 22.1 KiB |
| duckduckgo.com/_next/static/chunks/main-f76bad98d42d3dc3.js | 45.2 KiB | 20.4 KiB |
Consider reducing the time spent parsing, compiling, and executing JS. You may find delivering smaller JS payloads helps with this. Learn how to reduce Javascript execution time.
Performance issues directly impact user engagement and conversion rates.
| URL | Total CPU Time | Script Evaluation | Script Parse |
|---|---|---|---|
| duckduckgo.com/_next/static/chunks/framework-64870e4997d77dcd.js | 2.6 s | 1.7 s | 26 ms |
| Unattributable | 630 ms | 9.7 ms | 0.0 ms |
| duckduckgo.com/ | 437 ms | 120 ms | 16 ms |
| /_next/static/chunks/pages/[locale]/home/mobile-426cc6149... | 374 ms | 359 ms | 15 ms |
| duckduckgo.com/_next/static/chunks/pages/_app-907f2a2b90aba8a9.js | 272 ms | 204 ms | 66 ms |
| duckduckgo.com/_next/static/chunks/main-f76bad98d42d3dc3.js | 153 ms | 132 ms | 20 ms |
| duckduckgo.com/_next/static/chunks/9587-7e45286cb59e48ef.js | 96 ms | 29 ms | 17 ms |
| duckduckgo.com/_next/static/chunks/5035-ebe4ba9aa80ab524.js | 54 ms | 4.7 ms | 49 ms |
Consider reducing the time spent parsing, compiling and executing JS. You may find delivering smaller JS payloads helps with this. Learn how to minimize main-thread work
Performance issues directly impact user engagement and conversion rates.
| Category | Time Spent |
|---|---|
| Script Evaluation | 2.6 s |
| Other | 917 ms |
| Style & Layout | 793 ms |
| Script Parsing & Compilation | 413 ms |
| Rendering | 105 ms |
| Parse HTML & CSS | 91 ms |
| Garbage Collection | 27 ms |
Set an explicit width and height on image elements to reduce layout shifts and improve CLS. Learn how to set image dimensions
Performance issues directly impact user engagement and conversion rates.
| URL | |
|---|---|
div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri | /static-assets/image/pages/app/feature-image-1-mobile-lay... |
div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri | duckduckgo.com/static-assets/image/pages/app/feature-image-2-layer1-light.png |
div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri div.stack_root__raz5U > div > div.app-single-column-feature-cards_parallaxImage__j7R2N > img.app-single-column-feature-cards_imageLayer__QY_Ri | /static-assets/image/pages/app/feature-image-3-mobile-lay... |
section.mobile-badge-banner_hideOnLandscape__ji4KC > div.mobile-badge-banner_atbBadge__ISxcF > a > img section.mobile-badge-banner_hideOnLandscape__ji4KC > div.mobile-badge-banner_atbBadge__ISxcF > a > img | duckduckgo.com/_next/static/media/google-play-store-v2.962e9ea3.png |
section.mobile-badge-banner_hideOnLandscape__ji4KC > div.mobile-badge-banner_atbBadge__ISxcF > a > img section.mobile-badge-banner_hideOnLandscape__ji4KC > div.mobile-badge-banner_atbBadge__ISxcF > a > img | duckduckgo.com/_next/static/media/google-play-store-v2.962e9ea3.png |
The Verge div > a.card_card___ZlNq > picture.themedImage_wrapper__Q1Y7W > img.quotes-carousel_sourceImage__4kfEC | duckduckgo.com/static-assets/image/pages/app/media-logos/the-verge-light.svg |
Wired div > a.card_card___ZlNq > picture.themedImage_wrapper__Q1Y7W > img.quotes-carousel_sourceImage__4kfEC | duckduckgo.com/static-assets/image/pages/app/media-logos/wired-light.svg |
Engadget div > a.card_card___ZlNq > picture.themedImage_wrapper__Q1Y7W > img.quotes-carousel_sourceImage__4kfEC | duckduckgo.com/static-assets/image/pages/app/media-logos/engadget-light.svg |
CNET div > a.card_card___ZlNq > picture.themedImage_wrapper__Q1Y7W > img.quotes-carousel_sourceImage__4kfEC | duckduckgo.com/static-assets/image/pages/app/media-logos/cnet.svg |
TechRadar div > a.card_card___ZlNq > picture.themedImage_wrapper__Q1Y7W > img.quotes-carousel_sourceImage__4kfEC | duckduckgo.com/static-assets/image/pages/app/media-logos/techradar-light.svg |
The Verge div > a.card_card___ZlNq > picture.themedImage_wrapper__Q1Y7W > img.quotes-carousel_sourceImage__4kfEC | duckduckgo.com/static-assets/image/pages/app/media-logos/the-verge-light.svg |
Wired div > a.card_card___ZlNq > picture.themedImage_wrapper__Q1Y7W > img.quotes-carousel_sourceImage__4kfEC | duckduckgo.com/static-assets/image/pages/app/media-logos/wired-light.svg |
Engadget div > a.card_card___ZlNq > picture.themedImage_wrapper__Q1Y7W > img.quotes-carousel_sourceImage__4kfEC | duckduckgo.com/static-assets/image/pages/app/media-logos/engadget-light.svg |
CNET div > a.card_card___ZlNq > picture.themedImage_wrapper__Q1Y7W > img.quotes-carousel_sourceImage__4kfEC | duckduckgo.com/static-assets/image/pages/app/media-logos/cnet.svg |
TechRadar div > a.card_card___ZlNq > picture.themedImage_wrapper__Q1Y7W > img.quotes-carousel_sourceImage__4kfEC | duckduckgo.com/static-assets/image/pages/app/media-logos/techradar-light.svg |
Apple App Store div.carousel_content__fdsrZ > div > a.card_card___ZlNq > img.quotes-carousel_sourceImage__4kfEC | duckduckgo.com/static-assets/image/pages/app/media-logos/apple-appstore-40.svg |
Apple App Store div.carousel_content__fdsrZ > div > a.card_card___ZlNq > img.quotes-carousel_sourceImage__4kfEC | duckduckgo.com/static-assets/image/pages/app/media-logos/apple-appstore-40.svg |
Apple App Store div.carousel_content__fdsrZ > div > a.card_card___ZlNq > img.quotes-carousel_sourceImage__4kfEC | duckduckgo.com/static-assets/image/pages/app/media-logos/apple-appstore-40.svg |
Google Play Store div.carousel_content__fdsrZ > div > a.card_card___ZlNq > img.quotes-carousel_sourceImage__4kfEC | duckduckgo.com/static-assets/image/pages/app/media-logos/google-play.svg |
Google Play Store div.carousel_content__fdsrZ > div > a.card_card___ZlNq > img.quotes-carousel_sourceImage__4kfEC | duckduckgo.com/static-assets/image/pages/app/media-logos/google-play.svg |
Google Play Store div.carousel_content__fdsrZ > div > a.card_card___ZlNq > img.quotes-carousel_sourceImage__4kfEC | duckduckgo.com/static-assets/image/pages/app/media-logos/google-play.svg |
Apple App Store div.carousel_content__fdsrZ > div > a.card_card___ZlNq > img.quotes-carousel_sourceImage__4kfEC | duckduckgo.com/static-assets/image/pages/app/media-logos/apple-appstore-40.svg |
Apple App Store div.carousel_content__fdsrZ > div > a.card_card___ZlNq > img.quotes-carousel_sourceImage__4kfEC | duckduckgo.com/static-assets/image/pages/app/media-logos/apple-appstore-40.svg |
Apple App Store div.carousel_content__fdsrZ > div > a.card_card___ZlNq > img.quotes-carousel_sourceImage__4kfEC | duckduckgo.com/static-assets/image/pages/app/media-logos/apple-appstore-40.svg |
Google Play Store div.carousel_content__fdsrZ > div > a.card_card___ZlNq > img.quotes-carousel_sourceImage__4kfEC | duckduckgo.com/static-assets/image/pages/app/media-logos/google-play.svg |
Google Play Store div.carousel_content__fdsrZ > div > a.card_card___ZlNq > img.quotes-carousel_sourceImage__4kfEC | duckduckgo.com/static-assets/image/pages/app/media-logos/google-play.svg |
Google Play Store div.carousel_content__fdsrZ > div > a.card_card___ZlNq > img.quotes-carousel_sourceImage__4kfEC | duckduckgo.com/static-assets/image/pages/app/media-logos/google-play.svg |
More information about the performance of your application. These numbers don't directly affect the Performance score.
Accessibility
These checks highlight opportunities to improve the accessibility of your web app. Automatic detection can only detect a subset of issues and does not guarantee the accessibility of your web app, so manual testing is also encouraged.
ARIA
Assistive technologies, like screen readers, can't interpret ARIA attributes with invalid values. Learn more about valid values for ARIA attributes.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
Chrome div.chip-tabs_root___5P_z > div > div > button#tabs--tab--0 |
These are opportunities to improve the usage of ARIA in your application which may enhance the experience for users of assistive technology, like a screen reader.
Navigation
Properly ordered headings that do not skip levels convey the semantic structure of the page, making it easier to navigate and understand when using assistive technologies. Learn more about heading order.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
Take back your privacy! div.mobile-atb-banner_atbBanner__2BCOH > div.mobile-atb-banner_wrapperComponent__f_cud > div.mobile-atb-banner_atbContent__j5f2T > h4.mobile-atb-banner_newTitle__0Ih7K |
Learn more main.minimal-homepage_layout__5B6f9 > div.minimal-homepage_minimalHero__2yzex > div.homepage-cta-section_scrollCta__Wmixn > h6.heading_heading6__1lVXi |
Protection div.app-hero-card-buttons_root__lL3qk > button.card_card___ZlNq > div.app-hero-card-buttons_headingAndBodyContainer__EdbRh > h5.app-hero-card-buttons_headingText__OaqQi |
Protection div.app-hero-card-buttons_root__lL3qk > button.card_card___ZlNq > div.app-hero-card-buttons_headingAndBodyContainer__EdbRh > h5.app-hero-card-buttons_headingText__OaqQi |
Goodbye Incognito mode, hello real privacy in every tab div.single-column-feature-card_bitesContainer__9erSa > div.single-column-feature-card-detail-bite_root__8q0rO > button.card_card___ZlNq > h5.single-column-feature-card-detail-bite_cardButtonHeading__KJQuU |
Stop ads following you everywhere div.single-column-feature-card_bitesContainer__9erSa > div.single-column-feature-card-detail-bite_root__8q0rO > button.card_card___ZlNq > h5.single-column-feature-card-detail-bite_cardButtonHeading__KJQuU |
Search without being tracked div.single-column-feature-card_bitesContainer__9erSa > div.single-column-feature-card-detail-bite_root__8q0rO > button.card_card___ZlNq > h5.single-column-feature-card-detail-bite_cardButtonHeading__KJQuU |
These are opportunities to improve keyboard navigation in your application.
Names and labels
Link text (and alternate text for images, when used as links) that is discernible, unique, and focusable improves the navigation experience for screen reader users. Learn how to make links accessible.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
div.minimal-homepage_minimalHero__2yzex > section.mobile-badge-banner_hideOnLandscape__ji4KC > div.mobile-badge-banner_atbBadge__ISxcF > a div.minimal-homepage_minimalHero__2yzex > section.mobile-badge-banner_hideOnLandscape__ji4KC > div.mobile-badge-banner_atbBadge__ISxcF > a |
div.minimal-homepage_minimalHero__2yzex > section.mobile-badge-banner_hideOnLandscape__ji4KC > div.mobile-badge-banner_atbBadge__ISxcF > a div.minimal-homepage_minimalHero__2yzex > section.mobile-badge-banner_hideOnLandscape__ji4KC > div.mobile-badge-banner_atbBadge__ISxcF > a |
main.minimal-homepage_layout__5B6f9 > div.minimal-homepage_minimalHero__2yzex > div.homepage-cta-section_scrollCta__Wmixn > a.homepage-cta-section_scrollArow__of6hD main.minimal-homepage_layout__5B6f9 > div.minimal-homepage_minimalHero__2yzex > div.homepage-cta-section_scrollCta__Wmixn > a.homepage-cta-section_scrollArow__of6hD |
These are opportunities to improve the semantics of the controls in your application. This may enhance the experience for users of assistive technology, like a screen reader.
Screen readers have features to make navigating tables easier. Ensuring that `<td>` elements in a large table (3 or more cells in width and height) have an associated table header may improve the experience for screen reader users. Learn more about table headers.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
Search privately by default
Chat privately with popular AI chatb… div.stack_root__raz5U > div.stack_root__raz5U > div.stack_root__raz5U > table.marketing-compare-privacy-table_table__UDHdq |
Best Practices
General
Errors logged to the console indicate unresolved problems. They can come from network request failures and other browser concerns. Learn more about this errors in console diagnostic audit
Performance issues directly impact user engagement and conversion rates.
| Source | Description |
|---|---|
Failed to load resource: the server responded with a status of 400 () |
SEO
These checks ensure that your page is following basic search engine optimization advice. There are many additional factors Lighthouse does not score here that may affect your search ranking, including performance on Core Web Vitals. Learn more about Google Search Essentials.
Content Best Practices
Descriptive link text helps search engines understand your content. Learn how to make links more accessible.
Performance issues directly impact user engagement and conversion rates.
Format your HTML in a way that enables crawlers to better understand your app’s content.