Diy.health Site Title
Diy.health Test Results
Diy.health Mobile Performance: 18/100
These suggestions can help your page load faster. They don't directly affect the Performance score.
Preload key requests. Potential savings of 3,330 ms
Consider using `<link rel=preload>` to prioritize fetching resources that are currently requested later in page load. Learn more.
Use HTTP/2. 19 requests not served via HTTP/2
HTTP/2 offers many benefits over HTTP/1.1, including binary headers and multiplexing. Learn more.
Preload Largest Contentful Paint image. Potential savings of 2,580 ms
Preload the image used by the LCP element in order to improve your LCP time. Learn more.
Serve images in next-gen formats. Potential savings of 154 KiB
Image formats like JPEG 2000, JPEG XR, and WebP often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. Learn more.
Eliminate render-blocking resources. Potential savings of 470 ms
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. Learn more.
Remove unused CSS. Potential savings of 59 KiB
Remove dead rules from stylesheets and defer the loading of CSS not used for above-the-fold content to reduce unnecessary bytes consumed by network activity. Learn more.
Properly size images. Potential savings of 30 KiB
Serve images that are appropriately-sized to save cellular data and improve load time. Learn more.
More information about the performance of your application. These numbers don't directly affect the Performance score.
Image elements do not have explicit `width` and `height`
Set an explicit width and height on image elements to reduce layout shifts and improve CLS. Learn more
Does not use passive listeners to improve scrolling performance
Consider marking your touch and wheel event listeners as `passive` to improve your page's scroll performance. Learn more.
Ensure text remains visible during webfont load
Leverage the font-display CSS feature to ensure text is user-visible while webfonts are loading. Learn more.
Serve static assets with an efficient cache policy
23 resources found
A long cache lifetime can speed up repeat visits to your page. Learn more.
Minimize main-thread work
Consider reducing the time spent parsing, compiling and executing JS. You may find delivering smaller JS payloads helps with this. Learn more
Consider reducing the time spent parsing, compiling, and executing JS. You may find delivering smaller JS payloads helps with this. Learn more.
Avoids an excessive DOM size
A large DOM will increase memory usage, cause longer style calculations, and produce costly layout reflows. Learn more.
Largest Contentful Paint element
1 element found
This is the largest contentful element painted within the viewport. Learn More
Avoid long main-thread tasks
12 long tasks found
Lists the longest tasks on the main thread, useful for identifying worst contributors to input delay. Learn more
Avoid non-composited animations
10 animated elements found
Animations which are not composited can be janky and increase CLS. Learn more
Avoid chaining critical requests
9 chains found
The Critical Request Chains below show you what resources are loaded with a high priority. Consider reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load. Learn more.
Keep request counts low and transfer sizes small
33 requests • 1,376 KiB
To set budgets for the quantity and size of page resources, add a budget.json file. Learn more.
User Timing marks and measures
28 user timings
Consider instrumenting your app with the User Timing API to measure your app's real-world performance during key user experiences. Learn more.
Avoid large layout shifts
3 elements found
These DOM elements contribute most to the CLS of the page.
Diy.health Mobile SEO: 82/100
Crawling and Indexing
To appear in search results, crawlers need access to your app.
robots.txt is not valid
52 errors found
If your robots.txt file is malformed, crawlers may not be able to understand how you want your website to be crawled or indexed. Learn more.
Links are not crawlable
Search engines may use `href` attributes on links to crawl websites. Ensure that the `href` attribute of anchor elements links to an appropriate destination, so more pages of the site can be discovered. Learn More
Make sure your pages are mobile friendly so users don’t have to pinch or zoom in order to read the content pages. Learn more.
Tap targets are not sized appropriately
81% appropriately sized tap targets
Interactive elements like buttons and links should be large enough (48x48px), and have enough space around them, to be easy enough to tap without overlapping onto other elements. Learn more.
Diy.health Mobile Best Practices: 80/100
Source maps translate minified code to the original source code. This helps developers debug in production. In addition, Lighthouse is able to provide further insights. Consider deploying source maps to take advantage of these benefits. Learn more.
Trust and Safety
2 vulnerabilities detected
Some third-party scripts may contain known security vulnerabilities that are easily identified and exploited by attackers. Learn more.
Does not use HTTPS
1 insecure request found
All sites should be protected with HTTPS, even ones that don't handle sensitive data. This includes avoiding mixed content, where some resources are loaded over HTTP despite the initial request being served over HTTPS. HTTPS prevents intruders from tampering with or passively listening in on the communications between your app and your users, and is a prerequisite for HTTP/2 and many new web platform APIs. Learn more.
Links to cross-origin destinations are unsafe
Add `rel="noopener"` or `rel="noreferrer"` to any external links to improve performance and prevent security vulnerabilities. Learn more.
Diy.health Mobile Progressive Web App: 42/100
Does not register a service worker that controls page and `start_url`
The service worker is the technology that enables your app to use many Progressive Web App features, such as offline, add to homescreen, and push notifications. Learn more.
Does not provide a valid `apple-touch-icon`
For ideal appearance on iOS when users add a progressive web app to the home screen, define an `apple-touch-icon`. It must point to a non-transparent 192px (or 180px) square PNG. Learn More.
Manifest doesn't have a maskable icon
A maskable icon ensures that the image fills the entire shape without being letterboxed when installing the app on a device. Learn more. No manifest was fetched
Is not configured for a custom splash screen
A themed splash screen ensures a high-quality experience when users launch your app from their homescreens. Learn more. Failures: No manifest was fetched.
Does not set a theme color for the address bar.
The browser address bar can be themed to match your site. Learn more. Failures: No manifest was fetched, No `<meta name="theme-color">` tag found.
Web app manifest or service worker do not meet the installability requirements
Service worker is the technology that enables your app to use many Progressive Web App features, such as offline, add to homescreen, and push notifications. With proper service worker and manifest implementations, browsers can proactively prompt users to add your app to their homescreen, which can lead to higher engagement. Learn more.
Diy.health Mobile Accessibility: 89/100
Names and labels
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.
Buttons do not have an accessible name
When a button doesn't have an accessible name, screen readers announce it as "button", making it unusable for users who rely on screen readers. Learn more.
Links do not have a discernible name
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 more.
These are opportunities to improve the legibility of your content.