Crawler Report for alpinejs.dev

Summary

  • ⛔ Redirects - 21 redirects found.
  • ⛔ 44 page(s) with multiple <h1> headings.
  • ⛔ 4 page(s) without <h1> heading.
  • ⛔ Security - 385 pages(s) with critical finding(s).
  • ⚠️ The description '' exceeds the allowed 10% duplicity. 53% of pages have this same description.
  • ⚠️ 78 page(s) do not support Brotli compression.
  • ⚠️ No WebP image found on the website.
  • ⚠️ No AVIF image found on the website.
  • ⚠️ 2 page(s) with large inline SVGs (> 5120 bytes).
  • ⚠️ 46 page(s) with invalid inline SVGs.
  • ⚠️ 52 page(s) with skipped heading levels.
  • ⚠️ 2 page(s) with non-clickable (non-interactive) phone numbers.
  • ⚠️ 144 page(s) without image alt attributes.
  • ⚠️ 14 page(s) without form labels.
  • ⚠️ 154 page(s) without aria labels.
  • ⚠️ 148 page(s) without role attributes.
  • ⏩ Loaded robots.txt for domain 'alpinejs.dev': status code 200, size 24 B and took 137 ms.
  • ⏩ Loaded robots.txt for domain 'fonts.googleapis.com': status code 200, size 25 B and took 65 ms.
  • ⏩ Loaded robots.txt for domain 'unpkg.com': status code 200, size 23 B and took 58 ms.
  • ⏩ Loaded robots.txt for domain 'alpinejs.dev': status code 200, size 24 B and took 79 ms.
  • ⏩ Loaded robots.txt for domain 'picsum.photos': status code 200, size 98 B and took 57 ms.
  • ✅ 404 OK - all pages exists, no non-existent pages found.
  • ✅ SSL/TLS certificate is valid until Dec 24 23:59:59 2024 GMT. Issued by C = US, O = "Cloudflare, Inc.", CN = Cloudflare Inc ECC CA-3. Subject is C = US, ST = California, L = San Francisco, O = "Cloudflare, Inc.", CN = alpinejs.dev.
  • ✅ SSL/TLS certificate issued by 'C = US, O = "Cloudflare, Inc.", CN = Cloudflare Inc ECC CA-3'.
  • ✅ Performance OK - all non-media URLs are faster than 3 seconds.
  • ✅ HTTP headers - found 24 unique headers.
  • ✅ All 73 unique title(s) are within the allowed 10% duplicity. Highest duplicity title has 3%.
  • ✅ All pages have quoted attributes.
  • ✅ All pages have inline SVGs with less than 5 duplicates.
  • ✅ All pages have DOM depth less than 30.
  • ✅ All pages have valid HTML.
  • ✅ All pages have lang attribute.
  • ✅ DNS IPv4 OK: domain alpinejs.dev resolved to 188.114.96.3, 188.114.97.3 (DNS server: 10.255.255.254).
  • ✅ DNS IPv6 OK: domain alpinejs.dev resolved to 2a06:98c1:3120::3, 2a06:98c1:3121::3 (DNS server: 10.255.255.254).
  • 📌 Text report saved to '%path%/siteone-crawler/tmp/alpinejs.dev.output.20240816-190133.txt' and took 0 ms.
  • 📌 JSON report saved to '%path%/siteone-crawler/tmp/alpinejs.dev.output.20240816-190133.json' and took 4 ms.
  • 📌 HTML report saved to '%path%/siteone-crawler/tmp/alpinejs.dev.report.20240816-190133.html' and took 64 ms.

Visited URLs

Found 312 row(s).
URLStatusTypeTime (s)SizeCF-Cache-StatusTitle
/200 HTML247 ms46 kBDYNAMICAlpine.js
https://fonts.googleapis.com/css2?family=Karla:wght@400;600;800&display=swap200 CSS79 ms 627 B
/alpine_long.svg200 Image216 ms8 kBMISS
https://fonts.gstatic.com/s/karla/v31/qkBIXvYC6trAT55ZBi1ueQVIjQTDJp2qFw.woff200 Font95 ms 24 kB
https://cdn.jsdelivr.net/npm/@alpinejs/ui@3.14.1-beta.0/dist/cdn.min.js200 JS98 ms 8 kB
https://cdn.jsdelivr.net/npm/@docsearch/js@3200 JS109 ms116 kB
/repeat.svg200 Image199 ms11 kBREVALIDATED
https://cdn.jsdelivr.net/npm/@alpinejs/resize@3.14.1/dist/cdn.min.js200 JS66 ms 383 B
https://cdn.jsdelivr.net/npm/@alpinejs/anchor@3.14.1/dist/cdn.min.js200 JS70 ms 6 kB
https://cdn.jsdelivr.net/npm/@alpinejs/morph@3.14.1/dist/cdn.min.js200 JS69 ms 2 kB
/livewire/livewire.js?id=de3fca26689cb5a39af4200 JS251 ms156 kBHIT
https://cdn.jsdelivr.net/npm/@alpinejs/persist@3.14.1/dist/cdn.min.js200 JS75 ms 444 B
/favicon.png200 Image235 ms699 BREVALIDATED
/start-here200 HTML253 ms80 kBDYNAMICStart Here — Alpine.js
https://cdn.jsdelivr.net/npm/alpinejs@3.14.1/dist/cdn.min.js200 JS83 ms 15 kB
/plugins/morph200 HTML234 ms73 kBDYNAMICMorph — Alpine.js
/magics/refs200 HTML240 ms49 kBDYNAMICrefs — Alpine.js
/essentials/events200 HTML245 ms57 kBDYNAMICEvents — Alpine.js
/magics/store200 HTML249 ms52 kBDYNAMICstore — Alpine.js
/advanced/async200 HTML262 ms50 kBDYNAMICAsync — Alpine.js
/advanced/extending200 HTML306 ms95 kBDYNAMICExtending — Alpine.js
/advanced/csp200 HTML239 ms66 kBDYNAMICCSP — Alpine.js
https://cdn.js/-1:CONOther55 ms 0 B
/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js200 JS90 ms 1 kB
/plugins/sort200 HTML244 ms88 kBDYNAMICSort — Alpine.js
/cdn-cgi/l/email-protection200 HTML88 ms 5 kBEmail Protection | Cloudflare
/magics/el200 HTML254 ms45 kBDYNAMICel — Alpine.js
/plugins/resize200 HTML222 ms55 kBDYNAMICResize — Alpine.js
/cdn-cgi/styles/cf.errors.ie.css200 CSS93 ms 3 kB
/directives/for200 HTML275 ms65 kBDYNAMICfor — Alpine.js
/plugins/mask200 HTML243 ms62 kBDYNAMICMask — Alpine.js
/directives/on200 HTML229 ms90 kBDYNAMICon — Alpine.js
/directives/show200 HTML232 ms53 kBDYNAMICshow — Alpine.js
/directives/cloak200 HTML252 ms50 kBDYNAMICcloak — Alpine.js
/directives/init200 HTML254 ms57 kBDYNAMICinit — Alpine.js
/directives/ref200 HTML208 ms46 kBDYNAMICref — Alpine.js
/directives/ignore200 HTML212 ms46 kBDYNAMICignore — Alpine.js
/plugins/persist200 HTML225 ms73 kBDYNAMICPersist — Alpine.js
/plugins/intersect200 HTML259 ms66 kBDYNAMICIntersect — Alpine.js
/upgrade-guide200 HTML256 ms99 kBDYNAMICUpgrade From V2 — Alpine.js
/plugins/focus200 HTML264 ms92 kBDYNAMICFocus — Alpine.js
/magics/dispatch200 HTML230 ms60 kBDYNAMICdispatch — Alpine.js
/globals/alpine-data200 HTML241 ms69 kBDYNAMICdata() — Alpine.js
/directives/id200 HTML239 ms50 kBDYNAMICid — Alpine.js
/directives/teleport200 HTML363 ms62 kBDYNAMICteleport — Alpine.js
/component/dropdown200 HTML538 ms51 kBDYNAMICDropdown Component — Alpine.js
/magics/data200 HTML240 ms49 kBDYNAMICdata — Alpine.js
/component/headless-switch302 Redirect555 ms125 BDYNAMIC
/advanced/reactivity200 HTML255 ms55 kBDYNAMICReactivity — Alpine.js
/component/headless-tabs302 Redirect214 ms125 BDYNAMIC
/component/apexcharts200 HTML315 ms35 kBDYNAMICApexCharts Component — Alpine.js
/component/trix200 HTML405 ms36 kBDYNAMICTrix Component — Alpine.js
/component/simple-mde200 HTML360 ms35 kBDYNAMICSimpleMDE Component — Alpine.js
/installation302 Redirect224 ms151 BDYNAMIC
/component/tabs200 HTML358 ms39 kBDYNAMICTabs Component — Alpine.js
/component/tooltip200 HTML374 ms36 kBDYNAMICTooltip Component — Alpine.js
https://unpkg.com/tippy.js@6302 Redirect32 ms 95 BHIT
http://alpinejs.dev/essentials/installation200 HTML211 ms51 kBDYNAMICInstallation — Alpine.js
http://alpinejs.dev/favicon.png200 Image172 ms699 BMISS
http://alpinejs.dev/advanced/csp200 HTML275 ms66 kBDYNAMICCSP — Alpine.js
http://alpinejs.dev/plugins/focus200 HTML252 ms92 kBDYNAMICFocus — Alpine.js
/component/splide200 HTML412 ms37 kBDYNAMICSplide Component — Alpine.js
https://cdn.jsdelivr.net/npm/@splidejs/splide@4.0.7/dist/js/splide.min.js200 JS79 ms 13 kB
http://alpinejs.dev/directives/bind200 HTML275 ms75 kBDYNAMICbind — Alpine.js
https://cdn.jsdelivr.net/npm/@splidejs/splide@4.0.7/dist/css/splide.min.css200 CSS70 ms 1 kB
http://alpinejs.dev/plugins/anchor200 HTML226 ms69 kBDYNAMICAnchor — Alpine.js
http://alpinejs.dev/plugins/sort200 HTML246 ms88 kBDYNAMICSort — Alpine.js
http://alpinejs.dev/globals/alpine-store200 HTML231 ms60 kBDYNAMICstore() — Alpine.js
http://alpinejs.dev/directives/teleport200 HTML206 ms62 kBDYNAMICteleport — Alpine.js
http://alpinejs.dev/magics/store200 HTML289 ms52 kBDYNAMICstore — Alpine.js
http://alpinejs.dev/magics/refs200 HTML224 ms49 kBDYNAMICrefs — Alpine.js
/component/headless-combobox302 Redirect226 ms125 BDYNAMIC
/component/headless-menu302 Redirect214 ms125 BDYNAMIC
http://alpinejs.dev/globals/alpine-bind200 HTML237 ms49 kBDYNAMICbind() — Alpine.js
http://alpinejs.dev/directives/modelable200 HTML203 ms48 kBDYNAMICmodelable — Alpine.js
http://alpinejs.dev/globals/alpine-data200 HTML244 ms69 kBDYNAMICdata() — Alpine.js
http://alpinejs.dev/directives/ref200 HTML215 ms46 kBDYNAMICref — Alpine.js
http://alpinejs.dev/essentials/events200 HTML220 ms57 kBDYNAMICEvents — Alpine.js
http://alpinejs.dev/directives/init200 HTML218 ms57 kBDYNAMICinit — Alpine.js
https://cdn.jsdelivr.net/simplemde/1.11/simplemde.min.js200 JS111 ms81 kB
http://alpinejs.dev/plugins/intersect200 HTML227 ms66 kBDYNAMICIntersect — Alpine.js
http://alpinejs.dev/plugins/collapse200 HTML219 ms60 kBDYNAMICCollapse — Alpine.js
http://alpinejs.dev/plugins/morph200 HTML243 ms73 kBDYNAMICMorph — Alpine.js
http://alpinejs.dev/directives/transition200 HTML240 ms64 kBDYNAMICtransition — Alpine.js
http://alpinejs.dev/magics/dispatch200 HTML234 ms60 kBDYNAMICdispatch — Alpine.js
http://alpinejs.dev/alpine_long.svg200 Image179 ms8 kBREVALIDATED
https://player.vimeo.com/api/player.js200 JS124 ms11 kBDYNAMIC
http://alpinejs.dev/magics/root200 HTML217 ms46 kBDYNAMICroot — Alpine.js
/login200 HTML216 ms8 kBDYNAMICAlpine.js
http://cdn.carbonads.com/carbon.js?serve=CESI52JU&placement=alpinejsdev301 Redirect74 ms 167 B
http://alpinejs.dev/magics/el200 HTML203 ms45 kBDYNAMICel — Alpine.js
http://alpinejs.dev/200 HTML1.3 s 46 kBDYNAMICAlpine.js
http://alpinejs.dev/directives/text200 HTML220 ms46 kBDYNAMICtext — Alpine.js
http://alpinejs.dev/magics/nextTick200 HTML198 ms50 kBDYNAMICnextTick — Alpine.js
/login/github302 Redirect201 ms513 BDYNAMIC
http://alpinejs.dev/livewire/livewire.js?id=de3fca26689cb5a39af4200 JS690 ms156 kBMISS
http://alpinejs.dev/cdn-cgi/l/email-protection200 HTML64 ms 5 kBEmail Protection | Cloudflare
http://alpinejs.dev/magics/watch200 HTML213 ms58 kBDYNAMICwatch — Alpine.js
http://alpinejs.dev/cdn-cgi/styles/cf.errors.css200 CSS64 ms 23 kB
http://alpinejs.dev/cdn-cgi/images/cf-icon-horizontal-arrow.png200 Image62 ms 537 B
http://alpinejs.dev/directives/model200 HTML249 ms93 kBDYNAMICmodel — Alpine.js
http://alpinejs.dev/cdn-cgi/images/cf-icon-server.png200 Image39 ms 1 kB
http://alpinejs.dev/cdn-cgi/images/cf-no-screenshot-warn.png200 Image70 ms 3 kB
http://alpinejs.dev/cdn-cgi/images/cf-icon-error.png200 Image55 ms 854 B
http://alpinejs.dev/cdn-cgi/styles/cf.errors.ie.css200 CSS59 ms 3 kB
http://alpinejs.dev/plugins/resize200 HTML212 ms55 kBDYNAMICResize — Alpine.js
http://alpinejs.dev/cdn-cgi/images/browser-bar.png?1376755637200 Image44 ms 715 B
/component/quill200 HTML377 ms35 kBDYNAMICQuill Component — Alpine.js
https://github.com/login/oauth/authorize?client_id=bccaeb7715c75b73…hS0V1RzyQtWD0udbjVI1iMY1zYWibprX302 Redirect262 ms689 B
https://github.com/login?client_id=bccaeb7715c75b7341c5&return_to=%…hS0V1RzyQtWD0udbjVI1iMY1zYWibprX200 HTML333 ms41 kB
http://alpinejs.dev/advanced/reactivity200 HTML233 ms55 kBDYNAMICReactivity — Alpine.js
/component/toggle200 HTML341 ms35 kBDYNAMICToggle Component — Alpine.js
/component/flatpickr200 HTML381 ms36 kBDYNAMICFlatpickr Component — Alpine.js
https://cdn.quilljs.com/1.3.6/quill.js200 JS478 ms427 kBMISS
https://cdn.jsdelivr.net/npm/flatpickr200 JS75 ms 49 kB
/component/headless-popover302 Redirect206 ms125 BDYNAMIC
http://alpinejs.dev/directives/ignore200 HTML240 ms46 kBDYNAMICignore — Alpine.js
/globals/alpine-store200 HTML247 ms60 kBDYNAMICstore() — Alpine.js
http://alpinejs.dev/essentials/templating200 HTML232 ms81 kBDYNAMICTemplating — Alpine.js
/component/headless-dialog302 Redirect218 ms125 BDYNAMIC
/essentials/templating200 HTML256 ms81 kBDYNAMICTemplating — Alpine.js
/plugins/collapse200 HTML244 ms60 kBDYNAMICCollapse — Alpine.js
https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css200 CSS60 ms 3 kB
/component/notifications200 HTML294 ms39 kBDYNAMICNotifications Component — Alpine.js
/img/video-placeholder.png200 Image322 ms658 kBHIT
/component/headless-radio302 Redirect222 ms125 BDYNAMIC
/component/select2200 HTML355 ms42 kBDYNAMICSelect2 Component — Alpine.js
/component/glide200 HTML359 ms38 kBDYNAMICGlide Component — Alpine.js
http://alpinejs.dev/plugins/persist200 HTML405 ms73 kBDYNAMICPersist — Alpine.js
https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js200 JS76 ms 21 kB
https://cdn.jsdelivr.net/npm/@glidejs/glide@3.5.x200 JS77 ms 8 kB
http://alpinejs.dev/img/persist_custom_key_devtools.png200 Image255 ms79 kBMISS
http://alpinejs.dev/img/persist_devtools.png200 Image297 ms79 kBMISS
https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js200 JS56 ms 27 kBHIT
https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css200 CSS82 ms 16 kB
http://alpinejs.dev/directives/cloak200 HTML170 ms50 kBDYNAMICcloak — Alpine.js
/component/date-range-picker200 HTML373 ms39 kBDYNAMICDate Range Picker Component — Alpine.js
/magics/root200 HTML260 ms46 kBDYNAMICroot — Alpine.js
https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.min.js200 JS79 ms 7 kB
http://alpinejs.dev/advanced/extending200 HTML267 ms95 kBDYNAMICExtending — Alpine.js
https://cdn.jsdelivr.net/jquery/latest/jquery.min.js200 JS93 ms 31 kB
/component/carousel200 HTML360 ms41 kBDYNAMICCarousel Component — Alpine.js
/component/modal200 HTML335 ms37 kBDYNAMICModal Component — Alpine.js
/component/choices200 HTML373 ms39 kBDYNAMICChoices.js Component — Alpine.js
https://unpkg.com/smoothscroll-polyfill@0.4.4/dist/smoothscroll.js200 JS27 ms 12 kBHIT
http://alpinejs.dev/directives/html200 HTML213 ms46 kBDYNAMIChtml — Alpine.js
https://cdn.jsdelivr.net/npm/choices.js/public/assets/styles/choices.min.css200 CSS67 ms 2 kB
https://cdn.jsdelivr.net/npm/choices.js/public/assets/scripts/choices.min.js200 JS90 ms 23 kB
/directives/modelable200 HTML236 ms48 kBDYNAMICmodelable — Alpine.js
/directives/effect200 HTML241 ms47 kBDYNAMICeffect — Alpine.js
https://unpkg.com/tippy.js@6.3.7302 Redirect28 ms 153 BHIT
/component/radio-group200 HTML421 ms39 kBDYNAMICRadio Group Component — Alpine.js
https://cdn.jsdelivr.net/npm/@glidejs/glide@3.5.x/dist/css/glide.core.min.css200 CSS71 ms 382 B
http://alpinejs.dev/directives/data200 HTML232 ms71 kBDYNAMICdata — Alpine.js
/license200 HTML382 ms45 kBDYNAMICComponents — Alpine.js
/essentials/state200 HTML269 ms64 kBDYNAMICState — Alpine.js
/directives/html200 HTML233 ms46 kBDYNAMIChtml — Alpine.js
https://cdn.jsdelivr.net/npm/apexcharts200 JS103 ms522 kB
/magics/nextTick200 HTML242 ms50 kBDYNAMICnextTick — Alpine.js
http://alpinejs.dev/cdn-cgi/images/cf-icon-browser.png200 Image40 ms 484 B
http://alpinejs.dev/components200 HTML782 ms490 kBDYNAMICUI Components — Alpine.js
https://cdn.jsdelivr.net/npm/@alpinejs/mask@3.14.1/dist/cdn.min.js200 JS64 ms 1 kB
http://alpinejs.dev/essentials/state200 HTML250 ms64 kBDYNAMICState — Alpine.js
http://alpinejs.dev/component/carousel200 HTML309 ms41 kBDYNAMICCarousel Component — Alpine.js
http://alpinejs.dev/component/simple-mde200 HTML307 ms35 kBDYNAMICSimpleMDE Component — Alpine.js
http://alpinejs.dev/component/apexcharts200 HTML340 ms35 kBDYNAMICApexCharts Component — Alpine.js
http://alpinejs.dev/license200 HTML210 ms45 kBDYNAMICComponents — Alpine.js
http://alpinejs.dev/component/accordion200 HTML320 ms38 kBDYNAMICAccordion Component — Alpine.js
http://alpinejs.dev/component/flatpickr200 HTML290 ms36 kBDYNAMICFlatpickr Component — Alpine.js
http://alpinejs.dev/component/date-range-picker200 HTML327 ms39 kBDYNAMICDate Range Picker Component — Alpine.js
http://alpinejs.dev/login200 HTML445 ms8 kBDYNAMICAlpine.js
http://alpinejs.dev/forgot-password200 HTML428 ms5 kBDYNAMICAlpine.js
http://alpinejs.dev/component/toggle200 HTML312 ms35 kBDYNAMICToggle Component — Alpine.js
http://alpinejs.dev/component/quill200 HTML316 ms35 kBDYNAMICQuill Component — Alpine.js
http://alpinejs.dev/img/video-placeholder.png200 Image685 ms658 kBMISS
http://alpinejs.dev/img/caleb.png200 Image213 ms66 kBMISS
http://alpinejs.dev/component/choices200 HTML322 ms39 kBDYNAMICChoices.js Component — Alpine.js
http://alpinejs.dev/component/select2200 HTML334 ms42 kBDYNAMICSelect2 Component — Alpine.js
http://alpinejs.dev/component/chart-js200 HTML357 ms36 kBDYNAMICChart.js Component — Alpine.js
http://alpinejs.dev/img/eric.jpg200 Image205 ms16 kBMISS
http://alpinejs.dev/component/splide200 HTML314 ms37 kBDYNAMICSplide Component — Alpine.js
https://cdn.jsdelivr.net/npm/chart.js@3.5.1/dist/chart.min.js200 JS110 ms66 kB
http://alpinejs.dev/component/tooltip200 HTML314 ms36 kBDYNAMICTooltip Component — Alpine.js
https://cdn.quilljs.com/1.3.6/quill.snow.css200 CSS345 ms24 kBMISS
/directives/text200 HTML223 ms46 kBDYNAMICtext — Alpine.js
https://cdn.jsdelivr.net/simplemde/1.11/simplemde.min.css200 CSS74 ms 3 kB
https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.css200 CSS77 ms 2 kB
https://unpkg.com/tippy.js@6.3.7/dist/tippy-bundle.umd.min.js200 JS1.1 s 25 kBHIT
http://alpinejs.dev/component/modal200 HTML304 ms37 kBDYNAMICModal Component — Alpine.js
/essentials/lifecycle200 HTML236 ms54 kBDYNAMICLifecycle — Alpine.js
/essentials/installation200 HTML201 ms51 kBDYNAMICInstallation — Alpine.js
/directives/bind200 HTML244 ms75 kBDYNAMICbind — Alpine.js
http://alpinejs.dev/directives/show200 HTML201 ms53 kBDYNAMICshow — Alpine.js
https://cdn.jsdelivr.net/npm/@docsearch/css@3200 CSS68 ms 14 kB
https://rsms.me/inter/inter.css200 CSS117 ms712 BMISS
http://alpinejs.dev/directives/on200 HTML225 ms90 kBDYNAMICon — Alpine.js
https://rsms.me/inter/font-files/InterDisplay-Light.woff2?v=4.0200 Font262 ms107 kBMISS
https://unpkg.com/trix@2.0.0-alpha.1/dist/trix.css200 CSS2 s 16 kBMISS
https://rsms.me/inter/font-files/Inter-ExtraBold.woff2?v=4.0200 Font214 ms109 kBMISS
https://rsms.me/inter/font-files/InterVariable-Italic.woff2?v=4.0200 Font176 ms372 kBMISS
https://rsms.me/inter/font-files/Inter-Italic.woff2?v=4.0200 Font119 ms112 kBMISS
https://rsms.me/inter/font-files/InterDisplay-Thin.woff2?v=4.0200 Font222 ms104 kBMISS
https://rsms.me/inter/font-files/InterDisplay-ExtraLightItalic.woff2?v=4.0200 Font136 ms114 kBMISS
https://rsms.me/inter/font-files/Inter-ExtraBoldItalic.woff2?v=4.0200 Font219 ms116 kBMISS
https://rsms.me/inter/font-files/Inter-Thin.woff2?v=4.0200 Font159 ms104 kBMISS
https://rsms.me/inter/font-files/InterDisplay-Black.woff2?v=4.0200 Font282 ms105 kBMISS
https://rsms.me/inter/font-files/InterDisplay-SemiBold.woff2?v=4.0200 Font235 ms108 kBMISS
https://rsms.me/inter/font-files/InterDisplay-LightItalic.woff2?v=4.0200 Font230 ms114 kBMISS
https://rsms.me/inter/font-files/Inter-Regular.woff2?v=4.0200 Font139 ms106 kBMISS
https://rsms.me/inter/font-files/Inter-ThinItalic.woff2?v=4.0200 Font136 ms111 kBMISS
https://rsms.me/inter/font-files/InterDisplay-BoldItalic.woff2?v=4.0200 Font268 ms115 kBMISS
https://rsms.me/inter/font-files/Inter-ExtraLight.woff2?v=4.0200 Font133 ms108 kBMISS
https://rsms.me/inter/font-files/Inter-Medium.woff2?v=4.0200 Font116 ms109 kBMISS
https://rsms.me/inter/font-files/Inter-SemiBold.woff2?v=4.0200 Font150 ms109 kBMISS
https://rsms.me/inter/font-files/InterDisplay-ExtraLight.woff2?v=4.0200 Font272 ms107 kBMISS
https://rsms.me/inter/font-files/InterDisplay-Italic.woff2?v=4.0200 Font231 ms111 kBMISS
https://rsms.me/inter/font-files/Inter-BlackItalic.woff2?v=4.0200 Font225 ms113 kBMISS
https://rsms.me/inter/font-files/Inter-BoldItalic.woff2?v=4.0200 Font201 ms116 kBMISS
https://rsms.me/inter/font-files/InterDisplay-Bold.woff2?v=4.0200 Font236 ms108 kBMISS
https://rsms.me/inter/font-files/InterDisplay-SemiBoldItalic.woff2?v=4.0200 Font228 ms115 kBMISS
https://rsms.me/inter/font-files/Inter-SemiBoldItalic.woff2?v=4.0200 Font236 ms115 kBMISS
https://rsms.me/inter/font-files/InterVariable.woff2?v=4.0200 Font160 ms337 kBMISS
https://rsms.me/inter/font-files/Inter-Bold.woff2?v=4.0200 Font123 ms108 kBMISS
https://rsms.me/inter/font-files/InterDisplay-MediumItalic.woff2?v=4.0200 Font247 ms115 kBMISS
https://rsms.me/inter/font-files/InterDisplay-Regular.woff2?v=4.0200 Font139 ms103 kBMISS
https://rsms.me/inter/font-files/InterDisplay-ExtraBold.woff2?v=4.0200 Font1.2 s 108 kBMISS
https://rsms.me/inter/font-files/Inter-MediumItalic.woff2?v=4.0200 Font122 ms116 kBMISS
https://rsms.me/inter/font-files/InterDisplay-BlackItalic.woff2?v=4.0200 Font248 ms112 kBMISS
https://rsms.me/inter/font-files/InterDisplay-ThinItalic.woff2?v=4.0200 Font220 ms111 kBMISS
http://alpinejs.dev/cdn-cgi/images/icon-exclamation.png?1376755637200 Image60 ms 452 B
https://rsms.me/inter/font-files/Inter-Light.woff2?v=4.0200 Font129 ms107 kBMISS
http://alpinejs.dev/component/dropdown200 HTML244 ms51 kBDYNAMICDropdown Component — Alpine.js
/cdn-cgi/styles/cf.errors.css200 CSS84 ms 23 kB
/cdn-cgi/images/cf-no-screenshot-warn.png200 Image61 ms 3 kB
https://rsms.me/inter/font-files/Inter-LightItalic.woff2?v=4.0200 Font130 ms114 kBMISS
http://alpinejs.dev/component/tabs200 HTML295 ms39 kBDYNAMICTabs Component — Alpine.js
/cdn-cgi/images/cf-no-screenshot-error.png200 Image56 ms 3 kB
/cdn-cgi/images/cf-icon-cloud.png200 Image89 ms 1 kB
/cdn-cgi/images/cf-icon-ok.png200 Image94 ms 946 B
/cdn-cgi/images/cf-icon-server.png200 Image56 ms 1 kB
/cdn-cgi/images/cf-icon-horizontal-arrow.png200 Image85 ms 537 B
/cdn-cgi/images/cf-icon-browser.png200 Image82 ms 484 B
http://alpinejs.dev/cdn-cgi/images/cf-icon-cloud.png200 Image40 ms 1 kB
http://alpinejs.dev/magics/id200 HTML208 ms66 kBDYNAMICid — Alpine.js
https://cdn.jsdelivr.net/npm/@alpinejs/intersect@3.14.1/dist/cdn.min.js200 JS73 ms 498 B
http://alpinejs.dev/cdn-cgi/images/cf-no-screenshot-error.png200 Image68 ms 3 kB
/cdn-cgi/images/icon-exclamation.png?1376755637200 Image88 ms 452 B
/magics/id200 HTML220 ms66 kBDYNAMICid — Alpine.js
http://alpinejs.dev/magics/data200 HTML219 ms49 kBDYNAMICdata — Alpine.js
/directives/transition200 HTML504 ms64 kBDYNAMICtransition — Alpine.js
https://unpkg.com/@popperjs/core@2302 Redirect25 ms 109 BHIT
https://unpkg.com/@popperjs/core@2.11.8302 Redirect40 ms 155 BHIT
https://unpkg.com/@popperjs/core@2.11.8/dist/umd/popper.min.js200 JS57 ms 20 kBHIT
https://cdn.jsdelivr.net/npm/@alpinejs/sort@3.14.1/dist/cdn.min.js200 JS66 ms 13 kB
/cdn-cgi/images/cf-icon-error.png200 Image50 ms 854 B
http://alpinejs.dev/essentials/lifecycle200 HTML407 ms54 kBDYNAMICLifecycle — Alpine.js
https://rsms.me/inter/font-files/Inter-ExtraLightItalic.woff2?v=4.0200 Font265 ms114 kBMISS
http://alpinejs.dev/directives/effect200 HTML195 ms47 kBDYNAMICeffect — Alpine.js
https://rsms.me/inter/font-files/InterDisplay-ExtraBoldItalic.woff2?v=4.0200 Font255 ms115 kBMISS
http://alpinejs.dev/repeat.svg200 Image173 ms11 kBREVALIDATED
/directives/if200 HTML203 ms46 kBDYNAMICif — Alpine.js
/components200 HTML432 ms490 kBDYNAMICUI Components — Alpine.js
/forgot-password200 HTML240 ms5 kBDYNAMICAlpine.js
/img/caleb.png200 Image211 ms66 kBMISS
/img/persist_custom_key_devtools.png200 Image221 ms79 kBMISS
/img/eric.jpg200 Image523 ms16 kBMISS
http://alpinejs.dev/start-here200 HTML230 ms80 kBDYNAMICStart Here — Alpine.js
/component/chart-js200 HTML339 ms36 kBDYNAMICChart.js Component — Alpine.js
https://cdn.jsdelivr.net/npm/@alpinejs/focus@3.14.1/dist/cdn.min.js200 JS69 ms 5 kB
http://alpinejs.dev/cdn-cgi/images/cf-icon-ok.png200 Image40 ms 946 B
/magics/next-tick302 Redirect202 ms151 BDYNAMIC
http://alpinejs.dev/component/trix200 HTML283 ms36 kBDYNAMICTrix Component — Alpine.js
http://alpinejs.dev/component/fullcalendar200 HTML301 ms40 kBDYNAMICFullCalendar Component — Alpine.js
https://cdn.jsdelivr.net/npm/fullcalendar@5.11.0/main.min.css200 CSS69 ms 6 kB
/component/headless-disclosure302 Redirect233 ms125 BDYNAMIC
https://cdn.jsdelivr.net/npm/fullcalendar@5.11.0/main.min.js200 JS95 ms 76 kB
/cdn-cgi/images/browser-bar.png?1376755637200 Image96 ms 715 B
http://alpinejs.dev/advanced/async200 HTML226 ms50 kBDYNAMICAsync — Alpine.js
http://alpinejs.dev/component/glide200 HTML336 ms38 kBDYNAMICGlide Component — Alpine.js
https://cdn.usefathom.com/script.js200 JS110 ms6 kB
https://cdn.jsdelivr.net/npm/choices.js200 JS79 ms 23 kB
/plugins/anchor200 HTML258 ms69 kBDYNAMICAnchor — Alpine.js
http://alpinejs.dev/directives/if200 HTML240 ms46 kBDYNAMICif — Alpine.js
/directives/model200 HTML233 ms93 kBDYNAMICmodel — Alpine.js
https://fonts.gstatic.com/s/karla/v31/qkBIXvYC6trAT55ZBi1ueQVIjQTD-JqqFw.woff200 Font48 ms 23 kB
http://alpinejs.dev/directives/id200 HTML218 ms50 kBDYNAMICid — Alpine.js
/build/assets/app.18eb54f2.css200 CSS202 ms71 kBMISS
http://alpinejs.dev/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js200 JS57 ms 1 kB
https://unpkg.com/trix@2.0.0-alpha.1/dist/trix.umd.js200 JS3.4 s 377 kBMISS
http://alpinejs.dev/plugins/mask200 HTML210 ms62 kBDYNAMICMask — Alpine.js
https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015200 JS119 ms19 kB
https://cdn.jsdelivr.net/momentjs/latest/moment.min.js200 JS69 ms 18 kB
https://rsms.me/inter/font-files/Inter-Black.woff2?v=4.0200 Font138 ms106 kBMISS
http://alpinejs.dev/directives/for200 HTML227 ms65 kBDYNAMICfor — Alpine.js
https://cdn.jsdelivr.net/npm/@alpinejs/collapse@3.14.1/dist/cdn.min.js200 JS1.1 s 607 B
/component/fullcalendar200 HTML391 ms40 kBDYNAMICFullCalendar Component — Alpine.js
/component/accordion200 HTML362 ms38 kBDYNAMICAccordion Component — Alpine.js
/directives/data200 HTML294 ms71 kBDYNAMICdata — Alpine.js
/globals/alpine-bind200 HTML224 ms49 kBDYNAMICbind() — Alpine.js
http://alpinejs.dev/component/radio-group200 HTML309 ms39 kBDYNAMICRadio Group Component — Alpine.js
https://fonts.gstatic.com/s/karla/v31/qkBIXvYC6trAT55ZBi1ueQVIjQTDeJ2qFw.woff200 Font34 ms 23 kB
https://cdn.carbonads.com/carbon.js?serve=CESI52JU&placement=alpinejsdev200 JS108 ms37 kB
/img/persist_devtools.png200 Image267 ms79 kBMISS
http://alpinejs.dev/login/github302 Redirect219 ms513 BDYNAMIC
https://github.com/login/oauth/authorize?client_id=bccaeb7715c75b73…vsf6erZklgEc7bxFhYlgsKcLvEVnY6Gq302 Redirect225 ms689 B
https://rsms.me/inter/font-files/InterDisplay-Medium.woff2?v=4.0200 Font277 ms107 kBMISS
https://github.com/login?client_id=bccaeb7715c75b7341c5&return_to=%…vsf6erZklgEc7bxFhYlgsKcLvEVnY6Gq200 HTML174 ms41 kB
/magics/watch200 HTML254 ms58 kBDYNAMICwatch — Alpine.js
/component/headless-listbox302 Redirect237 ms125 BDYNAMIC
http://alpinejs.dev/component/notifications200 HTML361 ms39 kBDYNAMICNotifications Component — Alpine.js
http://alpinejs.dev/upgrade-guide200 HTML1.9 s 99 kBDYNAMICUpgrade From V2 — Alpine.js
http://alpinejs.dev/magics/next-tick302 Redirect199 ms151 BDYNAMIC
No rows found, please edit your search term.

Best practices

Found 11 row(s).
Analysis nameOKNoticeWarningCritical
Large inline SVGs (> 5120 B)6404 0
Invalid inline SVGs6602 0
Duplicate inline SVGs (> 5 and > 1024 B)68000
DOM depth (> 30)156000
Heading structure2484 94 44
Non-clickable phone numbers001 0
Title uniqueness (> 10%)73000
Description uniqueness (> 10%)3401 0
Brotli support76078 0
WebP support001 0
AVIF support001 0
No rows found, please edit your search term.

Large inline SVGs

SeverityOccursDetailAffected URLs (max 5)
warning215 kB Icon set:
URL 1, URL 2
warning24 kB Icon set:
URL 1, URL 2
warning2341 kB URL 1, URL 2
warning214 kB Icon set:
URL 1, URL 2

Duplicate inline SVGs

No problems found.


Invalid inline SVGs

SeverityOccursDetailAffected URLs (max 5)
critical46555 B
Found 1 error(s) in SVG. Errors:
  > Attribute class redefined
URL 1, URL 2, URL 3, URL 4, URL 5
critical2689 B
Found 4 error(s) in SVG. Errors:
  > Specification mandates value for attribute aria-hidden
  > attributes construct error
  > Couldn't find end of Start Tag svg line 1
  > Extra content at the end of the document
URL 1, URL 2

Missing quotes on attributes

No problems found.


DOM depth

No problems found.


Heading structure

SeverityOccursDetailAffected URLs (max 5)
critical44Multiple <h1> headings found.URL 1, URL 2, URL 3, URL 4, URL 5
critical4No <h1> tag found in the HTML content.URL 1, URL 2, URL 3, URL 4
warning78Heading structure is skipping levels: found an <h3> after an <h1>.URL 1, URL 2, URL 3, URL 4, URL 5
warning42Heading structure is skipping levels: found an <h4> after an <h2>.URL 1, URL 2, URL 3, URL 4, URL 5
warning4Heading structure is skipping levels: found an <h2> without a previous higher heading.URL 1, URL 2, URL 3, URL 4
notice4No headings found in the HTML content.URL 1, URL 2, URL 3, URL 4

Non-clickable phone numbers

SeverityOccursDetailAffected URLs (max 5)
warning2(999) 999-9999URL 1, URL 2

Title uniqueness

No problems found.


Description uniqueness

No problems found.

Accessibility

Analysis nameOKNoticeWarningCritical
Missing image alt attributes1706 0
Missing aria labels00667 89
Missing roles009 0
Missing html lang attribute2000
Missing form labels0023 0

Valid HTML

No problems found.


Missing image alt attributes

SeverityOccursDetailAffected URLs (max 5)
warning102<img class="w-[200px] md:w-[290px]" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning34<img class="absolute inset-0 h-full w-full blur-sm" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning4<img ***>URL 1, URL 2, URL 3, URL 4
warning4<img class="w-[290px]" ***>URL 1, URL 2, URL 3, URL 4
warning2<img class="h-16 w-16 overflow-hidden rounded-full" ***>URL 1, URL 2

Missing form labels

SeverityOccursDetailAffected URLs (max 5)
warning50<input ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning2<input class="w-full" ***>URL 1, URL 2
warning2<input class="w-full rounded-md border border-gray-200 px-3 py-2.***" ***>URL 1, URL 2
warning2<input class="w-full rounded-md border border-gray-200 py-2.5 pl-12 pr-***" ***>URL 1, URL 2

Missing aria labels

Found 81 row(s).
SeverityOccursDetailAffected URLs (max 5)
critical50<input ***>URL 1, URL 2, URL 3, URL 4, URL 5
critical48<input name="_token" ***>URL 1, URL 2, URL 3, URL 4, URL 5
critical48<input class="border-gray-300 focus:border-cyan-400 focus:ring focus:ring-cyan-400 focus:ring-opacity-50 mt-1 block w-full rounded-lg" id="email" name="email" ***>URL 1, URL 2, URL 3, URL 4, URL 5
critical46<input class="border-gray-300 focus:border-cyan-400 focus:ring focus:ring-cyan-400 focus:ring-opacity-50 mt-1 block w-full rounded-lg" id="password" name="password" ***>URL 1, URL 2, URL 3, URL 4, URL 5
critical44<input class="border-gray-300 focus:border-cyan-400 focus:ring focus:ring-cyan-400 focus:ring-opacity-50 mt-1 block w-full rounded-lg" id="password_confirmation" name="password_confirmation" ***>URL 1, URL 2, URL 3, URL 4, URL 5
critical12<select ***>URL 1, URL 2, URL 3, URL 4
critical4<textarea ***>URL 1, URL 2, URL 3, URL 4
critical4<select class="w-full" ***>URL 1, URL 2
critical2<input class="w-full" ***>URL 1, URL 2
critical2<input id="$id('swankeedankieeedooooooooooooooooooooooooooooooooo')" ***>URL 1, URL 2
critical2<input class="border-gray-300 text-cyan-400 focus:border-cyan-400 focus:ring focus:ring-cyan-400 focus:ring-opacity-***" id="remember_me" name="remember" ***>URL 1, URL 2
critical2<input id="checkbox" ***>URL 1, URL 2
critical2<input name="sendNotifications" ***>URL 1, URL 2
critical2<input class="w-full rounded-md border border-gray-200 px-3 py-2.***" ***>URL 1, URL 2
critical2<input id="message" class="mt-1 block w-full rounded-md border border-gray-200 px-3 py-2.***" ***>URL 1, URL 2
critical2<select id="type" class="mt-1 block w-full rounded-md border border-gray-200 px-3 py-2.***" ***>URL 1, URL 2
critical2<input class="w-full rounded-md border border-gray-200 py-2.5 pl-12 pr-***" ***>URL 1, URL 2
critical2<input id="new-event-title" class="mt-1 w-full rounded-md border border-gray-200 px-3 py-2.***" ***>URL 1, URL 2
warning10204<a class="hover:text-gray-***" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning1218<a class="block px-3 py-1.5 rounded-md text-gray-***" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning1104<a ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning308<a class="block hover:text-gray-***" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning204<a class="font-medium hover:text-gray-***" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning204<button class="text-gray-600 focus:outline-none" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning196<a class="font-bold text-cyan-***" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning102<a class="flex items-center" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning102<a class="font-semibold text-cyan-***" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning102<a class="hover:text-gray-***" class="visibleHeadingId == heading.id &amp;&amp; 'font-medium text-gray-***'" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning92<a class="__cf_email__" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning88<a class="hidden font-medium text-gray-500 hover:text-gray-600 md:block" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning88<a class="text-sm text-gray-***" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning86<a class="inline-flex items-center rounded-md bg-gray-100 px-2.5 py-1.5 text-xs font-medium" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning64<button>URL 1, URL 2, URL 3, URL 4, URL 5
warning48<button class="inline-flex items-center px-6 py-2 bg-components-cyan-600 border border-transparent rounded-full font-title text-sm text-white font-bold hover:bg-components-cyan-700 focus:outline-none focus:border-components-cyan-700 focus:ring focus:ring-gray-300 disabled:opacity-25 transition" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning44<a class="inline-flex items-center space-x-***" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning44<a class="font-medium text-gray-500 hover:text-gray-***" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning44<a class="inline-flex items-center rounded-full text-center text-sm" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning44<button class="text-sm text-gray-800 underline" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning44<button class="inline-flex items-center px-6 py-2 bg-components-cyan-600 border border-transparent rounded-full font-title text-sm text-white font-bold hover:bg-components-cyan-700 focus:outline-none focus:border-components-cyan-700 focus:ring focus:ring-gray-300 disabled:opacity-25 transition sm:ml-***" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning42<a class="block px-3 py-1.5 rounded-md text-components-cyan-600 bg-[#259DBE] bg-opacity-***" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning42<button class="bg-components-cyan-600 hover:bg-components-cyan-700 mx-auto mt-10 flex items-center justify-center rounded-full border border-transparent px-10 py-2.5 font-medium text-white transition-colors sm:w-auto">URL 1, URL 2, URL 3, URL 4, URL 5
warning42<button class="absolute top-4 right-4 inline-flex h-6 w-6 items-center justify-center" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning34<button class="bg-components-cyan-600 hover:bg-components-cyan-700 flex items-center justify-center gap-2 rounded border border-transparent py-2.5 pl-6 pr-8 font-medium text-white transition-colors">URL 1, URL 2, URL 3, URL 4, URL 5
warning30<button ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning24<a class="flex items-center justify-between rounded-md px-5 py-2.5 text-left text-gray-800 transition-colors hover:bg-[#F3F5F7] hover:text-gray-***" ***>URL 1, URL 2
warning18<button class="focus:outline-none focus:ring-2 focus:ring-cyan-***">URL 1, URL 2
warning18<a class="flex flex-col items-center justify-center overflow-hidden rounded-xl bg-[#F9FBFC] text-left transition-colors hover:bg-[#F3F5F7]" ***>URL 1, URL 2
warning12<button class="glide__bullet h-3 w-3 rounded-full bg-gray-300 transition-colors" ***>URL 1, URL 2
warning12<button class="px-4 py-2 text-sm" ***>URL 1, URL 2
warning6<a class="flex items-center gap-2 w-full first-of-type:rounded-t-md last-of-type:rounded-b-md px-4 py-2.5 text-left text-sm hover:bg-gray-50 disabled:text-gray-***" ***>URL 1, URL 2
warning6<button class="rounded-md bg-white px-5 py-2.5 shadow" ***>URL 1, URL 2, URL 3, URL 4
warning4<button class="w-full bg-cyan-400 rounded-full text-center py-3 font-bold text-white">URL 1, URL 2
warning4<a class="modal-link-faq" ***>URL 1, URL 2
warning4<button class="mt-***">URL 1, URL 2
warning4<button class="isSelected($el.id) ? 'border-gray-200 bg-white' : 'border-transparent'" class="inline-flex rounded-t-md border-t border-l border-r px-5 py-2.***" ***>URL 1, URL 2
warning4<button class="mt-5 rounded-md border border-gray-200 px-4 py-2 text-sm">URL 1, URL 2
warning4<button class="glide__arrow glide__arrow--left pointer-events-auto disabled:opacity-***" ***>URL 1, URL 2
warning4<button class="text-6xl" ***>URL 1, URL 2
warning4<button class="rounded-md border border-gray-200 bg-white px-5 py-2.***" ***>URL 1, URL 2
warning4<button class="flex w-full items-center justify-between px-6 py-4 text-xl font-bold" ***>URL 1, URL 2
warning2<a class="mx-auto mt-10 flex items-center justify-center rounded-xl border border-transparent bg-gray-900 px-8 py-3 text-lg tracking-wide text-white transition-colors hover:bg-gray-***" ***>URL 1, URL 2
warning2<a class="underline" ***>URL 1, URL 2
warning2<button class="rounded-xl px-3 py-1 ring-gray-800 focus:outline-none focus:ring-***" class="currentStep === key &amp;&amp; 'bg-gray-800 text-white'">URL 1, URL 2
warning2<button id="morph-button-***" class="mt-***">URL 1, URL 2
warning2<a id="brand_link" ***>URL 1, URL 2
warning2<button id="cf-footer-ip-reveal" class="cf-footer-ip-reveal-btn" ***>URL 1, URL 2
warning2<button class="text-cyan-600 font-medium underline" ***>URL 1, URL 2
warning2<button class="flex items-center gap-2 bg-white px-5 py-2.5 rounded-md shadow" ***>URL 1, URL 2
warning2<button class="expanded &amp;&amp; '-rotate-***'" class="rounded-md border border-[#E3E5E8] bg-white p-2 transition-transform">URL 1, URL 2
warning2<button class="inline-flex items-center gap-2 rounded-md border border-[#E3E5E8] bg-white p-***" ***>URL 1, URL 2
warning2<button class="fullscreen ? 'fixed top-12 right-16 z-***' : ''" class="inline-flex items-center gap-2 rounded-md border border-[#E3E5E8] bg-white p-***" ***>URL 1, URL 2
warning2<button class="trigger">URL 1, URL 2
warning2<a class="inline-flex items-center text-center text-sm" ***>URL 1, URL 2
warning2<a class="text-sm text-gray-600 underline hover:text-gray-***" ***>URL 1, URL 2
warning2<button class="inline-flex items-center px-6 py-2 bg-components-cyan-600 border border-transparent rounded-full font-title text-sm text-white font-bold hover:bg-components-cyan-700 focus:outline-none focus:border-components-cyan-700 focus:ring focus:ring-gray-300 disabled:opacity-25 transition ml-***" ***>URL 1, URL 2
warning2<button class="relative ml-4 inline-flex w-14 rounded-full py-1 transition" ***>URL 1, URL 2
warning2<button class="inline-flex text-gray-***" ***>URL 1, URL 2
warning2<button class="mt-6 inline-flex rounded-md border border-gray-200 bg-white px-4 py-2.***">URL 1, URL 2
warning2<a class="flex w-full items-center justify-center rounded border border-transparent bg-[#EFF3F4] px-8 py-2.5 font-medium text-gray-800 transition-colors hover:bg-[#dfe4e6] sm:w-auto" ***>URL 1, URL 2
warning2<a class="bg-components-cyan-600 hover:bg-components-cyan-700 flex w-full items-center justify-center rounded border border-transparent px-8 py-2.5 font-medium text-white transition-colors sm:w-auto" ***>URL 1, URL 2
warning2<button class="shrink-0 rounded-md bg-white px-5 py-2.5 shadow" ***>URL 1, URL 2
No rows found, please edit your search term.

Missing roles

SeverityOccursDetailAffected URLs (max 5)
warning102<main class="pt-32 pl-0 pr-0 md:pl-48 lg:pl-64 xl:pr-***">URL 1, URL 2, URL 3, URL 4, URL 5
warning102<aside class="fixed left-0 bottom-0 hidden w-48 px-8 pb-6 pt-8 md:top-[6rem] md:block lg:w-***">URL 1, URL 2, URL 3, URL 4, URL 5
warning102<aside class="fixed right-0 bottom-0 hidden w-64 overflow-y-auto py-8 px-6 md:top-[4rem] xl:block" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning102<header class="bg-white md:fixed md:left-0 md:right-0 md:top-0 md:z-30 md:h-[5rem]">URL 1, URL 2, URL 3, URL 4, URL 5
warning44<nav class="flex items-center gap-***">URL 1, URL 2, URL 3, URL 4, URL 5
warning44<header class="relative z-10 mx-auto flex max-w-6xl items-center justify-between px-4 py-***">URL 1, URL 2, URL 3, URL 4, URL 5
warning44<footer class="flex items-center justify-center gap-6 pb-16 text-center">URL 1, URL 2, URL 3, URL 4, URL 5
warning42<nav class="hidden w-[240px] shrink-0 px-4 lg:block">URL 1, URL 2, URL 3, URL 4, URL 5
warning2<nav class="absolute flex w-full items-center justify-end gap-4 px-6 py-4 font-medium text-gray-***">URL 1, URL 2

Missing html lang attribute

No problems found.

Security

Found 10 row(s).
HeaderOKNoticeWarningCriticalRecommendation
Strict-Transport-Security00077Strict-Transport-Security header is not set. It enforces secure connections and protects against MITM attacks.
X-XSS-Protection152002X-XSS-Protection header is not set. It enables browser's built-in defenses against XSS attacks.
Content-Security-Policy000154Content-Security-Policy header is not set. It restricts resources the page can load and prevents XSS attacks.
Set-Cookie76076152Set-Cookie header for 'XSRF-TOKEN' does not have 'Secure' flag. Attacker can steal the cookie over HTTP.
Set-Cookie header for 'alpinejs_session' does not have 'Secure' flag. Attacker can steal the cookie over HTTP.
Set-Cookie header for 'XSRF-TOKEN' does not have 'HttpOnly' flag. Attacker can steal the cookie using XSS. Consider using 'HttpOnly' when cookie is not used by JavaScript.
Referrer-Policy001540Referrer-Policy header is not set. It controls referrer header sharing and enhances privacy and security.
Feature-Policy001540Feature-Policy header is not set. It allows enabling/disabling browser APIs and features for security. Not important if Permissions-Policy is set.
Permissions-Policy001540Permissions-Policy header is not set. It allows enabling/disabling browser APIs and features for security.
X-Frame-Options215200X-Frame-Options header is set to SAMEORIGIN which allows this origin to embed the resource in a frame.
Server015400Server header is set to 'cloudflare'. It is better not to reveal used technologies.
X-Content-Type-Options154000
No rows found, please edit your search term.

Security headers

Found 11 row(s).
SeverityOccursDetailAffected URLs (max 5)
critical154Content-Security-Policy header is not set. It restricts resources the page can load and prevents XSS attacks.URL 1, URL 2, URL 3, URL 4, URL 5
critical77Strict-Transport-Security header is not set. It enforces secure connections and protects against MITM attacks.URL 1, URL 2, URL 3, URL 4, URL 5
critical76Set-Cookie header for 'XSRF-TOKEN' does not have 'Secure' flag. Attacker can steal the cookie over HTTP.URL 1, URL 2, URL 3, URL 4, URL 5
critical76Set-Cookie header for 'alpinejs_session' does not have 'Secure' flag. Attacker can steal the cookie over HTTP.URL 1, URL 2, URL 3, URL 4, URL 5
critical2X-XSS-Protection header is not set. It enables browser's built-in defenses against XSS attacks.URL 1, URL 2
warning154Referrer-Policy header is not set. It controls referrer header sharing and enhances privacy and security.URL 1, URL 2, URL 3, URL 4, URL 5
warning154Feature-Policy header is not set. It allows enabling/disabling browser APIs and features for security. Not important if Permissions-Policy is set.URL 1, URL 2, URL 3, URL 4, URL 5
warning154Permissions-Policy header is not set. It allows enabling/disabling browser APIs and features for security.URL 1, URL 2, URL 3, URL 4, URL 5
warning152Set-Cookie header for 'XSRF-TOKEN' does not have 'HttpOnly' flag. Attacker can steal the cookie using XSS. Consider using 'HttpOnly' when cookie is not used by JavaScript.URL 1, URL 2, URL 3, URL 4, URL 5
notice154Server header is set to 'cloudflare'. It is better not to reveal used technologies.URL 1, URL 2, URL 3, URL 4, URL 5
notice152X-Frame-Options header is set to SAMEORIGIN which allows this origin to embed the resource in a frame.URL 1, URL 2, URL 3, URL 4, URL 5
No rows found, please edit your search term.

TOP non-unique titles

Found 10 row(s).
Count 🔽Title
6Alpine.js
4id — Alpine.js
4data — Alpine.js
2Start Here — Alpine.js
2Morph — Alpine.js
2refs — Alpine.js
2Events — Alpine.js
2store — Alpine.js
2Async — Alpine.js
2Extending — Alpine.js
No rows found, please edit your search term.

TOP non-unique descriptions

Found 10 row(s).
Count 🔽Description
82
6A rugged, minimal framework for composing behavior directly in your markup.
2Morph an element into the provided HTML
2Easily re-order elements by dragging them with your mouse
2An Alpine convenience wrapper for the Resize Observer API that allows you to easily react when an element is resized.
2Automatically format text fields as users type
2Easily persist data across page loads using localStorage
2An Alpine convenience wrapper for Intersection Observer that allows you to easily react when an element enters the viewport.
2Easily manage focus within the page
2Send Alpine templates to other parts of the DOM
No rows found, please edit your search term.

SEO metadata

Found 154 row(s).
URL 🔼IndexingTitleH1DescriptionKeywords
/AllowedAlpine.jsMissing H1A rugged, minimal framework for composing behavior directly in your markup.
/advanced/asyncAllowedAsync — Alpine.jsAsync
/advanced/cspAllowedCSP — Alpine.jsCSP (Content-Security Policy) Build
/advanced/extendingAllowedExtending — Alpine.jsExtending
/advanced/reactivityAllowedReactivity — Alpine.jsReactivity
/cdn-cgi/l/email-protectionDENY (meta)Email Protection | CloudflareEmail Protection
/component/accordionAllowedAccordion Component — Alpine.jsAlpine UI ComponentsHow to build an accordion component using Alpine.js.
/component/apexchartsAllowedApexCharts Component — Alpine.jsAlpine UI ComponentsHow to build an ApexCharts component using Alpine.js.
/component/carouselAllowedCarousel Component — Alpine.jsAlpine UI ComponentsHow to build a carousel component using Alpine.js.
/component/chart-jsAllowedChart.js Component — Alpine.jsAlpine UI ComponentsHow to build a Chart.js component using Alpine.js.
/component/choicesAllowedChoices.js Component — Alpine.jsAlpine UI ComponentsHow to build a Choices.js component using Alpine.js.
/component/date-range-pickerAllowedDate Range Picker Component — Alpine.jsAlpine UI ComponentsHow to build a Date Range Picker component using Alpine.js.
/component/dropdownAllowedDropdown Component — Alpine.jsAlpine UI ComponentsHow to build a dropdown component using Alpine.js.
/component/flatpickrAllowedFlatpickr Component — Alpine.jsAlpine UI ComponentsHow to build a Flatpickr component using Alpine.js.
/component/fullcalendarAllowedFullCalendar Component — Alpine.jsAlpine UI ComponentsHow to build a FullCalendar component using Alpine.js.
/component/glideAllowedGlide Component — Alpine.jsAlpine UI ComponentsHow to build a Glide component using Alpine.js.
/component/modalAllowedModal Component — Alpine.jsAlpine UI ComponentsHow to build a modal component using Alpine.js.
/component/notificationsAllowedNotifications Component — Alpine.jsAlpine UI ComponentsHow to build a notifications component using Alpine.js.
/component/quillAllowedQuill Component — Alpine.jsAlpine UI ComponentsHow to build a Quill component using Alpine.js.
/component/radio-groupAllowedRadio Group Component — Alpine.jsAlpine UI ComponentsHow to build a radio group component using Alpine.js.
/component/select2AllowedSelect2 Component — Alpine.jsAlpine UI ComponentsHow to build a Select2 component using Alpine.js.
/component/simple-mdeAllowedSimpleMDE Component — Alpine.jsAlpine UI ComponentsHow to build a SimpleMDE component using Alpine.js.
/component/splideAllowedSplide Component — Alpine.jsAlpine UI ComponentsHow to build a Splide component using Alpine.js.
/component/tabsAllowedTabs Component — Alpine.jsAlpine UI ComponentsHow to build a tabs component using Alpine.js.
/component/toggleAllowedToggle Component — Alpine.jsAlpine UI ComponentsHow to build a toggle component using Alpine.js.
/component/tooltipAllowedTooltip Component — Alpine.jsAlpine UI ComponentsHow to build a tooltip component using Alpine.js.
/component/trixAllowedTrix Component — Alpine.jsAlpine UI ComponentsHow to build a Trix component using Alpine.js.
/componentsAllowedUI Components — Alpine.jsAlpine UI ComponentsWell made, keyboard accessible, UI components written with Alpine.
/directives/bindAllowedbind — Alpine.jsx-bind
/directives/cloakAllowedcloak — Alpine.jsx-cloak
/directives/dataAlloweddata — Alpine.jsx-data
/directives/effectAllowedeffect — Alpine.jsx-effect
/directives/forAllowedfor — Alpine.jsx-for
/directives/htmlAllowedhtml — Alpine.jsx-html
/directives/idAllowedid — Alpine.jsx-id
/directives/ifAllowedif — Alpine.jsx-if
/directives/ignoreAllowedignore — Alpine.jsx-ignore
/directives/initAllowedinit — Alpine.jsx-init
/directives/modelAllowedmodel — Alpine.jsx-model
/directives/modelableAllowedmodelable — Alpine.jsx-modelable
/directives/onAllowedon — Alpine.jsx-on
/directives/refAllowedref — Alpine.jsx-ref
/directives/showAllowedshow — Alpine.jsx-show
/directives/teleportAllowedteleport — Alpine.jsx-teleportSend Alpine templates to other parts of the DOM
/directives/textAllowedtext — Alpine.jsx-text
/directives/transitionAllowedtransition — Alpine.jsx-transition
/essentials/eventsAllowedEvents — Alpine.jsEvents
/essentials/installationAllowedInstallation — Alpine.jsInstallation
/essentials/lifecycleAllowedLifecycle — Alpine.jsLifecycle
/essentials/stateAllowedState — Alpine.jsState
/essentials/templatingAllowedTemplating — Alpine.jsTemplating
/forgot-passwordAllowedAlpine.jsMissing H1A rugged, minimal framework for composing behavior directly in your markup.
/globals/alpine-bindAllowedbind() — Alpine.jsAlpine.bind
/globals/alpine-dataAlloweddata() — Alpine.jsAlpine.data
/globals/alpine-storeAllowedstore() — Alpine.jsAlpine.store
/licenseAllowedComponents — Alpine.jsAlpine Components LicenseWell made, keyboard accessible,<br>UI components written with Alpine.
/loginAllowedAlpine.jsMissing H1A rugged, minimal framework for composing behavior directly in your markup.
/magics/dataAlloweddata — Alpine.js$data
/magics/dispatchAlloweddispatch — Alpine.js$dispatch
/magics/elAllowedel — Alpine.js$el
/magics/idAllowedid — Alpine.js$id
/magics/nextTickAllowednextTick — Alpine.js$nextTick
/magics/refsAllowedrefs — Alpine.js$refs
/magics/rootAllowedroot — Alpine.js$root
/magics/storeAllowedstore — Alpine.js$store
/magics/watchAllowedwatch — Alpine.js$watch
/plugins/anchorAllowedAnchor — Alpine.jsAnchor PluginAnchor an element's positioning to another element on the page
/plugins/collapseAllowedCollapse — Alpine.jsCollapse PluginCollapse and expand elements with robust animations
/plugins/focusAllowedFocus — Alpine.jsFocus PluginEasily manage focus within the page
/plugins/intersectAllowedIntersect — Alpine.jsIntersect PluginAn Alpine convenience wrapper for Intersection Observer that allows you to easily react when an element enters the viewport.
/plugins/maskAllowedMask — Alpine.jsMask PluginAutomatically format text fields as users type
/plugins/morphAllowedMorph — Alpine.jsMorph PluginMorph an element into the provided HTML
/plugins/persistAllowedPersist — Alpine.jsPersist PluginEasily persist data across page loads using localStorage
/plugins/resizeAllowedResize — Alpine.jsResize PluginAn Alpine convenience wrapper for the Resize Observer API that allows you to easily react when an element is resized.
/plugins/sortAllowedSort — Alpine.jsSort PluginEasily re-order elements by dragging them with your mouse
/start-hereAllowedStart Here — Alpine.jsStart Here
/upgrade-guideAllowedUpgrade From V2 — Alpine.jsUpgrade from V2
http://alpinejs.dev/AllowedAlpine.jsMissing H1A rugged, minimal framework for composing behavior directly in your markup.
http://alpinejs.dev/advanced/asyncAllowedAsync — Alpine.jsAsync
http://alpinejs.dev/advanced/cspAllowedCSP — Alpine.jsCSP (Content-Security Policy) Build
http://alpinejs.dev/advanced/extendingAllowedExtending — Alpine.jsExtending
http://alpinejs.dev/advanced/reactivityAllowedReactivity — Alpine.jsReactivity
http://alpinejs.dev/cdn-cgi/l/email-protectionDENY (meta)Email Protection | CloudflareEmail Protection
http://alpinejs.dev/component/accordionAllowedAccordion Component — Alpine.jsAlpine UI ComponentsHow to build an accordion component using Alpine.js.
http://alpinejs.dev/component/apexchartsAllowedApexCharts Component — Alpine.jsAlpine UI ComponentsHow to build an ApexCharts component using Alpine.js.
http://alpinejs.dev/component/carouselAllowedCarousel Component — Alpine.jsAlpine UI ComponentsHow to build a carousel component using Alpine.js.
http://alpinejs.dev/component/chart-jsAllowedChart.js Component — Alpine.jsAlpine UI ComponentsHow to build a Chart.js component using Alpine.js.
http://alpinejs.dev/component/choicesAllowedChoices.js Component — Alpine.jsAlpine UI ComponentsHow to build a Choices.js component using Alpine.js.
http://alpinejs.dev/component/date-range-pickerAllowedDate Range Picker Component — Alpine.jsAlpine UI ComponentsHow to build a Date Range Picker component using Alpine.js.
http://alpinejs.dev/component/dropdownAllowedDropdown Component — Alpine.jsAlpine UI ComponentsHow to build a dropdown component using Alpine.js.
http://alpinejs.dev/component/flatpickrAllowedFlatpickr Component — Alpine.jsAlpine UI ComponentsHow to build a Flatpickr component using Alpine.js.
http://alpinejs.dev/component/fullcalendarAllowedFullCalendar Component — Alpine.jsAlpine UI ComponentsHow to build a FullCalendar component using Alpine.js.
http://alpinejs.dev/component/glideAllowedGlide Component — Alpine.jsAlpine UI ComponentsHow to build a Glide component using Alpine.js.
http://alpinejs.dev/component/modalAllowedModal Component — Alpine.jsAlpine UI ComponentsHow to build a modal component using Alpine.js.
http://alpinejs.dev/component/notificationsAllowedNotifications Component — Alpine.jsAlpine UI ComponentsHow to build a notifications component using Alpine.js.
http://alpinejs.dev/component/quillAllowedQuill Component — Alpine.jsAlpine UI ComponentsHow to build a Quill component using Alpine.js.
http://alpinejs.dev/component/radio-groupAllowedRadio Group Component — Alpine.jsAlpine UI ComponentsHow to build a radio group component using Alpine.js.
http://alpinejs.dev/component/select2AllowedSelect2 Component — Alpine.jsAlpine UI ComponentsHow to build a Select2 component using Alpine.js.
http://alpinejs.dev/component/simple-mdeAllowedSimpleMDE Component — Alpine.jsAlpine UI ComponentsHow to build a SimpleMDE component using Alpine.js.
http://alpinejs.dev/component/splideAllowedSplide Component — Alpine.jsAlpine UI ComponentsHow to build a Splide component using Alpine.js.
http://alpinejs.dev/component/tabsAllowedTabs Component — Alpine.jsAlpine UI ComponentsHow to build a tabs component using Alpine.js.
http://alpinejs.dev/component/toggleAllowedToggle Component — Alpine.jsAlpine UI ComponentsHow to build a toggle component using Alpine.js.
http://alpinejs.dev/component/tooltipAllowedTooltip Component — Alpine.jsAlpine UI ComponentsHow to build a tooltip component using Alpine.js.
http://alpinejs.dev/component/trixAllowedTrix Component — Alpine.jsAlpine UI ComponentsHow to build a Trix component using Alpine.js.
http://alpinejs.dev/componentsAllowedUI Components — Alpine.jsAlpine UI ComponentsWell made, keyboard accessible, UI components written with Alpine.
http://alpinejs.dev/directives/bindAllowedbind — Alpine.jsx-bind
http://alpinejs.dev/directives/cloakAllowedcloak — Alpine.jsx-cloak
http://alpinejs.dev/directives/dataAlloweddata — Alpine.jsx-data
http://alpinejs.dev/directives/effectAllowedeffect — Alpine.jsx-effect
http://alpinejs.dev/directives/forAllowedfor — Alpine.jsx-for
http://alpinejs.dev/directives/htmlAllowedhtml — Alpine.jsx-html
http://alpinejs.dev/directives/idAllowedid — Alpine.jsx-id
http://alpinejs.dev/directives/ifAllowedif — Alpine.jsx-if
http://alpinejs.dev/directives/ignoreAllowedignore — Alpine.jsx-ignore
http://alpinejs.dev/directives/initAllowedinit — Alpine.jsx-init
http://alpinejs.dev/directives/modelAllowedmodel — Alpine.jsx-model
http://alpinejs.dev/directives/modelableAllowedmodelable — Alpine.jsx-modelable
http://alpinejs.dev/directives/onAllowedon — Alpine.jsx-on
http://alpinejs.dev/directives/refAllowedref — Alpine.jsx-ref
http://alpinejs.dev/directives/showAllowedshow — Alpine.jsx-show
http://alpinejs.dev/directives/teleportAllowedteleport — Alpine.jsx-teleportSend Alpine templates to other parts of the DOM
http://alpinejs.dev/directives/textAllowedtext — Alpine.jsx-text
http://alpinejs.dev/directives/transitionAllowedtransition — Alpine.jsx-transition
http://alpinejs.dev/essentials/eventsAllowedEvents — Alpine.jsEvents
http://alpinejs.dev/essentials/installationAllowedInstallation — Alpine.jsInstallation
http://alpinejs.dev/essentials/lifecycleAllowedLifecycle — Alpine.jsLifecycle
http://alpinejs.dev/essentials/stateAllowedState — Alpine.jsState
http://alpinejs.dev/essentials/templatingAllowedTemplating — Alpine.jsTemplating
http://alpinejs.dev/forgot-passwordAllowedAlpine.jsMissing H1A rugged, minimal framework for composing behavior directly in your markup.
http://alpinejs.dev/globals/alpine-bindAllowedbind() — Alpine.jsAlpine.bind
http://alpinejs.dev/globals/alpine-dataAlloweddata() — Alpine.jsAlpine.data
http://alpinejs.dev/globals/alpine-storeAllowedstore() — Alpine.jsAlpine.store
http://alpinejs.dev/licenseAllowedComponents — Alpine.jsAlpine Components LicenseWell made, keyboard accessible,<br>UI components written with Alpine.
http://alpinejs.dev/loginAllowedAlpine.jsMissing H1A rugged, minimal framework for composing behavior directly in your markup.
http://alpinejs.dev/magics/dataAlloweddata — Alpine.js$data
http://alpinejs.dev/magics/dispatchAlloweddispatch — Alpine.js$dispatch
http://alpinejs.dev/magics/elAllowedel — Alpine.js$el
http://alpinejs.dev/magics/idAllowedid — Alpine.js$id
http://alpinejs.dev/magics/nextTickAllowednextTick — Alpine.js$nextTick
http://alpinejs.dev/magics/refsAllowedrefs — Alpine.js$refs
http://alpinejs.dev/magics/rootAllowedroot — Alpine.js$root
http://alpinejs.dev/magics/storeAllowedstore — Alpine.js$store
http://alpinejs.dev/magics/watchAllowedwatch — Alpine.js$watch
http://alpinejs.dev/plugins/anchorAllowedAnchor — Alpine.jsAnchor PluginAnchor an element's positioning to another element on the page
http://alpinejs.dev/plugins/collapseAllowedCollapse — Alpine.jsCollapse PluginCollapse and expand elements with robust animations
http://alpinejs.dev/plugins/focusAllowedFocus — Alpine.jsFocus PluginEasily manage focus within the page
http://alpinejs.dev/plugins/intersectAllowedIntersect — Alpine.jsIntersect PluginAn Alpine convenience wrapper for Intersection Observer that allows you to easily react when an element enters the viewport.
http://alpinejs.dev/plugins/maskAllowedMask — Alpine.jsMask PluginAutomatically format text fields as users type
http://alpinejs.dev/plugins/morphAllowedMorph — Alpine.jsMorph PluginMorph an element into the provided HTML
http://alpinejs.dev/plugins/persistAllowedPersist — Alpine.jsPersist PluginEasily persist data across page loads using localStorage
http://alpinejs.dev/plugins/resizeAllowedResize — Alpine.jsResize PluginAn Alpine convenience wrapper for the Resize Observer API that allows you to easily react when an element is resized.
http://alpinejs.dev/plugins/sortAllowedSort — Alpine.jsSort PluginEasily re-order elements by dragging them with your mouse
http://alpinejs.dev/start-hereAllowedStart Here — Alpine.jsStart Here
http://alpinejs.dev/upgrade-guideAllowedUpgrade From V2 — Alpine.jsUpgrade from V2
No rows found, please edit your search term.

OpenGraph metadata

Found 154 row(s).
URL 🔼OG TitleOG DescriptionOG ImageTwitter TitleTwitter DescriptionTwitter Image
/Alpine.jsA rugged, minimal framework for composing behavior directly in your markup.https://alpinejs.dev/social.jpg
/advanced/asyncAsync — Alpine.js
/advanced/cspCSP — Alpine.js
/advanced/extendingExtending — Alpine.js
/advanced/reactivityReactivity — Alpine.js
/cdn-cgi/l/email-protection
/component/accordionAccordion Component — Alpine.jsHow to build an accordion component using Alpine.js.http://alpinejs.dev/social_components.jpg
/component/apexchartsApexCharts Component — Alpine.jsHow to build an ApexCharts component using Alpine.js.http://alpinejs.dev/social_components.jpg
/component/carouselCarousel Component — Alpine.jsHow to build a carousel component using Alpine.js.http://alpinejs.dev/social_components.jpg
/component/chart-jsChart.js Component — Alpine.jsHow to build a Chart.js component using Alpine.js.http://alpinejs.dev/social_components.jpg
/component/choicesChoices.js Component — Alpine.jsHow to build a Choices.js component using Alpine.js.http://alpinejs.dev/social_components.jpg
/component/date-range-pickerDate Range Picker Component — Alpine.jsHow to build a Date Range Picker component using Alpine.js.http://alpinejs.dev/social_components.jpg
/component/dropdownDropdown Component — Alpine.jsHow to build a dropdown component using Alpine.js.http://alpinejs.dev/social_components.jpg
/component/flatpickrFlatpickr Component — Alpine.jsHow to build a Flatpickr component using Alpine.js.http://alpinejs.dev/social_components.jpg
/component/fullcalendarFullCalendar Component — Alpine.jsHow to build a FullCalendar component using Alpine.js.http://alpinejs.dev/social_components.jpg
/component/glideGlide Component — Alpine.jsHow to build a Glide component using Alpine.js.http://alpinejs.dev/social_components.jpg
/component/modalModal Component — Alpine.jsHow to build a modal component using Alpine.js.http://alpinejs.dev/social_components.jpg
/component/notificationsNotifications Component — Alpine.jsHow to build a notifications component using Alpine.js.http://alpinejs.dev/social_components.jpg
/component/quillQuill Component — Alpine.jsHow to build a Quill component using Alpine.js.http://alpinejs.dev/social_components.jpg
/component/radio-groupRadio Group Component — Alpine.jsHow to build a radio group component using Alpine.js.http://alpinejs.dev/social_components.jpg
/component/select2Select2 Component — Alpine.jsHow to build a Select2 component using Alpine.js.http://alpinejs.dev/social_components.jpg
/component/simple-mdeSimpleMDE Component — Alpine.jsHow to build a SimpleMDE component using Alpine.js.http://alpinejs.dev/social_components.jpg
/component/splideSplide Component — Alpine.jsHow to build a Splide component using Alpine.js.http://alpinejs.dev/social_components.jpg
/component/tabsTabs Component — Alpine.jsHow to build a tabs component using Alpine.js.http://alpinejs.dev/social_components.jpg
/component/toggleToggle Component — Alpine.jsHow to build a toggle component using Alpine.js.http://alpinejs.dev/social_components.jpg
/component/tooltipTooltip Component — Alpine.jsHow to build a tooltip component using Alpine.js.http://alpinejs.dev/social_components.jpg
/component/trixTrix Component — Alpine.jsHow to build a Trix component using Alpine.js.http://alpinejs.dev/social_components.jpg
/componentsUI Components — Alpine.jsWell made, keyboard accessible, UI components written with Alpine.http://alpinejs.dev/social_components.jpg
/directives/bindbind — Alpine.js
/directives/cloakcloak — Alpine.js
/directives/datadata — Alpine.js
/directives/effecteffect — Alpine.js
/directives/forfor — Alpine.js
/directives/htmlhtml — Alpine.js
/directives/idid — Alpine.js
/directives/ifif — Alpine.js
/directives/ignoreignore — Alpine.js
/directives/initinit — Alpine.js
/directives/modelmodel — Alpine.js
/directives/modelablemodelable — Alpine.js
/directives/onon — Alpine.js
/directives/refref — Alpine.js
/directives/showshow — Alpine.js
/directives/teleportteleport — Alpine.jsSend Alpine templates to other parts of the DOMhttps://alpinejs.dev/social_teleport.jpg
/directives/texttext — Alpine.js
/directives/transitiontransition — Alpine.js
/essentials/eventsEvents — Alpine.js
/essentials/installationInstallation — Alpine.js
/essentials/lifecycleLifecycle — Alpine.js
/essentials/stateState — Alpine.js
/essentials/templatingTemplating — Alpine.js
/forgot-passwordAlpine.jsA rugged, minimal framework for composing behavior directly in your markup.https://alpinejs.dev/social.jpg
/globals/alpine-bindbind() — Alpine.js
/globals/alpine-datadata() — Alpine.js
/globals/alpine-storestore() — Alpine.js
/licenseComponents — Alpine.jsWell made, keyboard accessible,<br>UI components written with Alpine.http://alpinejs.dev/social_components.jpg
/loginAlpine.jsA rugged, minimal framework for composing behavior directly in your markup.https://alpinejs.dev/social.jpg
/magics/datadata — Alpine.js
/magics/dispatchdispatch — Alpine.js
/magics/elel — Alpine.js
/magics/idid — Alpine.js
/magics/nextTicknextTick — Alpine.js
/magics/refsrefs — Alpine.js
/magics/rootroot — Alpine.js
/magics/storestore — Alpine.js
/magics/watchwatch — Alpine.js
/plugins/anchorAnchor — Alpine.jsAnchor an element's positioning to another element on the pagehttps://alpinejs.dev/social_anchor.jpg
/plugins/collapseCollapse — Alpine.jsCollapse and expand elements with robust animationshttps://alpinejs.dev/social_collapse.jpg
/plugins/focusFocus — Alpine.jsEasily manage focus within the pagehttps://alpinejs.dev/social_focus.jpg
/plugins/intersectIntersect — Alpine.jsAn Alpine convenience wrapper for Intersection Observer that allows you to easily react when an element enters the viewport.https://alpinejs.dev/social_intersect.jpg
/plugins/maskMask — Alpine.jsAutomatically format text fields as users typehttps://alpinejs.dev/social_mask.jpg
/plugins/morphMorph — Alpine.jsMorph an element into the provided HTMLhttps://alpinejs.dev/social_morph.jpg
/plugins/persistPersist — Alpine.jsEasily persist data across page loads using localStoragehttps://alpinejs.dev/social_persist.jpg
/plugins/resizeResize — Alpine.jsAn Alpine convenience wrapper for the Resize Observer API that allows you to easily react when an element is resized.https://alpinejs.dev/social_resize.jpg
/plugins/sortSort — Alpine.jsEasily re-order elements by dragging them with your mousehttps://alpinejs.dev/social_sort.jpg
/start-hereStart Here — Alpine.js
/upgrade-guideUpgrade From V2 — Alpine.js
http://alpinejs.dev/Alpine.jsA rugged, minimal framework for composing behavior directly in your markup.https://alpinejs.dev/social.jpg
http://alpinejs.dev/advanced/asyncAsync — Alpine.js
http://alpinejs.dev/advanced/cspCSP — Alpine.js
http://alpinejs.dev/advanced/extendingExtending — Alpine.js
http://alpinejs.dev/advanced/reactivityReactivity — Alpine.js
http://alpinejs.dev/cdn-cgi/l/email-protection
http://alpinejs.dev/component/accordionAccordion Component — Alpine.jsHow to build an accordion component using Alpine.js.http://alpinejs.dev/social_components.jpg
http://alpinejs.dev/component/apexchartsApexCharts Component — Alpine.jsHow to build an ApexCharts component using Alpine.js.http://alpinejs.dev/social_components.jpg
http://alpinejs.dev/component/carouselCarousel Component — Alpine.jsHow to build a carousel component using Alpine.js.http://alpinejs.dev/social_components.jpg
http://alpinejs.dev/component/chart-jsChart.js Component — Alpine.jsHow to build a Chart.js component using Alpine.js.http://alpinejs.dev/social_components.jpg
http://alpinejs.dev/component/choicesChoices.js Component — Alpine.jsHow to build a Choices.js component using Alpine.js.http://alpinejs.dev/social_components.jpg
http://alpinejs.dev/component/date-range-pickerDate Range Picker Component — Alpine.jsHow to build a Date Range Picker component using Alpine.js.http://alpinejs.dev/social_components.jpg
http://alpinejs.dev/component/dropdownDropdown Component — Alpine.jsHow to build a dropdown component using Alpine.js.http://alpinejs.dev/social_components.jpg
http://alpinejs.dev/component/flatpickrFlatpickr Component — Alpine.jsHow to build a Flatpickr component using Alpine.js.http://alpinejs.dev/social_components.jpg
http://alpinejs.dev/component/fullcalendarFullCalendar Component — Alpine.jsHow to build a FullCalendar component using Alpine.js.http://alpinejs.dev/social_components.jpg
http://alpinejs.dev/component/glideGlide Component — Alpine.jsHow to build a Glide component using Alpine.js.http://alpinejs.dev/social_components.jpg
http://alpinejs.dev/component/modalModal Component — Alpine.jsHow to build a modal component using Alpine.js.http://alpinejs.dev/social_components.jpg
http://alpinejs.dev/component/notificationsNotifications Component — Alpine.jsHow to build a notifications component using Alpine.js.http://alpinejs.dev/social_components.jpg
http://alpinejs.dev/component/quillQuill Component — Alpine.jsHow to build a Quill component using Alpine.js.http://alpinejs.dev/social_components.jpg
http://alpinejs.dev/component/radio-groupRadio Group Component — Alpine.jsHow to build a radio group component using Alpine.js.http://alpinejs.dev/social_components.jpg
http://alpinejs.dev/component/select2Select2 Component — Alpine.jsHow to build a Select2 component using Alpine.js.http://alpinejs.dev/social_components.jpg
http://alpinejs.dev/component/simple-mdeSimpleMDE Component — Alpine.jsHow to build a SimpleMDE component using Alpine.js.http://alpinejs.dev/social_components.jpg
http://alpinejs.dev/component/splideSplide Component — Alpine.jsHow to build a Splide component using Alpine.js.http://alpinejs.dev/social_components.jpg
http://alpinejs.dev/component/tabsTabs Component — Alpine.jsHow to build a tabs component using Alpine.js.http://alpinejs.dev/social_components.jpg
http://alpinejs.dev/component/toggleToggle Component — Alpine.jsHow to build a toggle component using Alpine.js.http://alpinejs.dev/social_components.jpg
http://alpinejs.dev/component/tooltipTooltip Component — Alpine.jsHow to build a tooltip component using Alpine.js.http://alpinejs.dev/social_components.jpg
http://alpinejs.dev/component/trixTrix Component — Alpine.jsHow to build a Trix component using Alpine.js.http://alpinejs.dev/social_components.jpg
http://alpinejs.dev/componentsUI Components — Alpine.jsWell made, keyboard accessible, UI components written with Alpine.http://alpinejs.dev/social_components.jpg
http://alpinejs.dev/directives/bindbind — Alpine.js
http://alpinejs.dev/directives/cloakcloak — Alpine.js
http://alpinejs.dev/directives/datadata — Alpine.js
http://alpinejs.dev/directives/effecteffect — Alpine.js
http://alpinejs.dev/directives/forfor — Alpine.js
http://alpinejs.dev/directives/htmlhtml — Alpine.js
http://alpinejs.dev/directives/idid — Alpine.js
http://alpinejs.dev/directives/ifif — Alpine.js
http://alpinejs.dev/directives/ignoreignore — Alpine.js
http://alpinejs.dev/directives/initinit — Alpine.js
http://alpinejs.dev/directives/modelmodel — Alpine.js
http://alpinejs.dev/directives/modelablemodelable — Alpine.js
http://alpinejs.dev/directives/onon — Alpine.js
http://alpinejs.dev/directives/refref — Alpine.js
http://alpinejs.dev/directives/showshow — Alpine.js
http://alpinejs.dev/directives/teleportteleport — Alpine.jsSend Alpine templates to other parts of the DOMhttps://alpinejs.dev/social_teleport.jpg
http://alpinejs.dev/directives/texttext — Alpine.js
http://alpinejs.dev/directives/transitiontransition — Alpine.js
http://alpinejs.dev/essentials/eventsEvents — Alpine.js
http://alpinejs.dev/essentials/installationInstallation — Alpine.js
http://alpinejs.dev/essentials/lifecycleLifecycle — Alpine.js
http://alpinejs.dev/essentials/stateState — Alpine.js
http://alpinejs.dev/essentials/templatingTemplating — Alpine.js
http://alpinejs.dev/forgot-passwordAlpine.jsA rugged, minimal framework for composing behavior directly in your markup.https://alpinejs.dev/social.jpg
http://alpinejs.dev/globals/alpine-bindbind() — Alpine.js
http://alpinejs.dev/globals/alpine-datadata() — Alpine.js
http://alpinejs.dev/globals/alpine-storestore() — Alpine.js
http://alpinejs.dev/licenseComponents — Alpine.jsWell made, keyboard accessible,<br>UI components written with Alpine.http://alpinejs.dev/social_components.jpg
http://alpinejs.dev/loginAlpine.jsA rugged, minimal framework for composing behavior directly in your markup.https://alpinejs.dev/social.jpg
http://alpinejs.dev/magics/datadata — Alpine.js
http://alpinejs.dev/magics/dispatchdispatch — Alpine.js
http://alpinejs.dev/magics/elel — Alpine.js
http://alpinejs.dev/magics/idid — Alpine.js
http://alpinejs.dev/magics/nextTicknextTick — Alpine.js
http://alpinejs.dev/magics/refsrefs — Alpine.js
http://alpinejs.dev/magics/rootroot — Alpine.js
http://alpinejs.dev/magics/storestore — Alpine.js
http://alpinejs.dev/magics/watchwatch — Alpine.js
http://alpinejs.dev/plugins/anchorAnchor — Alpine.jsAnchor an element's positioning to another element on the pagehttps://alpinejs.dev/social_anchor.jpg
http://alpinejs.dev/plugins/collapseCollapse — Alpine.jsCollapse and expand elements with robust animationshttps://alpinejs.dev/social_collapse.jpg
http://alpinejs.dev/plugins/focusFocus — Alpine.jsEasily manage focus within the pagehttps://alpinejs.dev/social_focus.jpg
http://alpinejs.dev/plugins/intersectIntersect — Alpine.jsAn Alpine convenience wrapper for Intersection Observer that allows you to easily react when an element enters the viewport.https://alpinejs.dev/social_intersect.jpg
http://alpinejs.dev/plugins/maskMask — Alpine.jsAutomatically format text fields as users typehttps://alpinejs.dev/social_mask.jpg
http://alpinejs.dev/plugins/morphMorph — Alpine.jsMorph an element into the provided HTMLhttps://alpinejs.dev/social_morph.jpg
http://alpinejs.dev/plugins/persistPersist — Alpine.jsEasily persist data across page loads using localStoragehttps://alpinejs.dev/social_persist.jpg
http://alpinejs.dev/plugins/resizeResize — Alpine.jsAn Alpine convenience wrapper for the Resize Observer API that allows you to easily react when an element is resized.https://alpinejs.dev/social_resize.jpg
http://alpinejs.dev/plugins/sortSort — Alpine.jsEasily re-order elements by dragging them with your mousehttps://alpinejs.dev/social_sort.jpg
http://alpinejs.dev/start-hereStart Here — Alpine.js
http://alpinejs.dev/upgrade-guideUpgrade From V2 — Alpine.js
No rows found, please edit your search term.

Heading structure

Found 154 row(s).
Heading structureCountErrors 🔽URL
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Integration
  • <h1> Select2
    • <h3> Single Select
    • <h3> Multiple Select
    • <h3> Purchase Access
    • <h2> Lifetime Access
108/component/select2
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Integration
  • <h1> Choices.js
    • <h3> Single Select
    • <h3> Multiple Select
    • <h3> Purchase Access
    • <h2> Lifetime Access
108/component/choices
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Integration
  • <h1> Choices.js
    • <h3> Single Select
    • <h3> Multiple Select
    • <h3> Purchase Access
    • <h2> Lifetime Access
108http://alpinejs.dev/component/choices
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Integration
  • <h1> Select2
    • <h3> Single Select
    • <h3> Multiple Select
    • <h3> Purchase Access
    • <h2> Lifetime Access
108http://alpinejs.dev/component/select2
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Integration
  • <h1> ApexCharts
    • <h3> Purchase Access
    • <h2> Lifetime Access
86/component/apexcharts
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Integration
  • <h1> Trix
    • <h3> Purchase Access
    • <h2> Lifetime Access
86/component/trix
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Integration
  • <h1> SimpleMDE
    • <h3> Purchase Access
    • <h2> Lifetime Access
86/component/simple-mde
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Component
  • <h1> Tooltip
    • <h3> Purchase Access
    • <h2> Lifetime Access
86/component/tooltip
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Integration
  • <h1> Splide
    • <h3> Purchase Access
    • <h2> Lifetime Access
86/component/splide
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Integration
  • <h1> Quill
    • <h3> Purchase Access
    • <h2> Lifetime Access
86/component/quill
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Component
  • <h1> Toggle
    • <h3> Purchase Access
    • <h2> Lifetime Access
86/component/toggle
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Integration
  • <h1> Flatpickr
    • <h3> Purchase Access
    • <h2> Lifetime Access
86/component/flatpickr
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Component
  • <h1> Notifications
    • <h3> Purchase Access
    • <h2> Lifetime Access
86/component/notifications
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Integration
  • <h1> Glide
    • <h3> Purchase Access
    • <h2> Lifetime Access
86/component/glide
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Integration
  • <h1> Date Range Picker
    • <h3> Purchase Access
    • <h2> Lifetime Access
86/component/date-range-picker
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Component
  • <h1> Radio Group
    • <h3> Purchase Access
    • <h2> Lifetime Access
86/component/radio-group
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Integration
  • <h1> SimpleMDE
    • <h3> Purchase Access
    • <h2> Lifetime Access
86http://alpinejs.dev/component/simple-mde
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Integration
  • <h1> ApexCharts
    • <h3> Purchase Access
    • <h2> Lifetime Access
86http://alpinejs.dev/component/apexcharts
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Integration
  • <h1> Flatpickr
    • <h3> Purchase Access
    • <h2> Lifetime Access
86http://alpinejs.dev/component/flatpickr
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Integration
  • <h1> Date Range Picker
    • <h3> Purchase Access
    • <h2> Lifetime Access
86http://alpinejs.dev/component/date-range-picker
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Component
  • <h1> Toggle
    • <h3> Purchase Access
    • <h2> Lifetime Access
86http://alpinejs.dev/component/toggle
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Integration
  • <h1> Quill
    • <h3> Purchase Access
    • <h2> Lifetime Access
86http://alpinejs.dev/component/quill
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Integration
  • <h1> Chart.js
    • <h3> Purchase Access
    • <h2> Lifetime Access
86http://alpinejs.dev/component/chart-js
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Integration
  • <h1> Splide
    • <h3> Purchase Access
    • <h2> Lifetime Access
86http://alpinejs.dev/component/splide
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Component
  • <h1> Tooltip
    • <h3> Purchase Access
    • <h2> Lifetime Access
86http://alpinejs.dev/component/tooltip
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Integration
  • <h1> Chart.js
    • <h3> Purchase Access
    • <h2> Lifetime Access
86/component/chart-js
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Integration
  • <h1> Trix
    • <h3> Purchase Access
    • <h2> Lifetime Access
86http://alpinejs.dev/component/trix
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Integration
  • <h1> Glide
    • <h3> Purchase Access
    • <h2> Lifetime Access
86http://alpinejs.dev/component/glide
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Component
  • <h1> Radio Group
    • <h3> Purchase Access
    • <h2> Lifetime Access
86http://alpinejs.dev/component/radio-group
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Component
  • <h1> Notifications
    • <h3> Purchase Access
    • <h2> Lifetime Access
86http://alpinejs.dev/component/notifications
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Component
  • <h1> Dropdown
    • <h2> Create a free account to preview the component
75/component/dropdown
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Component
  • <h1> Tabs
    • <h2> Tab 1 Content
    • <h2> Tab 2 Content
      • <h3> Purchase Access
    • <h2> Lifetime Access
105/component/tabs
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Component
  • <h1> Carousel
    • <h2> Carousel [#carousel-label]
      • <h3> Purchase Access
    • <h2> Lifetime Access
95/component/carousel
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Component
  • <h1> Modal
    • <h2> Confirm
      • <h3> Purchase Access
    • <h2> Lifetime Access
95/component/modal
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Component
  • <h1> Carousel
    • <h2> Carousel [#carousel-label]
      • <h3> Purchase Access
    • <h2> Lifetime Access
95http://alpinejs.dev/component/carousel
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Component
  • <h1> Accordion
    • <h2> Question #1 − &amp;plus;
    • <h2> Question #2 − &amp;plus;
      • <h3> Purchase Access
    • <h2> Lifetime Access
105http://alpinejs.dev/component/accordion
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Component
  • <h1> Modal
    • <h2> Confirm
      • <h3> Purchase Access
    • <h2> Lifetime Access
95http://alpinejs.dev/component/modal
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Component
  • <h1> Dropdown
    • <h2> Create a free account to preview the component
75http://alpinejs.dev/component/dropdown
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Component
  • <h1> Tabs
    • <h2> Tab 1 Content
    • <h2> Tab 2 Content
      • <h3> Purchase Access
    • <h2> Lifetime Access
105http://alpinejs.dev/component/tabs
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Integration
  • <h1> FullCalendar
    • <h2> List of events
    • <h2> Adding a new event
    • <h2> Moving events and changing duration
    • <h2> Deleting an event
      • <h3> Purchase Access
    • <h2> Lifetime Access
125http://alpinejs.dev/component/fullcalendar
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Integration
  • <h1> FullCalendar
    • <h2> List of events
    • <h2> Adding a new event
    • <h2> Moving events and changing duration
    • <h2> Deleting an event
      • <h3> Purchase Access
    • <h2> Lifetime Access
125/component/fullcalendar
  • <h1> Alpine UI Components
    • <h3> Components
    • <h3> Integrations
    • <h3> Headless Beta
    • <h2> Component
  • <h1> Accordion
    • <h2> Question #1 − &amp;plus;
    • <h2> Question #2 − &amp;plus;
      • <h3> Purchase Access
    • <h2> Lifetime Access
105/component/accordion
  • <h2> Your new, lightweight, JavaScript framework.
  • <h2> Simple.
  • <h2> Lightweight.
  • <h2> Powerful as hell.
44/
  • <h2> Your new, lightweight, JavaScript framework.
  • <h2> Simple.
  • <h2> Lightweight.
  • <h2> Powerful as hell.
44http://alpinejs.dev/
  • <h1> Alpine UI Components
  • <h1> Do amazing things with Alpine.
    • <h3> Components
    • <h2> Well-built, robust, Alpine components for all your needs
      • <h3> Screencasts
    • <h2> Become an Alpine master with our in-depth screencasts
      • <h3> Integrations
    • <h2> Third-party Integrations
      • <h3> Community
    • <h2> Support this project so that it can keep getting better and better
      • <h3> Pricing
    • <h2> Lifetime Access
123http://alpinejs.dev/components
  • <h1> Alpine UI Components
  • <h1> Do amazing things with Alpine.
    • <h3> Components
    • <h2> Well-built, robust, Alpine components for all your needs
      • <h3> Screencasts
    • <h2> Become an Alpine master with our in-depth screencasts
      • <h3> Integrations
    • <h2> Third-party Integrations
      • <h3> Community
    • <h2> Support this project so that it can keep getting better and better
      • <h3> Pricing
    • <h2> Lifetime Access
123/components
  • <h1> $watch
    • <h3> Getting the "old" value [#getting-the-old-value]
    • <h3> Deep watching [#deep-watching]
32http://alpinejs.dev/magics/watch
  • <h1> $watch
    • <h3> Getting the "old" value [#getting-the-old-value]
    • <h3> Deep watching [#deep-watching]
32/magics/watch
  • <h1> $refs
    • <h3> Limitations [#limitations]
21/magics/refs
  • <h1> $refs
    • <h3> Limitations [#limitations]
21http://alpinejs.dev/magics/refs
  • <h1> Start Here
    • <h2> Building a counter [#building-a-counter]
      • <h3> Declaring data [#declaring-data]
      • <h3> Listening for events [#listening-for-events]
      • <h3> Reacting to changes [#reacting-to-changes]
    • <h2> Building a dropdown [#building-a-dropdown]
      • <h3> Toggling elements [#toggling-elements]
      • <h3> Listening for a click outside [#listening-for-a-click-outside]
    • <h2> Building a search input [#building-a-search-input]
      • <h3> Multi line formatting [#multi-line-formatting]
      • <h3> Binding to inputs [#binding-to-inputs]
      • <h3> Computed properties using getters [#computed-properties-using-getters]
      • <h3> Looping elements [#looping-elements]
    • <h2> Recap [#recap]
140/start-here
  • <h1> Morph Plugin
    • <h2> Installation [#installation]
      • <h3> Via CDN
      • <h3> Via NPM
    • <h2> Alpine.morph() [#alpine-morph]
      • <h3> Lifecycle Hooks [#lifecycle-hooks]
      • <h3> Keys [#keys]
70/plugins/morph
  • <h1> Events
    • <h2> Listening for simple events [#listening-for-simple-events]
    • <h2> Listening for specific keys [#listening-for-specific-keys]
    • <h2> Preventing default [#preventing-default]
    • <h2> Accessing the event object [#accessing-the-event-object]
    • <h2> Dispatching custom events [#dispatching-custom-events]
    • <h2> Listening for events on window [#listening-for-events-on-window]
70/essentials/events
  • <h1> $store
    • <h2> Single-value stores [#single-value-stores]
20/magics/store
  • <h1> Async
10/advanced/async
  • <h1> Extending
    • <h2> Lifecycle concerns [#lifecycle-concerns]
      • <h3> Via a script tag [#via-script-tag]
      • <h3> Via an NPM module [#via-npm]
    • <h2> Custom directives [#custom-directives]
      • <h3> Method Signature [#method-signature]
      • <h3> Simple Example [#simple-example]
      • <h3> Evaluating expressions [#evaluating-expressions]
      • <h3> Introducing reactivity [#introducing-reactivity]
      • <h3> Cleaning Up [#cleaning-up]
      • <h3> Custom order [#custom-order]
    • <h2> Custom magics [#custom-magics]
      • <h3> Method Signature [#method-signature]
      • <h3> Magic Properties [#magic-properties]
      • <h3> Magic Functions [#magic-functions]
    • <h2> Writing and sharing plugins [#writing-and-sharing-plugins]
      • <h3> Script include [#script-include]
      • <h3> Bundle module [#bundle-module]
180/advanced/extending
  • <h1> CSP (Content-Security Policy) Build
    • <h2> Installation [#installation]
      • <h3> Via CDN
      • <h3> Via NPM
    • <h2> Basic Example [#basic-example]
    • <h2> API Restrictions [#api-restrictions]
60/advanced/csp
  • <h1> Sort Plugin
    • <h2> Installation [#installation]
      • <h3> Via CDN
      • <h3> Via NPM
    • <h2> Basic usage [#basic-usage]
    • <h2> Sort handlers [#sort-handlers]
    • <h2> Sorting groups [#sorting-groups]
    • <h2> Drag handles [#drag-handles]
    • <h2> Ghost elements [#ghost-elements]
      • <h3> Styling the ghost element [#ghost-styling]
    • <h2> Sorting class on body [#sorting-class]
    • <h2> CSS hover bug [#css-hover-bug]
    • <h2> Custom configuration [#custom-configuration]
130/plugins/sort
  • <h1> Email Protection
    • <h2> You are unable to access this email address alpinejs.dev
20/cdn-cgi/l/email-protection
  • <h1> $el
10/magics/el
  • <h1> Resize Plugin
    • <h2> Installation [#installation]
      • <h3> Via CDN
      • <h3> Via NPM
    • <h2> x-resize [#x-resize]
    • <h2> Modifiers [#modifiers]
      • <h3> .document [#document]
70/plugins/resize
  • <h1> x-for
    • <h2> Keys [#keys]
    • <h2> Accessing indexes [#accessing-indexes]
    • <h2> Iterating over a range [#iterating-over-a-range]
    • <h2> Contents of a &lt;template&gt; [#contents-of-a-template]
50/directives/for
  • <h1> Mask Plugin
    • <h2> Installation [#installation]
      • <h3> Via CDN
      • <h3> Via NPM
    • <h2> x-mask [#x-mask]
    • <h2> Dynamic Masks [#mask-functions]
    • <h2> Money Inputs [#money-inputs]
70/plugins/mask
  • <h1> x-on
    • <h2> Shorthand syntax [#shorthand-syntax]
    • <h2> The event object [#the-event-object]
    • <h2> Keyboard events [#keyboard-events]
    • <h2> Mouse events [#mouse-events]
    • <h2> Custom events [#custom-events]
    • <h2> Modifiers [#modifiers]
      • <h3> .prevent [#prevent]
      • <h3> .stop [#stop]
      • <h3> .outside [#outside]
      • <h3> .window [#window]
      • <h3> .document [#document]
      • <h3> .once [#once]
      • <h3> .debounce [#debounce]
      • <h3> .throttle [#throttle]
      • <h3> .self [#self]
      • <h3> .camel [#camel]
      • <h3> .dot [#dot]
      • <h3> .passive [#passive]
      • <h3> .capture
200/directives/on
  • <h1> x-show
    • <h2> With transitions [#with-transitions]
    • <h2> Using the important modifier [#using-the-important-modifier]
30/directives/show
  • <h1> x-cloak
    • <h2> Alternative to global syntax
20/directives/cloak
  • <h1> x-init
    • <h2> $nextTick [#next-tick]
    • <h2> Standalone x-init [#standalone-x-init]
    • <h2> Auto-evaluate init() method [#auto-evaluate-init-method]
40/directives/init
  • <h1> x-ref
10/directives/ref
  • <h1> x-ignore
10/directives/ignore
  • <h1> Persist Plugin
    • <h2> Installation [#installation]
      • <h3> Via CDN
      • <h3> Via NPM
    • <h2> $persist [#magic-persist]
    • <h2> How does it work? [#how-it-works]
    • <h2> Setting a custom key [#custom-key]
    • <h2> Using a custom storage [#custom-storage]
    • <h2> Using $persist with Alpine.data [#using-persist-with-alpine-data]
    • <h2> Using the Alpine.$persist global [#using-alpine-persist-global]
100/plugins/persist
  • <h1> Intersect Plugin
    • <h2> Installation [#installation]
      • <h3> Via CDN
      • <h3> Via NPM
    • <h2> x-intersect [#x-intersect]
      • <h3> x-intersect:enter [#x-intersect-enter]
      • <h3> x-intersect:leave [#x-intersect-leave]
    • <h2> Modifiers [#modifiers]
      • <h3> .once [#once]
      • <h3> .half [#half]
      • <h3> .full [#full]
      • <h3> .threshold [#threshold]
      • <h3> .margin [#margin]
130/plugins/intersect
  • <h1> Upgrade from V2
    • <h2> Breaking Changes [#breaking-changes]
      • <h3> $el is now always the current element [#el-no-longer-root]
      • <h3> Automatically evaluate init() functions defined on data object [#auto-init]
      • <h3> Need to call Alpine.start() after import [#need-to-call-alpine-start]
      • <h3> x-show.transition is now x-transition [#removed-show-dot-transition]
      • <h3> x-if no longer supports x-transition [#x-if-no-transitions]
      • <h3> x-data cascading scope [#x-data-scope]
      • <h3> x-init no longer accepts a callback return [#x-init-no-callback]
      • <h3> Returning false from event handlers no longer implicitly "preventDefault"s [#no-false-return-from-event-handlers]
      • <h3> x-spread is now x-bind [#x-spread-now-x-bind]
      • <h3> Use global lifecycle events instead of Alpine.deferLoadingAlpine() [#use-global-events-now]
      • <h3> x-ref no longer supports binding [#x-ref-no-more-dynamic]
      • <h3> IE11 no longer supported [#no-ie-11]
    • <h2> Deprecated APIs
      • <h3> Event listener modifier .away should be replaced with .outside [#away-replace-with-outside]
      • <h3> Prefer Alpine.data() to global Alpine function data providers [#alpine-data-instead-of-global-functions]
170/upgrade-guide
  • <h1> Focus Plugin
    • <h2> Installation [#installation]
      • <h3> Via CDN
      • <h3> Via NPM
    • <h2> x-trap [#x-trap]
      • <h3> Nesting dialogs [#nesting]
      • <h3> Modifiers [#modifiers]
    • <h2> $focus [#focus-magic]
80/plugins/focus
  • <h1> $dispatch
    • <h2> Dispatching to other components [#dispatching-to-components]
    • <h2> Dispatching to x-model [#dispatching-to-x-model]
30/magics/dispatch
  • <h1> Alpine.data
    • <h2> Registering from a bundle [#registering-from-a-bundle]
    • <h2> Initial parameters [#initial-parameters]
    • <h2> Init functions [#init-functions]
    • <h2> Destroy functions [#destroy-functions]
    • <h2> Using magic properties [#using-magic-properties]
    • <h2> Encapsulating directives with x-bind [#encapsulating-directives-with-x-bind]
70/globals/alpine-data
  • <h1> x-id
10/directives/id
  • <h1> x-teleport
    • <h2> x-teleport [#x-teleport]
    • <h2> Forwarding events [#forwarding-events]
    • <h2> Nesting [#nesting]
40/directives/teleport
  • <h1> $data
10/magics/data
  • <h1> Reactivity
    • <h2> Alpine.reactive() [#alpine-reactive]
    • <h2> Alpine.effect() [#alpine-effect]
30/advanced/reactivity
  • <h1> Installation
    • <h2> From a script tag [#from-a-script-tag]
    • <h2> As a module [#as-a-module]
30http://alpinejs.dev/essentials/installation
  • <h1> CSP (Content-Security Policy) Build
    • <h2> Installation [#installation]
      • <h3> Via CDN
      • <h3> Via NPM
    • <h2> Basic Example [#basic-example]
    • <h2> API Restrictions [#api-restrictions]
60http://alpinejs.dev/advanced/csp
  • <h1> Focus Plugin
    • <h2> Installation [#installation]
      • <h3> Via CDN
      • <h3> Via NPM
    • <h2> x-trap [#x-trap]
      • <h3> Nesting dialogs [#nesting]
      • <h3> Modifiers [#modifiers]
    • <h2> $focus [#focus-magic]
80http://alpinejs.dev/plugins/focus
  • <h1> x-bind
    • <h2> Shorthand syntax [#shorthand-syntax]
    • <h2> Binding classes [#binding-classes]
      • <h3> Shorthand conditionals [#shorthand-conditionals]
      • <h3> Class object syntax [#class-object-syntax]
      • <h3> Special behavior [#special-behavior]
    • <h2> Binding styles [#binding-styles]
    • <h2> Binding Alpine Directives Directly [#bind-directives]
80http://alpinejs.dev/directives/bind
  • <h1> Anchor Plugin
    • <h2> Installation [#installation]
      • <h3> Via CDN
      • <h3> Via NPM
    • <h2> x-anchor [#x-anchor]
    • <h2> Positioning [#positioning]
    • <h2> Offset [#offset]
    • <h2> Manual styling [#manual-styling]
    • <h2> Anchor to an ID [#from-id]
90http://alpinejs.dev/plugins/anchor
  • <h1> Sort Plugin
    • <h2> Installation [#installation]
      • <h3> Via CDN
      • <h3> Via NPM
    • <h2> Basic usage [#basic-usage]
    • <h2> Sort handlers [#sort-handlers]
    • <h2> Sorting groups [#sorting-groups]
    • <h2> Drag handles [#drag-handles]
    • <h2> Ghost elements [#ghost-elements]
      • <h3> Styling the ghost element [#ghost-styling]
    • <h2> Sorting class on body [#sorting-class]
    • <h2> CSS hover bug [#css-hover-bug]
    • <h2> Custom configuration [#custom-configuration]
130http://alpinejs.dev/plugins/sort
  • <h1> Alpine.store
    • <h2> Registering A Store [#registering-a-store]
    • <h2> Accessing stores [#accessing stores]
    • <h2> Initializing stores [#initializing-stores]
    • <h2> Single-value stores [#single-value-stores]
50http://alpinejs.dev/globals/alpine-store
  • <h1> x-teleport
    • <h2> x-teleport [#x-teleport]
    • <h2> Forwarding events [#forwarding-events]
    • <h2> Nesting [#nesting]
40http://alpinejs.dev/directives/teleport
  • <h1> $store
    • <h2> Single-value stores [#single-value-stores]
20http://alpinejs.dev/magics/store
  • <h1> Alpine.bind
10http://alpinejs.dev/globals/alpine-bind
  • <h1> x-modelable
10http://alpinejs.dev/directives/modelable
  • <h1> Alpine.data
    • <h2> Registering from a bundle [#registering-from-a-bundle]
    • <h2> Initial parameters [#initial-parameters]
    • <h2> Init functions [#init-functions]
    • <h2> Destroy functions [#destroy-functions]
    • <h2> Using magic properties [#using-magic-properties]
    • <h2> Encapsulating directives with x-bind [#encapsulating-directives-with-x-bind]
70http://alpinejs.dev/globals/alpine-data
  • <h1> x-ref
10http://alpinejs.dev/directives/ref
  • <h1> Events
    • <h2> Listening for simple events [#listening-for-simple-events]
    • <h2> Listening for specific keys [#listening-for-specific-keys]
    • <h2> Preventing default [#preventing-default]
    • <h2> Accessing the event object [#accessing-the-event-object]
    • <h2> Dispatching custom events [#dispatching-custom-events]
    • <h2> Listening for events on window [#listening-for-events-on-window]
70http://alpinejs.dev/essentials/events
  • <h1> x-init
    • <h2> $nextTick [#next-tick]
    • <h2> Standalone x-init [#standalone-x-init]
    • <h2> Auto-evaluate init() method [#auto-evaluate-init-method]
40http://alpinejs.dev/directives/init
  • <h1> Intersect Plugin
    • <h2> Installation [#installation]
      • <h3> Via CDN
      • <h3> Via NPM
    • <h2> x-intersect [#x-intersect]
      • <h3> x-intersect:enter [#x-intersect-enter]
      • <h3> x-intersect:leave [#x-intersect-leave]
    • <h2> Modifiers [#modifiers]
      • <h3> .once [#once]
      • <h3> .half [#half]
      • <h3> .full [#full]
      • <h3> .threshold [#threshold]
      • <h3> .margin [#margin]
130http://alpinejs.dev/plugins/intersect
  • <h1> Collapse Plugin
    • <h2> Installation [#installation]
      • <h3> Via CDN
      • <h3> Via NPM
    • <h2> x-collapse [#x-collapse]
    • <h2> Modifiers [#modifiers]
      • <h3> .duration [#dot-duration]
      • <h3> .min [#dot-min]
80http://alpinejs.dev/plugins/collapse
  • <h1> Morph Plugin
    • <h2> Installation [#installation]
      • <h3> Via CDN
      • <h3> Via NPM
    • <h2> Alpine.morph() [#alpine-morph]
      • <h3> Lifecycle Hooks [#lifecycle-hooks]
      • <h3> Keys [#keys]
70http://alpinejs.dev/plugins/morph
  • <h1> x-transition
    • <h2> The transition helper [#the-transition-helper]
      • <h3> Customizing duration [#customizing-duration]
      • <h3> Customizing delay [#customizing-delay]
      • <h3> Customizing opacity [#customizing-opacity]
      • <h3> Customizing scale [#customizing-scale]
    • <h2> Applying CSS classes [#applying-css-classes]
70http://alpinejs.dev/directives/transition
  • <h1> $dispatch
    • <h2> Dispatching to other components [#dispatching-to-components]
    • <h2> Dispatching to x-model [#dispatching-to-x-model]
30http://alpinejs.dev/magics/dispatch
  • <h1> $root
10http://alpinejs.dev/magics/root
00/login
  • <h1> $el
10http://alpinejs.dev/magics/el
  • <h1> x-text
10http://alpinejs.dev/directives/text
  • <h1> $nextTick
    • <h2> Promises [#promises]
20http://alpinejs.dev/magics/nextTick
  • <h1> Email Protection
    • <h2> You are unable to access this email address alpinejs.dev
20http://alpinejs.dev/cdn-cgi/l/email-protection
  • <h1> x-model
    • <h2> Text inputs [#text-inputs]
    • <h2> Textarea inputs [#textarea-inputs]
    • <h2> Checkbox inputs [#checkbox-inputs]
      • <h3> Single checkbox with boolean [#single-checkbox-with-boolean]
      • <h3> Multiple checkboxes bound to array [#multiple-checkboxes-bound-to-array]
    • <h2> Radio inputs [#radio-inputs]
    • <h2> Select inputs [#select-inputs]
      • <h3> Single select [#single-select]
      • <h3> Single select with placeholder [#single-select-with-placeholder]
      • <h3> Multiple select [#multiple-select]
      • <h3> Dynamically populated Select Options [#dynamically-populated-select-options]
    • <h2> Range inputs [#range-inputs]
    • <h2> Modifiers [#modifiers]
      • <h3> .lazy [#lazy]
      • <h3> .number [#number]
      • <h3> .boolean [#boolean]
      • <h3> .debounce [#debounce]
      • <h3> .throttle [#throttle]
      • <h3> .fill [#fill]
    • <h2> Programmatic access [#programmatic access]
210http://alpinejs.dev/directives/model
  • <h1> Resize Plugin
    • <h2> Installation [#installation]
      • <h3> Via CDN
      • <h3> Via NPM
    • <h2> x-resize [#x-resize]
    • <h2> Modifiers [#modifiers]
      • <h3> .document [#document]
70http://alpinejs.dev/plugins/resize
  • <h1> Reactivity
    • <h2> Alpine.reactive() [#alpine-reactive]
    • <h2> Alpine.effect() [#alpine-effect]
30http://alpinejs.dev/advanced/reactivity
  • <h1> x-ignore
10http://alpinejs.dev/directives/ignore
  • <h1> Alpine.store
    • <h2> Registering A Store [#registering-a-store]
    • <h2> Accessing stores [#accessing stores]
    • <h2> Initializing stores [#initializing-stores]
    • <h2> Single-value stores [#single-value-stores]
50/globals/alpine-store
  • <h1> Templating
    • <h2> Text content [#text-content]
    • <h2> Toggling elements [#toggling-elements]
      • <h3> x-show [#x-show]
      • <h3> x-if [#x-if]
    • <h2> Toggling with transitions [#toggling-with-transitions]
      • <h3> Transition helpers [#transition-helpers]
      • <h3> Transition classes [#transition-classes]
    • <h2> Binding attributes [#binding-attributes]
    • <h2> Looping elements [#looping-elements]
    • <h2> Inner HTML [#inner-html]
110http://alpinejs.dev/essentials/templating
  • <h1> Templating
    • <h2> Text content [#text-content]
    • <h2> Toggling elements [#toggling-elements]
      • <h3> x-show [#x-show]
      • <h3> x-if [#x-if]
    • <h2> Toggling with transitions [#toggling-with-transitions]
      • <h3> Transition helpers [#transition-helpers]
      • <h3> Transition classes [#transition-classes]
    • <h2> Binding attributes [#binding-attributes]
    • <h2> Looping elements [#looping-elements]
    • <h2> Inner HTML [#inner-html]
110/essentials/templating
  • <h1> Collapse Plugin
    • <h2> Installation [#installation]
      • <h3> Via CDN
      • <h3> Via NPM
    • <h2> x-collapse [#x-collapse]
    • <h2> Modifiers [#modifiers]
      • <h3> .duration [#dot-duration]
      • <h3> .min [#dot-min]
80/plugins/collapse
  • <h1> Persist Plugin
    • <h2> Installation [#installation]
      • <h3> Via CDN
      • <h3> Via NPM
    • <h2> $persist [#magic-persist]
    • <h2> How does it work? [#how-it-works]
    • <h2> Setting a custom key [#custom-key]
    • <h2> Using a custom storage [#custom-storage]
    • <h2> Using $persist with Alpine.data [#using-persist-with-alpine-data]
    • <h2> Using the Alpine.$persist global [#using-alpine-persist-global]
100http://alpinejs.dev/plugins/persist
  • <h1> x-cloak
    • <h2> Alternative to global syntax
20http://alpinejs.dev/directives/cloak
  • <h1> $root
10/magics/root
  • <h1> Extending
    • <h2> Lifecycle concerns [#lifecycle-concerns]
      • <h3> Via a script tag [#via-script-tag]
      • <h3> Via an NPM module [#via-npm]
    • <h2> Custom directives [#custom-directives]
      • <h3> Method Signature [#method-signature]
      • <h3> Simple Example [#simple-example]
      • <h3> Evaluating expressions [#evaluating-expressions]
      • <h3> Introducing reactivity [#introducing-reactivity]
      • <h3> Cleaning Up [#cleaning-up]
      • <h3> Custom order [#custom-order]
    • <h2> Custom magics [#custom-magics]
      • <h3> Method Signature [#method-signature]
      • <h3> Magic Properties [#magic-properties]
      • <h3> Magic Functions [#magic-functions]
    • <h2> Writing and sharing plugins [#writing-and-sharing-plugins]
      • <h3> Script include [#script-include]
      • <h3> Bundle module [#bundle-module]
180http://alpinejs.dev/advanced/extending
  • <h1> x-html
10http://alpinejs.dev/directives/html
  • <h1> x-modelable
10/directives/modelable
  • <h1> x-effect
10/directives/effect
  • <h1> x-data
    • <h2> Scope [#scope]
    • <h2> Methods [#methods]
    • <h2> Getters [#getters]
    • <h2> Data-less components [#data-less-components]
    • <h2> Single-element components [#single-element-components]
    • <h2> Re-usable Data [#re-usable-data]
70http://alpinejs.dev/directives/data
  • <h1> Alpine Components License
10/license
  • <h1> State
    • <h2> Local state [#local-state-x-data]
      • <h3> Nesting data [#nesting-data]
      • <h3> Single-element data [#single-element-data]
      • <h3> Data-less Alpine [#data-less-alpine]
      • <h3> Re-usable data [#re-usable-data]
    • <h2> Global state [#global-state]
70/essentials/state
  • <h1> x-html
10/directives/html
  • <h1> $nextTick
    • <h2> Promises [#promises]
20/magics/nextTick
  • <h1> State
    • <h2> Local state [#local-state-x-data]
      • <h3> Nesting data [#nesting-data]
      • <h3> Single-element data [#single-element-data]
      • <h3> Data-less Alpine [#data-less-alpine]
      • <h3> Re-usable data [#re-usable-data]
    • <h2> Global state [#global-state]
70http://alpinejs.dev/essentials/state
  • <h1> Alpine Components License
10http://alpinejs.dev/license
00http://alpinejs.dev/login
00http://alpinejs.dev/forgot-password
  • <h1> x-text
10/directives/text
  • <h1> Lifecycle
    • <h2> Element initialization [#element-initialization]
    • <h2> After a state change [#after-a-state-change]
      • <h3> $watch [#watch]
      • <h3> x-effect [#x-effect]
    • <h2> Alpine initialization [#alpine-initialization]
      • <h3> alpine:init [#alpine-initializing]
      • <h3> alpine:initialized [#alpine-initialized]
80/essentials/lifecycle
  • <h1> Installation
    • <h2> From a script tag [#from-a-script-tag]
    • <h2> As a module [#as-a-module]
30/essentials/installation
  • <h1> x-bind
    • <h2> Shorthand syntax [#shorthand-syntax]
    • <h2> Binding classes [#binding-classes]
      • <h3> Shorthand conditionals [#shorthand-conditionals]
      • <h3> Class object syntax [#class-object-syntax]
      • <h3> Special behavior [#special-behavior]
    • <h2> Binding styles [#binding-styles]
    • <h2> Binding Alpine Directives Directly [#bind-directives]
80/directives/bind
  • <h1> x-show
    • <h2> With transitions [#with-transitions]
    • <h2> Using the important modifier [#using-the-important-modifier]
30http://alpinejs.dev/directives/show
  • <h1> x-on
    • <h2> Shorthand syntax [#shorthand-syntax]
    • <h2> The event object [#the-event-object]
    • <h2> Keyboard events [#keyboard-events]
    • <h2> Mouse events [#mouse-events]
    • <h2> Custom events [#custom-events]
    • <h2> Modifiers [#modifiers]
      • <h3> .prevent [#prevent]
      • <h3> .stop [#stop]
      • <h3> .outside [#outside]
      • <h3> .window [#window]
      • <h3> .document [#document]
      • <h3> .once [#once]
      • <h3> .debounce [#debounce]
      • <h3> .throttle [#throttle]
      • <h3> .self [#self]
      • <h3> .camel [#camel]
      • <h3> .dot [#dot]
      • <h3> .passive [#passive]
      • <h3> .capture
200http://alpinejs.dev/directives/on
  • <h1> $id
    • <h2> Basic usage [#basic-usage]
    • <h2> Grouping with x-id [#groups-with-x-id]
    • <h2> Nesting [#nesting]
    • <h2> Keyed IDs (For Looping) [#keyed-ids]
50http://alpinejs.dev/magics/id
  • <h1> $id
    • <h2> Basic usage [#basic-usage]
    • <h2> Grouping with x-id [#groups-with-x-id]
    • <h2> Nesting [#nesting]
    • <h2> Keyed IDs (For Looping) [#keyed-ids]
50/magics/id
  • <h1> $data
10http://alpinejs.dev/magics/data
  • <h1> x-transition
    • <h2> The transition helper [#the-transition-helper]
      • <h3> Customizing duration [#customizing-duration]
      • <h3> Customizing delay [#customizing-delay]
      • <h3> Customizing opacity [#customizing-opacity]
      • <h3> Customizing scale [#customizing-scale]
    • <h2> Applying CSS classes [#applying-css-classes]
70/directives/transition
  • <h1> Lifecycle
    • <h2> Element initialization [#element-initialization]
    • <h2> After a state change [#after-a-state-change]
      • <h3> $watch [#watch]
      • <h3> x-effect [#x-effect]
    • <h2> Alpine initialization [#alpine-initialization]
      • <h3> alpine:init [#alpine-initializing]
      • <h3> alpine:initialized [#alpine-initialized]
80http://alpinejs.dev/essentials/lifecycle
  • <h1> x-effect
10http://alpinejs.dev/directives/effect
  • <h1> x-if
10/directives/if
00/forgot-password
  • <h1> Start Here
    • <h2> Building a counter [#building-a-counter]
      • <h3> Declaring data [#declaring-data]
      • <h3> Listening for events [#listening-for-events]
      • <h3> Reacting to changes [#reacting-to-changes]
    • <h2> Building a dropdown [#building-a-dropdown]
      • <h3> Toggling elements [#toggling-elements]
      • <h3> Listening for a click outside [#listening-for-a-click-outside]
    • <h2> Building a search input [#building-a-search-input]
      • <h3> Multi line formatting [#multi-line-formatting]
      • <h3> Binding to inputs [#binding-to-inputs]
      • <h3> Computed properties using getters [#computed-properties-using-getters]
      • <h3> Looping elements [#looping-elements]
    • <h2> Recap [#recap]
140http://alpinejs.dev/start-here
  • <h1> Async
10http://alpinejs.dev/advanced/async
  • <h1> Anchor Plugin
    • <h2> Installation [#installation]
      • <h3> Via CDN
      • <h3> Via NPM
    • <h2> x-anchor [#x-anchor]
    • <h2> Positioning [#positioning]
    • <h2> Offset [#offset]
    • <h2> Manual styling [#manual-styling]
    • <h2> Anchor to an ID [#from-id]
90/plugins/anchor
  • <h1> x-if
10http://alpinejs.dev/directives/if
  • <h1> x-model
    • <h2> Text inputs [#text-inputs]
    • <h2> Textarea inputs [#textarea-inputs]
    • <h2> Checkbox inputs [#checkbox-inputs]
      • <h3> Single checkbox with boolean [#single-checkbox-with-boolean]
      • <h3> Multiple checkboxes bound to array [#multiple-checkboxes-bound-to-array]
    • <h2> Radio inputs [#radio-inputs]
    • <h2> Select inputs [#select-inputs]
      • <h3> Single select [#single-select]
      • <h3> Single select with placeholder [#single-select-with-placeholder]
      • <h3> Multiple select [#multiple-select]
      • <h3> Dynamically populated Select Options [#dynamically-populated-select-options]
    • <h2> Range inputs [#range-inputs]
    • <h2> Modifiers [#modifiers]
      • <h3> .lazy [#lazy]
      • <h3> .number [#number]
      • <h3> .boolean [#boolean]
      • <h3> .debounce [#debounce]
      • <h3> .throttle [#throttle]
      • <h3> .fill [#fill]
    • <h2> Programmatic access [#programmatic access]
210/directives/model
  • <h1> x-id
10http://alpinejs.dev/directives/id
  • <h1> Mask Plugin
    • <h2> Installation [#installation]
      • <h3> Via CDN
      • <h3> Via NPM
    • <h2> x-mask [#x-mask]
    • <h2> Dynamic Masks [#mask-functions]
    • <h2> Money Inputs [#money-inputs]
70http://alpinejs.dev/plugins/mask
  • <h1> x-for
    • <h2> Keys [#keys]
    • <h2> Accessing indexes [#accessing-indexes]
    • <h2> Iterating over a range [#iterating-over-a-range]
    • <h2> Contents of a &lt;template&gt; [#contents-of-a-template]
50http://alpinejs.dev/directives/for
  • <h1> x-data
    • <h2> Scope [#scope]
    • <h2> Methods [#methods]
    • <h2> Getters [#getters]
    • <h2> Data-less components [#data-less-components]
    • <h2> Single-element components [#single-element-components]
    • <h2> Re-usable Data [#re-usable-data]
70/directives/data
  • <h1> Alpine.bind
10/globals/alpine-bind
  • <h1> Upgrade from V2
    • <h2> Breaking Changes [#breaking-changes]
      • <h3> $el is now always the current element [#el-no-longer-root]
      • <h3> Automatically evaluate init() functions defined on data object [#auto-init]
      • <h3> Need to call Alpine.start() after import [#need-to-call-alpine-start]
      • <h3> x-show.transition is now x-transition [#removed-show-dot-transition]
      • <h3> x-if no longer supports x-transition [#x-if-no-transitions]
      • <h3> x-data cascading scope [#x-data-scope]
      • <h3> x-init no longer accepts a callback return [#x-init-no-callback]
      • <h3> Returning false from event handlers no longer implicitly "preventDefault"s [#no-false-return-from-event-handlers]
      • <h3> x-spread is now x-bind [#x-spread-now-x-bind]
      • <h3> Use global lifecycle events instead of Alpine.deferLoadingAlpine() [#use-global-events-now]
      • <h3> x-ref no longer supports binding [#x-ref-no-more-dynamic]
      • <h3> IE11 no longer supported [#no-ie-11]
    • <h2> Deprecated APIs
      • <h3> Event listener modifier .away should be replaced with .outside [#away-replace-with-outside]
      • <h3> Prefer Alpine.data() to global Alpine function data providers [#alpine-data-instead-of-global-functions]
170http://alpinejs.dev/upgrade-guide
No rows found, please edit your search term.

404 URLs

No 404 URLs found.

Redirected URLs

Found 21 row(s).
StatusRedirected URL 🔼Target URLFound at URL
302 http://alpinejs.dev/login/githubhttps://github.com/login/oauth/authorize?client_id=bccaeb7715c75b73…vsf6erZklgEc7bxFhYlgsKcLvEVnY6Gqhttp://alpinejs.dev/login
302 http://alpinejs.dev/magics/next-tickhttp://alpinejs.dev/essentials/installationhttp://alpinejs.dev/upgrade-guide
301 http://cdn.carbonads.com/carbon.js?serve=CESI52JU&placement=alpinejsdevhttps://cdn.carbonads.com/carbon.js?serve=CESI52JU&placement=alpinejsdevhttp://alpinejs.dev/essentials/installation
302 /component/headless-comboboxhttp://alpinejs.dev/components/component/dropdown
302 /component/headless-dialoghttp://alpinejs.dev/components/component/dropdown
302 /component/headless-disclosurehttp://alpinejs.dev/components/component/dropdown
302 /component/headless-listboxhttp://alpinejs.dev/components/component/dropdown
302 /component/headless-menuhttp://alpinejs.dev/components/component/dropdown
302 /component/headless-popoverhttp://alpinejs.dev/components/component/dropdown
302 /component/headless-radiohttp://alpinejs.dev/components/component/dropdown
302 /component/headless-switchhttp://alpinejs.dev/components/component/dropdown
302 /component/headless-tabshttp://alpinejs.dev/components/component/dropdown
302 /installationhttp://alpinejs.dev/essentials/installation/component/dropdown
302 /login/githubhttps://github.com/login/oauth/authorize?client_id=bccaeb7715c75b73…hS0V1RzyQtWD0udbjVI1iMY1zYWibprX/login
302 /magics/next-tickhttp://alpinejs.dev/essentials/installation/upgrade-guide
302 https://github.com/login/oauth/authorize?client_id=bccaeb7715c75b73…hS0V1RzyQtWD0udbjVI1iMY1zYWibprXhttps://github.com/login?client_id=bccaeb7715c75b7341c5&return_…hS0V1RzyQtWD0udbjVI1iMY1zYWibprX/login/github
302 https://github.com/login/oauth/authorize?client_id=bccaeb7715c75b73…vsf6erZklgEc7bxFhYlgsKcLvEVnY6Gqhttps://github.com/login?client_id=bccaeb7715c75b7341c5&return_…vsf6erZklgEc7bxFhYlgsKcLvEVnY6Gqhttp://alpinejs.dev/login/github
302 https://unpkg.com/@popperjs/core@2/@popperjs/core@2.11.8/component/tooltip
302 https://unpkg.com/@popperjs/core@2.11.8/@popperjs/core@2.11.8/dist/umd/popper.min.jshttps://unpkg.com/@popperjs/core@2
302 https://unpkg.com/tippy.js@6/tippy.js@6.3.7/component/tooltip
302 https://unpkg.com/tippy.js@6.3.7/tippy.js@6.3.7/dist/tippy-bundle.umd.min.jshttps://unpkg.com/tippy.js@6
No rows found, please edit your search term.

TOP slowest URLs

Found 20 row(s).

Content types

Content typeURLs 🔽Total sizeTotal timeAvg timeStatus 20xStatus 30x
HTML1569 MB46 s293 ms 156 0
Font415 MB8.7 s212 ms 41 0
JS392 MB9.8 s251 ms 39 0
Image362 MB5.6 s157 ms 36 0
Redirect215 kB4.1 s193 ms 021
CSS18214 kB3.7 s207 ms 18 0

Content types (MIME types)

Found 14 row(s).
Content typeURLs 🔽Total sizeTotal timeAvg timeStatus 20xStatus 30x
text/html; charset=UTF-81549 MB45 s293 ms 154 0
font/woff2385 MB8.5 s224 ms 38 0
application/javascript; charset=utf-8322 MB8.7 s271 ms 32 0
image/png302 MB4.2 s138 ms 30 0
text/html215 kB4.1 s193 ms 021
text/css; charset=utf-81389 kB3.2 s248 ms 13 0
application/javascript5472 kB843 ms169 ms 5 0
text/css5125 kB502 ms100 ms 5 0
image/svg+xml439 kB767 ms192 ms 4 0
font/woff370 kB177 ms59 ms 3 0
text/html; charset=utf-8283 kB508 ms254 ms 2 0
image/jpeg232 kB728 ms364 ms 2 0
application/javascript;charset=utf-8111 kB124 ms124 ms 1 0
text/javascript;charset=UTF-8119 kB119 ms119 ms 1 0
No rows found, please edit your search term.

Source domains

Found 13 row(s).
DomainTotalsHTMLImageJSCSSFontRedirect
alpinejs.dev213 / 11MB / 56s154 / 9MB / 45s36 / 2MB / 5.6s4 / 315kB / 1.1s5 / 125kB / 502ms14 / 3kB / 3.4s
rsms.me39 / 5MB / 8.6s1 / 712B / 117ms38 / 5MB / 8.5s
cdn.jsdelivr.net34 / 1MB / 3.8s25 / 1MB / 3.1s9 / 48kB / 637ms
unpkg.com9 / 451kB / 6.7s4 / 434kB / 4.6s1 / 16kB / 2s4 / 512B / 125ms
github.com4 / 84kB / 994ms2 / 83kB / 508ms2 / 1kB / 486ms
fonts.gstatic.com3 / 70kB / 177ms3 / 70kB / 177ms
cdn.carbonads.com2 / 37kB / 181ms1 / 37kB / 108ms1 / 167B / 74ms
cdn.quilljs.com2 / 451kB / 823ms1 / 427kB / 478ms1 / 24kB / 345ms
fonts.googleapis.com1 / 627B / 79ms1 / 627B / 79ms
player.vimeo.com1 / 11kB / 124ms1 / 11kB / 124ms
cdnjs.cloudflare.com1 / 27kB / 56ms1 / 27kB / 56ms
cdn.usefathom.com1 / 6kB / 110ms1 / 6kB / 110ms
static.cloudflareinsights.com1 / 19kB / 119ms1 / 19kB / 119ms
No rows found, please edit your search term.

HTTP headers

Found 24 row(s).
Header 🔼OccursUniqueValues previewMin valueMax value
Accept-Ranges321bytes
Alt-Svc1851h3=":443"; ma=86400
Cache-Control2115[see values below]
Cf-Cache-Status1854DYNAMIC (166) / MISS (13) / REVALIDATED (4) / HIT (2)
Cf-Ray213-[ignored generic values]
Connection2131close
Content-Encoding1672gzip (91) / br (76)
Content-Length32-[ignored generic values]452 B658 kB
Content-Type2138[see values below]
Date213-[ignored generic values]2024-08-162024-08-16
Etag43-[ignored generic values]
Expires72-[ignored generic values]1990-01-052025-08-16
Last-Modified45-[ignored generic values]2021-06-072024-08-13
Location144[see values below]
Nel1871{"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Pragma441no-cache
Report-To18720+[see values below]
Server2131cloudflare
Set-Cookie166-[ignored generic values]
Transfer-Encoding1811chunked
Vary1971Accept-Encoding
X-Content-Type-Options2131nosniff
X-Frame-Options2132SAMEORIGIN (185) / DENY (28)
X-XSS-Protection18511; mode=block
No rows found, please edit your search term.

HTTP header values

Found 55 row(s).
HeaderOccursValue
Accept-Ranges32bytes
Alt-Svc185h3=":443"; ma=86400
Cache-Control122no-cache, private
Cache-Control44max-age=0, must-revalidate, no-cache, no-store, private
Cache-Control26public
Cache-Control17max-age=14400
Cache-Control2public, max-age=31536000
Cf-Cache-Status166DYNAMIC
Cf-Cache-Status13MISS
Cf-Cache-Status4REVALIDATED
Cf-Cache-Status2HIT
Connection213close
Content-Encoding91gzip
Content-Encoding76br
Content-Type154text/html; charset=UTF-8
Content-Type30image/png
Content-Type14text/html
Content-Type5text/css
Content-Type4image/svg+xml
Content-Type2application/javascript; charset=utf-8
Content-Type2application/javascript
Content-Type2image/jpeg
Location9http://alpinejs.dev/components
Location3http://alpinejs.dev/essentials/installation
Location1https://github.com/login/oauth/authorize?client_id=bccaeb7715c75b73…hS0V1RzyQtWD0udbjVI1iMY1zYWibprX
Location1https://github.com/login/oauth/authorize?client_id=bccaeb7715c75b73…vsf6erZklgEc7bxFhYlgsKcLvEVnY6Gq
Nel187{"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Pragma44no-cache
Report-To1{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=HsNnbuNaQqwEGp0Iv3FAeWvpXMXyQLXKwpYs%2Bflr0SbZrnppJ1SFLt48ce9BfOI%2FCJvcCY0oKiuslSB8CNsjHr1432C0KsXxBJcEI%2FNDmjz%2Buo8dlkqaq61oCccG118%3D"}],"group":"cf-nel","max_age":604800}
Report-To1{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=wntRyj%2BC0dM%2BO8vCnKm9FtpXR705jcVGq4SZYf6VEvejHWaJx3FmfS%2F3GoKWBbeg0seckxX3AxoLVjNESxr9rKfFv9oSuqlQJhlmcEnc1dG9ds66kEfvYFbACoKbqQQ%3D"}],"group":"cf-nel","max_age":604800}
Report-To1{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=4FryyrmJL096E1G1GFQ0dPBxPg%2F49XcJOVvDmd3Ht5pisS%2FFvJfUBL2asSltbFk3B4%2FkI3AMLmJaqyyVeowWCJBY0trA6CiKBWjU4aFFU3Eu%2BF6G3owT1hdbPgYOIos%3D"}],"group":"cf-nel","max_age":604800}
Report-To1{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=m4jEYy7Y71gl7rv6db1zZfIzowdUd8VoWRVXg9YQfMaLP%2B%2BIJElUmpvNDh%2FKXf%2Fba3Nf9g%2FE71lof%2FlJi84pSS%2Bt7ZbvAbBrMWd1PC%2FKHsgcqqd6OgcUdYzkCTYsDJk%3D"}],"group":"cf-nel","max_age":604800}
Report-To1{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=xYBYs6R8u7UoXXAS9PIFb5DzbLxzThG5LTH3eLCDApx7TdzkgP29s5a6DJWDd0UZ7m%2Fohk76n3Xphia%2BPAFHSKbRS8xcK5CKEdrt6QLR%2Bgyu6yu6a4WETd34LxBq%2F9E%3D"}],"group":"cf-nel","max_age":604800}
Report-To1{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=3NfIuOX1NtWWfBd6zQSqjADKODZ8IHeIKFJ2pWP3olqyW2CgX%2BybOnSTcEBVc%2BlKcrqqFbF1T6Pwbz99jTSE1gxuFY7queepxPqvs3LeMRTh2ujtIOgUGb9bN9Vw3cc%3D"}],"group":"cf-nel","max_age":604800}
Report-To1{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=hZJzwecNnrRilSGBYtcmEzotHSMBysY95o8xUI%2F5g9oG2AaaEFQfOTbr4Bk8REK1D7e6qX6OYAk2Btqwp35l17Cigls4FvXmHSCJTjr%2BoC8yE8PBAPaZb0jkV1Z6kls%3D"}],"group":"cf-nel","max_age":604800}
Report-To1{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=8GZi%2BGsikKRZM2lEM3Y4OYrjzg3ggBMIkKCODKv5Kym%2BLbdLSsKTXc9TCHzB1RDE3nqf3CtwcflxQxqgPFiS4m8Qs4GtPzqUJwKFlHpqULGElAiIasptFLK3NcOH6qQ%3D"}],"group":"cf-nel","max_age":604800}
Report-To1{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=FdQCOsFL%2BYKrdrAHij7gH09NT3mrYPVDJIMJ10wADwW9PxcK1S3rg5bIvPQvAOPB0hWpFkjSRs1WHpXem91DEhMFzFWjhJkfBw8qvPSLG3nsvMM7w%2FCSnHfexGb55%2F0%3D"}],"group":"cf-nel","max_age":604800}
Report-To1{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=%2BMFCP863x3Zuw6Kz%2F5x%2BFPnspvSY0%2B7YbjHil6JnFp8kmsoZS0yngsexMt0zCDkTQre4M3vwDvwlBUEqLZ69I6I8xPRI6HNdHygQ2DzuYowoFGt9z%2FG0qOFn0Lbq7B4%3D"}],"group":"cf-nel","max_age":604800}
Report-To1{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=dHnOS1MZ3i7bGVygI7p0W%2FuWXUcw5q8oLHo41RPqXR1EBo2m3%2B7HFi%2F4GJvOagxqbpMZz1TgBU7TOeeVRZQXXyX5cFTsvNA1OmTA9%2BCKwAfNeRlw%2FUfQGii1N8kLOVI%3D"}],"group":"cf-nel","max_age":604800}
Report-To1{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=nbs6w8FCmgV5TPh9UIzl%2B40N0RN4TOJdXdP50P57eAJMsaB9GY8ql33KXv0c8WOyoHwpraPuJonl7KW81ugkna5FOjcQnK4Z5jo%2BoALFo26wQXHL%2FB%2B35GP%2FZ%2BbSjac%3D"}],"group":"cf-nel","max_age":604800}
Report-To1{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=1oSAjAspll4YHkLe%2BP3QmFCQqzoB63Gskn7LcM3G%2FfQurO9XlzVORF8OPO3Zd1vrSGOTqGRrsnOR1HNgNM7VFN6TNeBqeyA2jtIcVdadJJXbGuOhk%2BJiLEpFn4vJv1c%3D"}],"group":"cf-nel","max_age":604800}
Report-To1{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=U20%2FMrDePSBjkE6Ei%2FSt%2Bxtq%2FSAvDa2g0EJxC3n1PjTsRj7A1SkMZsSWLb%2BmACkYfr%2By7UrDYjQxKwFjbtJeCX7Ijgx%2BSLlpefsLmED9UKiZ%2FbCxf8jN7LHNX%2B30u9w%3D"}],"group":"cf-nel","max_age":604800}
Report-To1{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=HR2ymMTB2o0bZ0SpNE0YmdTpERZ0wLCIK7gClmacrtU7%2F%2B%2FLdFI3qbxLl5nSqvmSQuzX1pzgnvDNLBz6ETb37J5gzq%2F4E%2FJzZQ3BMjraY%2BSoa7RjXjuhEb89v1Kw8wU%3D"}],"group":"cf-nel","max_age":604800}
Report-To1{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=e9cmnAoRchidV7bUJpD3yobzrq%2BNU2exyAjXWwkhtosMILVfIgHX2eLMKdgW03wXC7AGxJMi1zIAcVN1sJ8DUndcC2SsdH7YMi0SN9wEh2jDR2hd%2BeuifDg2bpy6p5w%3D"}],"group":"cf-nel","max_age":604800}
Report-To1{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=HOIXmYbXb%2FKuhFCalaMO3FEWM6KEG0Wmq7Vl1gPPxXfxRYZu7VEA2f2RsEgjXQuPc%2F%2FaBbzF0tpLiaTVVZVTUvkNL74KE5QcEaTh2fosFK%2BnDhsN%2FrmIoYcXCMZQPdU%3D"}],"group":"cf-nel","max_age":604800}
Report-To1{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=nnEoW6IzXdtPfLz%2Bz9ON67kH2W2UyL3rvycpiMyoD8SAxxF0ju2Fr217B%2BannvrscUqFOUF1LveBOSI2PIQbpA4tu%2FdYbVVZtOun6%2FqLxH20DTMcPzDSYy%2F49DJ6mnw%3D"}],"group":"cf-nel","max_age":604800}
Report-To1{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=ty3Gg7D58P6tRGE%2FC3u9hUPQ24geNUX7NwbU7ub0GFLT9W86aNvgfBMhfRWLIu%2BLvPpepUm5qLeV8b%2FGuAD5bLwTe8GBa4%2FqkychqCx3lWM%2Ba2xuWg3%2B%2F1%2FMhPxFjgc%3D"}],"group":"cf-nel","max_age":604800}
Report-To1{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=RmozKu45rvHPEhpIa8wVjB%2BV%2Ftvdb8ki3ffgU6Cusj5TGdsMKS%2FQY8Zy86I3y9IdtUmGzTFyswLzThKjmLmPRh7jGDdT6zsqutzKqrtHy3xDvpssuI0iFTbZfY2VuEw%3D"}],"group":"cf-nel","max_age":604800}
Server213cloudflare
Transfer-Encoding181chunked
Vary197Accept-Encoding
X-Content-Type-Options213nosniff
X-Frame-Options185SAMEORIGIN
X-Frame-Options28DENY
X-XSS-Protection1851; mode=block
No rows found, please edit your search term.

DNS info

DNS resolving tree
alpinejs.dev
  IPv4: 188.114.96.3
  IPv4: 188.114.97.3
  IPv6: 2a06:98c1:3120::3
  IPv6: 2a06:98c1:3121::3
DNS server: 10.255.255.254

SSL/TLS info

InfoText
IssuerC = US, O = "Cloudflare, Inc.", CN = Cloudflare Inc ECC CA-3
SubjectC = US, ST = California, L = San Francisco, O = "Cloudflare, Inc.", CN = alpinejs.dev
Valid fromDec 25 00:00:00 2023 GMT (VALID already 235.8 day(s))
Valid toDec 24 23:59:59 2024 GMT (VALID still for 130.2 day(s))
Supported protocolsTLSv1.2, TLSv1.3
RAW certificate outputCertificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            02:b2:bf:eb:46:b2:20:cf:ed:d6:b4:0a:69:7a:be:42
        Signature Algorithm: ecdsa-with-SHA256
        Issuer: C = US, O = "Cloudflare, Inc.", CN = Cloudflare Inc ECC CA-3
        Validity
            Not Before: Dec 25 00:00:00 2023 GMT
            Not After : Dec 24 23:59:59 2024 GMT
        Subject: C = US, ST = California, L = San Francisco, O = "Cloudflare, Inc.", CN = alpinejs.dev
        Subject Public Key Info:
            Public Key Algorithm: id-ecPublicKey
                Public-Key: (256 bit)
                pub:
                    04:b6:aa:97:96:64:50:f2:85:57:74:2b:41:0d:5a:
                    b5:0a:4f:b5:2c:36:df:d6:2a:91:b0:9f:55:fa:58:
                    87:0e:2f:df:94:b5:57:42:6d:41:f3:25:6d:02:33:
                    c1:22:90:1a:bd:33:86:11:51:8b:f0:11:c7:1d:cc:
                    6c:19:63:17:fd
                ASN1 OID: prime256v1
                NIST CURVE: P-256
        X509v3 extensions:
            X509v3 Authority Key Identifier: 
                A5:CE:37:EA:EB:B0:75:0E:94:67:88:B4:45:FA:D9:24:10:87:96:1F
            X509v3 Subject Key Identifier: 
                DE:D6:27:36:F6:4E:85:11:23:11:AB:9A:0D:67:78:06:AF:31:55:25
            X509v3 Subject Alternative Name: 
                DNS:*.alpinejs.dev, DNS:alpinejs.dev
            X509v3 Certificate Policies: 
                Policy: 2.23.140.1.2.2
                  CPS: http://www.digicert.com/CPS
            X509v3 Key Usage: critical
                Digital Signature, Key Agreement
            X509v3 Extended Key Usage: 
                TLS Web Server Authentication, TLS Web Client Authentication
            X509v3 CRL Distribution Points: 
                Full Name:
                  URI:http://crl3.digicert.com/CloudflareIncECCCA-3.crl
                Full Name:
                  URI:http://crl4.digicert.com/CloudflareIncECCCA-3.crl
            Authority Information Access: 
                OCSP - URI:http://ocsp.digicert.com
                CA Issuers - URI:http://cacerts.digicert.com/CloudflareIncECCCA-3.crt
            X509v3 Basic Constraints: critical
                CA:FALSE
            CT Precertificate SCTs: 
                Signed Certificate Timestamp:
                    Version   : v1 (0x0)
                    Log ID    : 76:FF:88:3F:0A:B6:FB:95:51:C2:61:CC:F5:87:BA:34:
                                B4:A4:CD:BB:29:DC:68:42:0A:9F:E6:67:4C:5A:3A:74
                    Timestamp : Dec 25 00:23:39.742 2023 GMT
                    Extensions: none
                    Signature : ecdsa-with-SHA256
                                30:45:02:21:00:E8:46:58:E6:A2:0B:83:1F:E1:C3:D7:
                                13:C8:06:FC:6A:38:D0:EF:3C:2A:01:DF:26:A2:DE:E9:
                                78:C5:64:9E:19:02:20:1D:E7:73:7D:50:BB:D1:1F:5F:
                                AC:D0:CE:BC:AD:2B:CB:2E:31:03:F9:51:5A:99:46:E3:
                                48:D9:07:FA:F5:DB:D1
                Signed Certificate Timestamp:
                    Version   : v1 (0x0)
                    Log ID    : 48:B0:E3:6B:DA:A6:47:34:0F:E5:6A:02:FA:9D:30:EB:
                                1C:52:01:CB:56:DD:2C:81:D9:BB:BF:AB:39:D8:84:73
                    Timestamp : Dec 25 00:23:39.696 2023 GMT
                    Extensions: none
                    Signature : ecdsa-with-SHA256
                                30:45:02:21:00:F2:20:30:ED:55:DE:C3:2E:25:7E:19:
                                1C:C5:A9:D7:EA:24:9E:B0:6B:5B:EF:4C:C3:2D:71:24:
                                EB:D6:D2:29:4D:02:20:06:F5:2F:B3:EC:C7:CD:26:0E:
                                EA:83:01:98:1C:58:DC:93:F5:01:16:5C:E2:C8:99:91:
                                44:A3:7E:0A:CD:51:96
                Signed Certificate Timestamp:
                    Version   : v1 (0x0)
                    Log ID    : 3F:17:4B:4F:D7:22:47:58:94:1D:65:1C:84:BE:0D:12:
                                ED:90:37:7F:1F:85:6A:EB:C1:BF:28:85:EC:F8:64:6E
                    Timestamp : Dec 25 00:23:39.749 2023 GMT
                    Extensions: none
                    Signature : ecdsa-with-SHA256
                                30:45:02:20:76:21:03:CD:C3:E8:DE:23:54:27:98:34:
                                32:D2:CC:DE:CB:81:C6:05:69:D9:29:BF:32:0B:AC:7C:
                                40:12:AF:D6:02:21:00:82:1F:D2:31:9D:53:86:3D:07:
                                21:5F:16:DA:6D:55:E5:5B:D7:C7:7B:F2:23:DE:7F:BB:
                                A2:43:9F:3D:9F:51:0B
    Signature Algorithm: ecdsa-with-SHA256
    Signature Value:
        30:44:02:20:7c:c5:98:e9:1c:f4:5c:0d:f6:03:50:b8:ff:d8:
        b4:d9:5f:db:a7:43:b5:a3:87:d8:87:c3:cc:b1:70:11:87:6d:
        02:20:1d:7c:f1:d1:89:27:7f:0f:54:99:d9:f4:21:49:6b:6e:
        ed:ed:df:18:d0:1c:ad:6f:d9:9f:39:cf:1e:ce:0e:00
RAW protocols outputdepth=2 C = IE, O = Baltimore, OU = CyberTrust, CN = Baltimore CyberTrust Root
verify return:1
depth=1 C = US, O = "Cloudflare, Inc.", CN = Cloudflare Inc ECC CA-3
verify return:1
depth=0 C = US, ST = California, L = San Francisco, O = "Cloudflare, Inc.", CN = alpinejs.dev
verify return:1
CONNECTED(00000005)
---
Certificate chain
 0 s:C = US, ST = California, L = San Francisco, O = "Cloudflare, Inc.", CN = alpinejs.dev
   i:C = US, O = "Cloudflare, Inc.", CN = Cloudflare Inc ECC CA-3
   a:PKEY: id-ecPublicKey, 256 (bit); sigalg: ecdsa-with-SHA256
   v:NotBefore: Dec 25 00:00:00 2023 GMT; NotAfter: Dec 24 23:59:59 2024 GMT
 1 s:C = US, O = "Cloudflare, Inc.", CN = Cloudflare Inc ECC CA-3
   i:C = IE, O = Baltimore, OU = CyberTrust, CN = Baltimore CyberTrust Root
   a:PKEY: id-ecPublicKey, 256 (bit); sigalg: RSA-SHA256
   v:NotBefore: Jan 27 12:48:08 2020 GMT; NotAfter: Dec 31 23:59:59 2024 GMT
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIFFjCCBL2gAwIBAgIQArK/60ayIM/t1rQKaXq+QjAKBggqhkjOPQQDAjBKMQsw
CQYDVQQGEwJVUzEZMBcGA1UEChMQQ2xvdWRmbGFyZSwgSW5jLjEgMB4GA1UEAxMX
Q2xvdWRmbGFyZSBJbmMgRUNDIENBLTMwHhcNMjMxMjI1MDAwMDAwWhcNMjQxMjI0
MjM1OTU5WjBsMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQG
A1UEBxMNU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQQ2xvdWRmbGFyZSwgSW5jLjEV
MBMGA1UEAxMMYWxwaW5lanMuZGV2MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
tqqXlmRQ8oVXdCtBDVq1Ck+1LDbf1iqRsJ9V+liHDi/flLVXQm1B8yVtAjPBIpAa
vTOGEVGL8BHHHcxsGWMX/aOCA2EwggNdMB8GA1UdIwQYMBaAFKXON+rrsHUOlGeI
tEX62SQQh5YfMB0GA1UdDgQWBBTe1ic29k6FESMRq5oNZ3gGrzFVJTAnBgNVHREE
IDAegg4qLmFscGluZWpzLmRldoIMYWxwaW5lanMuZGV2MD4GA1UdIAQ3MDUwMwYG
Z4EMAQICMCkwJwYIKwYBBQUHAgEWG2h0dHA6Ly93d3cuZGlnaWNlcnQuY29tL0NQ
UzAOBgNVHQ8BAf8EBAMCA4gwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMC
MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9DbG91
ZGZsYXJlSW5jRUNDQ0EtMy5jcmwwN6A1oDOGMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0
LmNvbS9DbG91ZGZsYXJlSW5jRUNDQ0EtMy5jcmwwdgYIKwYBBQUHAQEEajBoMCQG
CCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQAYIKwYBBQUHMAKG
NGh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9DbG91ZGZsYXJlSW5jRUNDQ0Et
My5jcnQwDAYDVR0TAQH/BAIwADCCAX4GCisGAQQB1nkCBAIEggFuBIIBagFoAHYA
dv+IPwq2+5VRwmHM9Ye6NLSkzbsp3GhCCp/mZ0xaOnQAAAGMnlsZ3gAABAMARzBF
AiEA6EZY5qILgx/hw9cTyAb8ajjQ7zwqAd8mot7peMVknhkCIB3nc31Qu9EfX6zQ
zrytK8suMQP5UVqZRuNI2Qf69dvRAHYASLDja9qmRzQP5WoC+p0w6xxSActW3SyB
2bu/qznYhHMAAAGMnlsZsAAABAMARzBFAiEA8iAw7VXewy4lfhkcxanX6iSesGtb
70zDLXEk69bSKU0CIAb1L7Psx80mDuqDAZgcWNyT9QEWXOLImZFEo34KzVGWAHYA
PxdLT9ciR1iUHWUchL4NEu2QN38fhWrrwb8ohez4ZG4AAAGMnlsZ5QAABAMARzBF
AiB2IQPNw+jeI1QnmDQy0szey4HGBWnZKb8yC6x8QBKv1gIhAIIf0jGdU4Y9ByFf
FtptVeVb18d78iPef7uiQ589n1ELMAoGCCqGSM49BAMCA0cAMEQCIHzFmOkc9FwN
9gNQuP/YtNlf26dDtaOH2IfDzLFwEYdtAiAdfPHRiSd/D1SZ2fQhSWtu7e3fGNAc
rW/ZnznPHs4OAA==
-----END CERTIFICATE-----
subject=C = US, ST = California, L = San Francisco, O = "Cloudflare, Inc.", CN = alpinejs.dev
issuer=C = US, O = "Cloudflare, Inc.", CN = Cloudflare Inc ECC CA-3
---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: ECDSA
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 2596 bytes and written 326 bytes
Verification: OK
---
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 256 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---
DONE

Crawler stats

Basic stats
Total execution time17 s
Total URLs312
Total size18 MB
Requests - total time78 s
Requests - avg time249 ms
Requests - min time25 ms
Requests - max time3.4 s
Requests by status-1:CON: 1
200 : 290
301 : 1
302 : 20

Analysis stats

Found 20 row(s).
Class::methodExec time 🔽Exec count
SslTlsAnalyzer::getTLSandSSLCertificateInfo358 ms 1
Manager::parseDOMDocument234 ms 156
AccessibilityAnalyzer::checkMissingRoles76 ms 154
BestPracticeAnalyzer::checkNonClickablePhoneNumbers57 ms 156
BestPracticeAnalyzer::checkMaxDOMDepth55 ms 156
AccessibilityAnalyzer::checkMissingAriaLabels54 ms 154
BestPracticeAnalyzer::checkInlineSvg40 ms 156
BestPracticeAnalyzer::checkHeadingStructure39 ms 156
AccessibilityAnalyzer::checkMissingLabels14 ms 154
BestPracticeAnalyzer::checkMissingQuotesOnAttributes11 ms 156
AccessibilityAnalyzer::checkImageAltAttributes1 ms 154
AccessibilityAnalyzer::checkMissingLang1 ms 154
SeoAndOpenGraphAnalyzer::analyzeSeo0 ms 1
SeoAndOpenGraphAnalyzer::analyzeHeadings0 ms 1
SeoAndOpenGraphAnalyzer::analyzeOpenGraph0 ms 1
BestPracticeAnalyzer::checkTitleUniqueness0 ms 1
BestPracticeAnalyzer::checkMetaDescriptionUniqueness0 ms 1
BestPracticeAnalyzer::checkBrotliSupport0 ms 1
BestPracticeAnalyzer::checkWebpSupport0 ms 1
BestPracticeAnalyzer::checkAvifSupport0 ms 1
No rows found, please edit your search term.

Content processor stats

Found 12 row(s).
Class::methodExec time 🔽Exec count
HtmlProcessor::findUrls42 ms 168
AstroProcessor::findUrls8 ms 193
NextJsProcessor::applyContentChangesBeforeUrlParsing3 ms 213
JavaScriptProcessor::findUrls1 ms 193
CssProcessor::findUrls1 ms 172
AstroProcessor::applyContentChangesBeforeUrlParsing0 ms 195
NextJsProcessor::findUrls0 ms 211
SvelteProcessor::findUrls0 ms 154
CssProcessor::applyContentChangesBeforeUrlParsing0 ms 174
HtmlProcessor::applyContentChangesBeforeUrlParsing0 ms 177
JavaScriptProcessor::applyContentChangesBeforeUrlParsing0 ms 195
SvelteProcessor::applyContentChangesBeforeUrlParsing0 ms 156
No rows found, please edit your search term.

Crawler info

Version 1.0.7.20231222
Executed At 2024-08-16 19:01:33
Commandsrc/crawler.php \
  --workers=3 \
  --max-reqs-per-sec=20 \
  --upload \
  --upload-retention=forever \
  --max-visited-urls=1000 \
  --allowed-domain-for-external-files=* \
  --extra-columns=CF-Cache-Status,Title(50) \
  --url=https://alpinejs.dev/
User-Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/24.0.0.0 Safari/537.36 siteone-crawler/1.0.7.20231222