Competitor Performance Audit and Recommendations for this Application - Jenliszka/todoapp GitHub Wiki
A performance analysis and comparison was requested for a competitor site, Todolistme.net. According to Google Web Developer Tools, Todolistme.net has a page load speed of 18.1 seconds and there were between 82 and 120 HTTP requests. Our app (Todo-list-app) has a current page load speed of 1.68 seconds and 13 HTTP requests.
The factors most significantly affecting page performance for Todolistme.net are listed below.
- Preload key requests. Prioritizing resources with preload link to prioritize fetching late-discovered resources sooner.
- Serve images in next-gen formats to provide better compression than png or JPEG for faster downloads and less data consumption. Offer WebP, JPEG 200, or JPEG XR image formats for browsers that support these image formats. WebP can deliver 30% filesize decrease over jpeg.
- Enable text compression: text-based responses should be served with compression (gzip, deflate, or brotili) to minimize total network bytes. Enabling Gzip compression can reduce the size of transferred response by 90% which significantly decreases page load speeds.
- Reduce render-blocking style sheets - this time can be decreased by deferring non-critical stylesheets. Critical scripts should be should be inlined in HTML. Non-critical styles should be marked with defer or async attributes.
- Minify JavaScript: minified JavaScript/jQuery files can be 34% of original size
- Keep server response time low (TTFB) 1750 ms
- Todolistme.net does not leverage browser caching of static assets. The application uses inefficient cache policy on 63 static assets. Caching reuseable resources makes subsequent requests faster.
- Todolistme.net does not use a CDN (content delivery network) for all static assets. A CDN allows for the quick transfer of assets needed for loading internet content including HTML pages, javascript files, stylesheets, images, and videos. Consider using CDN for todlist-app for performance improvement.
- Todolistme.net does not does host application on a secure site and does not redirect to HTTPS. 44 insecure requests were found.
- Todolistme.net site does not include meta viewport tag in HTML head.
- Includes front-end Javascript libraries with known security vulnerabilities (jQuery 2.0.3 and jQuery UI 1.10.3).
- All other SEO audits were passed (<title> element, meta description, successful HTTP status code, descriptive text in links, page isn't blocked from indexing, page has valid hreflang, document has rel=”canonical”, document avoids plugins.)
- Todolistme.net 39% of page load requests were from advertisers, which represented 44.5% of Domain bytes. Too many ads can greatly exacerbate page speed issues, decrease search engine ranking, and higher burn rates (the speed at which you turn off your audience).
The following recommendations will maximize performance of our To-dolistapp:
- Images should be served in next-gen formats (WebP, JPEG200, or JPEG XR) to decrease file sizes
- Text compression should be enabled using Gzip to reduce size of transferred response/page load speeds
- Reduce render-blocking style sheets - this time can be decreased by deferring non-critical stylesheets. Critical scripts should be should be inlined in HTML. Non-critical styles should be marked with defer or async attributes.
- Minify JavaScript: minified JavaScript/jQuery files can be 34% of original size
- Todolistapp should leverage browser caching for reuseable resources to make subsequent requests faster.
- Todolistapp should include Viewport meta tag in head to increase readability, responsiveness, and page scaling.
- Consider using CDN for to-dolistapp for fast loading and performance improvement.
- If To-dolist app is scaled it should be hosted on a domain with an SSL certificate. SSL certificates are now a requirement for all websites.
- Recommend using latest secure version of all Javascript libraries.
- To-dolist app should include a viewport tag to increase readability, responsiveness, and page scaling.
- Use careful selection of advertising that does not block content or slow down browsing.
If the above recommendations are followed our app, To-dolistapp, should run significantly faster than our competitor, Todolistme.net.