Lighthouse Desktop
· 0 checks — Desktop 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.
Avoid chaining critical requests by reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load.
Performance issues directly impact user engagement and conversion rates.
A long cache lifetime can speed up repeat visits to your page. Learn more about caching.
Performance issues directly impact user engagement and conversion rates.
| Request | Cache TTL | Transfer Size |
|---|---|---|
| laracasts.com/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js | 2860.0 s | 4.0 KiB |
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 | |
|---|---|---|---|
So You Want to Build an Agent div.grid > a.featured-series-card > div.featured-series-img > img.aspect-[1200/630] | /series/open-graph-cards/so-you-want-to-build-an-agent-op... | 332.8 KiB | 325.5 KiB |
Watch Me AI the UI div.grid > a.featured-series-card > div.featured-series-img > img.aspect-[1200/630] | /series/open-graph-cards/watch-me-ai-the-front-end-open-g... | 197.3 KiB | 193.0 KiB |
AI Developer Workflows div.grid > a.featured-series-card > div.featured-series-img > img.aspect-[1200/630] | images.laracasts.com/series/open-graph-cards/ai-developer-workflows.jpeg | 127.2 KiB | 125.5 KiB |
The Batteries-Included AI Toolkit div.grid > a.featured-series-card > div.featured-series-img > img.aspect-[1200/630] | /series/open-graph-cards/the-batteries-included-ai-toolki... | 126.0 KiB | 123.1 KiB |
Photo of Matt Stauffer div.bg-bg > a.instructor-card > figure.relative > img.opacity-70 | images.laracasts.com/instructors/22175.jpeg?tr=w-532 | 67.1 KiB | 58.6 KiB |
Photo of Mohamed Said div.bg-bg > a.instructor-card > figure.relative > img.opacity-70 | images.laracasts.com/instructors/11951.jpeg?tr=w-532 | 58.1 KiB | 50.5 KiB |
Photo of Jeremy McPeak div.bg-bg > a.instructor-card > figure.relative > img.opacity-70 | images.laracasts.com/instructors/24345.jpeg?tr=w-532 | 43.8 KiB | 38.1 KiB |
div#app > div#root > div > div.noise div#app > div#root > div > div.noise | laracasts.com/images/noise.png | 33.9 KiB | 32.3 KiB |
Photo of Caleb Porzio div.bg-bg > a.instructor-card > figure.relative > img.opacity-70 | images.laracasts.com/instructors/7952.jpeg?tr=w-532 | 35.9 KiB | 31.2 KiB |
Photo of Shruti Balasa div.bg-bg > a.instructor-card > figure.relative > img.opacity-70 | images.laracasts.com/instructors/242506.jpeg?tr=w-532 | 33.3 KiB | 28.9 KiB |
Photo of Andrew Schmelyun div.bg-bg > a.instructor-card > figure.relative > img.opacity-70 | images.laracasts.com/instructors/146405.jpeg?tr=w-532 | 32.7 KiB | 28.4 KiB |
Photo of Andre Madarang div.bg-bg > a.instructor-card > figure.relative > img.opacity-70 | images.laracasts.com/instructors/2071.jpeg?tr=w-532 | 31.8 KiB | 27.7 KiB |
Photo of Simon Vrachliotis div.bg-bg > a.instructor-card > figure.relative > img.opacity-70 | images.laracasts.com/instructors/80737.jpeg?tr=w-532 | 22.8 KiB | 19.8 KiB |
Photo of Jeffrey Way div.bg-bg > a.instructor-card > figure.relative > img.opacity-70 | images.laracasts.com/instructors/1770.jpeg?tr=w-532 | 20.9 KiB | 18.1 KiB |
Photo of Luke Downing div.bg-bg > a.instructor-card > figure.relative > img.opacity-70 | images.laracasts.com/instructors/253739.jpeg?tr=w-532 | 16.2 KiB | 14.1 KiB |
Practical TypeScript for the Laravel Developer thumbnail div.mt-20 > div.series-card-new-wrap > a.series-card-new > img.absolute | images.laracasts.com/series/thumbnails/png/practical-typescript.png?tr=w-160 | 7.9 KiB | 6.8 KiB |
Taylor Otwell's avatar div.after:via-stroke > figure > figcaption.mt-7 > img.rounded-lg | images.laracasts.com/reviews/taylor-otwell.jpg | 5.9 KiB | 5.7 KiB |
AI Developer Workflows thumbnail div.mt-20 > div.series-card-new-wrap > a.series-card-new > img.absolute | /series/thumbnails/png/ai-developer-workflows-thumbnail.p... | 6.5 KiB | 5.5 KiB |
React, The Laravel Way thumbnail div.mt-20 > div.series-card-new-wrap > a.series-card-new > img.absolute | images.laracasts.com/series/thumbnails/png/react-the-laravel-way.png?tr=w-160 | 6.3 KiB | 5.3 KiB |
Laravel From Scratch (2026 Edition) thumbnail div.mt-20 > div.series-card-new-wrap > a.series-card-new > img.lazy | /series/thumbnails/png/laravel-from-scratch-2026.png?tr=w... | 6.2 KiB | 5.2 KiB |
How to Build a Dev Team thumbnail div.mt-20 > div.series-card-new-wrap > a.series-card-new > img.absolute | images.laracasts.com/series/thumbnails/png/how-i-built-tighten.png?tr=w-160 | 5.9 KiB | 4.8 KiB |
Watch Me AI the UI thumbnail div.mt-20 > div.series-card-new-wrap > a.series-card-new > img.lazy | /series/thumbnails/png/watch-me-ai-the-front-end-thumbnai... | 5.7 KiB | 4.6 KiB |
The Batteries-Included AI Toolkit thumbnail div.mt-20 > div.series-card-new-wrap > a.series-card-new > img.absolute | /series/thumbnails/png/the-batteries-included-ai-toolkit-... | 5.7 KiB | 4.6 KiB |
Filament 5 in Depth thumbnail div.mt-20 > div.series-card-new-wrap > a.series-card-new > img.lazy | /series/thumbnails/png/filament-5-in-depth-thumbnail.png?... | 5.7 KiB | 4.6 KiB |
JavaScript Essentials for PHP Developers thumbnail div.mt-20 > div.series-card-new-wrap > a.series-card-new > img.lazy | images.laracasts.com/series/thumbnails/png/javascript-for-php-devs.png?tr=w-160 | 5.6 KiB | 4.5 KiB |
Frontend Mentor Challenge with Laravel thumbnail div.mt-20 > div.series-card-new-wrap > a.series-card-new > img.absolute | /series/thumbnails/png/frontend-mentor-challenge-thumbnai... | 5.5 KiB | 4.5 KiB |
Eloquent Relationships Deep Dive thumbnail div.mt-20 > div.series-card-new-wrap > a.series-card-new > img.lazy | /series/thumbnails/png/eloquent-relationships-deep-dive.p... | 5.4 KiB | 4.3 KiB |
The TALL Developer thumbnail div.mt-20 > div.series-card-new-wrap > a.series-card-new > img.absolute | images.laracasts.com/series/thumbnails/png/the-tall-developer.png?tr=w-160 | 5.3 KiB | 4.3 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.
Diagnostics
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 |
|---|---|---|
| laracasts.com/build/assets/js/vendors-ooIhsbpl.js | 368.1 KiB | 292.5 KiB |
| laracasts.com/build/assets/js/framework-BsGa7Hb4.js | 121.0 KiB | 68.4 KiB |
| laracasts.com/build/assets/js/components-ZFVIdC5l.js | 91.7 KiB | 66.4 KiB |
| laracasts.com/build/assets/js/charts-PLyK044s.js | 23.7 KiB | 20.0 KiB |
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 |
|---|---|
| Other | 713 ms |
| Script Evaluation | 493 ms |
| Style & Layout | 439 ms |
| Rendering | 230 ms |
| Parse HTML & CSS | 176 ms |
| Garbage Collection | 24 ms |
| Script Parsing & Compilation | 6.5 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 | |
|---|---|
Photo of Jeffrey Way div.bg-bg > a.instructor-card > figure.relative > img.opacity-70 | images.laracasts.com/instructors/1770.jpeg?tr=w-532 |
Photo of Andre Madarang div.bg-bg > a.instructor-card > figure.relative > img.opacity-70 | images.laracasts.com/instructors/2071.jpeg?tr=w-532 |
Photo of Jeremy McPeak div.bg-bg > a.instructor-card > figure.relative > img.opacity-70 | images.laracasts.com/instructors/24345.jpeg?tr=w-532 |
Photo of Luke Downing div.bg-bg > a.instructor-card > figure.relative > img.opacity-70 | images.laracasts.com/instructors/253739.jpeg?tr=w-532 |
Photo of Mohamed Said div.bg-bg > a.instructor-card > figure.relative > img.opacity-70 | images.laracasts.com/instructors/11951.jpeg?tr=w-532 |
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
Using ARIA attributes in roles where they are prohibited can mean that important information is not communicated to users of assistive technologies. Learn more about prohibited ARIA roles.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
Discussion Solved div.col-span-full > div.conversation-item-meta > div.relative > div.pixel-corners |
Discussion Solved div.col-span-full > div.conversation-item-meta > div.relative > div.pixel-corners |
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.
Contrast
Low-contrast text is difficult or impossible for many users to read. Learn how to provide sufficient color contrast.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
25 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
13 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
AI div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
17 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
15 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
27 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Techniques div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
10 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Advanced div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
12 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Techniques div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
64 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
22 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Tooling div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
3 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
AI div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
16 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Beginner div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
43 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Techniques div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
18 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
AI div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
11 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Beginner div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Tooling div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
12 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Beginner div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Tooling div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
35 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Beginner div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Languages div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
8 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
10 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Beginner div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Techniques div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
5 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
AI div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
16 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
43 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Beginner div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
13 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Advanced div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Tooling div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
23 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Tooling div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
18 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Advanced div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
16 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Techniques div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
11 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
AI div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
7 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
AI div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
10 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Advanced div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Techniques div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
14 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
30 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
25 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
13 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
AI div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
17 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
15 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
27 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Techniques div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
10 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Advanced div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
12 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Techniques div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
64 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
22 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Tooling div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
3 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
AI div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
16 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Beginner div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
43 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Techniques div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
18 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
AI div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
11 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Beginner div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Tooling div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
12 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Beginner div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Tooling div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
35 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Beginner div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Languages div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
8 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
10 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Beginner div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Techniques div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
5 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
AI div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
16 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
43 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Beginner div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
13 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Advanced div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Tooling div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
23 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Tooling div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
18 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Advanced div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
16 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Techniques div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
11 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
AI div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
7 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
AI div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
10 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Advanced div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Techniques div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
14 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
30 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
25 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
13 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
AI div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
17 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
15 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
27 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Techniques div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
10 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Advanced div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
12 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Techniques div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
64 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
22 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Tooling div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
3 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
AI div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
16 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Beginner div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
43 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Techniques div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
18 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
AI div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
11 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Beginner div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Tooling div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
12 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Beginner div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Tooling div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
35 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Beginner div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Languages div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
8 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
10 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Beginner div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Techniques div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
5 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
AI div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
16 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
43 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Beginner div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
13 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Advanced div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Tooling div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
23 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Tooling div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
18 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Advanced div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
16 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Techniques div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
11 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
AI div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
7 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
AI div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
10 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Advanced div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Techniques div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
14 Episodes div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Intermediate div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
Frameworks div.main > footer.border-on-lifted-subtle > ul.flex > li.text-text-tertiary |
As a web designer trying to evolve into a developer, I was blown away at how cl… div.hidden > div.panel > div.flex > blockquote.text-sm |
Mary-Ann Zykin div.mt-auto > div > cite > span.font-semibold |
My lifetime Laracasts membership has been one of the most immediately useful an… div.hidden > div.panel > div.flex > blockquote.text-sm |
Sherri W. div.mt-auto > div > cite > span.font-semibold |
I'm not primarily a PHP developer anymore, but I'd be one of the first to recom… div.hidden > div.panel > div.flex > blockquote.text-sm |
Amanda Rose div.mt-auto > div > cite > span.font-semibold |
Laracasts has been helpful in leveling up my skill-set - not only in Laravel an… div.hidden > div.panel > div.flex > blockquote.text-sm |
Kofi Cypher div.mt-auto > div > cite > span.font-semibold |
I've been a Laracasts member for a while. Jeffrey showed me that it's okay to n… div.hidden > div.panel > div.flex > blockquote.text-sm |
Selene Arzola div.mt-auto > div > cite > span.font-semibold |
Laracasts is a great place to hang out and learn from one of the best programmi… div.hidden > div.panel > div.flex > blockquote.text-sm |
Olawale Adewoyin div.mt-auto > div > cite > span.font-semibold |
I bought a Laracasts subscription hoping to understand Laravel better. Not only… div.hidden > div.panel > div.flex > blockquote.text-sm |
Matt Brunt div.mt-auto > div > cite > span.font-semibold |
Laracasts is the best resource for any PHP Developer, and Jeffrey Way is the be… div.hidden > div.panel > div.flex > blockquote.text-sm |
Gerhard Botha div.mt-auto > div > cite > span.font-semibold |
Before I write any code, I ask myself "What would Jeffrey do?" Odds are, he's c… div.hidden > div.panel > div.flex > blockquote.text-sm |
Andre Madarang div.mt-auto > div > cite > span.font-semibold |
Laracasts has made me a better developer in not only Laravel/PHP, but in progra… div.hidden > div.panel > div.flex > blockquote.text-sm |
Chris Bogardo div.mt-auto > div > cite > span.font-semibold |
-50% div.panel > div.bg-on-lifted-subtle > button.pixel-corners > span.dark:text-blue |
Start Learning div.panel > div.flex > div.flex > a.btn |
While I don't code in PHP for my current job, I always check out Laracasts for … div.grid > div.panel > div.flex > blockquote.text-sm |
Eric Peterson div.mt-auto > div > cite > span.font-semibold |
Laracasts has made me a better developer. Not just a Laravel developer, but a b… div.grid > div.panel > div.flex > blockquote.text-sm |
Anurag div.mt-auto > div > cite > span.font-semibold |
I'm not just a new Laravel user, I'm a new web developer in general. Let me tel… div.grid > div.panel > div.flex > blockquote.text-sm |
Stephen Finney div.mt-auto > div > cite > span.font-semibold |
If Heisenberg cooked screencasts, this would be his cookbook. div.grid > div.panel > div.flex > blockquote.text-sm |
Kyle Ferguson div.mt-auto > div > cite > span.font-semibold |
Jeffrey's ten minutes of pedagogic instructions has taken me to the next level … div.grid > div.panel > div.flex > blockquote.text-sm |
Rocky Montana div.mt-auto > div > cite > span.font-semibold |
Excellent video, excellent examples... I've nothing to say except very well don… div.grid > div.panel > div.flex > blockquote.text-sm |
Caporal Dead div.mt-auto > div > cite > span.font-semibold |
Learning has never been this fun. Jeffrey is by far the best teacher I've ever … div.grid > div.panel > div.flex > blockquote.text-sm |
Damilola Ogunmoye div.mt-auto > div > cite > span.font-semibold |
All the knowledge that Jeffrey shares with us is simply invaluable! div.grid > div.panel > div.flex > blockquote.text-sm |
Sahib Alejandro div.mt-auto > div > cite > span.font-semibold |
Jeffery Way IS that ternary machine that can run any algorithm. You learn to ju… div.grid > div.panel > div.flex > blockquote.text-sm |
Dustin Woodard div.mt-auto > div > cite > span.font-semibold |
I've always preferred learning programming languages with online courses and vi… div.grid > div.panel > div.flex > blockquote.text-sm |
Nicolás Múnera div.mt-auto > div > cite > span.font-semibold |
Subscribe div.newsletter-form > form#newsletter-form > div.bg-fg-lifted > button.btn |
These are opportunities to improve the legibility of your content.
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 |
|---|
Learn section.section > div.[&_a:hover]:text-current-taxonomy > div.@breakpoint-md:flex-row > h5.@breakpoint-md:mb-0 |
These are opportunities to improve keyboard navigation in your application.
Names and labels
Informative elements should aim for short, descriptive alternate text. Decorative elements can be ignored with an empty alt attribute. Learn more about the `alt` attribute.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
div.relative > section.section > div.mx-auto > img.lazy div.relative > section.section > div.mx-auto > img.lazy |
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.
Best Practices
General
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 about source maps.
Performance issues directly impact user engagement and conversion rates.
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.
Crawling and Indexing
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 how to make links crawlable
Performance issues directly impact user engagement and conversion rates.
| Uncrawlable Link |
|---|
Sign In div.w-full > div.flex > div.flex > a.link |
Sign Up div.w-full > div.flex > div.flex > a.link |
To appear in search results, crawlers need access to your app.
Content Best Practices
Informative elements should aim for short, descriptive alternate text. Decorative elements can be ignored with an empty alt attribute. Learn more about the `alt` attribute.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
div.relative > section.section > div.mx-auto > img.lazy div.relative > section.section > div.mx-auto > img.lazy |
Format your HTML in a way that enables crawlers to better understand your app’s content.