Sustainability Scan Report
Actionable Lighthouse + CO2.js findings mapped to WSG guidance.
- Scan title: SCAN: https://CivicActions.com
- Generated: 2026-04-20T17:39:16.737Z
- Scanned URLs: 64 / 64
- Estimated CO2: 63.4763 g
- Green page hosts: 0 / 64
- Average redundancy score: 10/100
- Average modularization score: 32/100
- Average dead-code score: 8/100
- Average non-critical resources score: 11/100
- Average form validation score: 5/100
- Average metadata score: 1/100
- Average layout adaptation score: 30/100
- Average lightweight security score: 51/100
- Average dependency maintenance score: 2/100
- Average expected-files score: 40/100
- Average compression score: 14/100
- Average optimization score: 81/100
- Average offline support score: 100/100
- Average media hints score: 47/100
- Average language version score: 0/100
Download this report: Markdown report · JSON report
WSG Form Validation and Tooling
Assesses form error validation practices and tooling support while avoiding re-scans of repeated controls across pages.
- WSG criterion: Validate form errors and account for tooling requirements
- Average form validation score: 5/100 (0 low risk, 100 high risk)
- High urgency pages: 2
- Unique signatures assessed: 11
- Total occurrences: 18
- Reused assessments: 7
Recurring Form Elements
These signatures were assessed once and reused across pages to avoid duplicate scanning.
- select (tabs): 2 page(s), risk 90/100, urgency HIGH
- checkbox (web_cms): 2 page(s), risk 50/100, urgency MEDIUM
- checkbox (it_service_modernization): 2 page(s), risk 50/100, urgency MEDIUM
- checkbox (product_design): 2 page(s), risk 50/100, urgency MEDIUM
- checkbox (security_compliance): 2 page(s), risk 50/100, urgency MEDIUM
- checkbox (data_services): 2 page(s), risk 50/100, urgency MEDIUM
- checkbox (workforce_development): 2 page(s), risk 50/100, urgency MEDIUM
WSG Metadata for Machine Readability
Checks page metadata against machine-readable best practices including canonical URL, social metadata, and structured data validity.
- WSG criterion: Structure metadata for machine readability
- Assessed pages: 64
- Average metadata score: 1/100 (0 low risk, 100 high risk)
- High urgency pages: 1
Cross-Page Metadata Gaps
- Missing html lang: 1
- Missing meta description: 1
- Missing canonical URL: 1
- Missing Open Graph core tags: 1
- Missing twitter:card: 1
- Invalid or missing JSON-LD: 0
WSG Multi-Device Layout Support
Assesses whether page layouts adapt cleanly on mobile and tablet viewports, with emphasis on overflow, grid behavior, and touch target usability.
- WSG criterion: Ensure layouts work for different devices and requirements
- Assessed pages: 64
- Average layout adaptation score: 30/100 (0 low risk, 100 high risk)
- High urgency pages: 0
Cross-Page Layout Adaptation Signals
- Pages with mobile overflow: 0
- Pages with tablet overflow: 0
- Total small tap targets on mobile: 2007
- Total small tap targets on tablet: 1987
- Total fixed-width offenders: 0
- Pages with grid overflow containers: 4
- Total overflowing grid containers: 8
- Total grid containers detected: 308
WSG Lightweight Security Review
Non-invasive checks for common, easy-to-find security issues such as missing headers and vulnerable JavaScript library flags.
- WSG criterion: Ensure that your code is secure
- Assessed pages: 64
- Average lightweight security score: 51/100 (0 low risk, 100 high risk)
- High urgency pages: 4
Cross-Page Security Signals
- Pages missing Content-Security-Policy: 64
- HTTPS pages missing Strict-Transport-Security: 53
- Pages with vulnerable JS library findings: 0
- External scripts missing SRI (total): 75
WSG Dependency Maintenance Review
Shows where dependencies appear unmaintained using known vulnerable library signals and dependency integrity hints.
- WSG criterion: Use dependencies appropriately and ensure maintenance
- Assessed pages: 64
- Average dependency maintenance score: 2/100 (0 low risk, 100 high risk)
- High urgency pages: 0
Cross-Page Dependency Signals
- Pages with vulnerable dependencies: 0
- Total vulnerable dependency findings: 0
No recurring vulnerable dependency signatures were detected.
WSG Expected and Beneficial Files
Checks for common root-level files that improve crawlability, maintenance transparency, and operational clarity.
- WSG criterion: Include expected and beneficial files
- Assessed pages: 64
- Average expected-files score: 40/100 (0 low risk, 100 high risk)
- High urgency pages: 0
Cross-Page Expected File Gaps
- robots.txt missing: 0
- sitemap.xml missing: 64
- .well-known/security.txt missing: 64
- manifest.webmanifest missing: 0
- favicon.ico missing: 64
WSG Efficient Solution Optimization Opportunities
Highlights easy bloat-removal wins like oversized images, missing compression, and render-blocking resources.
- WSG criterion: Use the most efficient solution for your service
- Assessed pages: 64
- Average optimization score: 81/100 (0 low opportunity, 100 high opportunity)
- High urgency pages: 52
Cross-Page Optimization Signals
- Aggregate potential byte savings: 164.90 MB
- Aggregate render-blocking reduction potential: 0 ms
Recurring Optimization Opportunities
- Lazy-load offscreen images: 52 page(s), est. 52.96 MB total savings
- Remove unused JavaScript: 52 page(s), est. 13.76 MB total savings
- Remove unused CSS: 52 page(s), est. 951.43 KB total savings
- Serve images in next-gen formats: 22 page(s), est. 55.54 MB total savings
- Right-size images for viewport: 18 page(s), est. 41.11 MB total savings
- Compress oversized image assets: 2 page(s), est. 606.68 KB total savings
WSG Reduce Data Transfer With Compression
Highlights transfer reduction opportunities via text compression, media encoding, and compression-friendly asset preparation.
- WSG criterion: Reduce data transfer with compression
- Assessed pages: 64
- Average compression score: 14/100 (0 low risk, 100 high risk)
- High urgency pages: 6
Cross-Page Compression Signals
- Pages missing effective text compression: 0
- Aggregate potential compression savings: 56.14 MB
Recurring Compression Opportunities
- Use modern image compression formats: 22 page(s), est. 55.54 MB total savings, urgency HIGH
- Improve image encoding quality/size: 2 page(s), est. 606.68 KB total savings, urgency HIGH
WSG Offline Access and Caching Support
Evaluates support for offline use and web application behavior using service worker, offline routing, manifest, and cache policy signals.
- WSG criterion: Optimize caching and support offline access
- Assessed pages: 64
- Average offline support score: 100/100 (0 low risk, 100 high risk)
- High urgency pages: 64
Cross-Page Offline and Caching Signals
- Pages without service worker support: 64
- Pages without offline support: 64
- Pages with weak cache TTL signals: 64
Recurring Offline/Caching Opportunities
- Add service worker support: 64 page(s), urgency HIGH
- Ensure critical routes work offline: 64 page(s), urgency HIGH
- Improve web app manifest support: 64 page(s), urgency MEDIUM
- Strengthen static asset cache TTL: 64 page(s), urgency HIGH
- Support offline start URL behavior: 64 page(s), urgency MEDIUM
WSG Media Sustainability Hints
Checks for autoplay media, dark mode support, and image lazy loading — three user-facing signals that reduce unnecessary data transfer and respect device energy constraints.
- WSG criterion: Optimize media to reduce resource use
- Assessed pages: 64
- Average media hints score: 47/100 (0 low risk, 100 high risk)
- High urgency pages: 0
- Pages with autoplay media: 0
- Pages with unmuted autoplay: 0
- Pages without dark mode support: 63
- Pages with lazy loading gap (<50% of images lazy): 63
Grid-Aware Websites Detection
Checks for signals of the Green Web Foundation's grid-aware websites approach, which adapts page content based on the carbon intensity of the visitor's local electricity grid.
- Assessed pages: 64
- Pages with grid-aware signals: 0
- No grid-aware signals detected. Consider implementing grid-aware adaptation — reference demos: Cloudflare demo, Netlify demo.
WSG Success Criteria & Best Practices
Automated validation of specific Web Sustainability Guidelines with actionable best practice examples and resource links.
- Assessed pages: 64
- Average WSG compliance score: 45/100
low script Missing print style sheet
Add a @media print stylesheet to ensure the page is optimized for paper-saving printing.
Recurs on 64 pages.
Best Practice Example
@media print {
/* Hide non-critical navigation and backgrounds */
nav, .ads, header, footer { display: none; }
body { font-size: 12pt; color: #000; background: #fff; }
a::after { content: " (" attr(href) ") "; } /* Show URLs */
}
Source: WSG Guideline 17
low script No reduced motion support
Implement prefers-reduced-motion to allow users to disable animations, reducing compute and improving accessibility.
Recurs on 64 pages.
Best Practice Example
@media (prefers-reduced-motion: reduce) {
body *,
body *::before,
body *::after {
animation-delay: -1ms !important;
animation-duration: 1ms !important;
animation-iteration-count: 1 !important;
background-attachment: initial !important;
transition-duration: 1ms !important;
transition-delay: -1ms !important;
scroll-behavior: auto !important;
}
}
Source: WSG Guideline 12
medium script Missing system font fallback
Primary font "Nunito" does not appear to use a system font stack fallback. System fonts reduce network requests and improve rendering performance.
Recurs on 64 pages.
Best Practice Example
font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;
Source: WSG Guideline 13
investigate human Review User Journey Efficiency
Have a human walk through the main user journeys and verify they require the fewest steps possible. Unnecessary steps waste user time and device energy. Look for redundant confirmations, forced account creation, and non-essential interstitials.
Recurs on 64 pages.
Reference: WSG 2.4 ↗
investigate human Check for Engagement Traps
Manually review the page for patterns that artificially prolong engagement: infinite scroll, autoplay carousels, sticky overlays, and notification permission prompts. These waste user attention and device energy.
Recurs on 64 pages.
Reference: WSG 2.6 ↗
investigate human Audit for Deceptive Design Patterns
Have a human identify dark patterns: misleading consent dialogs, hidden unsubscribe links, forced continuity, and bait-and-switch flows. Deceptive patterns waste user time and undermine trust.
Recurs on 64 pages.
Reference: WSG 2.7 ↗
investigate human Verify Accessible Alternatives for All Media
Manually check that every video has captions, every audio file has a transcript, every image has meaningful alt text, and every PDF has an accessible HTML alternative. Alternatives let assistive technology users avoid re-downloading heavy formats.
Recurs on 64 pages.
Reference: WSG 2.14 ↗
investigate human Confirm User Research Was Conducted
Verify that genuine user research or usability testing has informed the design. Research-driven design reduces wasted iterations, removes unnecessary features, and ensures the product meets real needs efficiently.
Recurs on 64 pages.
Reference: WSG 2.18 ↗
investigate ai Review Content Conciseness
Use a Large Language Model (e.g. locally or via API) to evaluate page text for conciseness and clarity. Removing superfluous text reduces payload, reading time, and inference energy for search engines indexing this content.
Recurs on 64 pages.
Reference: WSG 2.10 ↗
investigate human Verify Error Pages and Redirects Are Configured
Have a human check that custom 404 and 500 error pages exist and that there are no redirect chains longer than one hop. Broken links force wasted round-trips. Redirect chains multiply transfer costs.
Recurs on 64 pages.
Reference: WSG 4.4 ↗
investigate human Review CDN Usage and Geographic Distribution
Confirm that static assets are served from a CDN and that the CDN edge nodes are geographically close to the primary audience. CDN misuse—or absence—increases last-mile transfer distance and the associated energy cost of data delivery.
Recurs on 64 pages.
Reference: WSG 4.10 ↗
investigate human Confirm a Sustainability Advocate Is Assigned
Verify that someone on the team has explicit responsibility for web sustainability. Without a designated advocate, sustainability improvements tend to be deprioritized and never reach the backlog.
Recurs on 64 pages.
Reference: WSG 5.2 ↗
investigate human Check for a Public Sustainability Statement
Look for a publicly accessible sustainability statement, disclosure page, or environmental policy. Mandatory disclosure requirements are growing globally and transparency builds user trust. The statement should include measurable targets and dates.
Recurs on 64 pages.
Reference: WSG 5.8 ↗
medium script Incomplete media lazy loading
Only 0/16 images use loading="lazy". Global lazy loading reduces initial data transfer and energy consumption.
Recurs on 63 pages.
Best Practice Example
<picture>
<source type="image/avif" srcset="image.avif">
<source type="image/webp" srcset="image.webp">
<img width="100px" height="100px" src="image.jpg" alt="" loading="lazy"/>
</picture>
Source: WSG Guideline 11
medium script Multiple tracking scripts detected
Found 3 commercial tracking scripts. Consider lightweight, privacy-focused alternatives like Plausible or Fathom to reduce JS weight and energy footprint.
Recurs on 63 pages.
Best Practice Example
<!-- Replace heavy trackers with lightweight alternatives -->
<script defer data-domain="yourdomain.com" src="https://plausible.io/js/script.js"></script>
Source: WSG Guideline 7
medium script Missing explicit navigation structure
No <nav> or role="navigation" tags found. Proper wayfinding helps users find content efficiently and reduces unnecessary page loads.
Recurs on 1 pages.
Best Practice Example
<nav aria-label="Primary">
<ul>
<li><a href="/">Home</a></li>
</ul>
</nav>
Reference: WSG 2.5
medium script Missing main content landmark
No <main> or role="main" tags found. Semantic HTML reduces code bloat and allows both assistive technology and web crawlers to parse content more efficiently.
Recurs on 1 pages.
Best Practice Example
<main>
<article>
<h1>Page Title</h1>
<p>Content goes here.</p>
</article>
</main>
Reference: WSG 3.7
WSG Latest Stable Language Version
Flags externally visible runtime/language version drift and recurring opportunities to align with modern stable baselines.
- WSG criterion: Use the latest stable language version
- Assessed pages: 64
- Average language-version score: 0/100 (0 low risk, 100 high risk)
- High urgency pages: 0
Cross-Page Runtime/Language Version Signals
- Pages exposing runtime/language version signals: 0
- Pages with outdated runtime/language signals: 0
No recurring outdated runtime/language signatures were detected from exposed headers.
Green Hosting Checks
Hosting status for the submitted URL hosts and any external script or stylesheet origins, using the Green Web Foundation dataset.
- Dataset: Green Web Foundation
- Submitted URL hosts on green energy: 0 / 64
- Submitted URL hosts not confirmed green: 64
- Submitted URL hosts unknown: 0
- External CSS/JS origins on green energy: 6 / 6
- External CSS/JS origins not confirmed green: 0
- External CSS/JS origins unknown: 0
Third-Party JavaScript Assessment
Evaluates third-party script providers with the same priority as first-party code by combining payload, request volume, and hosting status.
- WSG criterion: Give third parties the same priority as first parties during assessment
- Average risk score: 44/100
- High urgency pages: 0
- Distinct providers: 5
Top Third-Party Script Providers
- www.googletagmanager.com: GREEN (Google Cloud); 52 page(s), 104 request(s), 14.60 MB
- js.hsforms.net: GREEN (Cloudflare); 52 page(s), 52 request(s), 9.83 MB
- www.google-analytics.com: GREEN (Google Cloud); 52 page(s), 52 request(s), 1.04 MB
- www.gstatic.com: GREEN (Google Cloud); 4 page(s), 8 request(s), 2.55 MB
- challenges.cloudflare.com: GREEN (Cloudflare); 2 page(s), 2 request(s), 34.65 KB
Cross-Page Hosting Risk
Recurring external providers with non-green or unknown hosting status across the scanned URL set.
No non-green or unknown recurring external providers were detected.
WSG Modularization Overview
Finds bandwidth-heavy components that should be split, deferred, or loaded only on demand.
- WSG criterion: Modularize bandwidth-heavy components
- Average modularization score: 32/100 (0 low, 100 high)
- High urgency pages: 20
Use this to identify candidates for route-level splitting, interaction-triggered imports, lazy media loading, and deferring heavy third-party or feature bundles.
WSG 3.2 Redundancy Overview
Checks unnecessary or redundant information using Lighthouse waste signals.
- WSG criterion: 3.2 Remove unnecessary or redundant information
- Average redundancy score: 10/100 (0 low, 100 high)
- High urgency pages: 0
Urgency is based on estimated redundant transfer and failed redundancy-related audits, helping teams prioritize fixes that reduce unnecessary bytes first.
WSG Remove Unnecessary Code Overview
Uses Lighthouse signals to estimate unused CSS/JS, duplicated JS, and unnecessary HTML complexity.
- WSG criterion: Remove unnecessary code
- Average dead-code score: 8/100 (0 low, 100 high)
- High urgency pages: 52
WSG Defer Non-Critical Resources Overview
Identifies assets likely not required for first paint and recommends deferring them.
- WSG criterion: Defer the loading of non-critical resources
- Average non-critical score: 11/100 (0 low, 100 high)
- High urgency pages: 20
WSG 3.1 Performance and Energy Budget
Benchmark comparison using Sustainable Web Design Digital Carbon Ratings.
- WSG criterion: 3.1 Set goals based on performance and energy impact
- Benchmark source: Sustainable Web Design ratings
- Current average transfer/page: 2.47 MB (rating F)
- Current average CO2/page: 0.9918 g (rating F)
- Recommended budget target: Rating B = max 975.85 KB and 0.1450 g per page
Reduction needed: Transfer 1.52 MB (61.4%), CO2 0.8468 g (85.4%).
Stretch target: Rating A = 531.15 KB and 0.0790 g per page.
Cross-Page Patterns
Recurring component and bundle opportunities that can often be fixed once in templates, CMS blocks, or the design system.
- This same heavy image pattern appears on 19 pages. Fix it once in the shared template, CMS block, or design system component to reduce load across the whole site.
- These 3 script bundles are recurring modularization targets. Move the fix to the shared bundle or component boundary so every affected page gets lighter at once.
- These 3 modularization targets recur across multiple pages. Centralize the fix at the component or bundle level instead of treating each page separately.
- Heavy assets from www.googletagmanager.com recur across 52 pages. Review whether that dependency should be deferred, optimized, or loaded conditionally.
Recurring Heavy Assets
- script assets from www.googletagmanager.com/gtag appears on 52 pages (14.60 MB total)
- script assets from js.hsforms.net/forms appears on 52 pages (9.83 MB total)
- image assets from storage.googleapis.com/ca-it-prod-home-5918-strapi appears on 19 pages (88.99 MB total)
- font assets from fonts.gstatic.com/s appears on 4 pages (7.39 MB total)
- script assets from www.gstatic.com/_ appears on 4 pages (2.39 MB total)
Recurring Modularization Targets
- Split JavaScript by route or interaction affects 52 pages (est. 13.76 MB aggregate savings)
- Modularize heavy script asset from js.hsforms.net affects 43 pages (est. 8.13 MB aggregate savings)
- Modularize heavy script asset from www.googletagmanager.com affects 34 pages (est. 5.71 MB aggregate savings)
- Lazy-load offscreen images and media galleries affects 31 pages (est. 52.47 MB aggregate savings)
- Modularize heavy image asset from storage.googleapis.com affects 19 pages (est. 63.92 MB aggregate savings)
Recurring Heavy Origins
- www.googletagmanager.com is a recurring heavy source on 52 pages (14.60 MB total)
- js.hsforms.net is a recurring heavy source on 52 pages (9.83 MB total)
- storage.googleapis.com is a recurring heavy source on 19 pages (88.99 MB total)
- fonts.gstatic.com is a recurring heavy source on 4 pages (11.18 MB total)
- www.gstatic.com is a recurring heavy source on 4 pages (3.65 MB total)
Site-Wide Guidance
Shared recommendations grouped by site origin so platform-level fixes can be prioritized before page-by-page cleanup.
This scan appears to target a single site. Shared issues are usually best fixed once at template/platform level.
https://civicactions.com
Sampled pages: 64
- [MEDIUM] Add sitemap.xml at site origin
sitemap.xml is missing for all sampled pages on https://civicactions.com. - [LOW] Publish .well-known/security.txt
.well-known/security.txt is missing for all sampled pages on https://civicactions.com. - [HIGH] Apply Content-Security-Policy site-wide
CSP is absent across all sampled pages on https://civicactions.com. - [HIGH] Introduce service worker support
No sampled pages on https://civicactions.com indicate service worker support for offline resilience. - [HIGH] Support offline fallback behavior
Offline page behavior was not detected across sampled pages on https://civicactions.com. - [MEDIUM] Fix recurring optimization bloat at shared layer
Lazy-load offscreen images recurs across 52 pages on https://civicactions.com (est. 52.96 MB aggregate savings). - [HIGH] Prioritize recurring compression fixes
Use modern image compression formats recurs across 22 pages on https://civicactions.com (est. 55.54 MB aggregate savings). - [HIGH] Prioritize recurring offline/caching improvements
Add service worker support is needed across 64 pages on https://civicactions.com.
Recurring compression opportunities:
- Use modern image compression formats: 22 page(s), est. 55.54 MB total savings, urgency HIGH
- Improve image encoding quality/size: 2 page(s), est. 606.68 KB total savings, urgency HIGH
Recurring offline/caching opportunities:
- Add service worker support: 64 page(s), urgency HIGH
- Ensure critical routes work offline: 64 page(s), urgency HIGH
- Improve web app manifest support: 64 page(s), urgency MEDIUM
- Strengthen static asset cache TTL: 64 page(s), urgency HIGH
- Support offline start URL behavior: 64 page(s), urgency MEDIUM
Recurring optimization opportunities:
- Lazy-load offscreen images: 52 page(s), est. 52.96 MB total savings
- Remove unused JavaScript: 52 page(s), est. 13.76 MB total savings
- Remove unused CSS: 52 page(s), est. 951.43 KB total savings
- Serve images in next-gen formats: 22 page(s), est. 55.54 MB total savings
- Right-size images for viewport: 18 page(s), est. 41.11 MB total savings
- Compress oversized image assets: 2 page(s), est. 606.68 KB total savings
Page-Specific Guidance
Page-level exceptions and targeted follow-ups after site-wide recommendations are addressed.
https://civicactions.com
- https://civicactions.com/case-studies/globalnet-platform-support/
Urgency: HIGH. Scores: compression 81/100, optimization 100/100, offline 100/100, dependency 2/100, language 0/100, security 55/100, expected files 40/100, media 43/100.
Top actions: Use modern image compression formats; Lazy-load offscreen images; Serve images in next-gen formats - https://civicactions.com/case-studies/va-cms-modernization/
Urgency: HIGH. Scores: compression 73/100, optimization 100/100, offline 100/100, dependency 2/100, language 0/100, security 55/100, expected files 40/100, media 42/100.
Top actions: Use modern image compression formats; Lazy-load offscreen images; Serve images in next-gen formats - https://civicactions.com/case-studies/va-cms-modernization
Urgency: HIGH. Scores: compression 73/100, optimization 100/100, offline 100/100, dependency 2/100, language 0/100, security 55/100, expected files 40/100, media 42/100.
Top actions: Use modern image compression formats; Lazy-load offscreen images; Serve images in next-gen formats - https://civicactions.com/case-studies/nsf-website-redesign/
Urgency: HIGH. Scores: compression 73/100, optimization 100/100, offline 100/100, dependency 2/100, language 0/100, security 55/100, expected files 40/100, media 36/100.
Top actions: Use modern image compression formats; Serve images in next-gen formats; Lazy-load offscreen images - https://civicactions.com/case-studies/georgia-workforce-open-data/
Urgency: HIGH. Scores: compression 58/100, optimization 100/100, offline 100/100, dependency 2/100, language 0/100, security 55/100, expected files 40/100, media 50/100.
Top actions: Use modern image compression formats; Serve images in next-gen formats; Right-size images for viewport - https://civicactions.com/case-studies/va-alt-text/
Urgency: HIGH. Scores: compression 61/100, optimization 100/100, offline 100/100, dependency 2/100, language 0/100, security 55/100, expected files 40/100, media 45/100.
Top actions: Use modern image compression formats; Serve images in next-gen formats; Lazy-load offscreen images
Overview Table
| URL | Performance | Transfer | CO2 | Findings | Top Actions |
|---|---|---|---|---|---|
| https://civicactions.com/case-studies/cms-design-challenge-mvp/ | 77/100 | 1.19 MB | 0.4781 g | 6 | Largest Contentful Paint; Reduce unused JavaScript |
| https://civicactions.com/case-studies/fcc-website-modernization/ | 93/100 | 1.29 MB | 0.5175 g | 5 | Largest Contentful Paint; Reduce unused JavaScript |
| https://civicactions.com/case-studies/georgia-workforce-open-data/ | 65/100 | 3.15 MB | 1.2670 g | 6 | Largest Contentful Paint; Reduce unused JavaScript |
| https://civicactions.com/case-studies/nyc-metro-transit-digital-clocks/ | 93/100 | 3.43 MB | 1.3792 g | 6 | Largest Contentful Paint; Reduce unused JavaScript |
| https://civicactions.com/case-studies/nsf-website-redesign/ | 63/100 | 12.39 MB | 4.9787 g | 6 | Largest Contentful Paint; Reduce unused JavaScript |
| https://civicactions.com/case-studies/va-cms-modernization/ | 65/100 | 11.19 MB | 4.4959 g | 6 | Largest Contentful Paint; Reduce unused JavaScript |
| https://civicactions.com/case-studies/open-acr/ | 93/100 | 1.04 MB | 0.4197 g | 5 | Largest Contentful Paint; Reduce unused JavaScript |
| https://civicactions.com/case-studies/va-alt-text/ | 70/100 | 2.83 MB | 1.1350 g | 6 | Largest Contentful Paint; Reduce unused JavaScript |
| https://civicactions.com/case-studies/Drupal-10/ | 71/100 | 1.38 MB | 0.5549 g | 6 | Largest Contentful Paint; Reduce unused JavaScript |
| https://civicactions.com/case-studies/globalnet-platform-support/ | 90/100 | 12.43 MB | 4.9915 g | 6 | Largest Contentful Paint; Reduce unused JavaScript |
| https://civicactions.com/case-studies/dept-of-education-system-lifecycle-development-management/ | 64/100 | 8.07 MB | 3.2407 g | 6 | Largest Contentful Paint; Reduce unused JavaScript |
| https://civicactions.com/case-studies/cybergeek/ | 81/100 | 1.00 MB | 0.4023 g | 5 | Largest Contentful Paint; Reduce unused JavaScript |
| https://civicactions.com/case-studies/cms-web-experience-services/ | 92/100 | 1.52 MB | 0.6099 g | 5 | Largest Contentful Paint; Reduce unused JavaScript |
| https://civicactions.com/press/2024-07-09-CivicActions-Appoints-Mike-Gifford/ | 91/100 | 865.09 KB | 0.3394 g | 4 | Defer offscreen images; Largest Contentful Paint |
| https://civicactions.com/press/2024-01-16-CivicActions-Announces-Impact-Report/ | 88/100 | 860.79 KB | 0.3377 g | 4 | Reduce unused JavaScript; Largest Contentful Paint |
| https://civicactions.com/press/2024-01-05-CivicActions-Partners-with-aamdsif/ | 93/100 | 861.41 KB | 0.3379 g | 4 | Defer offscreen images; Largest Contentful Paint |
| https://civicactions.com/press/2022-04-21-civicactions-announces-Ryerson-partnership-digital-accessibility/ | 93/100 | 861.09 KB | 0.3378 g | 4 | Defer offscreen images; Largest Contentful Paint |
| https://civicactions.com/press/2022-01-05-civicactions-named-govtech-100-top-government-technology-companies-list/ | 93/100 | 859.83 KB | 0.3373 g | 4 | Defer offscreen images; Largest Contentful Paint |
| https://civicactions.com/press/2021-09-08-civicactions-announces-ditap-grads-across-federal-agencies/ | 90/100 | 861.93 KB | 0.3381 g | 4 | Defer offscreen images; Largest Contentful Paint |
| https://civicactions.com/press/2021-07-19-civicactions-announces-va-ditap-graduation/ | 92/100 | 861.44 KB | 0.3379 g | 4 | Defer offscreen images; Largest Contentful Paint |
| https://civicactions.com/press/2021-07-08-gsa-engages-civicactions-to-modernize-vpat/ | 90/100 | 861.04 KB | 0.3378 g | 4 | Defer offscreen images; Largest Contentful Paint |
| https://civicactions.com/press/2021-05-11-civicactions-wins-department-of-ed-recompete/ | 90/100 | 860.63 KB | 0.3376 g | 4 | Defer offscreen images; Largest Contentful Paint |
| https://civicactions.com/press/2021-05-03-civicactions-wins-nsf-recompete/ | 93/100 | 860.63 KB | 0.3376 g | 4 | Defer offscreen images; Largest Contentful Paint |
| https://civicactions.com/press/2020-11-09-civicactions-acquires-openconcept/ | 92/100 | 861.25 KB | 0.3378 g | 4 | Defer offscreen images; Largest Contentful Paint |
| https://civicactions.com/press/2020-08-14-civicactions-certified-to-deliver-ditap/ | 90/100 | 861.24 KB | 0.3378 g | 4 | Defer offscreen images; Largest Contentful Paint |
| https://civicactions.com/press/2020-03-02-civicactions-wins-cms-contract/ | 91/100 | 860.65 KB | 0.3376 g | 4 | Defer offscreen images; Largest Contentful Paint |
| https://civicactions.com/press/ | 81/100 | 861.58 KB | 0.3380 g | 4 | Largest Contentful Paint; Reduce unused JavaScript |
| https://civicactions.com/press/2/ | 92/100 | 861.70 KB | 0.3380 g | 4 | Defer offscreen images; Largest Contentful Paint |
| https://civicactions.com/press/3/ | 93/100 | 861.05 KB | 0.3378 g | 4 | Defer offscreen images; Largest Contentful Paint |
| https://civicactions.com/accessibility-statement/ | 90/100 | 864.32 KB | 0.3390 g | 4 | Defer offscreen images; Largest Contentful Paint |
| https://civicactions.com/services/ditap/ | 87/100 | 1.73 MB | 0.6933 g | 5 | Largest Contentful Paint; Reduce unused JavaScript |
| https://civicactions.com/careers/ | 74/100 | 3.00 MB | 1.2031 g | 7 | Largest Contentful Paint; Serve images in next-gen formats |
| https://civicactions.com/case-studies/ | 92/100 | 14.81 MB | 5.9474 g | 6 | Serve images in next-gen formats; Largest Contentful Paint |
| https://civicactions.com/contact/ | 92/100 | 1.20 MB | 0.4821 g | 4 | Defer offscreen images; Largest Contentful Paint |
| https://civicactions.com/contracting/ | 88/100 | 982.52 KB | 0.3854 g | 4 | Defer offscreen images; Largest Contentful Paint |
| https://civicactions.com/feedback/ | 90/100 | 5.69 MB | 2.2839 g | 5 | Largest Contentful Paint; Reduce unused JavaScript |
| https://civicactions.com/ | 75/100 | 1.87 MB | 0.7499 g | 5 | Largest Contentful Paint; Serve images in next-gen formats |
| https://civicactions.com/licensing/ | 93/100 | 834.37 KB | 0.3273 g | 4 | Defer offscreen images; Largest Contentful Paint |
| https://civicactions.com/privacy/ | 93/100 | 836.65 KB | 0.3282 g | 4 | Defer offscreen images; Largest Contentful Paint |
| https://civicactions.com/services/ | 90/100 | 868.53 KB | 0.3407 g | 4 | Defer offscreen images; Largest Contentful Paint |
| https://civicactions.com/services2/ | 93/100 | 827.35 KB | 0.3245 g | 4 | Defer offscreen images; Largest Contentful Paint |
| https://civicactions.com/styles/ | 93/100 | 828.51 KB | 0.3250 g | 4 | Defer offscreen images; Largest Contentful Paint |
| https://civicactions.com/sustainability/ | 91/100 | 868.73 KB | 0.3408 g | 4 | Defer offscreen images; Largest Contentful Paint |
| https://civicactions.com/team/ | 88/100 | 1.12 MB | 0.4504 g | 5 | Defer offscreen images; Largest Contentful Paint |
| https://civicactions.com/services/ditap/register/ | 91/100 | 5.69 MB | 2.2854 g | 5 | Largest Contentful Paint; Reduce unused JavaScript |
| https://civicactions.com/manifest.webmanifest | n/a | 0.00 B | 0.0000 g | 13 | Largest Contentful Paint; Speed Index |
| https://civicactions.com/services/ditap | 78/100 | 1.73 MB | 0.6935 g | 5 | Largest Contentful Paint; Reduce unused JavaScript |
| https://civicactions.com/services/ditap/register | 87/100 | 5.69 MB | 2.2856 g | 5 | Largest Contentful Paint; Reduce unused JavaScript |
| https://civicactions.com/case-studies/nyc-metro-transit-digital-clocks%20/ | n/a | 0.00 B | 0.0000 g | 13 | Largest Contentful Paint; Speed Index |
| https://civicactions.com/case-studies/cms-web-experience-services/fearless.tech | n/a | 0.00 B | 0.0000 g | 13 | Largest Contentful Paint; Speed Index |
| https://civicactions.com/feedback | 84/100 | 5.68 MB | 2.2835 g | 5 | Largest Contentful Paint; Reduce unused JavaScript |
| https://civicactions.com/case-studies | 82/100 | 14.81 MB | 5.9476 g | 6 | Largest Contentful Paint; Serve images in next-gen formats |
| https://civicactions.com/case-studies/va-cms-modernization | 66/100 | 11.19 MB | 4.4960 g | 6 | Largest Contentful Paint; Reduce unused JavaScript |
| https://civicactions.com/case-studies/Drupal-10/CMS.gov | n/a | 0.00 B | 0.0000 g | 13 | Largest Contentful Paint; Speed Index |
| https://civicactions.com/case-studies/Drupal-10/Medicare.gov | n/a | 0.00 B | 0.0000 g | 13 | Largest Contentful Paint; Speed Index |
| https://civicactions.com/case-studies/Drupal-10/Openpaymentsdata.cms.gov | n/a | 0.00 B | 0.0000 g | 13 | Largest Contentful Paint; Speed Index |
| https://civicactions.com/case-studies/Drupal-10/Data.medicaid.gov | n/a | 0.00 B | 0.0000 g | 13 | Largest Contentful Paint; Speed Index |
| https://civicactions.com/case-studies/Drupal-10/Data.healthcare.gov | n/a | 0.00 B | 0.0000 g | 13 | Largest Contentful Paint; Speed Index |
| https://civicactions.com/case-studies/Drupal-10/SDIS.medicaid.gov | n/a | 0.00 B | 0.0000 g | 13 | Largest Contentful Paint; Speed Index |
| https://civicactions.com/case-studies/Drupal-10/PFS.data.cms.gov | n/a | 0.00 B | 0.0000 g | 13 | Largest Contentful Paint; Speed Index |
| https://civicactions.com/case-studies/Drupal-10/QIC.cms.gov | n/a | 0.00 B | 0.0000 g | 13 | Largest Contentful Paint; Speed Index |
| https://civicactions.com/case-studies/cms-web-experience-services | 89/100 | 1.52 MB | 0.6100 g | 5 | Largest Contentful Paint; Reduce unused JavaScript |
| https://civicactions.com/case-studies/cms-design-challenge-mvp | 81/100 | 1.19 MB | 0.4768 g | 5 | Largest Contentful Paint; Serve images in next-gen formats |
| https://civicactions.com/case-studies/fearless.tech | n/a | 0.00 B | 0.0000 g | 13 | Largest Contentful Paint; Speed Index |
Per-Page Green Hosting Details
Checks the submitted page host plus any external script and stylesheet origins discovered by Lighthouse.
https://civicactions.com/case-studies/cms-design-challenge-mvp/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.97 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.76 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.91 KB
https://civicactions.com/case-studies/fcc-website-modernization/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.54 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.67 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/case-studies/georgia-workforce-open-data/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.49 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/case-studies/nyc-metro-transit-digital-clocks/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.50 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/case-studies/nsf-website-redesign/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/case-studies/va-cms-modernization/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.51 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/case-studies/open-acr/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.49 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.76 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.91 KB
https://civicactions.com/case-studies/va-alt-text/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.48 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.67 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/case-studies/Drupal-10/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.51 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.67 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/case-studies/globalnet-platform-support/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.50 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/case-studies/dept-of-education-system-lifecycle-development-management/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.50 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/case-studies/cybergeek/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.52 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/case-studies/cms-web-experience-services/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.51 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/press/2024-07-09-CivicActions-Appoints-Mike-Gifford/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.50 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/press/2024-01-16-CivicActions-Announces-Impact-Report/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.51 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/press/2024-01-05-CivicActions-Partners-with-aamdsif/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/press/2022-04-21-civicactions-announces-Ryerson-partnership-digital-accessibility/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.50 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/press/2022-01-05-civicactions-named-govtech-100-top-government-technology-companies-list/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.49 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/press/2021-09-08-civicactions-announces-ditap-grads-across-federal-agencies/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.54 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/press/2021-07-19-civicactions-announces-va-ditap-graduation/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.51 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/press/2021-07-08-gsa-engages-civicactions-to-modernize-vpat/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.51 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/press/2021-05-11-civicactions-wins-department-of-ed-recompete/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.54 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.38 KB
https://civicactions.com/press/2021-05-03-civicactions-wins-nsf-recompete/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.52 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.38 KB
https://civicactions.com/press/2020-11-09-civicactions-acquires-openconcept/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/press/2020-08-14-civicactions-certified-to-deliver-ditap/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.52 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.67 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/press/2020-03-02-civicactions-wins-cms-contract/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/press/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.67 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/press/2/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/press/3/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.56 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/accessibility-statement/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/services/ditap/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.52 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/careers/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
- SCRIPT challenges.cloudflare.com: GREEN (Cloudflare), 1 request(s), 17.30 KB
https://civicactions.com/case-studies/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.54 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/contact/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.55 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
- SCRIPT challenges.cloudflare.com: GREEN (Cloudflare), 1 request(s), 17.36 KB
https://civicactions.com/contracting/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/feedback/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.gstatic.com: GREEN (Google Cloud), 2 request(s), 652.05 KB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- STYLESHEET www.gstatic.com: GREEN (Google Cloud), 1 request(s), 151.64 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
- STYLESHEET fonts.googleapis.com: GREEN (Google Cloud), 3 request(s), 3.76 KB
https://civicactions.com/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.67 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/licensing/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.54 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/privacy/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.54 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/services/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.54 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.67 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/services2/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/styles/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.54 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/sustainability/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.54 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/team/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.54 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/services/ditap/register/
Page host: civicactions.com: NOT GREEN
- SCRIPT www.gstatic.com: GREEN (Google Cloud), 2 request(s), 652.05 KB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.52 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- STYLESHEET www.gstatic.com: GREEN (Google Cloud), 1 request(s), 151.64 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
- STYLESHEET fonts.googleapis.com: GREEN (Google Cloud), 3 request(s), 3.42 KB
https://civicactions.com/manifest.webmanifest
Page host: civicactions.com: NOT GREEN
No external stylesheet or script origins were detected.
https://civicactions.com/services/ditap
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.55 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/services/ditap/register
Page host: civicactions.com: NOT GREEN
- SCRIPT www.gstatic.com: GREEN (Google Cloud), 2 request(s), 652.05 KB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.52 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.65 KB
- STYLESHEET www.gstatic.com: GREEN (Google Cloud), 1 request(s), 151.64 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
- STYLESHEET fonts.googleapis.com: GREEN (Google Cloud), 3 request(s), 3.42 KB
https://civicactions.com/case-studies/nyc-metro-transit-digital-clocks%20/
Page host: civicactions.com: NOT GREEN
No external stylesheet or script origins were detected.
https://civicactions.com/case-studies/cms-web-experience-services/fearless.tech
Page host: civicactions.com: NOT GREEN
No external stylesheet or script origins were detected.
https://civicactions.com/feedback
Page host: civicactions.com: NOT GREEN
- SCRIPT www.gstatic.com: GREEN (Google Cloud), 2 request(s), 652.05 KB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.54 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- STYLESHEET www.gstatic.com: GREEN (Google Cloud), 1 request(s), 151.64 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
- STYLESHEET fonts.googleapis.com: GREEN (Google Cloud), 3 request(s), 3.38 KB
https://civicactions.com/case-studies
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/case-studies/va-cms-modernization
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.54 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/case-studies/Drupal-10/CMS.gov
Page host: civicactions.com: NOT GREEN
No external stylesheet or script origins were detected.
https://civicactions.com/case-studies/Drupal-10/Medicare.gov
Page host: civicactions.com: NOT GREEN
No external stylesheet or script origins were detected.
https://civicactions.com/case-studies/Drupal-10/Openpaymentsdata.cms.gov
Page host: civicactions.com: NOT GREEN
No external stylesheet or script origins were detected.
https://civicactions.com/case-studies/Drupal-10/Data.medicaid.gov
Page host: civicactions.com: NOT GREEN
No external stylesheet or script origins were detected.
https://civicactions.com/case-studies/Drupal-10/Data.healthcare.gov
Page host: civicactions.com: NOT GREEN
No external stylesheet or script origins were detected.
https://civicactions.com/case-studies/Drupal-10/SDIS.medicaid.gov
Page host: civicactions.com: NOT GREEN
No external stylesheet or script origins were detected.
https://civicactions.com/case-studies/Drupal-10/PFS.data.cms.gov
Page host: civicactions.com: NOT GREEN
No external stylesheet or script origins were detected.
https://civicactions.com/case-studies/Drupal-10/QIC.cms.gov
Page host: civicactions.com: NOT GREEN
No external stylesheet or script origins were detected.
https://civicactions.com/case-studies/cms-web-experience-services
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.51 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/case-studies/cms-design-challenge-mvp
Page host: civicactions.com: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 2 request(s), 287.52 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare), 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.39 KB
https://civicactions.com/case-studies/fearless.tech
Page host: civicactions.com: NOT GREEN
No external stylesheet or script origins were detected.
Copy/Paste GitHub Issue Snippets
Use these blocks to open targeted implementation issues in your queue.
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Serve images in next-gen formats
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Reduce unused CSS
Impact: medium
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Serve images in next-gen formats
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Reduce unused CSS
Impact: medium
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Serve images in next-gen formats
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Serve images in next-gen formats
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Reduce unused CSS
Impact: medium
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Serve images in next-gen formats
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Serve images in next-gen formats
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Reduce unused CSS
Impact: medium
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Serve images in next-gen formats
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Serve images in next-gen formats
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Reduce unused CSS
Impact: medium
Defer offscreen images
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Reduce unused JavaScript
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused CSS
Impact: medium
Defer offscreen images
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Defer offscreen images
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Defer offscreen images
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Defer offscreen images
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Defer offscreen images
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Defer offscreen images
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Defer offscreen images
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Defer offscreen images
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Defer offscreen images
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Defer offscreen images
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Defer offscreen images
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Defer offscreen images
Impact: high
Defer offscreen images
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Defer offscreen images
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Defer offscreen images
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Reduce unused CSS
Impact: medium
Largest Contentful Paint
Impact: high
Serve images in next-gen formats
Impact: high
Reduce unused JavaScript
Impact: medium
Serve images in next-gen formats
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Defer offscreen images
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Defer offscreen images
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Reduce unused CSS
Impact: medium
Largest Contentful Paint
Impact: high
Serve images in next-gen formats
Impact: high
Defer offscreen images
Impact: high
Defer offscreen images
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Defer offscreen images
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Defer offscreen images
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Defer offscreen images
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Defer offscreen images
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Defer offscreen images
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Defer offscreen images
Impact: high
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Reduce unused CSS
Impact: medium
Largest Contentful Paint
Impact: investigate
Speed Index
Impact: investigate
Reduce unused JavaScript
Impact: investigate
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: medium
Reduce unused CSS
Impact: medium
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Reduce unused CSS
Impact: medium
Largest Contentful Paint
Impact: investigate
Speed Index
Impact: investigate
Reduce unused JavaScript
Impact: investigate
Largest Contentful Paint
Impact: investigate
Speed Index
Impact: investigate
Reduce unused JavaScript
Impact: investigate
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Reduce unused CSS
Impact: medium
Largest Contentful Paint
Impact: high
Serve images in next-gen formats
Impact: high
Reduce unused JavaScript
Impact: medium
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Serve images in next-gen formats
Impact: high
Largest Contentful Paint
Impact: investigate
Speed Index
Impact: investigate
Reduce unused JavaScript
Impact: investigate
Largest Contentful Paint
Impact: investigate
Speed Index
Impact: investigate
Reduce unused JavaScript
Impact: investigate
Largest Contentful Paint
Impact: investigate
Speed Index
Impact: investigate
Reduce unused JavaScript
Impact: investigate
Largest Contentful Paint
Impact: investigate
Speed Index
Impact: investigate
Reduce unused JavaScript
Impact: investigate
Largest Contentful Paint
Impact: investigate
Speed Index
Impact: investigate
Reduce unused JavaScript
Impact: investigate
Largest Contentful Paint
Impact: investigate
Speed Index
Impact: investigate
Reduce unused JavaScript
Impact: investigate
Largest Contentful Paint
Impact: investigate
Speed Index
Impact: investigate
Reduce unused JavaScript
Impact: investigate
Largest Contentful Paint
Impact: investigate
Speed Index
Impact: investigate
Reduce unused JavaScript
Impact: investigate
Largest Contentful Paint
Impact: medium
Reduce unused JavaScript
Impact: medium
Reduce unused CSS
Impact: medium
Largest Contentful Paint
Impact: high
Serve images in next-gen formats
Impact: high
Reduce unused JavaScript
Impact: medium
Largest Contentful Paint
Impact: investigate
Speed Index
Impact: investigate
Reduce unused JavaScript
Impact: investigate
Markdown Version
Show report markdown
# Sustainability Scan Report: SCAN: https://CivicActions.com
- Issue number: #41
- Generated at: 2026-04-20T17:39:16.737Z
- URLs requested: 64
- URLs scanned: 64
- Distinct sites scanned: 1
- Scan errors: 0
- Average performance score: 70/100
- Total transfer: 158.02 MB
- Estimated CO2: 63.4763 g
- Average transfer per page: 2.47 MB
- Average CO2 per page: 0.9918 g
- Average redundancy score: 10/100
- Pages with high redundancy urgency: 0
- Average modularization score: 32/100
- Pages with high modularization urgency: 20
- Average dead-code score: 8/100
- Pages with high dead-code urgency: 52
- Average non-critical resources score: 11/100
- Pages with high non-critical resource urgency: 20
- Average form validation score: 5/100
- Pages with high form validation urgency: 2
- Average metadata score: 1/100
- Pages with high metadata urgency: 1
- Average layout adaptation score: 30/100
- Pages with high layout urgency: 0
- Average lightweight security score: 51/100
- Pages with high security urgency: 4
- Average dependency maintenance score: 2/100
- Pages with high dependency maintenance urgency: 0
- Average expected-files score: 40/100
- Pages with high expected-files urgency: 0
- Average compression score: 14/100
- Pages with high compression urgency: 6
- Average optimization score: 81/100
- Pages with high optimization urgency: 52
- Average offline support score: 100/100
- Pages with high offline support urgency: 64
- Average media hints score: 47/100
- Pages with high media hints urgency: 0
- Average language version score: 0/100
- Pages with high language version urgency: 0
## WSG Form Validation and Tooling
- WSG reference: Validate form errors and account for tooling requirements (https://www.w3.org/TR/web-sustainability-guidelines/#validate-form-errors-and-account-for-tooling-requirements)
- Unique form element signatures assessed: 11
- Total form element occurrences observed: 18
- Reused assessments (not re-scanned repeats): 7
### Recurring Form Elements (Assessed Once, Reused Across Pages)
- select (tabs): appears on 2 page(s), risk 90/100, urgency HIGH
- checkbox (web_cms): appears on 2 page(s), risk 50/100, urgency MEDIUM
- checkbox (it_service_modernization): appears on 2 page(s), risk 50/100, urgency MEDIUM
- checkbox (product_design): appears on 2 page(s), risk 50/100, urgency MEDIUM
- checkbox (security_compliance): appears on 2 page(s), risk 50/100, urgency MEDIUM
- checkbox (data_services): appears on 2 page(s), risk 50/100, urgency MEDIUM
- checkbox (workforce_development): appears on 2 page(s), risk 50/100, urgency MEDIUM
## WSG Metadata for Machine Readability
- WSG reference: Structure metadata for machine readability (https://www.w3.org/TR/web-sustainability-guidelines/#structure-metadata-for-machine-readability)
- Assessed pages: 64
- Average metadata score: 1/100
- Pages with high urgency: 1
- Missing metadata across pages:
- Missing html lang: 1
- Missing meta description: 1
- Missing canonical URL: 1
- Missing Open Graph core tags: 1
- Missing twitter:card: 1
- Invalid or missing JSON-LD: 0
## WSG Multi-Device Layout Support
- WSG reference: Ensure layouts work for different devices and requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-layouts-work-for-different-devices-and-requirements)
- Assessed pages: 64
- Average layout adaptation score: 30/100
- High urgency pages: 0
- Pages with mobile overflow: 0
- Pages with tablet overflow: 0
- Total small tap targets on mobile: 2007
- Total small tap targets on tablet: 1987
- Total fixed-width offenders: 0
- Pages with grid overflow containers: 4
- Total overflowing grid containers: 8
- Total grid containers detected: 308
## WSG Lightweight Security Review
- WSG reference: Ensure that your code is secure (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-that-your-code-is-secure)
- Assessed pages: 64
- Average lightweight security score: 51/100
- High urgency pages: 4
- Pages missing Content-Security-Policy: 64
- HTTPS pages missing Strict-Transport-Security: 53
- Pages with vulnerable JS library findings: 0
- External scripts missing SRI (total): 75
## WSG Dependency Maintenance Review
- WSG reference: Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- Assessed pages: 64
- Average dependency maintenance score: 2/100
- High urgency pages: 0
- Pages with vulnerable dependencies: 0
- Total vulnerable dependency findings: 0
## WSG Expected and Beneficial Files
- WSG reference: Include expected and beneficial files (https://www.w3.org/TR/web-sustainability-guidelines/#include-expected-and-beneficial-files)
- Assessed pages: 64
- Average expected-files score: 40/100
- High urgency pages: 0
- Missing files across pages:
- robots.txt missing: 0
- sitemap.xml missing: 64
- .well-known/security.txt missing: 64
- manifest.webmanifest missing: 0
- favicon.ico missing: 64
## WSG Reduce Data Transfer With Compression
- WSG reference: Reduce data transfer with compression (https://www.w3.org/TR/web-sustainability-guidelines/#reduce-data-transfer-with-compression)
- Assessed pages: 64
- Average compression score: 14/100
- High urgency pages: 6
- Pages missing effective text compression: 0
- Aggregate potential compression savings: 56.14 MB
- Recurring compression opportunities:
- Use modern image compression formats: appears on 22 page(s), est. 55.54 MB total savings, urgency HIGH
- Improve image encoding quality/size: appears on 2 page(s), est. 606.68 KB total savings, urgency HIGH
## WSG Efficient Solution Optimization Opportunities
- WSG reference: Use the most efficient solution for your service (https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service)
- Assessed pages: 64
- Average optimization score: 81/100
- High urgency pages: 52
- Aggregate potential byte savings: 164.90 MB
- Aggregate render-blocking reduction potential: 0 ms
- Recurring optimization opportunities:
- Lazy-load offscreen images: appears on 52 page(s), est. 52.96 MB total savings
- Remove unused JavaScript: appears on 52 page(s), est. 13.76 MB total savings
- Remove unused CSS: appears on 52 page(s), est. 951.43 KB total savings
- Serve images in next-gen formats: appears on 22 page(s), est. 55.54 MB total savings
- Right-size images for viewport: appears on 18 page(s), est. 41.11 MB total savings
- Compress oversized image assets: appears on 2 page(s), est. 606.68 KB total savings
## WSG Offline Access and Caching Support
- WSG reference: Optimize caching and support offline access (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-caching-and-support-offline-access)
- Assessed pages: 64
- Average offline support score: 100/100
- High urgency pages: 64
- Pages without service worker support: 64
- Pages without offline support: 64
- Pages with weak cache TTL signals: 64
- Recurring offline/caching opportunities:
- Add service worker support: appears on 64 page(s), urgency HIGH
- Ensure critical routes work offline: appears on 64 page(s), urgency HIGH
- Improve web app manifest support: appears on 64 page(s), urgency MEDIUM
- Strengthen static asset cache TTL: appears on 64 page(s), urgency HIGH
- Support offline start URL behavior: appears on 64 page(s), urgency MEDIUM
## WSG Latest Stable Language Version
- WSG reference: Use the latest stable language version (https://www.w3.org/TR/web-sustainability-guidelines/#use-the-latest-stable-language-version)
- Assessed pages: 64
- Average language-version score: 0/100
- High urgency pages: 0
- Pages exposing runtime/language version signals: 0
- Pages with outdated runtime/language signals: 0
## WSG Media Sustainability Hints
- WSG reference: Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- Assessed pages: 64
- Average media hints score: 47/100
- High urgency pages: 0
- Pages with autoplay media: 0
- Pages with unmuted autoplay: 0
- Pages without dark mode support: 63
- Pages with lazy loading gap (< 50% of images lazy): 63
## Grid-Aware Websites Detection
- Assessed pages: 64
- Pages with grid-aware signals detected: 0
- No grid-aware website signals detected. Consider implementing grid-aware adaptation: https://www.thegreenwebfoundation.org/tools/grid-aware-websites/
## WSG Success Criteria & Best Practices
- Assessed pages: 64
- Average WSG compliance score: 45/100
### [LOW] [SCRIPT] Missing print style sheet
Add a @media print stylesheet to ensure the page is optimized for paper-saving printing.
- Recurs on 64 page(s).
**Best Practice Example:**
```javascript
// Implementation details in documentation
```
- [WSG Guideline 17](https://www.w3.org/TR/web-sustainability-guidelines/#reduce-the-impact-of-downloadable-and-physical-documents)
### [LOW] [SCRIPT] No reduced motion support
Implement prefers-reduced-motion to allow users to disable animations, reducing compute and improving accessibility.
- Recurs on 64 page(s).
**Best Practice Example:**
```javascript
@media (prefers-reduced-motion: reduce) {
body *,
body *::before,
body *::after {
animation-delay: -1ms !important;
animation-duration: 1ms !important;
animation-iteration-count: 1 !important;
background-attachment: initial !important;
transition-duration: 1ms !important;
transition-delay: -1ms !important;
scroll-behavior: auto !important;
}
}
```
- [WSG Guideline 12](https://www.w3.org/TR/web-sustainability-guidelines/#ensure-animation-is-proportionate-and-easy-to-control)
### [MEDIUM] [SCRIPT] Missing system font fallback
Primary font "Nunito" does not appear to use a system font stack fallback. System fonts reduce network requests and improve rendering performance.
- Recurs on 64 page(s).
**Best Practice Example:**
```javascript
font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;
```
- [WSG Guideline 13](https://www.w3.org/TR/web-sustainability-guidelines/#use-optimized-and-appropriate-web-typography)
### [INVESTIGATE] [HUMAN] Review User Journey Efficiency
Have a human walk through the main user journeys and verify they require the fewest steps possible. Unnecessary steps waste user time and device energy. Look for redundant confirmations, forced account creation, and non-essential interstitials.
- Recurs on 64 page(s).
- [WSG 2.4 Reference](https://www.w3.org/TR/web-sustainability-guidelines/#minimize-non-essential-content-interactivity-or-journeys)
### [INVESTIGATE] [HUMAN] Check for Engagement Traps
Manually review the page for patterns that artificially prolong engagement: infinite scroll, autoplay carousels, sticky overlays, and notification permission prompts. These waste user attention and device energy.
- Recurs on 64 page(s).
- [WSG 2.6 Reference](https://www.w3.org/TR/web-sustainability-guidelines/#design-to-assist-and-not-to-distract)
### [INVESTIGATE] [HUMAN] Audit for Deceptive Design Patterns
Have a human identify dark patterns: misleading consent dialogs, hidden unsubscribe links, forced continuity, and bait-and-switch flows. Deceptive patterns waste user time and undermine trust.
- Recurs on 64 page(s).
- [WSG 2.7 Reference](https://www.w3.org/TR/web-sustainability-guidelines/#avoid-being-manipulative-or-deceptive)
### [INVESTIGATE] [HUMAN] Verify Accessible Alternatives for All Media
Manually check that every video has captions, every audio file has a transcript, every image has meaningful alt text, and every PDF has an accessible HTML alternative. Alternatives let assistive technology users avoid re-downloading heavy formats.
- Recurs on 64 page(s).
- [WSG 2.14 Reference](https://www.w3.org/TR/web-sustainability-guidelines/#offer-suitable-alternatives-for-every-format-used)
### [INVESTIGATE] [HUMAN] Confirm User Research Was Conducted
Verify that genuine user research or usability testing has informed the design. Research-driven design reduces wasted iterations, removes unnecessary features, and ensures the product meets real needs efficiently.
- Recurs on 64 page(s).
- [WSG 2.18 Reference](https://www.w3.org/TR/web-sustainability-guidelines/#involve-users-early-in-the-project)
### [INVESTIGATE] [AI] Review Content Conciseness
Use a Large Language Model (e.g. locally or via API) to evaluate page text for conciseness and clarity. Removing superfluous text reduces payload, reading time, and inference energy for search engines indexing this content.
- Recurs on 64 page(s).
- [WSG 2.10 Reference](https://www.w3.org/TR/web-sustainability-guidelines/#provide-clear-inclusive-content-with-purpose)
### [INVESTIGATE] [HUMAN] Verify Error Pages and Redirects Are Configured
Have a human check that custom 404 and 500 error pages exist and that there are no redirect chains longer than one hop. Broken links force wasted round-trips. Redirect chains multiply transfer costs.
- Recurs on 64 page(s).
- [WSG 4.4 Reference](https://www.w3.org/TR/web-sustainability-guidelines/#setup-necessary-error-pages-and-redirection-links)
### [INVESTIGATE] [HUMAN] Review CDN Usage and Geographic Distribution
Confirm that static assets are served from a CDN and that the CDN edge nodes are geographically close to the primary audience. CDN misuse—or absence—increases last-mile transfer distance and the associated energy cost of data delivery.
- Recurs on 64 page(s).
- [WSG 4.10 Reference](https://www.w3.org/TR/web-sustainability-guidelines/#use-content-delivery-networks-cdns-appropriately)
### [INVESTIGATE] [HUMAN] Confirm a Sustainability Advocate Is Assigned
Verify that someone on the team has explicit responsibility for web sustainability. Without a designated advocate, sustainability improvements tend to be deprioritized and never reach the backlog.
- Recurs on 64 page(s).
- [WSG 5.2 Reference](https://www.w3.org/TR/web-sustainability-guidelines/#assign-a-sustainability-advocate)
### [INVESTIGATE] [HUMAN] Check for a Public Sustainability Statement
Look for a publicly accessible sustainability statement, disclosure page, or environmental policy. Mandatory disclosure requirements are growing globally and transparency builds user trust. The statement should include measurable targets and dates.
- Recurs on 64 page(s).
- [WSG 5.8 Reference](https://www.w3.org/TR/web-sustainability-guidelines/#support-mandatory-disclosures-and-reporting)
### [MEDIUM] [SCRIPT] Incomplete media lazy loading
Only 0/16 images use loading="lazy". Global lazy loading reduces initial data transfer and energy consumption.
- Recurs on 63 page(s).
**Best Practice Example:**
```javascript
<picture>
<source type="image/avif" srcset="image.avif">
<source type="image/webp" srcset="image.webp">
<img width="100px" height="100px" src="image.jpg" alt="" loading="lazy"/>
</picture>
```
- [WSG Guideline 11](https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### [MEDIUM] [SCRIPT] Multiple tracking scripts detected
Found 3 commercial tracking scripts. Consider lightweight, privacy-focused alternatives like Plausible or Fathom to reduce JS weight and energy footprint.
- Recurs on 63 page(s).
**Best Practice Example:**
```javascript
// Implementation details in documentation
```
- [WSG Guideline 7](https://www.w3.org/TR/web-sustainability-guidelines/#avoid-being-manipulative-or-deceptive)
### [MEDIUM] [SCRIPT] Missing explicit navigation structure
No <nav> or role="navigation" tags found. Proper wayfinding helps users find content efficiently and reduces unnecessary page loads.
- Recurs on 1 page(s).
- [WSG 2.5 Reference](https://www.w3.org/TR/web-sustainability-guidelines/#ensure-that-navigation-and-wayfinding-are-well-structured)
### [MEDIUM] [SCRIPT] Missing main content landmark
No <main> or role="main" tags found. Semantic HTML reduces code bloat and allows both assistive technology and web crawlers to parse content more efficiently.
- Recurs on 1 page(s).
- [WSG 3.7 Reference](https://www.w3.org/TR/web-sustainability-guidelines/#ensure-code-follows-good-semantic-practices)
## WSG Third-Party JavaScript Assessment
- WSG reference: Give third parties the same priority as first parties during assessment (https://www.w3.org/TR/web-sustainability-guidelines/#give-third-parties-the-same-priority-as-first-parties-during-assessment)
- Average third-party JS risk score: 44/100
- Pages with high urgency: 0
- Distinct third-party script providers: 5
### Top Third-Party Script Providers
- www.googletagmanager.com: GREEN (Google Cloud); on 52 page(s), 104 request(s), 14.60 MB
- js.hsforms.net: GREEN (Cloudflare); on 52 page(s), 52 request(s), 9.83 MB
- www.google-analytics.com: GREEN (Google Cloud); on 52 page(s), 52 request(s), 1.04 MB
- www.gstatic.com: GREEN (Google Cloud); on 4 page(s), 8 request(s), 2.55 MB
- challenges.cloudflare.com: GREEN (Cloudflare); on 2 page(s), 2 request(s), 34.65 KB
## Cross-Page Hosting Risk (Non-Green Providers)
- Focus: recurring external CSS/JS providers with non-green or unknown hosting status.
- No non-green external providers were detected in this scan.
## Green Hosting Checks
- Source: https://www.thegreenwebfoundation.org/tools/green-web-dataset/
- Submitted URL hosts checked: 64
- Submitted URL hosts on green energy: 0
- Submitted URL hosts not confirmed green: 64
- Submitted URL hosts unknown: 0
- External CSS/JS origins checked: 6
- External CSS/JS origins on green energy: 6
- External CSS/JS origins not confirmed green: 0
- External CSS/JS origins unknown: 0
## WSG SC 3.1 Budget Guidance
- WSG reference: Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- Sustainable Web Design benchmark: https://sustainablewebdesign.org/digital-carbon-ratings/
- Current transfer rating: F
- Current CO2 rating: F
- Recommended budget target: rating B
- Budget max transfer/page: 975.85 KB
- Budget max CO2/page: 0.1450 g
- Transfer reduction needed: 1.52 MB (61.4%)
- CO2 reduction needed: 0.8468 g (85.4%)
- Stretch budget (rating A): 531.15 KB and 0.0790 g per page
## WSG SC 3.2 Redundancy Analysis
- WSG reference: Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- Redundancy score: 0 (low redundancy) to 100 (high redundancy)
- Urgency levels: low, medium, high
## WSG Remove Unnecessary Code Analysis
- WSG reference: Remove unnecessary code (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-code)
- Dead-code score: 0 (low unnecessary code) to 100 (high unnecessary code)
- Includes unused CSS/JS, duplicated JS, and HTML complexity heuristics
## WSG Defer Non-Critical Resources Analysis
- WSG reference: Defer the loading of non-critical resources (https://www.w3.org/TR/web-sustainability-guidelines/#defer-the-loading-of-non-critical-resources)
- Non-critical score: 0 (few defer opportunities) to 100 (many deferrable resources)
- Uses offscreen image savings, unused CSS/JS, render-blocking delay, and heavy likely-non-critical assets
## WSG Modularization Analysis
- WSG reference: Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- Modularization score: 0 (few obvious on-demand opportunities) to 100 (many heavy initial-load components)
- This analysis looks for heavy scripts, images, styles, fonts, and media that should be split or loaded on demand.
## Cross-Page Patterns
- This same heavy image pattern appears on 19 pages. Fix it once in the shared template, CMS block, or design system component to reduce load across the whole site.
- These 3 script bundles are recurring modularization targets. Move the fix to the shared bundle or component boundary so every affected page gets lighter at once.
- These 3 modularization targets recur across multiple pages. Centralize the fix at the component or bundle level instead of treating each page separately.
- Heavy assets from www.googletagmanager.com recur across 52 pages. Review whether that dependency should be deferred, optimized, or loaded conditionally.
### Recurring Heavy Assets
- script assets from www.googletagmanager.com/gtag appears on 52 pages (14.60 MB total)
- script assets from js.hsforms.net/forms appears on 52 pages (9.83 MB total)
- image assets from storage.googleapis.com/ca-it-prod-home-5918-strapi appears on 19 pages (88.99 MB total)
- font assets from fonts.gstatic.com/s appears on 4 pages (7.39 MB total)
- script assets from www.gstatic.com/_ appears on 4 pages (2.39 MB total)
### Recurring Modularization Targets
- Split JavaScript by route or interaction affects 52 pages (est. 13.76 MB aggregate savings)
- Modularize heavy script asset from js.hsforms.net affects 43 pages (est. 8.13 MB aggregate savings)
- Modularize heavy script asset from www.googletagmanager.com affects 34 pages (est. 5.71 MB aggregate savings)
- Lazy-load offscreen images and media galleries affects 31 pages (est. 52.47 MB aggregate savings)
- Modularize heavy image asset from storage.googleapis.com affects 19 pages (est. 63.92 MB aggregate savings)
### Recurring Heavy Origins
- www.googletagmanager.com is a recurring heavy source on 52 pages (14.60 MB total)
- js.hsforms.net is a recurring heavy source on 52 pages (9.83 MB total)
- storage.googleapis.com is a recurring heavy source on 19 pages (88.99 MB total)
- fonts.gstatic.com is a recurring heavy source on 4 pages (11.18 MB total)
- www.gstatic.com is a recurring heavy source on 4 pages (3.65 MB total)
## Site-Wide Guidance
- This scan appears to target a single site. Shared recommendations below should typically be fixed once at platform/template level.
### https://civicactions.com
- Sampled pages: 64
- Shared recommendations:
- [MEDIUM] Add sitemap.xml at site origin
- sitemap.xml is missing for all sampled pages on https://civicactions.com.
- [LOW] Publish .well-known/security.txt
- .well-known/security.txt is missing for all sampled pages on https://civicactions.com.
- [HIGH] Apply Content-Security-Policy site-wide
- CSP is absent across all sampled pages on https://civicactions.com.
- [HIGH] Introduce service worker support
- No sampled pages on https://civicactions.com indicate service worker support for offline resilience.
- [HIGH] Support offline fallback behavior
- Offline page behavior was not detected across sampled pages on https://civicactions.com.
- [MEDIUM] Fix recurring optimization bloat at shared layer
- Lazy-load offscreen images recurs across 52 pages on https://civicactions.com (est. 52.96 MB aggregate savings).
- [HIGH] Prioritize recurring compression fixes
- Use modern image compression formats recurs across 22 pages on https://civicactions.com (est. 55.54 MB aggregate savings).
- [HIGH] Prioritize recurring offline/caching improvements
- Add service worker support is needed across 64 pages on https://civicactions.com.
- Recurring offline/caching opportunities:
- Add service worker support: 64 page(s), urgency HIGH
- Ensure critical routes work offline: 64 page(s), urgency HIGH
- Improve web app manifest support: 64 page(s), urgency MEDIUM
- Strengthen static asset cache TTL: 64 page(s), urgency HIGH
- Support offline start URL behavior: 64 page(s), urgency MEDIUM
- Recurring compression opportunities:
- Use modern image compression formats: 22 page(s), est. 55.54 MB total savings, urgency HIGH
- Improve image encoding quality/size: 2 page(s), est. 606.68 KB total savings, urgency HIGH
- Recurring optimization opportunities:
- Lazy-load offscreen images: 52 page(s), est. 52.96 MB total savings
- Remove unused JavaScript: 52 page(s), est. 13.76 MB total savings
- Remove unused CSS: 52 page(s), est. 951.43 KB total savings
- Serve images in next-gen formats: 22 page(s), est. 55.54 MB total savings
- Right-size images for viewport: 18 page(s), est. 41.11 MB total savings
- Compress oversized image assets: 2 page(s), est. 606.68 KB total savings
## Page-Specific Guidance
- Use this section for page-level exceptions after site-wide/platform fixes are planned.
### https://civicactions.com
- https://civicactions.com/case-studies/globalnet-platform-support/
- Combined urgency: HIGH
- Compression score: 81/100, optimization score: 100/100, offline score: 100/100, dependency score: 2/100, language score: 0/100, security score: 55/100, expected-files score: 40/100
- [HIGH] Use modern image compression formats
- [HIGH] Lazy-load offscreen images
- [HIGH] Serve images in next-gen formats
- https://civicactions.com/case-studies/va-cms-modernization/
- Combined urgency: HIGH
- Compression score: 73/100, optimization score: 100/100, offline score: 100/100, dependency score: 2/100, language score: 0/100, security score: 55/100, expected-files score: 40/100
- [HIGH] Use modern image compression formats
- [HIGH] Lazy-load offscreen images
- [HIGH] Serve images in next-gen formats
- https://civicactions.com/case-studies/va-cms-modernization
- Combined urgency: HIGH
- Compression score: 73/100, optimization score: 100/100, offline score: 100/100, dependency score: 2/100, language score: 0/100, security score: 55/100, expected-files score: 40/100
- [HIGH] Use modern image compression formats
- [HIGH] Lazy-load offscreen images
- [HIGH] Serve images in next-gen formats
- https://civicactions.com/case-studies/nsf-website-redesign/
- Combined urgency: HIGH
- Compression score: 73/100, optimization score: 100/100, offline score: 100/100, dependency score: 2/100, language score: 0/100, security score: 55/100, expected-files score: 40/100
- [HIGH] Use modern image compression formats
- [HIGH] Serve images in next-gen formats
- [HIGH] Lazy-load offscreen images
- https://civicactions.com/case-studies/georgia-workforce-open-data/
- Combined urgency: HIGH
- Compression score: 58/100, optimization score: 100/100, offline score: 100/100, dependency score: 2/100, language score: 0/100, security score: 55/100, expected-files score: 40/100
- [HIGH] Use modern image compression formats
- [HIGH] Serve images in next-gen formats
- [HIGH] Right-size images for viewport
- https://civicactions.com/case-studies/va-alt-text/
- Combined urgency: HIGH
- Compression score: 61/100, optimization score: 100/100, offline score: 100/100, dependency score: 2/100, language score: 0/100, security score: 55/100, expected-files score: 40/100
- [HIGH] Use modern image compression formats
- [HIGH] Serve images in next-gen formats
- [HIGH] Lazy-load offscreen images
## Priority Improvements
### https://civicactions.com/case-studies/cms-design-challenge-mvp/
- Performance: 77/100
- Transfer: 1.19 MB
- CO2 estimate: 0.4781 g
- Page host green energy status: NOT GREEN
- Redundancy score: 13/100
- Redundancy urgency: MEDIUM
- Modularization score: 37/100
- Modularization urgency: MEDIUM
- Dead-code score: 10/100
- Dead-code urgency: HIGH
- Non-critical resources score: 15/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 12/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 287.31 KB (23.6% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 269.88 KB savings)
- [MEDIUM] Reduce unused css (est. 17.43 KB savings)
- Heavy initial-load requests: 5 (701.18 KB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 264.31 KB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 269.88 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.76 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 172.02 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.97 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.76 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.91 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.43 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 269.88 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [HIGH] Lazy-load offscreen images (est. 264.31 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 269.88 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.43 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.76 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 172.02 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 36 small targets on mobile and 36 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 142.44 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 269.88 KB.
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 264.31 KB.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 142.44 KB.
- [MEDIUM] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 94.37 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.43 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 483.27 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 16 of 16 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
- Current value: 5.4 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 270 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 142 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Defer offscreen images
- Current value: Est savings of 264 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [HIGH] Preconnect to required origins
- Current value: Est savings of 130 ms
- WSG: 18 Use the most efficient solution for your service (https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/case-studies/fcc-website-modernization/
- Performance: 93/100
- Transfer: 1.29 MB
- CO2 estimate: 0.5175 g
- Page host green energy status: NOT GREEN
- Redundancy score: 12/100
- Redundancy urgency: MEDIUM
- Modularization score: 46/100
- Modularization urgency: MEDIUM
- Dead-code score: 10/100
- Dead-code urgency: HIGH
- Non-critical resources score: 19/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 14/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.28 KB (21.9% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.07 KB savings)
- [MEDIUM] Reduce unused css (est. 17.22 KB savings)
- Heavy initial-load requests: 6 (937.31 KB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 488.67 KB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 271.07 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.67 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy image asset from storage.googleapis.com (est. 176.53 KB)
- Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.54 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.67 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.22 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.07 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [HIGH] Lazy-load offscreen images (est. 488.67 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.07 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.22 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.67 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 176.53 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 29 small targets on mobile and 28 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 178.60 KB.
- Optimization recommendations:
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 488.67 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.07 KB.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 178.60 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.22 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 565.77 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 15 of 15 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [MEDIUM] Largest Contentful Paint
- Current value: 2.9 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Serve images in next-gen formats
- Current value: Est savings of 179 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Defer offscreen images
- Current value: Est savings of 489 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
### https://civicactions.com/case-studies/georgia-workforce-open-data/
- Performance: 65/100
- Transfer: 3.15 MB
- CO2 estimate: 1.2670 g
- Page host green energy status: NOT GREEN
- Redundancy score: 5/100
- Redundancy urgency: MEDIUM
- Modularization score: 44/100
- Modularization urgency: HIGH
- Dead-code score: 4/100
- Dead-code urgency: HIGH
- Non-critical resources score: 7/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 58/100
- Compression urgency: MEDIUM
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.56 KB (8.9% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.14 KB savings)
- [MEDIUM] Reduce unused css (est. 17.42 KB savings)
- Heavy initial-load requests: 5 (2.76 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 376.59 KB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 1.97 MB)
- Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.49 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.42 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [HIGH] Lazy-load offscreen images (est. 376.59 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.42 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 1.97 MB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 34 small targets on mobile and 33 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 1.84 MB.
- Optimization recommendations:
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 1.84 MB.
- [HIGH] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 1.65 MB.
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 376.59 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.42 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 2.04 MB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 15 of 15 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
- Current value: 16.8 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 1,880 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
- Current value: Est savings of 377 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
- Current value: Total size was 3,230 KiB
- WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)
### https://civicactions.com/case-studies/nyc-metro-transit-digital-clocks/
- Performance: 93/100
- Transfer: 3.43 MB
- CO2 estimate: 1.3792 g
- Page host green energy status: NOT GREEN
- Redundancy score: 5/100
- Redundancy urgency: MEDIUM
- Modularization score: 58/100
- Modularization urgency: HIGH
- Dead-code score: 4/100
- Dead-code urgency: HIGH
- Non-critical resources score: 29/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 8/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.09 KB (8.2% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 270.67 KB savings)
- [MEDIUM] Reduce unused css (est. 17.42 KB savings)
- Heavy initial-load requests: 6 (3.06 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 2.62 MB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 270.67 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 2.26 MB)
- Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.50 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.42 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 270.67 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [HIGH] Lazy-load offscreen images (est. 2.62 MB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 270.67 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.42 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 2.26 MB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 288.74 KB.
- Optimization recommendations:
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 2.62 MB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 288.74 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 270.67 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.42 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 2.27 MB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 15 of 15 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [MEDIUM] Largest Contentful Paint
- Current value: 2.9 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Serve images in next-gen formats
- Current value: Est savings of 289 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Defer offscreen images
- Current value: Est savings of 2,685 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
- Current value: Total size was 3,516 KiB
- WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)
### https://civicactions.com/case-studies/nsf-website-redesign/
- Performance: 63/100
- Transfer: 12.39 MB
- CO2 estimate: 4.9787 g
- Page host green energy status: NOT GREEN
- Redundancy score: 1/100
- Redundancy urgency: MEDIUM
- Modularization score: 59/100
- Modularization urgency: HIGH
- Dead-code score: 1/100
- Dead-code urgency: HIGH
- Non-critical resources score: 26/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 73/100
- Compression urgency: HIGH
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 36/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 287.05 KB (2.3% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.10 KB savings)
- [MEDIUM] Reduce unused css (est. 15.95 KB savings)
- Heavy initial-load requests: 6 (11.91 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 9.01 MB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 271.10 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 8.23 MB)
- Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 15.95 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.10 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [HIGH] Lazy-load offscreen images (est. 9.01 MB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.10 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 15.95 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 8.23 MB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.65 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 9.10 MB.
- Optimization recommendations:
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 9.10 MB.
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 9.01 MB.
- [HIGH] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 2.43 MB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.10 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 15.95 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 9.42 MB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 42 of 55 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
- Current value: 20.7 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 9,320 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 16 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
- Current value: Est savings of 9,230 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
- Current value: Total size was 12,692 KiB
- WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)
### https://civicactions.com/case-studies/va-cms-modernization/
- Performance: 65/100
- Transfer: 11.19 MB
- CO2 estimate: 4.4959 g
- Page host green energy status: NOT GREEN
- Redundancy score: 1/100
- Redundancy urgency: MEDIUM
- Modularization score: 59/100
- Modularization urgency: HIGH
- Dead-code score: 1/100
- Dead-code urgency: HIGH
- Non-critical resources score: 27/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 73/100
- Compression urgency: HIGH
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 42/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.78 KB (2.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.14 KB savings)
- [MEDIUM] Reduce unused css (est. 17.64 KB savings)
- Heavy initial-load requests: 5 (10.80 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 8.37 MB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 8.34 MB)
- Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.65 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.51 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.64 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [HIGH] Lazy-load offscreen images (est. 8.37 MB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.64 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 8.34 MB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.65 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 8.16 MB.
- Optimization recommendations:
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 8.37 MB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 8.16 MB.
- [HIGH] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 1.91 MB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.64 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 8.46 MB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 20 of 23 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
- Current value: 17.3 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 8,356 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 18 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
- Current value: Est savings of 8,575 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
- Current value: Total size was 11,461 KiB
- WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)
### https://civicactions.com/case-studies/open-acr/
- Performance: 93/100
- Transfer: 1.04 MB
- CO2 estimate: 0.4197 g
- Page host green energy status: NOT GREEN
- Redundancy score: 15/100
- Redundancy urgency: MEDIUM
- Modularization score: 34/100
- Modularization urgency: MEDIUM
- Dead-code score: 12/100
- Dead-code urgency: HIGH
- Non-critical resources score: 13/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 7/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 41/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 287.93 KB (26.9% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 269.29 KB savings)
- [MEDIUM] Reduce unused css (est. 18.64 KB savings)
- Heavy initial-load requests: 4 (597.64 KB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 149.06 KB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 269.29 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.76 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.91 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.49 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.76 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.91 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 18.64 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 269.29 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 149.06 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 269.29 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 18.64 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.76 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.91 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 74.28 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 269.29 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 149.06 KB.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 74.28 KB.
- [MEDIUM] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 59.42 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 18.64 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 347.27 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 22 of 26 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [MEDIUM] Largest Contentful Paint
- Current value: 2.8 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 269 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 19 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Serve images in next-gen formats
- Current value: Est savings of 74 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Defer offscreen images
- Current value: Est savings of 149 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
### https://civicactions.com/case-studies/va-alt-text/
- Performance: 70/100
- Transfer: 2.83 MB
- CO2 estimate: 1.1350 g
- Page host green energy status: NOT GREEN
- Redundancy score: 5/100
- Redundancy urgency: MEDIUM
- Modularization score: 52/100
- Modularization urgency: HIGH
- Dead-code score: 4/100
- Dead-code urgency: HIGH
- Non-critical resources score: 18/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 61/100
- Compression urgency: HIGH
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 45/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 287.86 KB (9.9% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 270.71 KB savings)
- [MEDIUM] Reduce unused css (est. 17.15 KB savings)
- Heavy initial-load requests: 7 (2.44 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 1.19 MB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 270.71 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 822.06 KB)
- Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.48 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.67 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.15 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 270.71 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [HIGH] Lazy-load offscreen images (est. 1.19 MB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 270.71 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.15 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 822.06 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.67 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 30 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 1.73 MB.
- Optimization recommendations:
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 1.73 MB.
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 1.19 MB.
- [HIGH] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 691.92 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 270.71 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.15 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 1.77 MB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 20 of 22 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
- Current value: 11.3 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 1,775 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
- Current value: Est savings of 1,223 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
- Current value: Total size was 2,893 KiB
- WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)
### https://civicactions.com/case-studies/Drupal-10/
- Performance: 71/100
- Transfer: 1.38 MB
- CO2 estimate: 0.5549 g
- Page host green energy status: NOT GREEN
- Redundancy score: 11/100
- Redundancy urgency: MEDIUM
- Modularization score: 37/100
- Modularization urgency: MEDIUM
- Dead-code score: 9/100
- Dead-code urgency: HIGH
- Non-critical resources score: 7/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 59/100
- Compression urgency: MEDIUM
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 37/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.30 KB (20.4% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.11 KB savings)
- [MEDIUM] Reduce unused css (est. 17.19 KB savings)
- Heavy initial-load requests: 4 (1008.07 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 32.72 KB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 271.11 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 526.89 KB)
- Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.67 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.51 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.67 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.19 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.11 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 32.72 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.11 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.19 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 526.89 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.67 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 35 small targets on mobile and 37 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 465.00 KB.
- [HIGH] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 372.37 KB.
- Optimization recommendations:
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 465.00 KB.
- [HIGH] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 400.16 KB.
- [HIGH] Compress oversized image assets
- Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 372.37 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.11 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 32.72 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.19 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 622.40 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 29 of 37 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
- Current value: 7.1 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 465 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Efficiently encode images
- Current value: Est savings of 372 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
- Current value: Est savings of 33 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
### https://civicactions.com/case-studies/globalnet-platform-support/
- Performance: 90/100
- Transfer: 12.43 MB
- CO2 estimate: 4.9915 g
- Page host green energy status: NOT GREEN
- Redundancy score: 1/100
- Redundancy urgency: MEDIUM
- Modularization score: 64/100
- Modularization urgency: HIGH
- Dead-code score: 1/100
- Dead-code urgency: HIGH
- Non-critical resources score: 33/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 81/100
- Compression urgency: HIGH
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 43/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.37 KB (2.3% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.11 KB savings)
- [MEDIUM] Reduce unused css (est. 17.26 KB savings)
- Heavy initial-load requests: 6 (12.03 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 11.60 MB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 271.11 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 10.24 MB)
- Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.50 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.26 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.11 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [HIGH] Lazy-load offscreen images (est. 11.60 MB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.11 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.26 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 10.24 MB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 30 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 10.11 MB.
- Optimization recommendations:
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 11.60 MB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 10.11 MB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.11 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.26 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 9.45 MB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 21 of 24 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [MEDIUM] Largest Contentful Paint
- Current value: 2.9 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Serve images in next-gen formats
- Current value: Est savings of 10,353 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Defer offscreen images
- Current value: Est savings of 11,873 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
- Current value: Total size was 12,725 KiB
- WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)
### https://civicactions.com/case-studies/dept-of-education-system-lifecycle-development-management/
- Performance: 64/100
- Transfer: 8.07 MB
- CO2 estimate: 3.2407 g
- Page host green energy status: NOT GREEN
- Redundancy score: 2/100
- Redundancy urgency: MEDIUM
- Modularization score: 53/100
- Modularization urgency: HIGH
- Dead-code score: 2/100
- Dead-code urgency: HIGH
- Non-critical resources score: 18/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 68/100
- Compression urgency: HIGH
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 37/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.29 KB (3.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.14 KB savings)
- [MEDIUM] Reduce unused css (est. 17.15 KB savings)
- Heavy initial-load requests: 5 (7.67 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 3.82 MB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 3.79 MB)
- Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.50 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.15 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [HIGH] Lazy-load offscreen images (est. 3.82 MB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.15 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 3.79 MB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 5.51 MB.
- Optimization recommendations:
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 5.51 MB.
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 3.82 MB.
- [HIGH] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 3.28 MB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.15 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 5.96 MB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 30 of 38 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
- Current value: 34.2 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 5,641 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
- Current value: Est savings of 3,910 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
- Current value: Total size was 8,261 KiB
- WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)
### https://civicactions.com/case-studies/cybergeek/
- Performance: 81/100
- Transfer: 1.00 MB
- CO2 estimate: 0.4023 g
- Page host green energy status: NOT GREEN
- Redundancy score: 15/100
- Redundancy urgency: MEDIUM
- Modularization score: 29/100
- Modularization urgency: MEDIUM
- Dead-code score: 12/100
- Dead-code urgency: HIGH
- Non-critical resources score: 12/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 3/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 44/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.45 KB (28.1% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.14 KB savings)
- [MEDIUM] Reduce unused css (est. 17.31 KB savings)
- Heavy initial-load requests: 3 (481.17 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 95.90 KB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.93 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.52 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.31 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 95.90 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.31 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.93 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 34 small targets on mobile and 33 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 35.11 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 95.90 KB.
- [MEDIUM] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 61.62 KB.
- [LOW] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 35.11 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.31 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 316.41 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 19 of 21 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
- Current value: 4.5 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 35 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
- Current value: Est savings of 96 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
### https://civicactions.com/case-studies/cms-web-experience-services/
- Performance: 92/100
- Transfer: 1.52 MB
- CO2 estimate: 0.6099 g
- Page host green energy status: NOT GREEN
- Redundancy score: 10/100
- Redundancy urgency: MEDIUM
- Modularization score: 46/100
- Modularization urgency: HIGH
- Dead-code score: 8/100
- Dead-code urgency: HIGH
- Non-critical resources score: 21/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 37/100
- Compression urgency: MEDIUM
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 36/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 287.69 KB (18.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.14 KB savings)
- [MEDIUM] Reduce unused css (est. 16.55 KB savings)
- Heavy initial-load requests: 4 (1.12 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 697.52 KB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 664.93 KB)
- Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.51 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 16.55 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [HIGH] Lazy-load offscreen images (est. 697.52 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 16.55 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 664.93 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 30 small targets on mobile and 29 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 568.51 KB.
- Optimization recommendations:
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 697.52 KB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 568.51 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 16.55 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 732.82 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 33 of 43 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [MEDIUM] Largest Contentful Paint
- Current value: 3.0 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Serve images in next-gen formats
- Current value: Est savings of 569 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Defer offscreen images
- Current value: Est savings of 698 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
### https://civicactions.com/press/2024-07-09-CivicActions-Appoints-Mike-Gifford/
- Performance: 91/100
- Transfer: 865.09 KB
- CO2 estimate: 0.3394 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.80 KB (33.4% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.14 KB savings)
- [MEDIUM] Reduce unused css (est. 17.65 KB savings)
- Heavy initial-load requests: 3 (481.17 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 38.73 KB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.92 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.50 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.65 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 38.73 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.65 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.92 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 32 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 38.73 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.65 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
- Current value: Est savings of 39 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.1 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 18 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/press/2024-01-16-CivicActions-Announces-Impact-Report/
- Performance: 88/100
- Transfer: 860.79 KB
- CO2 estimate: 0.3377 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.48 KB (33.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.10 KB savings)
- [MEDIUM] Reduce unused css (est. 17.38 KB savings)
- Heavy initial-load requests: 3 (481.16 KB total)
- On-demand modularization candidates:
- [HIGH] Split JavaScript by route or interaction (est. 271.10 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.65 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.92 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.51 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.38 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.10 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.10 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.38 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.65 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.92 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 30 small targets on mobile and 29 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.10 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.38 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.87 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.7 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
- Current value: Est savings of 24 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
### https://civicactions.com/press/2024-01-05-CivicActions-Partners-with-aamdsif/
- Performance: 93/100
- Transfer: 861.41 KB
- CO2 estimate: 0.3379 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.64 KB (33.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.11 KB savings)
- [MEDIUM] Reduce unused css (est. 17.53 KB savings)
- Heavy initial-load requests: 3 (481.19 KB total)
- On-demand modularization candidates:
- [HIGH] Split JavaScript by route or interaction (est. 271.11 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.91 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.53 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.11 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.11 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.53 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.91 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 29 small targets on mobile and 28 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.11 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.53 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
- Current value: Est savings of 24 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.1 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 18 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/press/2022-04-21-civicactions-announces-Ryerson-partnership-digital-accessibility/
- Performance: 93/100
- Transfer: 861.09 KB
- CO2 estimate: 0.3378 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.56 KB (33.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.15 KB savings)
- [MEDIUM] Reduce unused css (est. 17.41 KB savings)
- Heavy initial-load requests: 3 (481.15 KB total)
- On-demand modularization candidates:
- [HIGH] Split JavaScript by route or interaction (est. 271.15 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.92 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.50 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.41 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.15 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.15 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.41 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.92 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 33 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.15 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.41 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
- Current value: Est savings of 24 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.1 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/press/2022-01-05-civicactions-named-govtech-100-top-government-technology-companies-list/
- Performance: 93/100
- Transfer: 859.83 KB
- CO2 estimate: 0.3373 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.29 KB (33.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.13 KB savings)
- [MEDIUM] Reduce unused css (est. 17.16 KB savings)
- Heavy initial-load requests: 3 (481.14 KB total)
- On-demand modularization candidates:
- [HIGH] Split JavaScript by route or interaction (est. 271.13 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.65 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.91 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.49 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.16 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.13 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.13 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.16 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.65 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.91 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 30 small targets on mobile and 29 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.13 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.16 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.87 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
- Current value: Est savings of 24 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.1 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/press/2021-09-08-civicactions-announces-ditap-grads-across-federal-agencies/
- Performance: 90/100
- Transfer: 861.93 KB
- CO2 estimate: 0.3381 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.69 KB (33.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.10 KB savings)
- [MEDIUM] Reduce unused css (est. 17.60 KB savings)
- Heavy initial-load requests: 3 (481.20 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 38.73 KB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 271.10 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.91 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.54 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.60 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.10 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 38.73 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.10 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.60 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.91 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.10 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 38.73 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.60 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
- Current value: Est savings of 39 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.2 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 18 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/press/2021-07-19-civicactions-announces-va-ditap-graduation/
- Performance: 92/100
- Transfer: 861.44 KB
- CO2 estimate: 0.3379 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.64 KB (33.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.13 KB savings)
- [MEDIUM] Reduce unused css (est. 17.51 KB savings)
- Heavy initial-load requests: 3 (481.16 KB total)
- On-demand modularization candidates:
- [HIGH] Split JavaScript by route or interaction (est. 271.13 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.65 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.91 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.51 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.51 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.13 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.13 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.51 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.65 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.91 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.13 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.51 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.87 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
- Current value: Est savings of 24 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.1 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 18 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/press/2021-07-08-gsa-engages-civicactions-to-modernize-vpat/
- Performance: 90/100
- Transfer: 861.04 KB
- CO2 estimate: 0.3378 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.64 KB (33.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.19 KB savings)
- [MEDIUM] Reduce unused css (est. 17.44 KB savings)
- Heavy initial-load requests: 3 (481.17 KB total)
- On-demand modularization candidates:
- [HIGH] Split JavaScript by route or interaction (est. 271.19 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.65 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.93 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.51 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.44 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.19 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.19 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.44 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.65 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.93 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 30 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.19 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.44 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.87 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
- Current value: Est savings of 24 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.2 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/press/2021-05-11-civicactions-wins-department-of-ed-recompete/
- Performance: 90/100
- Transfer: 860.63 KB
- CO2 estimate: 0.3376 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.43 KB (33.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.10 KB savings)
- [MEDIUM] Reduce unused css (est. 17.33 KB savings)
- Heavy initial-load requests: 3 (481.19 KB total)
- On-demand modularization candidates:
- [HIGH] Split JavaScript by route or interaction (est. 271.10 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.65 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.90 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.54 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.38 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.33 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.10 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.10 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.33 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.65 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.90 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 30 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.10 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.33 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.87 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
- Current value: Est savings of 24 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.2 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/press/2021-05-03-civicactions-wins-nsf-recompete/
- Performance: 93/100
- Transfer: 860.63 KB
- CO2 estimate: 0.3376 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.05 KB (33.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 270.68 KB savings)
- [MEDIUM] Reduce unused css (est. 17.38 KB savings)
- Heavy initial-load requests: 3 (481.18 KB total)
- On-demand modularization candidates:
- [HIGH] Split JavaScript by route or interaction (est. 270.68 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.93 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.52 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.38 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.38 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 270.68 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 270.68 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.38 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.93 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 270.68 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.38 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
- Current value: Est savings of 24 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.1 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/press/2020-11-09-civicactions-acquires-openconcept/
- Performance: 92/100
- Transfer: 861.25 KB
- CO2 estimate: 0.3378 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.60 KB (33.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.10 KB savings)
- [MEDIUM] Reduce unused css (est. 17.49 KB savings)
- Heavy initial-load requests: 3 (481.18 KB total)
- On-demand modularization candidates:
- [HIGH] Split JavaScript by route or interaction (est. 271.10 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.65 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.94 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.49 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.10 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.10 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.49 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.65 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.94 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 34 small targets on mobile and 33 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.10 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.49 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.87 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
- Current value: Est savings of 24 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.1 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/press/2020-08-14-civicactions-certified-to-deliver-ditap/
- Performance: 90/100
- Transfer: 861.24 KB
- CO2 estimate: 0.3378 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.59 KB (33.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.14 KB savings)
- [MEDIUM] Reduce unused css (est. 17.45 KB savings)
- Heavy initial-load requests: 3 (481.19 KB total)
- On-demand modularization candidates:
- [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.67 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.93 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.52 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.67 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.45 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.45 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.67 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.93 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.45 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
- Current value: Est savings of 24 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.2 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/press/2020-03-02-civicactions-wins-cms-contract/
- Performance: 91/100
- Transfer: 860.65 KB
- CO2 estimate: 0.3376 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 287.55 KB (33.4% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 270.21 KB savings)
- [MEDIUM] Reduce unused css (est. 17.35 KB savings)
- Heavy initial-load requests: 3 (481.19 KB total)
- On-demand modularization candidates:
- [HIGH] Split JavaScript by route or interaction (est. 270.21 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.94 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.35 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 270.21 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 270.21 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.35 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.94 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 29 small targets on mobile and 29 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 270.21 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.35 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
- Current value: Est savings of 24 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.2 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 270 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/press/
- Performance: 81/100
- Transfer: 861.58 KB
- CO2 estimate: 0.3380 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.35 KB (33.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.11 KB savings)
- [MEDIUM] Reduce unused css (est. 17.24 KB savings)
- Heavy initial-load requests: 3 (481.20 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 38.73 KB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 271.11 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.67 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.94 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.67 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.24 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.11 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 38.73 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.11 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.24 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.67 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.94 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 29 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.11 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 38.73 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.24 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.89 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
- Current value: 4.2 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Defer offscreen images
- Current value: Est savings of 39 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/press/2/
- Performance: 92/100
- Transfer: 861.70 KB
- CO2 estimate: 0.3380 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.46 KB (33.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.20 KB savings)
- [MEDIUM] Reduce unused css (est. 17.27 KB savings)
- Heavy initial-load requests: 3 (481.19 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 38.73 KB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 271.20 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.94 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.27 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.20 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 38.73 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.20 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.27 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.94 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 29 small targets on mobile and 32 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.20 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 38.73 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.27 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
- Current value: Est savings of 39 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.1 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/press/3/
- Performance: 93/100
- Transfer: 861.05 KB
- CO2 estimate: 0.3378 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 287.88 KB (33.4% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 270.68 KB savings)
- [MEDIUM] Reduce unused css (est. 17.21 KB savings)
- Heavy initial-load requests: 3 (481.21 KB total)
- On-demand modularization candidates:
- [HIGH] Split JavaScript by route or interaction (est. 270.68 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.92 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.56 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.21 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 270.68 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 270.68 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.21 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.92 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 29 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 270.68 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.21 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
- Current value: Est savings of 24 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.1 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/accessibility-statement/
- Performance: 90/100
- Transfer: 864.32 KB
- CO2 estimate: 0.3390 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.94 KB (33.4% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.11 KB savings)
- [MEDIUM] Reduce unused css (est. 17.83 KB savings)
- Heavy initial-load requests: 3 (481.19 KB total)
- On-demand modularization candidates:
- [HIGH] Split JavaScript by route or interaction (est. 271.11 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.94 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.83 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.11 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.11 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.83 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.94 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 37 small targets on mobile and 38 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.11 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.83 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
- Current value: Est savings of 24 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.2 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 18 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/services/ditap/
- Performance: 87/100
- Transfer: 1.73 MB
- CO2 estimate: 0.6933 g
- Page host green energy status: NOT GREEN
- Redundancy score: 9/100
- Redundancy urgency: MEDIUM
- Modularization score: 45/100
- Modularization urgency: HIGH
- Dead-code score: 7/100
- Dead-code urgency: HIGH
- Non-critical resources score: 22/100
- Non-critical resources urgency: HIGH
- Form validation score: 90/100
- Form validation urgency: HIGH
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 40/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 39/100
- Compression urgency: MEDIUM
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 287.51 KB (16.3% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.14 KB savings)
- [MEDIUM] Reduce unused css (est. 16.37 KB savings)
- Heavy initial-load requests: 5 (1.18 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 873.16 KB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 427.51 KB)
- Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.52 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 16.37 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [HIGH] Lazy-load offscreen images (est. 873.16 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 16.37 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 427.51 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [HIGH] Missing associated label
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] No explicit validation rule
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] No error messaging hook
- 1 unique form control signature(s) on this page include this issue.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 44 small targets on mobile and 44 on tablet.
- [MEDIUM] Make grid layouts breakpoint-aware
- 2 grid container(s) overflowed across tested viewports (1 on mobile, 1 on tablet). Use intrinsic tracks (minmax(), fr), wrapping, and breakpoint-aware grid templates.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 695.50 KB.
- Optimization recommendations:
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 873.16 KB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 695.50 KB.
- [HIGH] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 457.32 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 16.37 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 894.46 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 35 of 35 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [MEDIUM] Largest Contentful Paint
- Current value: 3.0 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 16 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Serve images in next-gen formats
- Current value: Est savings of 695 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Defer offscreen images
- Current value: Est savings of 873 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
### https://civicactions.com/careers/
- Performance: 74/100
- Transfer: 3.00 MB
- CO2 estimate: 1.2031 g
- Page host green energy status: NOT GREEN
- Redundancy score: 5/100
- Redundancy urgency: MEDIUM
- Modularization score: 51/100
- Modularization urgency: HIGH
- Dead-code score: 4/100
- Dead-code urgency: HIGH
- Non-critical resources score: 17/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 40/100
- Compression urgency: MEDIUM
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 56/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 290.07 KB (9.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 270.97 KB savings)
- [MEDIUM] Reduce unused css (est. 19.09 KB savings)
- Heavy initial-load requests: 10 (2.29 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 1.25 MB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 270.97 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Modularize heavy image asset from civicactions.com (est. 387.82 KB)
- Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
- [HIGH] Modularize heavy xhr asset from challenges.cloudflare.com (est. 295.09 KB)
- Move this asset behind an explicit interaction, route boundary, or lazy-loading trigger.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- SCRIPT challenges.cloudflare.com: GREEN (Cloudflare); 1 request(s), 17.30 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 4 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 19.09 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 270.97 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [HIGH] Lazy-load offscreen images (est. 1.25 MB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 270.97 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 19.09 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy image from civicactions.com (est. 387.82 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 34 small targets on mobile and 35 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 988.59 KB.
- [HIGH] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 234.30 KB.
- Optimization recommendations:
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 1.25 MB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 988.59 KB.
- [HIGH] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 567.74 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 270.97 KB.
- [HIGH] Compress oversized image assets
- Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 234.30 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 19.09 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 201.28 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 35 of 35 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
- Current value: 6.1 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 989 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 19 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Efficiently encode images
- Current value: Est savings of 234 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Defer offscreen images
- Current value: Est savings of 1,276 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
### https://civicactions.com/case-studies/
- Performance: 92/100
- Transfer: 14.81 MB
- CO2 estimate: 5.9474 g
- Page host green energy status: NOT GREEN
- Redundancy score: 1/100
- Redundancy urgency: MEDIUM
- Modularization score: 45/100
- Modularization urgency: HIGH
- Dead-code score: 1/100
- Dead-code urgency: HIGH
- Non-critical resources score: 1/100
- Non-critical resources urgency: HIGH
- Form validation score: 50/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 19/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 292.35 KB (1.9% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.14 KB savings)
- [MEDIUM] Reduce unused css (est. 21.21 KB savings)
- Heavy initial-load requests: 6 (14.05 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 207.79 KB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 8.39 MB)
- Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.54 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 21.21 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 207.79 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 21.21 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 8.39 MB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [MEDIUM] No explicit validation rule
- 6 unique form control signature(s) on this page include this issue.
- [MEDIUM] No error messaging hook
- 6 unique form control signature(s) on this page include this issue.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 35 small targets on mobile and 34 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 2.78 MB.
- Optimization recommendations:
- [HIGH] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 13.44 MB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 2.78 MB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 207.79 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 21.21 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 11.37 MB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 31 of 31 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 2,844 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.0 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 21 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
- Current value: Est savings of 208 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
- Current value: Total size was 15,161 KiB
- WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)
### https://civicactions.com/contact/
- Performance: 92/100
- Transfer: 1.20 MB
- CO2 estimate: 0.4821 g
- Page host green energy status: NOT GREEN
- Redundancy score: 13/100
- Redundancy urgency: MEDIUM
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 10/100
- Dead-code urgency: HIGH
- Non-critical resources score: 8/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 28/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 56/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 289.85 KB (23.6% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.06 KB savings)
- [MEDIUM] Reduce unused css (est. 18.79 KB savings)
- Heavy initial-load requests: 4 (753.38 KB total)
- On-demand modularization candidates:
- [HIGH] Split JavaScript by route or interaction (est. 271.06 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Modularize heavy xhr asset from challenges.cloudflare.com (est. 272.17 KB)
- Move this asset behind an explicit interaction, route boundary, or lazy-loading trigger.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.92 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.55 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- SCRIPT challenges.cloudflare.com: GREEN (Cloudflare); 1 request(s), 17.36 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 4 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 18.79 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.06 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.06 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 18.79 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.92 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [MEDIUM] No error messaging hook
- 4 unique form control signature(s) on this page include this issue.
- [MEDIUM] No explicit validation rule
- 1 unique form control signature(s) on this page include this issue.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.06 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 18.79 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 202.52 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 15 of 15 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
- Current value: Est savings of 24 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.2 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 19 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/contracting/
- Performance: 88/100
- Transfer: 982.52 KB
- CO2 estimate: 0.3854 g
- Page host green energy status: NOT GREEN
- Redundancy score: 17/100
- Redundancy urgency: MEDIUM
- Modularization score: 30/100
- Modularization urgency: MEDIUM
- Dead-code score: 14/100
- Dead-code urgency: HIGH
- Non-critical resources score: 12/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 40/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 309.56 KB (31.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 270.68 KB savings)
- [MEDIUM] Reduce unused css (est. 38.88 KB savings)
- Heavy initial-load requests: 3 (481.19 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 75.82 KB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 270.68 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.65 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.94 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 38.88 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 270.68 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 75.82 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 270.68 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 38.88 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.65 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.94 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 33 small targets on mobile and 36 on tablet.
- [MEDIUM] Make grid layouts breakpoint-aware
- 2 grid container(s) overflowed across tested viewports (1 on mobile, 1 on tablet). Use intrinsic tracks (minmax(), fr), wrapping, and breakpoint-aware grid templates.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 270.68 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 75.82 KB.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 38.88 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.87 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 35 of 35 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
- Current value: Est savings of 76 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.5 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 39 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/feedback/
- Performance: 90/100
- Transfer: 5.69 MB
- CO2 estimate: 2.2839 g
- Page host green energy status: NOT GREEN
- Redundancy score: 3/100
- Redundancy urgency: MEDIUM
- Modularization score: 40/100
- Modularization urgency: HIGH
- Dead-code score: 2/100
- Dead-code urgency: HIGH
- Non-critical resources score: 2/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 61/100
- Lightweight security urgency: HIGH
- Dependency maintenance score: 8/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 59/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.23 KB (5.0% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 270.98 KB savings)
- [MEDIUM] Reduce unused css (est. 17.25 KB savings)
- Heavy initial-load requests: 36 (4.18 MB total)
- On-demand modularization candidates:
- [HIGH] Split JavaScript by route or interaction (est. 270.98 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Modularize heavy script asset from www.gstatic.com (est. 612.99 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy font asset from fonts.gstatic.com (est. 221.11 KB)
- Subset or defer this font so full font payloads are only fetched when needed.
- External CSS/JS hosting checks:
- SCRIPT www.gstatic.com: GREEN (Google Cloud); 2 request(s), 652.05 KB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- STYLESHEET www.gstatic.com: GREEN (Google Cloud); 1 request(s), 151.64 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- STYLESHEET fonts.googleapis.com: GREEN (Google Cloud); 3 request(s), 3.76 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 4 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.25 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 270.98 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 270.98 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.25 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from www.gstatic.com (est. 612.99 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [HIGH] Evaluate deferred loading for heavy font from fonts.gstatic.com (est. 221.11 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 30 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 4 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 4 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 270.98 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.25 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 232.94 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [MEDIUM] Largest Contentful Paint
- Current value: 3.1 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
- Current value: Est savings of 24 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
- Current value: Total size was 5,822 KiB
- WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)
### https://civicactions.com/
- Performance: 75/100
- Transfer: 1.87 MB
- CO2 estimate: 0.7499 g
- Page host green energy status: NOT GREEN
- Redundancy score: 9/100
- Redundancy urgency: MEDIUM
- Modularization score: 44/100
- Modularization urgency: HIGH
- Dead-code score: 7/100
- Dead-code urgency: HIGH
- Non-critical resources score: 18/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 40/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 35/100
- Compression urgency: MEDIUM
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 49/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 305.67 KB (16.0% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.15 KB savings)
- [MEDIUM] Reduce unused css (est. 34.52 KB savings)
- Heavy initial-load requests: 7 (1.25 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 754.78 KB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 271.15 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Modularize heavy image asset from civicactions.com (est. 341.79 KB)
- Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.67 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.67 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 34.52 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.15 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [HIGH] Lazy-load offscreen images (est. 754.78 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.15 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 34.52 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy image from civicactions.com (est. 341.79 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.67 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 30 small targets on mobile and 29 on tablet.
- [MEDIUM] Make grid layouts breakpoint-aware
- 2 grid container(s) overflowed across tested viewports (1 on mobile, 1 on tablet). Use intrinsic tracks (minmax(), fr), wrapping, and breakpoint-aware grid templates.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 664.82 KB.
- Optimization recommendations:
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 754.78 KB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 664.82 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.15 KB.
- [HIGH] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 231.61 KB.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 34.52 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 297.16 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 47 of 48 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
- Current value: 6.1 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 665 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Defer offscreen images
- Current value: Est savings of 755 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 35 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/licensing/
- Performance: 93/100
- Transfer: 834.37 KB
- CO2 estimate: 0.3273 g
- Page host green energy status: NOT GREEN
- Redundancy score: 19/100
- Redundancy urgency: MEDIUM
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.52 KB (34.6% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.15 KB savings)
- [MEDIUM] Reduce unused css (est. 17.36 KB savings)
- Heavy initial-load requests: 3 (481.19 KB total)
- On-demand modularization candidates:
- [HIGH] Split JavaScript by route or interaction (est. 271.15 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.65 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.93 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.54 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.36 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.15 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.15 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.36 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.65 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.93 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 29 small targets on mobile and 29 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.15 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.36 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.87 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
- Current value: Est savings of 24 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.1 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/privacy/
- Performance: 93/100
- Transfer: 836.65 KB
- CO2 estimate: 0.3282 g
- Page host green energy status: NOT GREEN
- Redundancy score: 19/100
- Redundancy urgency: MEDIUM
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 12/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.84 KB (34.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.10 KB savings)
- [MEDIUM] Reduce unused css (est. 17.74 KB savings)
- Heavy initial-load requests: 3 (481.20 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 38.73 KB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 271.10 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.93 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.54 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.74 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.10 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 38.73 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.10 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.74 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.93 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 30 small targets on mobile and 29 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.10 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 38.73 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.74 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
- Current value: Est savings of 39 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.1 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 18 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/services/
- Performance: 90/100
- Transfer: 868.53 KB
- CO2 estimate: 0.3407 g
- Page host green energy status: NOT GREEN
- Redundancy score: 19/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 12/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 292.35 KB (33.7% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.11 KB savings)
- [MEDIUM] Reduce unused css (est. 21.25 KB savings)
- Heavy initial-load requests: 3 (481.21 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 44.56 KB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 271.11 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.67 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.94 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.54 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.67 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 21.25 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.11 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 44.56 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.11 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 21.25 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.67 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.94 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.11 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 44.56 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 21.25 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.89 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 18 of 18 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
- Current value: Est savings of 45 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.2 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 21 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/services2/
- Performance: 93/100
- Transfer: 827.35 KB
- CO2 estimate: 0.3245 g
- Page host green energy status: NOT GREEN
- Redundancy score: 19/100
- Redundancy urgency: MEDIUM
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.79 KB (34.9% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.15 KB savings)
- [MEDIUM] Reduce unused css (est. 17.64 KB savings)
- Heavy initial-load requests: 3 (481.19 KB total)
- On-demand modularization candidates:
- [HIGH] Split JavaScript by route or interaction (est. 271.15 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.65 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.94 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.64 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.15 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 18.22 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.15 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.64 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.65 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.94 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 29 small targets on mobile and 28 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.15 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 18.22 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.64 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.87 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
- Current value: Est savings of 18 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.2 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 18 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/styles/
- Performance: 93/100
- Transfer: 828.51 KB
- CO2 estimate: 0.3250 g
- Page host green energy status: NOT GREEN
- Redundancy score: 19/100
- Redundancy urgency: MEDIUM
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.99 KB (34.9% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.14 KB savings)
- [MEDIUM] Reduce unused css (est. 17.85 KB savings)
- Heavy initial-load requests: 3 (481.19 KB total)
- On-demand modularization candidates:
- [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.65 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.94 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.54 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.85 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 18.22 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.85 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.65 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.94 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 29 small targets on mobile and 28 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 18.22 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.85 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.87 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
- Current value: Est savings of 18 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.2 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 18 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/sustainability/
- Performance: 91/100
- Transfer: 868.73 KB
- CO2 estimate: 0.3408 g
- Page host green energy status: NOT GREEN
- Redundancy score: 18/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 46/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.95 KB (33.3% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.14 KB savings)
- [MEDIUM] Reduce unused css (est. 17.81 KB savings)
- Heavy initial-load requests: 3 (481.20 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 38.73 KB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.94 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.54 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.81 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 38.73 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.81 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.94 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 33 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 38.73 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.81 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 13 of 14 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
- Current value: Est savings of 39 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.1 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 18 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/team/
- Performance: 88/100
- Transfer: 1.12 MB
- CO2 estimate: 0.4504 g
- Page host green energy status: NOT GREEN
- Redundancy score: 24/100
- Redundancy urgency: MEDIUM
- Modularization score: 25/100
- Modularization urgency: MEDIUM
- Dead-code score: 14/100
- Dead-code urgency: HIGH
- Non-critical resources score: 9/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 31/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 284.51 KB (24.8% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 270.67 KB savings)
- [MEDIUM] Reduce unused css (est. 13.84 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 3 (481.20 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 49.91 KB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 270.67 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.94 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.54 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 13.84 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 270.67 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 49.91 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 270.67 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 13.84 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.94 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 29 small targets on mobile and 28 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 270.67 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 49.91 KB.
- [LOW] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 21.02 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 13.84 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 200.88 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 248 of 365 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Defer offscreen images
- Current value: Est savings of 50 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.4 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 14 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Avoid an excessive DOM size
- Current value: 2,213 elements
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
### https://civicactions.com/services/ditap/register/
- Performance: 91/100
- Transfer: 5.69 MB
- CO2 estimate: 2.2854 g
- Page host green energy status: NOT GREEN
- Redundancy score: 3/100
- Redundancy urgency: MEDIUM
- Modularization score: 40/100
- Modularization urgency: HIGH
- Dead-code score: 2/100
- Dead-code urgency: HIGH
- Non-critical resources score: 2/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 61/100
- Lightweight security urgency: HIGH
- Dependency maintenance score: 8/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 59/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.38 KB (4.9% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 270.97 KB savings)
- [MEDIUM] Reduce unused css (est. 17.42 KB savings)
- Heavy initial-load requests: 36 (4.18 MB total)
- On-demand modularization candidates:
- [HIGH] Split JavaScript by route or interaction (est. 270.97 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Modularize heavy script asset from www.gstatic.com (est. 612.99 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy font asset from fonts.gstatic.com (est. 221.13 KB)
- Subset or defer this font so full font payloads are only fetched when needed.
- External CSS/JS hosting checks:
- SCRIPT www.gstatic.com: GREEN (Google Cloud); 2 request(s), 652.05 KB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.52 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- STYLESHEET www.gstatic.com: GREEN (Google Cloud); 1 request(s), 151.64 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- STYLESHEET fonts.googleapis.com: GREEN (Google Cloud); 3 request(s), 3.42 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 4 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.42 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 270.97 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 270.97 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.42 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from www.gstatic.com (est. 612.99 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [HIGH] Evaluate deferred loading for heavy font from fonts.gstatic.com (est. 221.13 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 29 small targets on mobile and 28 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 4 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 4 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 270.97 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.42 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 232.94 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [MEDIUM] Largest Contentful Paint
- Current value: 3.1 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
- Current value: Est savings of 24 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
- Current value: Total size was 5,826 KiB
- WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)
### https://civicactions.com/manifest.webmanifest
- Performance: n/a
- Transfer: 0.00 B
- CO2 estimate: 0.0000 g
- Page host green energy status: NOT GREEN
- Redundancy score: 0/100
- Redundancy urgency: LOW
- Modularization score: 0/100
- Modularization urgency: LOW
- Dead-code score: 0/100
- Dead-code urgency: LOW
- Non-critical resources score: 0/100
- Non-critical resources urgency: LOW
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 80/100
- Metadata urgency: HIGH
- Layout adaptation score: 0/100
- Layout adaptation urgency: LOW
- Lightweight security score: 53/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 0/100
- Dependency maintenance urgency: LOW
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 0/100
- Optimization urgency: LOW
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 0/100
- Media hints urgency: LOW
- Third-party JS risk score: 0/100
- Third-party JS urgency: LOW
- Third-party JS recommendations:
- [LOW] No major third-party JavaScript risk signals
- Continue periodic reviews so third-party additions are assessed with the same rigor as first-party code.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [HIGH] Add document language metadata
- Set the html lang attribute for machine readability and localization tooling.
- [MEDIUM] Add canonical URL metadata
- Use rel=canonical to reduce duplicate URL ambiguity for crawlers and tooling.
- [MEDIUM] Add meta description
- Provide a concise description to improve machine interpretation and preview quality.
- [MEDIUM] Complete Open Graph metadata
- Include og:title, og:description, og:type, and og:url for robust machine-readable sharing metadata.
- [LOW] Add twitter:card metadata
- Include twitter card metadata to improve cross-platform machine-readable previews.
- Layout adaptation recommendations:
- [LOW] Layout adaptation looks healthy
- No major mobile or tablet layout issues were detected in this sample.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- Dependency maintenance recommendations:
- [LOW] No dependency maintenance warnings detected
- No vulnerable dependency flags were found for this page in the current lightweight checks.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [LOW] No obvious optimization bloat signals
- No major easy-win optimization opportunities were detected from current Lighthouse signals.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [HIGH] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets.
- Media sustainability recommendations:
- [LOW] Media hints look healthy
- No major autoplay, dark mode, or lazy loading concerns were detected on this page.
- Grid-aware websites: not detected
- [INVESTIGATE] Largest Contentful Paint
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Speed Index
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Reduce unused JavaScript
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [INVESTIGATE] Reduce unused CSS
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [INVESTIGATE] Serve images in next-gen formats
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [INVESTIGATE] Efficiently encode images
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://civicactions.com/services/ditap
- Performance: 78/100
- Transfer: 1.73 MB
- CO2 estimate: 0.6935 g
- Page host green energy status: NOT GREEN
- Redundancy score: 9/100
- Redundancy urgency: MEDIUM
- Modularization score: 45/100
- Modularization urgency: HIGH
- Dead-code score: 7/100
- Dead-code urgency: HIGH
- Non-critical resources score: 22/100
- Non-critical resources urgency: HIGH
- Form validation score: 90/100
- Form validation urgency: HIGH
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 40/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 39/100
- Compression urgency: MEDIUM
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 287.51 KB (16.3% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.14 KB savings)
- [MEDIUM] Reduce unused css (est. 16.37 KB savings)
- Heavy initial-load requests: 5 (1.18 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 873.15 KB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 427.52 KB)
- Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.55 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 16.37 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [HIGH] Lazy-load offscreen images (est. 873.15 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 16.37 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 427.52 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [HIGH] Missing associated label
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] No explicit validation rule
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] No error messaging hook
- 1 unique form control signature(s) on this page include this issue.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 44 small targets on mobile and 44 on tablet.
- [MEDIUM] Make grid layouts breakpoint-aware
- 2 grid container(s) overflowed across tested viewports (1 on mobile, 1 on tablet). Use intrinsic tracks (minmax(), fr), wrapping, and breakpoint-aware grid templates.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 695.50 KB.
- Optimization recommendations:
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 873.15 KB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 695.50 KB.
- [HIGH] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 457.32 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 16.37 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 894.68 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 35 of 35 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
- Current value: 4.1 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 16 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Serve images in next-gen formats
- Current value: Est savings of 695 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Defer offscreen images
- Current value: Est savings of 873 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
### https://civicactions.com/services/ditap/register
- Performance: 87/100
- Transfer: 5.69 MB
- CO2 estimate: 2.2856 g
- Page host green energy status: NOT GREEN
- Redundancy score: 3/100
- Redundancy urgency: MEDIUM
- Modularization score: 40/100
- Modularization urgency: HIGH
- Dead-code score: 2/100
- Dead-code urgency: HIGH
- Non-critical resources score: 2/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 61/100
- Lightweight security urgency: HIGH
- Dependency maintenance score: 8/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 59/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.42 KB (5.0% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.01 KB savings)
- [MEDIUM] Reduce unused css (est. 17.41 KB savings)
- Heavy initial-load requests: 36 (4.18 MB total)
- On-demand modularization candidates:
- [HIGH] Split JavaScript by route or interaction (est. 271.01 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Modularize heavy script asset from www.gstatic.com (est. 612.99 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy font asset from fonts.gstatic.com (est. 221.13 KB)
- Subset or defer this font so full font payloads are only fetched when needed.
- External CSS/JS hosting checks:
- SCRIPT www.gstatic.com: GREEN (Google Cloud); 2 request(s), 652.05 KB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.52 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.65 KB
- STYLESHEET www.gstatic.com: GREEN (Google Cloud); 1 request(s), 151.64 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- STYLESHEET fonts.googleapis.com: GREEN (Google Cloud); 3 request(s), 3.42 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 4 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.41 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.01 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.01 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.41 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from www.gstatic.com (est. 612.99 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [HIGH] Evaluate deferred loading for heavy font from fonts.gstatic.com (est. 221.13 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 29 small targets on mobile and 28 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 4 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 4 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.01 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.41 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 232.93 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [MEDIUM] Largest Contentful Paint
- Current value: 3.3 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
- Current value: Est savings of 24 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
- Current value: Total size was 5,826 KiB
- WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)
### https://civicactions.com/case-studies/nyc-metro-transit-digital-clocks%20/
- Performance: n/a
- Transfer: 0.00 B
- CO2 estimate: 0.0000 g
- Page host green energy status: NOT GREEN
- Redundancy score: 0/100
- Redundancy urgency: LOW
- Modularization score: 0/100
- Modularization urgency: LOW
- Dead-code score: 0/100
- Dead-code urgency: LOW
- Non-critical resources score: 0/100
- Non-critical resources urgency: LOW
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 32/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 0/100
- Optimization urgency: LOW
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 0/100
- Third-party JS urgency: LOW
- Third-party JS recommendations:
- [LOW] No major third-party JavaScript risk signals
- Continue periodic reviews so third-party additions are assessed with the same rigor as first-party code.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [LOW] No obvious optimization bloat signals
- No major easy-win optimization opportunities were detected from current Lighthouse signals.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [HIGH] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets.
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 13 of 13 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [INVESTIGATE] Largest Contentful Paint
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Speed Index
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Reduce unused JavaScript
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [INVESTIGATE] Reduce unused CSS
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [INVESTIGATE] Serve images in next-gen formats
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [INVESTIGATE] Efficiently encode images
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://civicactions.com/case-studies/cms-web-experience-services/fearless.tech
- Performance: n/a
- Transfer: 0.00 B
- CO2 estimate: 0.0000 g
- Page host green energy status: NOT GREEN
- Redundancy score: 0/100
- Redundancy urgency: LOW
- Modularization score: 0/100
- Modularization urgency: LOW
- Dead-code score: 0/100
- Dead-code urgency: LOW
- Non-critical resources score: 0/100
- Non-critical resources urgency: LOW
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 32/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 0/100
- Optimization urgency: LOW
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 0/100
- Third-party JS urgency: LOW
- Third-party JS recommendations:
- [LOW] No major third-party JavaScript risk signals
- Continue periodic reviews so third-party additions are assessed with the same rigor as first-party code.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [LOW] No obvious optimization bloat signals
- No major easy-win optimization opportunities were detected from current Lighthouse signals.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [HIGH] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets.
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 13 of 13 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [INVESTIGATE] Largest Contentful Paint
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Speed Index
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Reduce unused JavaScript
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [INVESTIGATE] Reduce unused CSS
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [INVESTIGATE] Serve images in next-gen formats
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [INVESTIGATE] Efficiently encode images
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://civicactions.com/feedback
- Performance: 84/100
- Transfer: 5.68 MB
- CO2 estimate: 2.2835 g
- Page host green energy status: NOT GREEN
- Redundancy score: 3/100
- Redundancy urgency: MEDIUM
- Modularization score: 40/100
- Modularization urgency: HIGH
- Dead-code score: 2/100
- Dead-code urgency: HIGH
- Non-critical resources score: 2/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 61/100
- Lightweight security urgency: HIGH
- Dependency maintenance score: 8/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 59/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.26 KB (5.0% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.01 KB savings)
- [MEDIUM] Reduce unused css (est. 17.25 KB savings)
- Heavy initial-load requests: 36 (4.18 MB total)
- On-demand modularization candidates:
- [HIGH] Split JavaScript by route or interaction (est. 271.01 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Modularize heavy script asset from www.gstatic.com (est. 612.99 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy font asset from fonts.gstatic.com (est. 221.13 KB)
- Subset or defer this font so full font payloads are only fetched when needed.
- External CSS/JS hosting checks:
- SCRIPT www.gstatic.com: GREEN (Google Cloud); 2 request(s), 652.05 KB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.54 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- STYLESHEET www.gstatic.com: GREEN (Google Cloud); 1 request(s), 151.64 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- STYLESHEET fonts.googleapis.com: GREEN (Google Cloud); 3 request(s), 3.38 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 4 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.25 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.01 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 24.23 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.01 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.25 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from www.gstatic.com (est. 612.99 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [HIGH] Evaluate deferred loading for heavy font from fonts.gstatic.com (est. 221.13 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 30 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 4 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 4 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.01 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 24.23 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.25 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 232.94 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 12 of 12 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [MEDIUM] Largest Contentful Paint
- Current value: 3.3 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
- Current value: Est savings of 24 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
- Current value: Total size was 5,821 KiB
- WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)
### https://civicactions.com/case-studies
- Performance: 82/100
- Transfer: 14.81 MB
- CO2 estimate: 5.9476 g
- Page host green energy status: NOT GREEN
- Redundancy score: 1/100
- Redundancy urgency: MEDIUM
- Modularization score: 45/100
- Modularization urgency: HIGH
- Dead-code score: 1/100
- Dead-code urgency: HIGH
- Non-critical resources score: 1/100
- Non-critical resources urgency: HIGH
- Form validation score: 50/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 19/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 290.80 KB (1.9% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 269.58 KB savings)
- [MEDIUM] Reduce unused css (est. 21.21 KB savings)
- Heavy initial-load requests: 6 (14.05 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 207.79 KB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 269.58 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 8.39 MB)
- Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.53 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 21.21 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 269.58 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [MEDIUM] Lazy-load offscreen images (est. 207.79 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 269.58 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 21.21 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 8.39 MB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [MEDIUM] No explicit validation rule
- 6 unique form control signature(s) on this page include this issue.
- [MEDIUM] No error messaging hook
- 6 unique form control signature(s) on this page include this issue.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 35 small targets on mobile and 34 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 2.78 MB.
- Optimization recommendations:
- [HIGH] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 13.44 MB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 2.78 MB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 269.58 KB.
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 207.79 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 21.21 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 11.37 MB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 31 of 31 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
- Current value: 4.3 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 2,844 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 270 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 21 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
- Current value: Est savings of 208 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
- Current value: Total size was 15,162 KiB
- WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)
### https://civicactions.com/case-studies/va-cms-modernization
- Performance: 66/100
- Transfer: 11.19 MB
- CO2 estimate: 4.4960 g
- Page host green energy status: NOT GREEN
- Redundancy score: 1/100
- Redundancy urgency: MEDIUM
- Modularization score: 59/100
- Modularization urgency: HIGH
- Dead-code score: 1/100
- Dead-code urgency: HIGH
- Non-critical resources score: 27/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 73/100
- Compression urgency: HIGH
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 42/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.31 KB (2.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 270.67 KB savings)
- [MEDIUM] Reduce unused css (est. 17.64 KB savings)
- Heavy initial-load requests: 5 (10.80 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 8.37 MB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 270.67 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 8.34 MB)
- Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.54 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.64 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 270.67 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [HIGH] Lazy-load offscreen images (est. 8.37 MB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 270.67 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.64 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 8.34 MB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 31 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 8.16 MB.
- Optimization recommendations:
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 8.37 MB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 8.16 MB.
- [HIGH] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 1.91 MB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 270.67 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.64 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 8.46 MB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 20 of 23 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
- Current value: 20.2 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 8,356 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 18 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
- Current value: Est savings of 8,575 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [MEDIUM] Avoid enormous network payloads
- Current value: Total size was 11,461 KiB
- WSG: 25 Define performance and environmental budgets (https://www.w3.org/TR/web-sustainability-guidelines/#define-performance-and-environmental-budgets)
### https://civicactions.com/case-studies/Drupal-10/CMS.gov
- Performance: n/a
- Transfer: 0.00 B
- CO2 estimate: 0.0000 g
- Page host green energy status: NOT GREEN
- Redundancy score: 0/100
- Redundancy urgency: LOW
- Modularization score: 0/100
- Modularization urgency: LOW
- Dead-code score: 0/100
- Dead-code urgency: LOW
- Non-critical resources score: 0/100
- Non-critical resources urgency: LOW
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 32/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 0/100
- Optimization urgency: LOW
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 0/100
- Third-party JS urgency: LOW
- Third-party JS recommendations:
- [LOW] No major third-party JavaScript risk signals
- Continue periodic reviews so third-party additions are assessed with the same rigor as first-party code.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [LOW] No obvious optimization bloat signals
- No major easy-win optimization opportunities were detected from current Lighthouse signals.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [HIGH] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets.
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 13 of 13 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [INVESTIGATE] Largest Contentful Paint
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Speed Index
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Reduce unused JavaScript
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [INVESTIGATE] Reduce unused CSS
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [INVESTIGATE] Serve images in next-gen formats
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [INVESTIGATE] Efficiently encode images
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://civicactions.com/case-studies/Drupal-10/Medicare.gov
- Performance: n/a
- Transfer: 0.00 B
- CO2 estimate: 0.0000 g
- Page host green energy status: NOT GREEN
- Redundancy score: 0/100
- Redundancy urgency: LOW
- Modularization score: 0/100
- Modularization urgency: LOW
- Dead-code score: 0/100
- Dead-code urgency: LOW
- Non-critical resources score: 0/100
- Non-critical resources urgency: LOW
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 32/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 0/100
- Optimization urgency: LOW
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 0/100
- Third-party JS urgency: LOW
- Third-party JS recommendations:
- [LOW] No major third-party JavaScript risk signals
- Continue periodic reviews so third-party additions are assessed with the same rigor as first-party code.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [LOW] No obvious optimization bloat signals
- No major easy-win optimization opportunities were detected from current Lighthouse signals.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [HIGH] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets.
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 13 of 13 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [INVESTIGATE] Largest Contentful Paint
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Speed Index
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Reduce unused JavaScript
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [INVESTIGATE] Reduce unused CSS
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [INVESTIGATE] Serve images in next-gen formats
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [INVESTIGATE] Efficiently encode images
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://civicactions.com/case-studies/Drupal-10/Openpaymentsdata.cms.gov
- Performance: n/a
- Transfer: 0.00 B
- CO2 estimate: 0.0000 g
- Page host green energy status: NOT GREEN
- Redundancy score: 0/100
- Redundancy urgency: LOW
- Modularization score: 0/100
- Modularization urgency: LOW
- Dead-code score: 0/100
- Dead-code urgency: LOW
- Non-critical resources score: 0/100
- Non-critical resources urgency: LOW
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 32/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 0/100
- Optimization urgency: LOW
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 0/100
- Third-party JS urgency: LOW
- Third-party JS recommendations:
- [LOW] No major third-party JavaScript risk signals
- Continue periodic reviews so third-party additions are assessed with the same rigor as first-party code.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [LOW] No obvious optimization bloat signals
- No major easy-win optimization opportunities were detected from current Lighthouse signals.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [HIGH] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets.
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 13 of 13 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [INVESTIGATE] Largest Contentful Paint
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Speed Index
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Reduce unused JavaScript
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [INVESTIGATE] Reduce unused CSS
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [INVESTIGATE] Serve images in next-gen formats
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [INVESTIGATE] Efficiently encode images
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://civicactions.com/case-studies/Drupal-10/Data.medicaid.gov
- Performance: n/a
- Transfer: 0.00 B
- CO2 estimate: 0.0000 g
- Page host green energy status: NOT GREEN
- Redundancy score: 0/100
- Redundancy urgency: LOW
- Modularization score: 0/100
- Modularization urgency: LOW
- Dead-code score: 0/100
- Dead-code urgency: LOW
- Non-critical resources score: 0/100
- Non-critical resources urgency: LOW
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 32/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 0/100
- Optimization urgency: LOW
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 0/100
- Third-party JS urgency: LOW
- Third-party JS recommendations:
- [LOW] No major third-party JavaScript risk signals
- Continue periodic reviews so third-party additions are assessed with the same rigor as first-party code.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [LOW] No obvious optimization bloat signals
- No major easy-win optimization opportunities were detected from current Lighthouse signals.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [HIGH] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets.
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 13 of 13 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [INVESTIGATE] Largest Contentful Paint
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Speed Index
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Reduce unused JavaScript
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [INVESTIGATE] Reduce unused CSS
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [INVESTIGATE] Serve images in next-gen formats
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [INVESTIGATE] Efficiently encode images
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://civicactions.com/case-studies/Drupal-10/Data.healthcare.gov
- Performance: n/a
- Transfer: 0.00 B
- CO2 estimate: 0.0000 g
- Page host green energy status: NOT GREEN
- Redundancy score: 0/100
- Redundancy urgency: LOW
- Modularization score: 0/100
- Modularization urgency: LOW
- Dead-code score: 0/100
- Dead-code urgency: LOW
- Non-critical resources score: 0/100
- Non-critical resources urgency: LOW
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 32/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 0/100
- Optimization urgency: LOW
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 0/100
- Third-party JS urgency: LOW
- Third-party JS recommendations:
- [LOW] No major third-party JavaScript risk signals
- Continue periodic reviews so third-party additions are assessed with the same rigor as first-party code.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [LOW] No obvious optimization bloat signals
- No major easy-win optimization opportunities were detected from current Lighthouse signals.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [HIGH] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets.
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 13 of 13 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [INVESTIGATE] Largest Contentful Paint
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Speed Index
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Reduce unused JavaScript
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [INVESTIGATE] Reduce unused CSS
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [INVESTIGATE] Serve images in next-gen formats
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [INVESTIGATE] Efficiently encode images
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://civicactions.com/case-studies/Drupal-10/SDIS.medicaid.gov
- Performance: n/a
- Transfer: 0.00 B
- CO2 estimate: 0.0000 g
- Page host green energy status: NOT GREEN
- Redundancy score: 0/100
- Redundancy urgency: LOW
- Modularization score: 0/100
- Modularization urgency: LOW
- Dead-code score: 0/100
- Dead-code urgency: LOW
- Non-critical resources score: 0/100
- Non-critical resources urgency: LOW
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 32/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 0/100
- Optimization urgency: LOW
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 0/100
- Third-party JS urgency: LOW
- Third-party JS recommendations:
- [LOW] No major third-party JavaScript risk signals
- Continue periodic reviews so third-party additions are assessed with the same rigor as first-party code.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [LOW] No obvious optimization bloat signals
- No major easy-win optimization opportunities were detected from current Lighthouse signals.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [HIGH] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets.
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 13 of 13 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [INVESTIGATE] Largest Contentful Paint
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Speed Index
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Reduce unused JavaScript
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [INVESTIGATE] Reduce unused CSS
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [INVESTIGATE] Serve images in next-gen formats
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [INVESTIGATE] Efficiently encode images
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://civicactions.com/case-studies/Drupal-10/PFS.data.cms.gov
- Performance: n/a
- Transfer: 0.00 B
- CO2 estimate: 0.0000 g
- Page host green energy status: NOT GREEN
- Redundancy score: 0/100
- Redundancy urgency: LOW
- Modularization score: 0/100
- Modularization urgency: LOW
- Dead-code score: 0/100
- Dead-code urgency: LOW
- Non-critical resources score: 0/100
- Non-critical resources urgency: LOW
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 32/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 0/100
- Optimization urgency: LOW
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 0/100
- Third-party JS urgency: LOW
- Third-party JS recommendations:
- [LOW] No major third-party JavaScript risk signals
- Continue periodic reviews so third-party additions are assessed with the same rigor as first-party code.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [LOW] No obvious optimization bloat signals
- No major easy-win optimization opportunities were detected from current Lighthouse signals.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [HIGH] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets.
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 13 of 13 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [INVESTIGATE] Largest Contentful Paint
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Speed Index
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Reduce unused JavaScript
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [INVESTIGATE] Reduce unused CSS
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [INVESTIGATE] Serve images in next-gen formats
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [INVESTIGATE] Efficiently encode images
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://civicactions.com/case-studies/Drupal-10/QIC.cms.gov
- Performance: n/a
- Transfer: 0.00 B
- CO2 estimate: 0.0000 g
- Page host green energy status: NOT GREEN
- Redundancy score: 0/100
- Redundancy urgency: LOW
- Modularization score: 0/100
- Modularization urgency: LOW
- Dead-code score: 0/100
- Dead-code urgency: LOW
- Non-critical resources score: 0/100
- Non-critical resources urgency: LOW
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 32/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 0/100
- Optimization urgency: LOW
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 0/100
- Third-party JS urgency: LOW
- Third-party JS recommendations:
- [LOW] No major third-party JavaScript risk signals
- Continue periodic reviews so third-party additions are assessed with the same rigor as first-party code.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [LOW] No obvious optimization bloat signals
- No major easy-win optimization opportunities were detected from current Lighthouse signals.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [HIGH] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets.
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 13 of 13 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [INVESTIGATE] Largest Contentful Paint
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Speed Index
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Reduce unused JavaScript
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [INVESTIGATE] Reduce unused CSS
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [INVESTIGATE] Serve images in next-gen formats
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [INVESTIGATE] Efficiently encode images
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://civicactions.com/case-studies/cms-web-experience-services
- Performance: 89/100
- Transfer: 1.52 MB
- CO2 estimate: 0.6100 g
- Page host green energy status: NOT GREEN
- Redundancy score: 10/100
- Redundancy urgency: MEDIUM
- Modularization score: 46/100
- Modularization urgency: HIGH
- Dead-code score: 8/100
- Dead-code urgency: HIGH
- Non-critical resources score: 21/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 37/100
- Compression urgency: MEDIUM
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 36/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 287.69 KB (18.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.13 KB savings)
- [MEDIUM] Reduce unused css (est. 16.55 KB savings)
- Heavy initial-load requests: 4 (1.12 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 697.52 KB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 271.13 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Modularize heavy image asset from storage.googleapis.com (est. 664.96 KB)
- Serve a smaller placeholder first and load this asset only when the user scrolls to or requests the component.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.51 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 16.55 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.13 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [HIGH] Lazy-load offscreen images (est. 697.52 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.13 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 16.55 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy image from storage.googleapis.com (est. 664.96 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 30 small targets on mobile and 29 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 568.51 KB.
- Optimization recommendations:
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 697.52 KB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 568.51 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.13 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 16.55 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 732.85 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 33 of 43 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [MEDIUM] Largest Contentful Paint
- Current value: 3.1 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Serve images in next-gen formats
- Current value: Est savings of 569 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Defer offscreen images
- Current value: Est savings of 698 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
### https://civicactions.com/case-studies/cms-design-challenge-mvp
- Performance: 81/100
- Transfer: 1.19 MB
- CO2 estimate: 0.4768 g
- Page host green energy status: NOT GREEN
- Redundancy score: 13/100
- Redundancy urgency: MEDIUM
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 11/100
- Dead-code urgency: HIGH
- Non-critical resources score: 15/100
- Non-critical resources urgency: HIGH
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 55/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 12/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 53/100
- Third-party JS urgency: MEDIUM
- Estimated redundant transfer: 288.56 KB (23.7% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 271.14 KB savings)
- [MEDIUM] Reduce unused css (est. 17.42 KB savings)
- Heavy initial-load requests: 4 (600.29 KB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 264.62 KB)
- Load imagery only when it enters the viewport or when a user opens the relevant section.
- [HIGH] Split JavaScript by route or interaction (est. 271.14 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy script asset from js.hsforms.net (est. 193.66 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 171.93 KB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 2 request(s), 287.52 KB
- SCRIPT js.hsforms.net: GREEN (Cloudflare); 1 request(s), 193.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.39 KB
- Third-party JS recommendations:
- [MEDIUM] Maintain a third-party JavaScript inventory
- Track 3 third-party script origin(s) and assign an owner plus business justification for each.
- [HIGH] Reduce third-party script payload and requests
- Defer non-critical tags, remove unused vendors, and gate scripts behind consent or user interaction.
- Dead-code recommendations:
- [MEDIUM] Remove unused CSS selectors and component styles (est. 17.42 KB savings)
- Trim styles that never match rendered markup and split component CSS so only used styles are shipped.
- [HIGH] Remove unused JavaScript and feature bundles (est. 271.14 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [HIGH] Lazy-load offscreen images (est. 264.62 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 271.14 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 17.42 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Evaluate deferred loading for heavy script from js.hsforms.net (est. 193.66 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 171.93 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 36 small targets on mobile and 36 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [MEDIUM] Enable Strict-Transport-Security
- Set a Strict-Transport-Security header to enforce HTTPS on repeat visits.
- [MEDIUM] Set X-Content-Type-Options: nosniff
- Prevent MIME type sniffing by adding the nosniff response header.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 142.44 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 271.14 KB.
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 264.62 KB.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 142.44 KB.
- [MEDIUM] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 94.37 KB.
- [LOW] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 17.42 KB.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [MEDIUM] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets (estimated savings opportunity: 481.82 KB).
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 16 of 16 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
- Current value: 4.4 s
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 142 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 271 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Reduce unused CSS
- Current value: Est savings of 17 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Defer offscreen images
- Current value: Est savings of 265 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
### https://civicactions.com/case-studies/fearless.tech
- Performance: n/a
- Transfer: 0.00 B
- CO2 estimate: 0.0000 g
- Page host green energy status: NOT GREEN
- Redundancy score: 0/100
- Redundancy urgency: LOW
- Modularization score: 0/100
- Modularization urgency: LOW
- Dead-code score: 0/100
- Dead-code urgency: LOW
- Non-critical resources score: 0/100
- Non-critical resources urgency: LOW
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 32/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 40/100
- Expected-files urgency: MEDIUM
- Compression score: 0/100
- Compression urgency: LOW
- Optimization score: 0/100
- Optimization urgency: LOW
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 0/100
- Third-party JS urgency: LOW
- Third-party JS recommendations:
- [LOW] No major third-party JavaScript risk signals
- Continue periodic reviews so third-party additions are assessed with the same rigor as first-party code.
- Form validation recommendations:
- [LOW] No major form validation risks detected
- Continue testing form flows to ensure error handling remains clear across templates.
- Metadata recommendations:
- [LOW] Metadata structure looks healthy
- Core machine-readable metadata is present and no structural issues were detected.
- Layout adaptation recommendations:
- [HIGH] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 32 small targets on mobile and 31 on tablet.
- Lightweight security recommendations:
- [HIGH] Add a Content-Security-Policy header
- Add an appropriate CSP to reduce script injection and resource loading risk.
- [LOW] Define a Referrer-Policy
- Set a referrer policy to reduce unnecessary URL data leakage.
- [LOW] Define a Permissions-Policy
- Restrict browser capabilities to only what the application needs.
- [MEDIUM] Add SRI to external scripts
- 1 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 1 external script dependency URL(s) are missing SRI integrity attributes.
- Language/runtime version recommendations:
- [LOW] No obvious outdated runtime version disclosed
- No clearly outdated runtime version signals were exposed in sampled HTTP headers. Verify language/runtime versions in source and CI since backend versions are not always externally visible.
- Expected-files recommendations:
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /sitemap.xml, /.well-known/security.txt, /favicon.ico.
- Compression recommendations:
- [LOW] No major compression opportunity detected
- Compression signals look healthy in current Lighthouse audits; continue enforcing compression and asset encoding in CI/CD.
- Optimization recommendations:
- [LOW] No obvious optimization bloat signals
- No major easy-win optimization opportunities were detected from current Lighthouse signals.
- Offline/caching recommendations:
- [HIGH] Add service worker support
- Register a service worker to support resilient caching and offline behavior for key routes.
- [HIGH] Ensure critical routes work offline
- Provide an offline fallback strategy for key pages and shell assets.
- [MEDIUM] Improve web app manifest support
- Complete manifest fields so clients can install and run an app-like experience.
- [MEDIUM] Support offline start URL behavior
- Ensure start URL and shell routing can load in disconnected conditions.
- [HIGH] Strengthen static asset cache TTL
- Improve long-lived cache headers for immutable static assets.
- Media sustainability recommendations:
- [MEDIUM] Add dark mode support
- No prefers-color-scheme: dark media query or color-scheme meta tag was found. Dark mode reduces energy use on OLED screens and improves user choice.
- [HIGH] Add loading="lazy" to images
- 13 of 13 image(s) lack an explicit loading="lazy" attribute. Lazy loading defers below-fold images and reduces initial page weight.
- Grid-aware websites: not detected
- [INVESTIGATE] Largest Contentful Paint
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Speed Index
- WSG: 1 Set goals based on performance and energy impact (https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact)
- [INVESTIGATE] Reduce unused JavaScript
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [INVESTIGATE] Reduce unused CSS
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [INVESTIGATE] Serve images in next-gen formats
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [INVESTIGATE] Efficiently encode images
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
## Copy/Paste Issue Snippets
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 5.4 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 270 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Serve images in next-gen formats
- Lighthouse audit: modern-image-formats
- Current value: Est savings of 142 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use
### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 2.9 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 17 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information
### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 16.8 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Serve images in next-gen formats
- Lighthouse audit: modern-image-formats
- Current value: Est savings of 1,880 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use
### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 2.9 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 17 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information
### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 20.7 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Serve images in next-gen formats
- Lighthouse audit: modern-image-formats
- Current value: Est savings of 9,320 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use
### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 17.3 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Serve images in next-gen formats
- Lighthouse audit: modern-image-formats
- Current value: Est savings of 8,356 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use
### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 2.8 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 269 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 19 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information
### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 11.3 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Serve images in next-gen formats
- Lighthouse audit: modern-image-formats
- Current value: Est savings of 1,775 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use
### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 7.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Serve images in next-gen formats
- Lighthouse audit: modern-image-formats
- Current value: Est savings of 465 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use
### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 2.9 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 17 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information
### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 34.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Serve images in next-gen formats
- Lighthouse audit: modern-image-formats
- Current value: Est savings of 5,641 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use
### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 4.5 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Serve images in next-gen formats
- Lighthouse audit: modern-image-formats
- Current value: Est savings of 35 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use
### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.0 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 17 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information
### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 39 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.7 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 17 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information
### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 39 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 270 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 4.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 39 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 39 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.0 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 16 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information
### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 6.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Serve images in next-gen formats
- Lighthouse audit: modern-image-formats
- Current value: Est savings of 989 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use
### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Serve images in next-gen formats
- Lighthouse audit: modern-image-formats
- Current value: Est savings of 2,844 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use
### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.0 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 76 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.5 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 17 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information
### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 6.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Serve images in next-gen formats
- Lighthouse audit: modern-image-formats
- Current value: Est savings of 665 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use
### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 755 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 24 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 39 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 45 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 18 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 18 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 39 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Defer offscreen images
- Lighthouse audit: offscreen-images
- Current value: Est savings of 50 KiB
- WSG guideline: 3 Modularize bandwidth-heavy components
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components
### Why this matters
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.4 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 17 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information
### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Speed Index
- Lighthouse audit: speed-index
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 4.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 16 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information
### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.3 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 17 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information
### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Speed Index
- Lighthouse audit: speed-index
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Speed Index
- Lighthouse audit: speed-index
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.3 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 17 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information
### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 4.3 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Serve images in next-gen formats
- Lighthouse audit: modern-image-formats
- Current value: Est savings of 2,844 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use
### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 270 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 20.2 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Serve images in next-gen formats
- Lighthouse audit: modern-image-formats
- Current value: Est savings of 8,356 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use
### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Speed Index
- Lighthouse audit: speed-index
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Speed Index
- Lighthouse audit: speed-index
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Speed Index
- Lighthouse audit: speed-index
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Speed Index
- Lighthouse audit: speed-index
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Speed Index
- Lighthouse audit: speed-index
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Speed Index
- Lighthouse audit: speed-index
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Speed Index
- Lighthouse audit: speed-index
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Speed Index
- Lighthouse audit: speed-index
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 3.1 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 17 KiB
- WSG guideline: 2 Remove unnecessary or redundant information
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information
### Why this matters
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 4.4 s
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Serve images in next-gen formats
- Lighthouse audit: modern-image-formats
- Current value: Est savings of 142 KiB
- WSG guideline: 11 Optimize media to reduce resource use
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use
### Why this matters
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- Current value: Est savings of 271 KiB
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Largest Contentful Paint marks the time at which the largest text or image is painted. [Learn more about the Largest Contentful Paint metric](https://developer.chrome.com/docs/lighthouse/performance/lighthouse-largest-contentful-paint/)
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Speed Index
- Lighthouse audit: speed-index
- WSG guideline: 1 Set goals based on performance and energy impact
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#set-goals-based-on-performance-and-energy-impact
### Why this matters
Speed Index shows how quickly the contents of a page are visibly populated. [Learn more about the Speed Index metric](https://developer.chrome.com/docs/lighthouse/performance/speed-index/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce unused JavaScript
- Lighthouse audit: unused-javascript
- WSG guideline: 16 Use dependencies appropriately and ensure maintenance
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance
### Why this matters
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```