Sustainability Scan Report
Actionable Lighthouse + CO2.js findings mapped to WSG guidance.
- Scan title: SCAN: https://www.halifax.ca/
- Generated: 2026-04-23T19:59:43.595Z
- Scanned URLs: 100 / 100
- Estimated CO2: 74.3581 g
- Green page hosts: 0 / 100
- Average redundancy score: 34/100
- Average modularization score: 34/100
- Average dead-code score: 14/100
- Average non-critical resources score: 22/100
- Average form validation score: 30/100
- Average metadata score: 0/100
- Average layout adaptation score: 30/100
- Average lightweight security score: 59/100
- Average dependency maintenance score: 10/100
- Average expected-files score: 50/100
- Average compression score: 18/100
- Average optimization score: 100/100
- Average offline support score: 100/100
- Average media hints score: 46/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: 30/100 (0 low risk, 100 high risk)
- High urgency pages: 0
- Unique signatures assessed: 40
- Total occurrences: 150
- Reused assessments: 106
Recurring Form Elements
These signatures were assessed once and reused across pages to avoid duplicate scanning.
- search (keys): 99 page(s), risk 30/100, urgency MEDIUM
- text (keys): 3 page(s), risk 60/100, urgency HIGH
- radio (c-search-meetings-form__radio): 2 page(s), risk 50/100, urgency MEDIUM
- select (category): 2 page(s), risk 50/100, urgency MEDIUM
- select (filter_by): 2 page(s), risk 50/100, urgency MEDIUM
- text (ols): 2 page(s), risk 30/100, urgency MEDIUM
- date (start): 2 page(s), risk 20/100, urgency LOW
- date (end): 2 page(s), risk 20/100, urgency LOW
Recurring Search Controls
Search inputs often appear site-wide. These were deduplicated and not re-scanned on every page.
- search (keys): 99 page(s), urgency MEDIUM
- text (keys): 3 page(s), urgency HIGH
- select (filter_by): 2 page(s), 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: 100
- Average metadata score: 0/100 (0 low risk, 100 high risk)
- High urgency pages: 0
Cross-Page Metadata Gaps
- Missing html lang: 0
- Missing meta description: 1
- Missing canonical URL: 0
- 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: 100
- 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: 7818
- Total small tap targets on tablet: 8693
- Total fixed-width offenders: 11
- Pages with grid overflow containers: 1
- Total overflowing grid containers: 1
- Total grid containers detected: 87
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: 100
- Average lightweight security score: 59/100 (0 low risk, 100 high risk)
- High urgency pages: 0
Cross-Page Security Signals
- Pages missing Content-Security-Policy: 100
- HTTPS pages missing Strict-Transport-Security: 100
- Pages with vulnerable JS library findings: 0
- External scripts missing SRI (total): 4968
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: 100
- Average dependency maintenance score: 10/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: 100
- Average expected-files score: 50/100 (0 low risk, 100 high risk)
- High urgency pages: 1
Cross-Page Expected File Gaps
- robots.txt missing: 1
- sitemap.xml missing: 99
- .well-known/security.txt missing: 100
- manifest.webmanifest missing: 100
- favicon.ico missing: 100
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: 100
- Average optimization score: 100/100 (0 low opportunity, 100 high opportunity)
- High urgency pages: 100
Cross-Page Optimization Signals
- Aggregate potential byte savings: 98.96 MB
- Aggregate render-blocking reduction potential: 136609 ms
Recurring Optimization Opportunities
- Remove unused JavaScript: 100 page(s), est. 27.31 MB total savings
- Serve images in next-gen formats: 100 page(s), est. 22.01 MB total savings
- Remove unused CSS: 100 page(s), est. 16.54 MB total savings
- Lazy-load offscreen images: 99 page(s), est. 10.02 MB total savings
- Compress oversized image assets: 99 page(s), est. 6.01 MB total savings
- Minify CSS: 99 page(s), est. 3.67 MB total savings
- Minify JavaScript: 99 page(s), est. 3.09 MB total savings
- Eliminate render-blocking resources: 99 page(s), est. 136609 ms unblock
- Right-size images for viewport: 21 page(s), est. 10.30 MB total savings
- Enable text compression: 3 page(s), est. 19.34 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: 100
- Average compression score: 18/100 (0 low risk, 100 high risk)
- High urgency pages: 1
Cross-Page Compression Signals
- Pages missing effective text compression: 3
- Aggregate potential compression savings: 34.79 MB
Recurring Compression Opportunities
- Use modern image compression formats: 100 page(s), est. 22.01 MB total savings, urgency HIGH
- Improve image encoding quality/size: 99 page(s), est. 6.01 MB total savings, urgency HIGH
- Minify CSS before transfer: 99 page(s), est. 3.67 MB total savings, urgency MEDIUM
- Minify JavaScript before transfer: 99 page(s), est. 3.09 MB total savings, urgency HIGH
- Enable Brotli/gzip for text assets: 3 page(s), est. 19.34 KB total savings, urgency LOW
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: 100
- Average offline support score: 100/100 (0 low risk, 100 high risk)
- High urgency pages: 100
Cross-Page Offline and Caching Signals
- Pages without service worker support: 100
- Pages without offline support: 100
- Pages with weak cache TTL signals: 100
Recurring Offline/Caching Opportunities
- Add service worker support: 100 page(s), urgency HIGH
- Ensure critical routes work offline: 100 page(s), urgency HIGH
- Improve web app manifest support: 100 page(s), urgency MEDIUM
- Strengthen static asset cache TTL: 100 page(s), urgency MEDIUM
- Support offline start URL behavior: 100 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: 100
- Average media hints score: 46/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: 100
- Pages with lazy loading gap (<50% of images lazy): 97
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: 100
- 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: 100
- Average WSG compliance score: 60/100
medium script Incomplete media lazy loading
Only 1/16 images use loading="lazy". Global lazy loading reduces initial data transfer and energy consumption.
Recurs on 100 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 5 commercial tracking scripts. Consider lightweight, privacy-focused alternatives like Plausible or Fathom to reduce JS weight and energy footprint.
Recurs on 100 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
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 100 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 100 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 100 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 100 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 100 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 100 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 100 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 100 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 100 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 100 pages.
Reference: WSG 5.8 ↗
low script No reduced motion support
Implement prefers-reduced-motion to allow users to disable animations, reducing compute and improving accessibility.
Recurs on 99 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
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: 100
- 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 / 100
- Submitted URL hosts not confirmed green: 100
- Submitted URL hosts unknown: 0
- External CSS/JS origins on green energy: 17 / 31
- External CSS/JS origins not confirmed green: 14
- 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: 76/100
- High urgency pages: 99
- Distinct providers: 12
Top Third-Party Script Providers
- www.googletagmanager.com: GREEN (Google Cloud); 100 page(s), 399 request(s), 58.89 MB
- www.youtube.com: GREEN (Google Cloud); 100 page(s), 291 request(s), 12.61 MB
- cdn.halifax.ca: NOT GREEN; 99 page(s), 4757 request(s), 17.23 MB
- www.google-analytics.com: GREEN (Google Cloud); 99 page(s), 99 request(s), 1.97 MB
- googleads.g.doubleclick.net: GREEN (Google Cloud); 99 page(s), 99 request(s), 214.69 KB
- www.google.com: GREEN (Google Cloud); 10 page(s), 24 request(s), 255.04 KB
- static.doubleclick.net: GREEN (Google Cloud); 9 page(s), 27 request(s), 3.00 KB
- www.gstatic.com: GREEN (Google Cloud); 6 page(s), 67 request(s), 2.14 MB
- apis.google.com: GREEN (Google Cloud); 5 page(s), 10 request(s), 567.74 KB
- api.recollect.net: NOT GREEN; 3 page(s), 21 request(s), 2.16 MB
Cross-Page Hosting Risk
Recurring external providers with non-green or unknown hosting status across the scanned URL set.
Recurring Non-Green Providers
- cdn.halifax.ca: 99 page(s), 11965 request(s), 38.16 MB; types script, stylesheet
- api.recollect.net: 3 page(s), 21 request(s), 2.16 MB; types script
- static.xx.fbcdn.net: 3 page(s), 25 request(s), 703.57 KB; types script, stylesheet
- recollect-us.global.ssl.fastly.net: 3 page(s), 12 request(s), 308.32 KB; types stylesheet
- cdn.syncfusion.com: 2 page(s), 14 request(s), 7.08 MB; types script, stylesheet
- hrm.maps.arcgis.com: 2 page(s), 1235 request(s), 4.92 MB; types script, stylesheet
- assets.ca.recollect.net: 3 page(s), 3 request(s), 120.58 KB; types script
- go.playerzero.app: 2 page(s), 2 request(s), 199.67 KB; types script
- www.datadoghq-browser-agent.com: 2 page(s), 2 request(s), 118.48 KB; types script
- js.arcgis.com: 2 page(s), 2 request(s), 73.25 KB; types stylesheet
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: 34/100 (0 low, 100 high)
- High urgency pages: 30
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: 34/100 (0 low, 100 high)
- High urgency pages: 35
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: 14/100 (0 low, 100 high)
- High urgency pages: 99
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: 22/100 (0 low, 100 high)
- High urgency pages: 97
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: 1.85 MB (rating E)
- Current average CO2/page: 0.7436 g (rating F)
- Recommended budget target: Rating B = max 975.85 KB and 0.1450 g per page
Reduction needed: Transfer 919.71 KB (48.5%), CO2 0.5986 g (80.5%).
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 100 pages. Review whether that dependency should be deferred, optimized, or loaded conditionally.
Recurring Heavy Assets
- script assets from www.googletagmanager.com/gtm.js appears on 100 pages (15.55 MB total)
- script assets from www.googletagmanager.com/gtag appears on 99 pages (43.34 MB total)
- stylesheet assets from cdn.halifax.ca/themes appears on 27 pages (4.21 MB total)
- image assets from cdn.halifax.ca/sites appears on 21 pages (16.76 MB total)
- image assets from www.halifax.ca/themes appears on 18 pages (4.25 MB total)
Recurring Modularization Targets
- Split JavaScript by route or interaction affects 100 pages (est. 27.31 MB aggregate savings)
- Defer non-critical UI modules until after first render affects 99 pages
- Lazy-load offscreen images and media galleries affects 98 pages (est. 10.02 MB aggregate savings)
- Modularize heavy script asset from www.googletagmanager.com affects 85 pages (est. 13.21 MB aggregate savings)
- Modularize heavy stylesheet asset from cdn.halifax.ca affects 21 pages (est. 3.27 MB aggregate savings)
Recurring Heavy Origins
- www.googletagmanager.com is a recurring heavy source on 100 pages (58.89 MB total)
- cdn.halifax.ca is a recurring heavy source on 44 pages (22.73 MB total)
- www.halifax.ca is a recurring heavy source on 18 pages (4.25 MB total)
- www.youtube.com is a recurring heavy source on 9 pages (12.46 MB total)
- www.gstatic.com is a recurring heavy source on 6 pages (1.87 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 covers multiple origins. Shared guidance is grouped per site.
https://www.halifax.ca
Sampled pages: 99
- [MEDIUM] Add sitemap.xml at site origin
sitemap.xml is missing for all sampled pages on https://www.halifax.ca. - [LOW] Publish .well-known/security.txt
.well-known/security.txt is missing for all sampled pages on https://www.halifax.ca. - [HIGH] Apply Content-Security-Policy site-wide
CSP is absent across all sampled pages on https://www.halifax.ca. - [MEDIUM] Enable Strict-Transport-Security site-wide
HSTS is missing across all sampled HTTPS pages on https://www.halifax.ca. - [HIGH] Introduce service worker support
No sampled pages on https://www.halifax.ca indicate service worker support for offline resilience. - [HIGH] Support offline fallback behavior
Offline page behavior was not detected across sampled pages on https://www.halifax.ca. - [MEDIUM] Fix recurring optimization bloat at shared layer
Remove unused JavaScript recurs across 99 pages on https://www.halifax.ca (est. 27.16 MB aggregate savings). - [HIGH] Prioritize recurring compression fixes
Use modern image compression formats recurs across 99 pages on https://www.halifax.ca (est. 21.96 MB aggregate savings).
Recurring compression opportunities:
- Use modern image compression formats: 99 page(s), est. 21.96 MB total savings, urgency HIGH
- Improve image encoding quality/size: 99 page(s), est. 6.01 MB total savings, urgency HIGH
- Minify CSS before transfer: 99 page(s), est. 3.67 MB total savings, urgency MEDIUM
- Minify JavaScript before transfer: 99 page(s), est. 3.09 MB total savings, urgency HIGH
- Enable Brotli/gzip for text assets: 3 page(s), est. 19.34 KB total savings, urgency LOW
Recurring offline/caching opportunities:
- Add service worker support: 99 page(s), urgency HIGH
- Ensure critical routes work offline: 99 page(s), urgency HIGH
- Improve web app manifest support: 99 page(s), urgency MEDIUM
- Strengthen static asset cache TTL: 99 page(s), urgency MEDIUM
- Support offline start URL behavior: 99 page(s), urgency MEDIUM
Recurring optimization opportunities:
- Remove unused JavaScript: 99 page(s), est. 27.16 MB total savings
- Serve images in next-gen formats: 99 page(s), est. 21.96 MB total savings
- Remove unused CSS: 99 page(s), est. 16.50 MB total savings
- Compress oversized image assets: 99 page(s), est. 6.01 MB total savings
- Minify CSS: 99 page(s), est. 3.67 MB total savings
- Minify JavaScript: 99 page(s), est. 3.09 MB total savings
https://fr.halifax.ca
Sampled pages: 1
- [HIGH] Add robots.txt at site origin
robots.txt is missing for all sampled pages on https://fr.halifax.ca. - [LOW] Publish .well-known/security.txt
.well-known/security.txt is missing for all sampled pages on https://fr.halifax.ca. - [HIGH] Apply Content-Security-Policy site-wide
CSP is absent across all sampled pages on https://fr.halifax.ca. - [MEDIUM] Enable Strict-Transport-Security site-wide
HSTS is missing across all sampled HTTPS pages on https://fr.halifax.ca. - [HIGH] Introduce service worker support
No sampled pages on https://fr.halifax.ca indicate service worker support for offline resilience. - [HIGH] Support offline fallback behavior
Offline page behavior was not detected across sampled pages on https://fr.halifax.ca.
Page-Specific Guidance
Page-level exceptions and targeted follow-ups after site-wide recommendations are addressed.
https://www.halifax.ca
- https://www.halifax.ca/city-hall/budget-finances/budget
Urgency: HIGH. Scores: compression 63/100, optimization 100/100, offline 100/100, dependency 10/100, language 0/100, security 59/100, expected files 50/100, media 50/100.
Top actions: Use modern image compression formats; Minify CSS before transfer; Minify JavaScript before transfer - https://www.halifax.ca/suburbanplan
Urgency: HIGH. Scores: compression 48/100, optimization 100/100, offline 100/100, dependency 10/100, language 0/100, security 59/100, expected files 50/100, media 50/100.
Top actions: Use modern image compression formats; Improve image encoding quality/size; Minify CSS before transfer - https://www.halifax.ca/node/4561
Urgency: HIGH. Scores: compression 47/100, optimization 100/100, offline 100/100, dependency 10/100, language 0/100, security 59/100, expected files 50/100, media 46/100.
Top actions: Use modern image compression formats; Improve image encoding quality/size; Minify CSS before transfer - https://www.halifax.ca/
Urgency: HIGH. Scores: compression 46/100, optimization 100/100, offline 100/100, dependency 10/100, language 0/100, security 59/100, expected files 50/100, media 46/100.
Top actions: Use modern image compression formats; Improve image encoding quality/size; Minify CSS before transfer - https://www.halifax.ca/transportation/parking/parking-tickets
Urgency: HIGH. Scores: compression 40/100, optimization 100/100, offline 100/100, dependency 10/100, language 0/100, security 59/100, expected files 50/100, media 50/100.
Top actions: Use modern image compression formats; Improve image encoding quality/size; Minify CSS before transfer - https://www.halifax.ca/city-hall
Urgency: HIGH. Scores: compression 40/100, optimization 100/100, offline 100/100, dependency 10/100, language 0/100, security 59/100, expected files 50/100, media 50/100.
Top actions: Use modern image compression formats; Improve image encoding quality/size; Minify CSS before transfer
https://fr.halifax.ca
- https://www.halifax.ca/fr
Urgency: HIGH. Scores: compression 8/100, optimization 100/100, offline 100/100, dependency 2/100, language 0/100, security 51/100, expected files 60/100, media 50/100.
Top actions: Use modern image compression formats; Remove unused JavaScript; Remove unused CSS
Overview Table
| URL | Performance | Transfer | CO2 | Findings | Top Actions |
|---|---|---|---|---|---|
| https://www.halifax.ca/ | 57/100 | 2.69 MB | 1.0793 g | 10 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/node/4561 | 49/100 | 2.68 MB | 1.0777 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/about-halifax/diversity-inclusion/accessibility | 47/100 | 1.47 MB | 0.5921 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/home/311 | 47/100 | 2.11 MB | 0.8471 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/home/online-services | 69/100 | 1.10 MB | 0.4409 g | 9 | Reduce unused CSS; Eliminate render-blocking resources |
| https://www.halifax.ca/fr | 67/100 | 569.26 KB | 0.2233 g | 7 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/about-halifax | 43/100 | 1.67 MB | 0.6723 g | 9 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/about-halifax/diversity-inclusion | 30/100 | 1.26 MB | 0.5081 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/about-halifax/employment | 64/100 | 1.11 MB | 0.4451 g | 8 | Reduce unused CSS; Eliminate render-blocking resources |
| https://www.halifax.ca/about-halifax/environment-climate-change | 57/100 | 1.15 MB | 0.4603 g | 10 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/about-halifax/municipal-archives | 39/100 | 1.72 MB | 0.6904 g | 9 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/about-halifax/regional-community-planning | 56/100 | 1.19 MB | 0.4791 g | 10 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/about-halifax/volunteering | 41/100 | 1.13 MB | 0.4519 g | 10 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/about-halifax/affordable-access-program | 40/100 | 1.12 MB | 0.4489 g | 10 | Largest Contentful Paint; Speed Index |
| https://www.halifax.ca/city-hall/legislation-by-laws/public-notices | 54/100 | 1.23 MB | 0.4942 g | 10 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/about-halifax/regional-community-planning/shape-your-city | 48/100 | 1.33 MB | 0.5345 g | 10 | Reduce unused CSS; Eliminate render-blocking resources |
| https://www.halifax.ca/home/stay-informed/ | 55/100 | 1.15 MB | 0.4637 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/home-property | 56/100 | 1.98 MB | 0.7952 g | 9 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/home-property/animal-services | 46/100 | 1.12 MB | 0.4502 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/home-property/building-development-permits | 56/100 | 1.24 MB | 0.4985 g | 10 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/home-property/civic-addressing | 58/100 | 1.02 MB | 0.4096 g | 10 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/home-property/garbage-recycling-green-cart | 47/100 | 1.57 MB | 0.6316 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/home-property/property-taxes | 50/100 | 1.13 MB | 0.4553 g | 9 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/home-property/urban-forestry | 54/100 | 1.17 MB | 0.4688 g | 10 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/home-property/building-development-permits/alarm-registration | 42/100 | 1.68 MB | 0.6746 g | 11 | Largest Contentful Paint; Speed Index |
| https://www.halifax.ca/about-halifax/regional-community-planning/short-term-rentals | 54/100 | 1.29 MB | 0.5191 g | 10 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/home-property/garbage-recycling-green-cart/collection-schedules-what-goes-where | 34/100 | 2.68 MB | 1.0768 g | 11 | Largest Contentful Paint; Speed Index |
| https://www.halifax.ca/transportation | 54/100 | 1.67 MB | 0.6697 g | 9 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/transportation/halifax-transit | 53/100 | 1.59 MB | 0.6392 g | 9 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/transportation/cycling-walking | 48/100 | 1.33 MB | 0.5354 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/transportation/parking | 52/100 | 1.08 MB | 0.4348 g | 9 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/transportation/winter-operations | 51/100 | 1.15 MB | 0.4634 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/transportation/your-trip | 42/100 | 2.81 MB | 1.1275 g | 11 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/transportation/streets-sidewalks | 30/100 | 1.12 MB | 0.4516 g | 9 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/transportation/halifax-transit/routes-schedules | 63/100 | 1.07 MB | 0.4303 g | 8 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/about-halifax/regional-community-planning/construction-projects/cogswell-district-redevelopment-0 | 45/100 | 2.59 MB | 1.0421 g | 10 | Largest Contentful Paint; Speed Index |
| https://www.halifax.ca/transportation/parking/parking-tickets | 40/100 | 1.48 MB | 0.5932 g | 9 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/transportation/parking/street-parking | 60/100 | 1.91 MB | 0.7656 g | 9 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/safety-security | 44/100 | 1.63 MB | 0.6536 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/safety-security/emergency-management | 48/100 | 1.16 MB | 0.4661 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/safety-security/fire-emergency | 52/100 | 2.06 MB | 0.8268 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/safety-security/public-safety-strategy-programs | 53/100 | 1.13 MB | 0.4550 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/safety-security/police | 42/100 | 1.15 MB | 0.4634 g | 10 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/safety-security/halifax-district-rcmp | 46/100 | 1.07 MB | 0.4309 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/safety-security/crossing-guard-program | 45/100 | 1.29 MB | 0.5182 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/fire-police/fire-emergency-management/emergency-management/emergency-preparedness/voluntary | 36/100 | 1.37 MB | 0.5492 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/safety-security/police/crime-mapping | 52/100 | 1.07 MB | 0.4302 g | 10 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/fire-police/fire/recruitment/volunteer-firefighter-recruitment | 15/100 | 5.96 MB | 2.3935 g | 12 | Largest Contentful Paint; Speed Index |
| https://www.halifax.ca/fire-police/fire/emergency-management | 56/100 | 1.51 MB | 0.6054 g | 10 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/fire-police/emergency-management/hfxalert | 31/100 | 2.85 MB | 1.1428 g | 11 | Largest Contentful Paint; Speed Index |
| https://www.halifax.ca/business | 52/100 | 1.92 MB | 0.7702 g | 9 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/business/doing-business-halifax | 65/100 | 1.07 MB | 0.4316 g | 8 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/business/business-parks | 49/100 | 1.14 MB | 0.4574 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/business/filming-halifax | 51/100 | 1.32 MB | 0.5307 g | 8 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/business/licences | 51/100 | 1.21 MB | 0.4875 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/business/planning-development | 50/100 | 1.80 MB | 0.7237 g | 9 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/business/real-estate-land-management | 44/100 | 1.12 MB | 0.4503 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/business/doing-business-halifax/garbage-recycling-businesses | 49/100 | 2.62 MB | 1.0520 g | 12 | Speed Index; Reduce unused CSS |
| https://www.halifax.ca/business/planning-development/planning-subdivision-applications | 52/100 | 1.52 MB | 0.6111 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/business/doing-business-halifax/procurement | 52/100 | 1.21 MB | 0.4860 g | 10 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/parks-recreation | 50/100 | 1.87 MB | 0.7518 g | 10 | Largest Contentful Paint; Speed Index |
| https://www.halifax.ca/parks-recreation/programs-activities | 52/100 | 1.95 MB | 0.7845 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/parks-recreation/arts-culture-heritage | 45/100 | 1.11 MB | 0.4441 g | 9 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/parks-recreation/events | 35/100 | 2.14 MB | 0.8604 g | 10 | Largest Contentful Paint; Speed Index |
| https://www.halifax.ca/parks-recreation/facility-rentals-bookings-field-conditions | 41/100 | 2.15 MB | 0.8648 g | 9 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/parks-recreation/halifax-youth | 48/100 | 1.36 MB | 0.5446 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/parks-recreation/parks-trails-gardens | 45/100 | 1.68 MB | 0.6741 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/parks-recreation/programs-activities/outdoor-recreation/emera-oval | 49/100 | 2.32 MB | 0.9325 g | 9 | Reduce unused CSS; Eliminate render-blocking resources |
| https://www.halifax.ca/parks-recreation/programs-activities/recreation-activities | 66/100 | 1.59 MB | 0.6397 g | 9 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/parks-recreation/programs-activities/recreation-centres-your-community | 53/100 | 1.15 MB | 0.4612 g | 9 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/myrec | 60/100 | 1.77 MB | 0.7101 g | 9 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/city-hall | 38/100 | 2.08 MB | 0.8336 g | 9 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/city-hall/budget-finances | 53/100 | 1.14 MB | 0.4566 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/city-hall/mayor-andy-fillmore | 41/100 | 1.14 MB | 0.4592 g | 9 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/city-hall/districts-councillors | 61/100 | 1.13 MB | 0.4547 g | 9 | Reduce unused CSS; Eliminate render-blocking resources |
| https://www.halifax.ca/city-hall/regional-council | 45/100 | 1.73 MB | 0.6940 g | 9 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/city-hall/agendas-meetings-reports | 62/100 | 6.44 MB | 2.5889 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/city-hall/legislation-by-laws | 55/100 | 1.12 MB | 0.4480 g | 10 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/city-hall/elections/2024-election-results | 49/100 | 1.14 MB | 0.4576 g | 10 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/city-hall/boards-committees-commissions | 45/100 | 1.10 MB | 0.4435 g | 10 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/city-hall/budget-finances/budget | 60/100 | 3.37 MB | 1.3541 g | 11 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/city-hall/agendas-meetings-reports?category=127 | 43/100 | 6.62 MB | 2.6592 g | 11 | Largest Contentful Paint; Speed Index |
| https://www.halifax.ca/city-hall/strategic-plan | 65/100 | 3.26 MB | 1.3102 g | 11 | Speed Index; Reduce unused CSS |
| https://www.halifax.ca/transportation/halifax-transit/routes-schedules?utm_source=Halifax.ca&utm_medium=Popular_links&utm_campaign=Transit | 49/100 | 1.27 MB | 0.5108 g | 10 | Largest Contentful Paint; Speed Index |
| https://www.halifax.ca/home-property/municipal-payments/making-a-payment | 59/100 | 1.36 MB | 0.5445 g | 9 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/transportation/parking?utm_source=Halifax.ca&utm_medium=Popular_links&utm_campaign=Parking | 51/100 | 1.11 MB | 0.4455 g | 8 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/about-halifax/affordable-access-program?utm_source=Halifax.ca&utm_medium=Popular_links&utm_campaign=AAP | 49/100 | 1.30 MB | 0.5233 g | 9 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/home-property/garbage-recycling-green-cart/garbage-collection?utm_source=Halifax.ca&utm_medium=Popular_links&utm_campaign=Solid_Waste | 27/100 | 5.60 MB | 2.2484 g | 12 | Largest Contentful Paint; Speed Index |
| https://www.halifax.ca/about-halifax/environment-climate-change/halifact-acting-climate-together | 61/100 | 3.99 MB | 1.6009 g | 10 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/transportation/transportation-projects/windsor-street-exchange-redevelopment-project | 44/100 | 1.08 MB | 0.4336 g | 10 | Largest Contentful Paint; Speed Index |
| https://www.halifax.ca/about-halifax/employment/work-halifax-regional-municipality?utm_source=Home_Page&utm_medium=Banner&utm_campaign=Recruitment | 60/100 | 2.59 MB | 1.0417 g | 10 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/safety-security/police/reporting-crime | 46/100 | 1.33 MB | 0.5349 g | 9 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/online-services | 64/100 | 1.10 MB | 0.4417 g | 9 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/safety-security/fire-emergency/recruitment-volunteers | 40/100 | 5.83 MB | 2.3402 g | 10 | Largest Contentful Paint; Speed Index |
| https://www.halifax.ca/suburbanplan | 60/100 | 8.10 MB | 3.2556 g | 10 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/about-halifax/regional-community-planning/housing-accelerator-fund/second-unit-incentive | 52/100 | 1.14 MB | 0.4597 g | 9 | Largest Contentful Paint; Reduce unused JavaScript |
| https://www.halifax.ca/parks-recreation/programs-activities/inclusion-support-advisory-group | 70/100 | 1.10 MB | 0.4434 g | 8 | Reduce unused CSS; Eliminate render-blocking resources |
| https://www.halifax.ca/parks-recreation/halifax-youth/youth-services-plan | 57/100 | 1.39 MB | 0.5569 g | 10 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/about-halifax/regional-community-planning/helping-address-homelessness?utm_source=Halifax.ca&utm_medium=Popular_links&utm_campaign=Addressing_Homelessness | 66/100 | 1.49 MB | 0.6005 g | 10 | Largest Contentful Paint; Reduce unused CSS |
| https://www.halifax.ca/home/news | 65/100 | 1.42 MB | 0.5723 g | 9 | Largest Contentful Paint; Reduce unused JavaScript |
Per-Page Green Hosting Details
Checks the submitted page host plus any external script and stylesheet origins discovered by Lighthouse.
https://www.halifax.ca/
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 608.09 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 72 request(s), 346.95 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 170.43 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.91 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.80 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.17 KB
https://www.halifax.ca/node/4561
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.53 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 72 request(s), 345.55 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 169.45 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.34 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.80 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.13 KB
https://www.halifax.ca/about-halifax/diversity-inclusion/accessibility
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.53 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 73 request(s), 345.12 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 170.87 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.34 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.80 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.15 KB
https://www.halifax.ca/home/311
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 608.10 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 72 request(s), 332.33 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 170.26 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.34 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.80 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.14 KB
https://www.halifax.ca/home/online-services
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.49 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 52 request(s), 166.27 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 71 request(s), 135.34 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.34 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.80 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.12 KB
https://www.halifax.ca/fr
Page host: fr.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 1 request(s), 159.19 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.80 KB
https://www.halifax.ca/about-halifax
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.49 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 153.09 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 69 request(s), 146.14 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.34 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.81 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.12 KB
https://www.halifax.ca/about-halifax/diversity-inclusion
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.53 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 72 request(s), 172.00 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 152.58 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.34 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.82 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.16 KB
https://www.halifax.ca/about-halifax/employment
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.51 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 71 request(s), 158.79 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 152.43 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.34 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.15 KB
https://www.halifax.ca/about-halifax/environment-climate-change
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.46 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 71 request(s), 158.81 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 152.46 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.34 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.15 KB
https://www.halifax.ca/about-halifax/municipal-archives
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.50 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 76 request(s), 224.35 KB
- SCRIPT static.xx.fbcdn.net: NOT GREEN, 1 request(s), 199.68 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 152.58 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.34 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.14 KB
https://www.halifax.ca/about-halifax/regional-community-planning
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.43 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 74 request(s), 197.86 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 152.43 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.34 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.19 KB
https://www.halifax.ca/about-halifax/volunteering
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.46 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 74 request(s), 197.80 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 152.45 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.34 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.14 KB
https://www.halifax.ca/about-halifax/affordable-access-program
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.44 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 72 request(s), 172.11 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 152.58 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.17 KB
https://www.halifax.ca/city-hall/legislation-by-laws/public-notices
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.43 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 71 request(s), 318.65 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 170.82 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.22 KB
https://www.halifax.ca/about-halifax/regional-community-planning/shape-your-city
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.43 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 72 request(s), 160.79 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 153.40 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.84 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.15 KB
https://www.halifax.ca/home/stay-informed/
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.44 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 153.17 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 72 request(s), 145.04 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.85 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.13 KB
https://www.halifax.ca/home-property
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.45 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 69 request(s), 305.76 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 169.47 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.85 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.13 KB
https://www.halifax.ca/home-property/animal-services
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.45 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 75 request(s), 198.16 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 155.49 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.13 KB
https://www.halifax.ca/home-property/building-development-permits
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.48 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 77 request(s), 222.62 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 154.43 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.17 KB
https://www.halifax.ca/home-property/civic-addressing
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.48 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 154.45 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 70 request(s), 118.68 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.16 KB
https://www.halifax.ca/home-property/garbage-recycling-green-cart
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.48 KB
- SCRIPT static.xx.fbcdn.net: NOT GREEN, 10 request(s), 244.68 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 75 request(s), 198.32 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 155.38 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- STYLESHEET static.xx.fbcdn.net: NOT GREEN, 2 request(s), 7.26 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.17 KB
https://www.halifax.ca/home-property/property-taxes
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.48 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 75 request(s), 196.36 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 153.16 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.14 KB
https://www.halifax.ca/home-property/urban-forestry
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.47 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 74 request(s), 183.36 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 153.17 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.14 KB
https://www.halifax.ca/home-property/building-development-permits/alarm-registration
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.49 KB
- SCRIPT www.gstatic.com: GREEN (Google Cloud), 2 request(s), 361.69 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 66 request(s), 234.72 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 83 request(s), 180.45 KB
- STYLESHEET www.gstatic.com: GREEN (Google Cloud), 1 request(s), 41.61 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.17 KB
https://www.halifax.ca/about-halifax/regional-community-planning/short-term-rentals
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.48 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 71 request(s), 318.65 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 170.82 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.18 KB
https://www.halifax.ca/home-property/garbage-recycling-green-cart/collection-schedules-what-goes-where
Page host: www.halifax.ca: NOT GREEN
- SCRIPT api.recollect.net: NOT GREEN, 7 request(s), 737.15 KB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.47 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 72 request(s), 333.32 KB
- SCRIPT cdn.pendo.io: GREEN (Google Cloud), 1 request(s), 184.17 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 153.34 KB
- STYLESHEET recollect-us.global.ssl.fastly.net: NOT GREEN, 4 request(s), 102.77 KB
- SCRIPT assets.ca.recollect.net: NOT GREEN, 1 request(s), 40.20 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.35 KB
https://www.halifax.ca/transportation
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.48 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 69 request(s), 305.70 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 169.43 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.12 KB
https://www.halifax.ca/transportation/halifax-transit
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.49 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 393.48 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 76 request(s), 209.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.16 KB
https://www.halifax.ca/transportation/cycling-walking
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.49 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 154.08 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 71 request(s), 145.93 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.85 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.17 KB
https://www.halifax.ca/transportation/parking
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.49 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 153.16 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 71 request(s), 144.26 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.81 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.17 KB
https://www.halifax.ca/transportation/winter-operations
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.48 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 75 request(s), 196.46 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 153.21 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.36 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.80 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.18 KB
https://www.halifax.ca/transportation/your-trip
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.youtube.com: GREEN (Google Cloud), 7 request(s), 1.39 MB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 5 request(s), 607.51 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 73 request(s), 158.07 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 153.20 KB
- STYLESHEET www.youtube.com: GREEN (Google Cloud), 4 request(s), 103.51 KB
- SCRIPT www.google.com: GREEN (Google Cloud), 1 request(s), 23.18 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.36 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.15 KB
https://www.halifax.ca/transportation/streets-sidewalks
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.47 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 74 request(s), 184.97 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 153.35 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.36 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.16 KB
https://www.halifax.ca/transportation/halifax-transit/routes-schedules
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.48 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 153.75 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 72 request(s), 144.82 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.16 KB
https://www.halifax.ca/about-halifax/regional-community-planning/construction-projects/cogswell-district-redevelopment-0
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.youtube.com: GREEN (Google Cloud), 12 request(s), 843.72 KB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.49 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 73 request(s), 332.37 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 170.82 KB
- STYLESHEET www.youtube.com: GREEN (Google Cloud), 8 request(s), 103.53 KB
- SCRIPT www.google.com: GREEN (Google Cloud), 2 request(s), 23.06 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.21 KB
https://www.halifax.ca/transportation/parking/parking-tickets
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.49 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 71 request(s), 160.38 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 154.63 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.17 KB
https://www.halifax.ca/transportation/parking/street-parking
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.48 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 154.74 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 72 request(s), 146.58 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.18 KB
- SCRIPT halifax-hotspot.curbiq.io: NOT GREEN, 1 request(s), 1.59 KB
- STYLESHEET halifax-hotspot.curbiq.io: NOT GREEN, 1 request(s), 0.00 B
https://www.halifax.ca/safety-security
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.49 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 69 request(s), 305.78 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 169.46 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.14 KB
https://www.halifax.ca/safety-security/emergency-management
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.49 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 153.21 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 71 request(s), 144.47 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.84 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.14 KB
https://www.halifax.ca/safety-security/fire-emergency
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.49 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 65 request(s), 433.85 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 76 request(s), 188.09 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.84 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.15 KB
https://www.halifax.ca/safety-security/public-safety-strategy-programs
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.48 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 73 request(s), 170.42 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 153.16 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.16 KB
https://www.halifax.ca/safety-security/police
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.48 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 75 request(s), 196.65 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 154.52 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.18 KB
https://www.halifax.ca/safety-security/halifax-district-rcmp
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.48 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 154.70 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 71 request(s), 145.79 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.16 KB
https://www.halifax.ca/safety-security/crossing-guard-program
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.48 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 74 request(s), 370.39 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 169.57 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.17 KB
https://www.halifax.ca/fire-police/fire-emergency-management/emergency-management/emergency-preparedness/voluntary
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.48 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 71 request(s), 318.74 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 170.90 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.18 KB
https://www.halifax.ca/safety-security/police/crime-mapping
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.48 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 153.80 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 72 request(s), 145.00 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.16 KB
https://www.halifax.ca/fire-police/fire/recruitment/volunteer-firefighter-recruitment
Page host: www.halifax.ca: NOT GREEN
- SCRIPT hrm.maps.arcgis.com: NOT GREEN, 610 request(s), 2.43 MB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 8 request(s), 1.57 MB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.49 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 74 request(s), 347.33 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 171.82 KB
- STYLESHEET www.youtube.com: GREEN (Google Cloud), 4 request(s), 103.56 KB
- STYLESHEET js.arcgis.com: NOT GREEN, 1 request(s), 36.63 KB
- SCRIPT www.google.com: GREEN (Google Cloud), 2 request(s), 23.06 KB
https://www.halifax.ca/fire-police/fire/emergency-management
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.49 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 73 request(s), 344.67 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 170.85 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.18 KB
https://www.halifax.ca/fire-police/emergency-management/hfxalert
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.youtube.com: GREEN (Google Cloud), 7 request(s), 983.88 KB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.49 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 73 request(s), 332.37 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 170.83 KB
- STYLESHEET www.youtube.com: GREEN (Google Cloud), 4 request(s), 103.51 KB
- SCRIPT www.google.com: GREEN (Google Cloud), 1 request(s), 23.06 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.17 KB
https://www.halifax.ca/business
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.46 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 69 request(s), 307.25 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 170.45 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.84 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.13 KB
https://www.halifax.ca/business/doing-business-halifax
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.48 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 72 request(s), 157.41 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 153.18 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.81 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.14 KB
https://www.halifax.ca/business/business-parks
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.49 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 74 request(s), 183.41 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 154.46 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.80 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.17 KB
https://www.halifax.ca/business/filming-halifax
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.49 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 153.73 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 71 request(s), 131.64 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.81 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.17 KB
https://www.halifax.ca/business/licences
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.51 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 72 request(s), 158.79 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 154.17 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.82 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.13 KB
https://www.halifax.ca/business/planning-development
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.49 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 48 request(s), 394.65 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 76 request(s), 209.89 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.82 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.17 KB
https://www.halifax.ca/business/real-estate-land-management
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.52 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 74 request(s), 182.63 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 154.51 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.17 KB
https://www.halifax.ca/business/doing-business-halifax/garbage-recycling-businesses
Page host: www.halifax.ca: NOT GREEN
- SCRIPT api.recollect.net: NOT GREEN, 7 request(s), 736.33 KB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.52 KB
- SCRIPT cdn.pendo.io: GREEN (Google Cloud), 1 request(s), 184.17 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 72 request(s), 159.24 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 152.50 KB
- STYLESHEET recollect-us.global.ssl.fastly.net: NOT GREEN, 4 request(s), 102.77 KB
- SCRIPT assets.ca.recollect.net: NOT GREEN, 1 request(s), 40.20 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
https://www.halifax.ca/business/planning-development/planning-subdivision-applications
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.53 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 74 request(s), 186.50 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 153.45 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.17 KB
https://www.halifax.ca/business/doing-business-halifax/procurement
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.53 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 50 request(s), 161.36 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 72 request(s), 159.10 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.19 KB
https://www.halifax.ca/parks-recreation
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.52 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 69 request(s), 307.37 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 169.48 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.16 KB
https://www.halifax.ca/parks-recreation/programs-activities
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.54 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 48 request(s), 395.29 KB
- SCRIPT static.xx.fbcdn.net: NOT GREEN, 10 request(s), 244.69 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 76 request(s), 209.95 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.83 KB
- STYLESHEET static.xx.fbcdn.net: NOT GREEN, 2 request(s), 7.26 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.15 KB
https://www.halifax.ca/parks-recreation/arts-culture-heritage
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.53 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 72 request(s), 157.31 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 153.13 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.18 KB
https://www.halifax.ca/parks-recreation/events
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.53 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 393.92 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 73 request(s), 159.53 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.84 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.15 KB
https://www.halifax.ca/parks-recreation/facility-rentals-bookings-field-conditions
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.54 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 48 request(s), 395.62 KB
- SCRIPT www.gstatic.com: GREEN (Google Cloud), 13 request(s), 367.11 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 74 request(s), 183.81 KB
- SCRIPT apis.google.com: GREEN (Google Cloud), 2 request(s), 113.55 KB
- STYLESHEET www.gstatic.com: GREEN (Google Cloud), 1 request(s), 41.02 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.84 KB
https://www.halifax.ca/parks-recreation/halifax-youth
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 73 request(s), 198.10 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 152.48 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.17 KB
https://www.halifax.ca/parks-recreation/parks-trails-gardens
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.54 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 392.64 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 72 request(s), 186.10 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.16 KB
https://www.halifax.ca/parks-recreation/programs-activities/outdoor-recreation/emera-oval
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.54 KB
- SCRIPT www.gstatic.com: GREEN (Google Cloud), 13 request(s), 366.86 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 75 request(s), 211.77 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 49 request(s), 155.13 KB
- SCRIPT apis.google.com: GREEN (Google Cloud), 2 request(s), 113.55 KB
- STYLESHEET www.gstatic.com: GREEN (Google Cloud), 1 request(s), 41.02 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
https://www.halifax.ca/parks-recreation/programs-activities/recreation-activities
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.55 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 74 request(s), 198.72 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 152.43 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.18 KB
https://www.halifax.ca/parks-recreation/programs-activities/recreation-centres-your-community
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.53 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 72 request(s), 173.40 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 152.42 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.19 KB
https://www.halifax.ca/myrec
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 74 request(s), 358.42 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 171.89 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.18 KB
https://www.halifax.ca/city-hall
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.51 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 69 request(s), 305.70 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 169.42 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.15 KB
https://www.halifax.ca/city-hall/budget-finances
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 75 request(s), 210.67 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 155.00 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.17 KB
https://www.halifax.ca/city-hall/mayor-andy-fillmore
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 74 request(s), 196.45 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 153.17 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.17 KB
https://www.halifax.ca/city-hall/districts-councillors
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.53 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 153.75 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 69 request(s), 144.18 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.17 KB
https://www.halifax.ca/city-hall/regional-council
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.53 KB
- SCRIPT www.gstatic.com: GREEN (Google Cloud), 13 request(s), 364.92 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 74 request(s), 196.59 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 154.45 KB
- SCRIPT apis.google.com: GREEN (Google Cloud), 2 request(s), 113.54 KB
- STYLESHEET www.gstatic.com: GREEN (Google Cloud), 1 request(s), 41.02 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.85 KB
https://www.halifax.ca/city-hall/agendas-meetings-reports
Page host: www.halifax.ca: NOT GREEN
- SCRIPT cdn.syncfusion.com: NOT GREEN, 1 request(s), 3.37 MB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.54 KB
- SCRIPT www.gstatic.com: GREEN (Google Cloud), 13 request(s), 364.92 KB
- SCRIPT pub-halifax.escribemeetings.com: GREEN (Cloudflare), 6 request(s), 248.84 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 76 request(s), 202.29 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 65 request(s), 190.53 KB
- STYLESHEET cdn.syncfusion.com: NOT GREEN, 6 request(s), 173.76 KB
- SCRIPT apis.google.com: GREEN (Google Cloud), 2 request(s), 113.54 KB
https://www.halifax.ca/city-hall/legislation-by-laws
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.54 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 64 request(s), 189.26 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 73 request(s), 174.63 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.82 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.17 KB
https://www.halifax.ca/city-hall/elections/2024-election-results
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 74 request(s), 198.58 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 50 request(s), 162.10 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.15 KB
https://www.halifax.ca/city-hall/boards-committees-commissions
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 73 request(s), 173.33 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 153.41 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.18 KB
https://www.halifax.ca/city-hall/budget-finances/budget
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.52 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 73 request(s), 171.98 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 153.17 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.17 KB
https://www.halifax.ca/city-hall/agendas-meetings-reports?category=127
Page host: www.halifax.ca: NOT GREEN
- SCRIPT cdn.syncfusion.com: NOT GREEN, 1 request(s), 3.37 MB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.54 KB
- SCRIPT www.gstatic.com: GREEN (Google Cloud), 13 request(s), 364.92 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 76 request(s), 361.38 KB
- SCRIPT pub-halifax.escribemeetings.com: GREEN (Cloudflare), 6 request(s), 248.83 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 65 request(s), 208.00 KB
- STYLESHEET cdn.syncfusion.com: NOT GREEN, 6 request(s), 173.76 KB
- SCRIPT apis.google.com: GREEN (Google Cloud), 2 request(s), 113.55 KB
https://www.halifax.ca/city-hall/strategic-plan
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.youtube.com: GREEN (Google Cloud), 8 request(s), 1.57 MB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.54 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 50 request(s), 162.32 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 73 request(s), 160.15 KB
- STYLESHEET www.youtube.com: GREEN (Google Cloud), 4 request(s), 103.51 KB
- SCRIPT www.google.com: GREEN (Google Cloud), 2 request(s), 46.24 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.16 KB
https://www.halifax.ca/transportation/halifax-transit/routes-schedules?utm_source=Halifax.ca&utm_medium=Popular_links&utm_campaign=Transit
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 72 request(s), 332.31 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 171.27 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.85 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.21 KB
https://www.halifax.ca/home-property/municipal-payments/making-a-payment
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 72 request(s), 331.82 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 50 request(s), 179.79 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.85 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.19 KB
https://www.halifax.ca/transportation/parking?utm_source=Halifax.ca&utm_medium=Popular_links&utm_campaign=Parking
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 71 request(s), 171.77 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 152.50 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.22 KB
https://www.halifax.ca/about-halifax/affordable-access-program?utm_source=Halifax.ca&utm_medium=Popular_links&utm_campaign=AAP
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 5 request(s), 607.58 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 72 request(s), 344.46 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 169.54 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.22 KB
https://www.halifax.ca/home-property/garbage-recycling-green-cart/garbage-collection?utm_source=Halifax.ca&utm_medium=Popular_links&utm_campaign=Solid_Waste
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.youtube.com: GREEN (Google Cloud), 44 request(s), 1.57 MB
- SCRIPT api.recollect.net: NOT GREEN, 7 request(s), 736.33 KB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.53 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 74 request(s), 346.55 KB
- SCRIPT cdn.pendo.io: GREEN (Google Cloud), 1 request(s), 184.18 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 152.89 KB
- STYLESHEET www.youtube.com: GREEN (Google Cloud), 28 request(s), 103.53 KB
- STYLESHEET recollect-us.global.ssl.fastly.net: NOT GREEN, 4 request(s), 102.77 KB
https://www.halifax.ca/about-halifax/environment-climate-change/halifact-acting-climate-together
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.youtube.com: GREEN (Google Cloud), 8 request(s), 1.39 MB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 74 request(s), 158.52 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 153.73 KB
- STYLESHEET www.youtube.com: GREEN (Google Cloud), 4 request(s), 103.53 KB
- SCRIPT www.google.com: GREEN (Google Cloud), 1 request(s), 23.06 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.22 KB
https://www.halifax.ca/transportation/transportation-projects/windsor-street-exchange-redevelopment-project
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.53 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 71 request(s), 172.41 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 46 request(s), 152.89 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.84 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.19 KB
https://www.halifax.ca/about-halifax/employment/work-halifax-regional-municipality?utm_source=Home_Page&utm_medium=Banner&utm_campaign=Recruitment
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.youtube.com: GREEN (Google Cloud), 7 request(s), 843.72 KB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 74 request(s), 158.50 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 153.73 KB
- STYLESHEET www.youtube.com: GREEN (Google Cloud), 4 request(s), 103.53 KB
- SCRIPT www.google.com: GREEN (Google Cloud), 1 request(s), 23.06 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.25 KB
https://www.halifax.ca/safety-security/police/reporting-crime
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 72 request(s), 331.76 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 170.82 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.81 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.16 KB
https://www.halifax.ca/online-services
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.54 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 52 request(s), 166.31 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 71 request(s), 136.62 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.82 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.14 KB
https://www.halifax.ca/safety-security/fire-emergency/recruitment-volunteers
Page host: www.halifax.ca: NOT GREEN
- SCRIPT hrm.maps.arcgis.com: NOT GREEN, 619 request(s), 2.47 MB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 8 request(s), 1.57 MB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 74 request(s), 173.84 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 152.84 KB
- STYLESHEET www.youtube.com: GREEN (Google Cloud), 4 request(s), 103.55 KB
- STYLESHEET js.arcgis.com: NOT GREEN, 1 request(s), 36.62 KB
- SCRIPT www.google.com: GREEN (Google Cloud), 2 request(s), 23.06 KB
https://www.halifax.ca/suburbanplan
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 72 request(s), 332.10 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 170.84 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.19 KB
https://www.halifax.ca/about-halifax/regional-community-planning/housing-accelerator-fund/second-unit-incentive
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 74 request(s), 171.35 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 50 request(s), 162.63 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.22 KB
https://www.halifax.ca/parks-recreation/programs-activities/inclusion-support-advisory-group
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.53 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 152.42 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 71 request(s), 146.01 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.21 KB
https://www.halifax.ca/parks-recreation/halifax-youth/youth-services-plan
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.58 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 72 request(s), 159.34 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 152.42 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.17 KB
https://www.halifax.ca/about-halifax/regional-community-planning/helping-address-homelessness?utm_source=Halifax.ca&utm_medium=Popular_links&utm_campaign=Addressing_Homelessness
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.54 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 47 request(s), 153.69 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 72 request(s), 144.86 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.84 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.23 KB
https://www.halifax.ca/home/news
Page host: www.halifax.ca: NOT GREEN
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud), 4 request(s), 607.53 KB
- SCRIPT cdn.halifax.ca: NOT GREEN, 67 request(s), 193.09 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN, 77 request(s), 186.97 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud), 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud), 2 request(s), 10.84 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud), 1 request(s), 2.13 KB
Copy/Paste GitHub Issue Snippets
Use these blocks to open targeted implementation issues in your queue.
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Serve images in next-gen formats
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: medium
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: medium
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: high
Speed Index
Impact: high
Reduce unused JavaScript
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Serve images in next-gen formats
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Reduce initial server response time
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: high
Speed Index
Impact: high
Reduce unused JavaScript
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Serve images in next-gen formats
Impact: high
Largest Contentful Paint
Impact: high
Speed Index
Impact: high
Reduce unused JavaScript
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: high
Speed Index
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: high
Speed Index
Impact: high
Reduce unused JavaScript
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: high
Speed Index
Impact: high
Reduce unused JavaScript
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Speed Index
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: high
Speed Index
Impact: high
Reduce unused JavaScript
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Speed Index
Impact: high
Reduce unused JavaScript
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: medium
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: medium
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Speed Index
Impact: high
Reduce unused JavaScript
Impact: high
Speed Index
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: high
Speed Index
Impact: high
Reduce unused JavaScript
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Serve images in next-gen formats
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Speed Index
Impact: high
Reduce unused JavaScript
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: high
Speed Index
Impact: high
Reduce unused JavaScript
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Serve images in next-gen formats
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Largest Contentful Paint
Impact: high
Speed Index
Impact: high
Reduce unused JavaScript
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: medium
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused CSS
Impact: high
Eliminate render-blocking resources
Impact: high
Largest Contentful Paint
Impact: high
Reduce unused JavaScript
Impact: high
Reduce unused CSS
Impact: high
Markdown Version
Show report markdown
# Sustainability Scan Report: SCAN: https://www.halifax.ca/
- Issue number: #47
- Generated at: 2026-04-23T19:59:43.595Z
- URLs requested: 100
- URLs scanned: 100
- Distinct sites scanned: 2
- Scan errors: 0
- Average performance score: 50/100
- Total transfer: 185.11 MB
- Estimated CO2: 74.3581 g
- Average transfer per page: 1.85 MB
- Average CO2 per page: 0.7436 g
- Average redundancy score: 34/100
- Pages with high redundancy urgency: 35
- Average modularization score: 34/100
- Pages with high modularization urgency: 30
- Average dead-code score: 14/100
- Pages with high dead-code urgency: 99
- Average non-critical resources score: 22/100
- Pages with high non-critical resource urgency: 97
- Average form validation score: 30/100
- Pages with high form validation urgency: 0
- Average metadata score: 0/100
- Pages with high metadata urgency: 0
- Average layout adaptation score: 30/100
- Pages with high layout urgency: 0
- Average lightweight security score: 59/100
- Pages with high security urgency: 0
- Average dependency maintenance score: 10/100
- Pages with high dependency maintenance urgency: 0
- Average expected-files score: 50/100
- Pages with high expected-files urgency: 1
- Average compression score: 18/100
- Pages with high compression urgency: 1
- Average optimization score: 100/100
- Pages with high optimization urgency: 100
- Average offline support score: 100/100
- Pages with high offline support urgency: 100
- Average media hints score: 46/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: 40
- Total form element occurrences observed: 150
- Reused assessments (not re-scanned repeats): 106
### Recurring Form Elements (Assessed Once, Reused Across Pages)
- search (keys): appears on 99 page(s), risk 30/100, urgency MEDIUM
- text (keys): appears on 3 page(s), risk 60/100, urgency HIGH
- radio (c-search-meetings-form__radio): appears on 2 page(s), risk 50/100, urgency MEDIUM
- select (category): appears on 2 page(s), risk 50/100, urgency MEDIUM
- select (filter_by): appears on 2 page(s), risk 50/100, urgency MEDIUM
- text (ols): appears on 2 page(s), risk 30/100, urgency MEDIUM
- date (start): appears on 2 page(s), risk 20/100, urgency LOW
- date (end): appears on 2 page(s), risk 20/100, urgency LOW
### Recurring Search Controls
- Search controls often appear on every page. These signatures are assessed once and reused:
- search (keys): 99 page(s), urgency MEDIUM
- text (keys): 3 page(s), urgency HIGH
- select (filter_by): 2 page(s), 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: 100
- Average metadata score: 0/100
- Pages with high urgency: 0
- Missing metadata across pages:
- Missing html lang: 0
- Missing meta description: 1
- Missing canonical URL: 0
- 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: 100
- 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: 7818
- Total small tap targets on tablet: 8693
- Total fixed-width offenders: 11
- Pages with grid overflow containers: 1
- Total overflowing grid containers: 1
- Total grid containers detected: 87
## 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: 100
- Average lightweight security score: 59/100
- High urgency pages: 0
- Pages missing Content-Security-Policy: 100
- HTTPS pages missing Strict-Transport-Security: 100
- Pages with vulnerable JS library findings: 0
- External scripts missing SRI (total): 4968
## 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: 100
- Average dependency maintenance score: 10/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: 100
- Average expected-files score: 50/100
- High urgency pages: 1
- Missing files across pages:
- robots.txt missing: 1
- sitemap.xml missing: 99
- .well-known/security.txt missing: 100
- manifest.webmanifest missing: 100
- favicon.ico missing: 100
## 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: 100
- Average compression score: 18/100
- High urgency pages: 1
- Pages missing effective text compression: 3
- Aggregate potential compression savings: 34.79 MB
- Recurring compression opportunities:
- Use modern image compression formats: appears on 100 page(s), est. 22.01 MB total savings, urgency HIGH
- Improve image encoding quality/size: appears on 99 page(s), est. 6.01 MB total savings, urgency HIGH
- Minify CSS before transfer: appears on 99 page(s), est. 3.67 MB total savings, urgency MEDIUM
- Minify JavaScript before transfer: appears on 99 page(s), est. 3.09 MB total savings, urgency HIGH
- Enable Brotli/gzip for text assets: appears on 3 page(s), est. 19.34 KB total savings, urgency LOW
## 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: 100
- Average optimization score: 100/100
- High urgency pages: 100
- Aggregate potential byte savings: 98.96 MB
- Aggregate render-blocking reduction potential: 136609 ms
- Recurring optimization opportunities:
- Remove unused JavaScript: appears on 100 page(s), est. 27.31 MB total savings
- Serve images in next-gen formats: appears on 100 page(s), est. 22.01 MB total savings
- Remove unused CSS: appears on 100 page(s), est. 16.54 MB total savings
- Lazy-load offscreen images: appears on 99 page(s), est. 10.02 MB total savings
- Compress oversized image assets: appears on 99 page(s), est. 6.01 MB total savings
- Minify CSS: appears on 99 page(s), est. 3.67 MB total savings
- Minify JavaScript: appears on 99 page(s), est. 3.09 MB total savings
- Eliminate render-blocking resources: appears on 99 page(s), est. 136609 ms unblock
- Right-size images for viewport: appears on 21 page(s), est. 10.30 MB total savings
- Enable text compression: appears on 3 page(s), est. 19.34 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: 100
- Average offline support score: 100/100
- High urgency pages: 100
- Pages without service worker support: 100
- Pages without offline support: 100
- Pages with weak cache TTL signals: 100
- Recurring offline/caching opportunities:
- Add service worker support: appears on 100 page(s), urgency HIGH
- Ensure critical routes work offline: appears on 100 page(s), urgency HIGH
- Improve web app manifest support: appears on 100 page(s), urgency MEDIUM
- Strengthen static asset cache TTL: appears on 100 page(s), urgency MEDIUM
- Support offline start URL behavior: appears on 100 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: 100
- 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: 100
- Average media hints score: 46/100
- High urgency pages: 0
- Pages with autoplay media: 0
- Pages with unmuted autoplay: 0
- Pages without dark mode support: 100
- Pages with lazy loading gap (< 50% of images lazy): 97
## Grid-Aware Websites Detection
- Assessed pages: 100
- 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: 100
- Average WSG compliance score: 60/100
### [MEDIUM] [SCRIPT] Incomplete media lazy loading
Only 1/16 images use loading="lazy". Global lazy loading reduces initial data transfer and energy consumption.
- Recurs on 100 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 5 commercial tracking scripts. Consider lightweight, privacy-focused alternatives like Plausible or Fathom to reduce JS weight and energy footprint.
- Recurs on 100 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)
### [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 100 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 100 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 100 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 100 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 100 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 100 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 100 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 100 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 100 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 100 page(s).
- [WSG 5.8 Reference](https://www.w3.org/TR/web-sustainability-guidelines/#support-mandatory-disclosures-and-reporting)
### [LOW] [SCRIPT] No reduced motion support
Implement prefers-reduced-motion to allow users to disable animations, reducing compute and improving accessibility.
- Recurs on 99 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)
## 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: 76/100
- Pages with high urgency: 99
- Distinct third-party script providers: 12
### Top Third-Party Script Providers
- www.googletagmanager.com: GREEN (Google Cloud); on 100 page(s), 399 request(s), 58.89 MB
- www.youtube.com: GREEN (Google Cloud); on 100 page(s), 291 request(s), 12.61 MB
- cdn.halifax.ca: NOT GREEN; on 99 page(s), 4757 request(s), 17.23 MB
- www.google-analytics.com: GREEN (Google Cloud); on 99 page(s), 99 request(s), 1.97 MB
- googleads.g.doubleclick.net: GREEN (Google Cloud); on 99 page(s), 99 request(s), 214.69 KB
- www.google.com: GREEN (Google Cloud); on 10 page(s), 24 request(s), 255.04 KB
- static.doubleclick.net: GREEN (Google Cloud); on 9 page(s), 27 request(s), 3.00 KB
- www.gstatic.com: GREEN (Google Cloud); on 6 page(s), 67 request(s), 2.14 MB
## Cross-Page Hosting Risk (Non-Green Providers)
- Focus: recurring external CSS/JS providers with non-green or unknown hosting status.
### Recurring Non-Green Providers
- cdn.halifax.ca: on 99 page(s), 11965 request(s), 38.16 MB total; types script, stylesheet
- api.recollect.net: on 3 page(s), 21 request(s), 2.16 MB total; types script
- static.xx.fbcdn.net: on 3 page(s), 25 request(s), 703.57 KB total; types script, stylesheet
- recollect-us.global.ssl.fastly.net: on 3 page(s), 12 request(s), 308.32 KB total; types stylesheet
- cdn.syncfusion.com: on 2 page(s), 14 request(s), 7.08 MB total; types script, stylesheet
- hrm.maps.arcgis.com: on 2 page(s), 1235 request(s), 4.92 MB total; types script, stylesheet
- assets.ca.recollect.net: on 3 page(s), 3 request(s), 120.58 KB total; types script
- go.playerzero.app: on 2 page(s), 2 request(s), 199.67 KB total; types script
## Green Hosting Checks
- Source: https://www.thegreenwebfoundation.org/tools/green-web-dataset/
- Submitted URL hosts checked: 100
- Submitted URL hosts on green energy: 0
- Submitted URL hosts not confirmed green: 100
- Submitted URL hosts unknown: 0
- External CSS/JS origins checked: 31
- External CSS/JS origins on green energy: 17
- External CSS/JS origins not confirmed green: 14
- 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: E
- 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: 919.71 KB (48.5%)
- CO2 reduction needed: 0.5986 g (80.5%)
- 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 100 pages. Review whether that dependency should be deferred, optimized, or loaded conditionally.
### Recurring Heavy Assets
- script assets from www.googletagmanager.com/gtm.js appears on 100 pages (15.55 MB total)
- script assets from www.googletagmanager.com/gtag appears on 99 pages (43.34 MB total)
- stylesheet assets from cdn.halifax.ca/themes appears on 27 pages (4.21 MB total)
- image assets from cdn.halifax.ca/sites appears on 21 pages (16.76 MB total)
- image assets from www.halifax.ca/themes appears on 18 pages (4.25 MB total)
### Recurring Modularization Targets
- Split JavaScript by route or interaction affects 100 pages (est. 27.31 MB aggregate savings)
- Defer non-critical UI modules until after first render affects 99 pages
- Lazy-load offscreen images and media galleries affects 98 pages (est. 10.02 MB aggregate savings)
- Modularize heavy script asset from www.googletagmanager.com affects 85 pages (est. 13.21 MB aggregate savings)
- Modularize heavy stylesheet asset from cdn.halifax.ca affects 21 pages (est. 3.27 MB aggregate savings)
### Recurring Heavy Origins
- www.googletagmanager.com is a recurring heavy source on 100 pages (58.89 MB total)
- cdn.halifax.ca is a recurring heavy source on 44 pages (22.73 MB total)
- www.halifax.ca is a recurring heavy source on 18 pages (4.25 MB total)
- www.youtube.com is a recurring heavy source on 9 pages (12.46 MB total)
- www.gstatic.com is a recurring heavy source on 6 pages (1.87 MB total)
## Site-Wide Guidance
- This scan includes multiple sites. Shared recommendations are grouped per origin.
### https://www.halifax.ca
- Sampled pages: 99
- Shared recommendations:
- [MEDIUM] Add sitemap.xml at site origin
- sitemap.xml is missing for all sampled pages on https://www.halifax.ca.
- [LOW] Publish .well-known/security.txt
- .well-known/security.txt is missing for all sampled pages on https://www.halifax.ca.
- [HIGH] Apply Content-Security-Policy site-wide
- CSP is absent across all sampled pages on https://www.halifax.ca.
- [MEDIUM] Enable Strict-Transport-Security site-wide
- HSTS is missing across all sampled HTTPS pages on https://www.halifax.ca.
- [HIGH] Introduce service worker support
- No sampled pages on https://www.halifax.ca indicate service worker support for offline resilience.
- [HIGH] Support offline fallback behavior
- Offline page behavior was not detected across sampled pages on https://www.halifax.ca.
- [MEDIUM] Fix recurring optimization bloat at shared layer
- Remove unused JavaScript recurs across 99 pages on https://www.halifax.ca (est. 27.16 MB aggregate savings).
- [HIGH] Prioritize recurring compression fixes
- Use modern image compression formats recurs across 99 pages on https://www.halifax.ca (est. 21.96 MB aggregate savings).
- Recurring offline/caching opportunities:
- Add service worker support: 99 page(s), urgency HIGH
- Ensure critical routes work offline: 99 page(s), urgency HIGH
- Improve web app manifest support: 99 page(s), urgency MEDIUM
- Strengthen static asset cache TTL: 99 page(s), urgency MEDIUM
- Support offline start URL behavior: 99 page(s), urgency MEDIUM
- Recurring compression opportunities:
- Use modern image compression formats: 99 page(s), est. 21.96 MB total savings, urgency HIGH
- Improve image encoding quality/size: 99 page(s), est. 6.01 MB total savings, urgency HIGH
- Minify CSS before transfer: 99 page(s), est. 3.67 MB total savings, urgency MEDIUM
- Minify JavaScript before transfer: 99 page(s), est. 3.09 MB total savings, urgency HIGH
- Enable Brotli/gzip for text assets: 3 page(s), est. 19.34 KB total savings, urgency LOW
- Recurring optimization opportunities:
- Remove unused JavaScript: 99 page(s), est. 27.16 MB total savings
- Serve images in next-gen formats: 99 page(s), est. 21.96 MB total savings
- Remove unused CSS: 99 page(s), est. 16.50 MB total savings
- Compress oversized image assets: 99 page(s), est. 6.01 MB total savings
- Minify CSS: 99 page(s), est. 3.67 MB total savings
- Minify JavaScript: 99 page(s), est. 3.09 MB total savings
### https://fr.halifax.ca
- Sampled pages: 1
- Shared recommendations:
- [HIGH] Add robots.txt at site origin
- robots.txt is missing for all sampled pages on https://fr.halifax.ca.
- [LOW] Publish .well-known/security.txt
- .well-known/security.txt is missing for all sampled pages on https://fr.halifax.ca.
- [HIGH] Apply Content-Security-Policy site-wide
- CSP is absent across all sampled pages on https://fr.halifax.ca.
- [MEDIUM] Enable Strict-Transport-Security site-wide
- HSTS is missing across all sampled HTTPS pages on https://fr.halifax.ca.
- [HIGH] Introduce service worker support
- No sampled pages on https://fr.halifax.ca indicate service worker support for offline resilience.
- [HIGH] Support offline fallback behavior
- Offline page behavior was not detected across sampled pages on https://fr.halifax.ca.
## Page-Specific Guidance
- Use this section for page-level exceptions after site-wide/platform fixes are planned.
### https://www.halifax.ca
- https://www.halifax.ca/city-hall/budget-finances/budget
- Combined urgency: HIGH
- Compression score: 63/100, optimization score: 100/100, offline score: 100/100, dependency score: 10/100, language score: 0/100, security score: 59/100, expected-files score: 50/100
- [HIGH] Use modern image compression formats
- [MEDIUM] Minify CSS before transfer
- [MEDIUM] Minify JavaScript before transfer
- https://www.halifax.ca/suburbanplan
- Combined urgency: HIGH
- Compression score: 48/100, optimization score: 100/100, offline score: 100/100, dependency score: 10/100, language score: 0/100, security score: 59/100, expected-files score: 50/100
- [HIGH] Use modern image compression formats
- [HIGH] Improve image encoding quality/size
- [MEDIUM] Minify CSS before transfer
- https://www.halifax.ca/node/4561
- Combined urgency: HIGH
- Compression score: 47/100, optimization score: 100/100, offline score: 100/100, dependency score: 10/100, language score: 0/100, security score: 59/100, expected-files score: 50/100
- [HIGH] Use modern image compression formats
- [HIGH] Improve image encoding quality/size
- [MEDIUM] Minify CSS before transfer
- https://www.halifax.ca/
- Combined urgency: HIGH
- Compression score: 46/100, optimization score: 100/100, offline score: 100/100, dependency score: 10/100, language score: 0/100, security score: 59/100, expected-files score: 50/100
- [HIGH] Use modern image compression formats
- [HIGH] Improve image encoding quality/size
- [MEDIUM] Minify CSS before transfer
- https://www.halifax.ca/transportation/parking/parking-tickets
- Combined urgency: HIGH
- Compression score: 40/100, optimization score: 100/100, offline score: 100/100, dependency score: 10/100, language score: 0/100, security score: 59/100, expected-files score: 50/100
- [HIGH] Use modern image compression formats
- [HIGH] Improve image encoding quality/size
- [MEDIUM] Minify CSS before transfer
- https://www.halifax.ca/city-hall
- Combined urgency: HIGH
- Compression score: 40/100, optimization score: 100/100, offline score: 100/100, dependency score: 10/100, language score: 0/100, security score: 59/100, expected-files score: 50/100
- [HIGH] Use modern image compression formats
- [HIGH] Improve image encoding quality/size
- [MEDIUM] Minify CSS before transfer
### https://fr.halifax.ca
- https://www.halifax.ca/fr
- Combined urgency: HIGH
- Compression score: 8/100, optimization score: 100/100, offline score: 100/100, dependency score: 2/100, language score: 0/100, security score: 51/100, expected-files score: 60/100
- [LOW] Use modern image compression formats
- [MEDIUM] Remove unused JavaScript
- [MEDIUM] Remove unused CSS
## Priority Improvements
### https://www.halifax.ca/
- Performance: 57/100
- Transfer: 2.69 MB
- CO2 estimate: 1.0793 g
- Page host green energy status: NOT GREEN
- Redundancy score: 29/100
- Redundancy urgency: HIGH
- Modularization score: 38/100
- Modularization urgency: HIGH
- Dead-code score: 11/100
- Dead-code urgency: HIGH
- Non-critical resources score: 20/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 36/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 46/100
- Compression urgency: MEDIUM
- 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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 554.68 KB (20.2% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused css (est. 292.76 KB savings)
- [HIGH] Reduce unused javascript (est. 261.92 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 6 (1.99 MB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 37.28 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. 261.92 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy image asset from cdn.halifax.ca (est. 1.24 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); 4 request(s), 608.09 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 72 request(s), 346.95 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 170.43 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.91 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.80 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.17 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 292.76 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. 261.92 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. 37.28 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 261.92 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 292.76 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 2443 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy image from cdn.halifax.ca (est. 1.24 MB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [MEDIUM] No error messaging hook
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 78 small targets on mobile and 82 on tablet.
- [MEDIUM] Refactor fixed-width components
- 3 element(s) exceeded viewport width in tested layouts; use responsive component constraints.
- 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 817.20 KB.
- [HIGH] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 368.42 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 65.12 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 28.65 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: 817.20 KB.
- [HIGH] Compress oversized image assets
- Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 368.42 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 292.76 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 261.92 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 2443 ms.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 65.12 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.02 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 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: 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 CSS
- Current value: Est savings of 293 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 817 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 368 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 37 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 2,440 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)
### https://www.halifax.ca/node/4561
- Performance: 49/100
- Transfer: 2.68 MB
- CO2 estimate: 1.0777 g
- Page host green energy status: NOT GREEN
- Redundancy score: 31/100
- Redundancy urgency: HIGH
- Modularization score: 38/100
- Modularization urgency: HIGH
- Dead-code score: 11/100
- Dead-code urgency: HIGH
- Non-critical resources score: 21/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 36/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 47/100
- Compression urgency: MEDIUM
- 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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 557.25 KB (20.3% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused css (est. 292.71 KB savings)
- [HIGH] Reduce unused javascript (est. 264.54 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 6 (1.99 MB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 264.54 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy image asset from cdn.halifax.ca (est. 1.24 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); 4 request(s), 607.53 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 72 request(s), 345.55 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 169.45 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.34 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.80 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.13 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 292.71 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. 264.54 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.54 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 292.71 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1933 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy image from cdn.halifax.ca (est. 1.24 MB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [MEDIUM] No error messaging hook
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 78 small targets on mobile and 82 on tablet.
- [MEDIUM] Refactor fixed-width components
- 3 element(s) exceeded viewport width in tested layouts; use responsive component constraints.
- 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 816.83 KB.
- [HIGH] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 368.07 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 65.07 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 28.65 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: 816.83 KB.
- [HIGH] Compress oversized image assets
- Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 368.07 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 292.71 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.54 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1933 ms.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 65.07 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.01 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 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: 13.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 265 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 293 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 817 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 368 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,930 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)
### https://www.halifax.ca/about-halifax/diversity-inclusion/accessibility
- Performance: 47/100
- Transfer: 1.47 MB
- CO2 estimate: 0.5921 g
- Page host green energy status: NOT GREEN
- Redundancy score: 40/100
- Redundancy urgency: HIGH
- Modularization score: 29/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 25/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 21/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 558.22 KB (37.0% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused css (est. 293.73 KB savings)
- [HIGH] Reduce unused javascript (est. 264.49 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 5 (767.14 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 264.49 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy stylesheet asset from cdn.halifax.ca (est. 159.61 KB)
- Split this stylesheet so component-specific CSS is delivered only when the component is rendered.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 4 request(s), 607.53 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 73 request(s), 345.12 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 170.87 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.34 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.80 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.15 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 293.73 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. 264.49 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.49 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 293.73 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1777 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy stylesheet from cdn.halifax.ca (est. 159.61 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 75 small targets on mobile and 88 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 152.10 KB.
- [MEDIUM] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 65.38 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 64.89 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 28.65 KB.
- Optimization recommendations:
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 293.73 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.49 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1777 ms.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 152.10 KB.
- [MEDIUM] Compress oversized image assets
- Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 65.38 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 64.89 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: 839.19 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
- 14 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: 7.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)
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 294 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 152 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 65 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 41 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
### https://www.halifax.ca/home/311
- Performance: 47/100
- Transfer: 2.11 MB
- CO2 estimate: 0.8471 g
- Page host green energy status: NOT GREEN
- Redundancy score: 31/100
- Redundancy urgency: HIGH
- Modularization score: 26/100
- Modularization urgency: MEDIUM
- Dead-code score: 13/100
- Dead-code urgency: HIGH
- Non-critical resources score: 22/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 31/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 545.56 KB (25.3% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused css (est. 281.41 KB savings)
- [HIGH] Reduce unused javascript (est. 264.15 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 6 (943.79 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.23 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. 264.15 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy image asset from cdn.halifax.ca (est. 176.09 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); 4 request(s), 608.10 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 72 request(s), 332.33 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 170.26 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.34 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.80 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.14 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 281.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. 264.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. 41.23 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.15 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 281.41 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 2306 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy image from cdn.halifax.ca (est. 176.09 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 81 small targets on mobile and 84 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 462.39 KB.
- [MEDIUM] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 119.90 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 62.07 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 28.65 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: 462.39 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 281.41 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.15 KB.
- [HIGH] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 197.65 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 2306 ms.
- [MEDIUM] Compress oversized image assets
- Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 119.90 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.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
- 28 of 28 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.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 281 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 462 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 120 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 41 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
### https://www.halifax.ca/home/online-services
- Performance: 69/100
- Transfer: 1.10 MB
- CO2 estimate: 0.4409 g
- Page host green energy status: NOT GREEN
- Redundancy score: 35/100
- Redundancy urgency: MEDIUM
- Modularization score: 31/100
- Modularization urgency: MEDIUM
- Dead-code score: 16/100
- Dead-code urgency: HIGH
- Non-critical resources score: 25/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 9/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 354.12 KB (31.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 263.73 KB savings)
- [MEDIUM] Reduce unused css (est. 90.40 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.49 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 263.73 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.19 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); 4 request(s), 607.49 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 52 request(s), 166.27 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 71 request(s), 135.34 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.34 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.80 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.12 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 90.40 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. 263.73 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 263.73 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 90.40 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1646 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.19 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
- 2 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 2 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 143 small targets on mobile and 173 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.
- [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
- 57 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 57 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 26.71 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 20.45 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 29.62 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 263.73 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1646 ms.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 90.40 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 26.71 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 20.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: 438.45 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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 CSS
- Current value: Est savings of 90 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,650 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] Largest Contentful Paint
- Current value: 3.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] Speed Index
- 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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Serve images in next-gen formats
- Current value: Est savings of 30 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/fr
- Performance: 67/100
- Transfer: 569.26 KB
- CO2 estimate: 0.2233 g
- Page host green energy status: NOT GREEN
- Redundancy score: 19/100
- Redundancy urgency: MEDIUM
- Modularization score: 41/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: MEDIUM
- Non-critical resources score: 11/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 0/100
- Form validation urgency: LOW
- Metadata score: 30/100
- Metadata urgency: MEDIUM
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 51/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 2/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 60/100
- Expected-files urgency: HIGH
- 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: 26/100
- Third-party JS urgency: LOW
- Estimated redundant transfer: 195.60 KB (34.4% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 153.02 KB savings)
- [MEDIUM] Reduce unused css (est. 42.58 KB savings)
- Heavy initial-load requests: 4 (451.84 KB total)
- On-demand modularization candidates:
- [HIGH] Split JavaScript by route or interaction (est. 153.02 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy image asset from fr.halifax.ca (est. 159.38 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 www.googletagmanager.com (est. 159.19 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); 1 request(s), 159.19 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.80 KB
- Third-party JS recommendations:
- [LOW] Maintain a third-party JavaScript inventory
- Track 2 third-party script origin(s) and assign an owner plus business justification for each.
- [MEDIUM] 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. 42.58 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. 153.02 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. 2.86 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 153.02 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 42.58 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [MEDIUM] Eliminate render-blocking resources (est. 171 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy image from fr.halifax.ca (est. 159.38 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:
- [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:
- [MEDIUM] Increase touch target sizes
- Ensure interactive controls are at least 44x44 CSS px. Detected 17 small targets on mobile and 17 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.
- [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:
- [HIGH] Add missing expected site files
- Missing expected file(s): /robots.txt.
- [MEDIUM] Add beneficial discoverability and maintenance files
- Missing beneficial file(s): /.well-known/security.txt, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 48.16 KB.
- Optimization recommendations:
- [MEDIUM] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 153.02 KB.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 42.58 KB.
- [LOW] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 48.16 KB.
- [LOW] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 2.86 KB.
- [LOW] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 171 ms.
- 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: 378.32 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.
- [MEDIUM] Add loading="lazy" to images
- 5 of 5 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.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 153 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 43 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 48 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 170 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] Speed Index
- Current value: 3.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)
### https://www.halifax.ca/about-halifax
- Performance: 43/100
- Transfer: 1.67 MB
- CO2 estimate: 0.6723 g
- Page host green energy status: NOT GREEN
- Redundancy score: 32/100
- Redundancy urgency: MEDIUM
- Modularization score: 33/100
- Modularization urgency: HIGH
- Dead-code score: 11/100
- Dead-code urgency: HIGH
- Non-critical resources score: 21/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 34/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 365.37 KB (21.3% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 263.33 KB savings)
- [MEDIUM] Reduce unused css (est. 102.04 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 5 (1.03 MB total)
- On-demand modularization candidates:
- [HIGH] Split JavaScript by route or interaction (est. 263.33 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy image asset from cdn.halifax.ca (est. 446.04 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 www.googletagmanager.com (est. 159.19 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); 4 request(s), 607.49 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 153.09 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 69 request(s), 146.14 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.34 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.81 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.12 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 102.04 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. 263.33 KB savings)
- Drop unused packages and feature code, or move them behind route-level or interaction-triggered imports.
- Non-critical loading candidates:
- [HIGH] Defer non-critical JavaScript (est. 263.33 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 102.04 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1527 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy image from cdn.halifax.ca (est. 446.04 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. 159.19 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 72 small targets on mobile and 73 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 391.08 KB.
- [MEDIUM] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 151.34 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 23.19 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: 391.08 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 263.33 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1527 ms.
- [MEDIUM] Compress oversized image assets
- Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 151.34 KB.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 102.04 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.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: 1.02 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: 13.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 263 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 102 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 391 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 151 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,530 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)
### https://www.halifax.ca/about-halifax/diversity-inclusion
- Performance: 30/100
- Transfer: 1.26 MB
- CO2 estimate: 0.5081 g
- Page host green energy status: NOT GREEN
- Redundancy score: 37/100
- Redundancy urgency: MEDIUM
- Modularization score: 27/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 24/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 18/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 24/100
- Media hints urgency: LOW
- Third-party JS risk score: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 391.51 KB (30.2% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.41 KB savings)
- [MEDIUM] Reduce unused css (est. 127.10 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.53 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.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. 264.41 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.19 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); 4 request(s), 607.53 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 72 request(s), 172.00 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 152.58 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.34 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.82 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.16 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 127.10 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. 264.41 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. 41.16 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.41 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 127.10 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1733 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.19 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 77 small targets on mobile and 85 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 128.33 KB.
- [MEDIUM] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 46.09 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 28.82 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.41 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 127.10 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1733 ms.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 128.33 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.16 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 28.82 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: 627.24 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.
- [MEDIUM] Add loading="lazy" to images
- 8 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] Largest Contentful Paint
- Current value: 11.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 127 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 128 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,730 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 700 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
### https://www.halifax.ca/about-halifax/employment
- Performance: 64/100
- Transfer: 1.11 MB
- CO2 estimate: 0.4451 g
- Page host green energy status: NOT GREEN
- Redundancy score: 36/100
- Redundancy urgency: MEDIUM
- Modularization score: 31/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 21/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 11/100
- Compression urgency: LOW
- 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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 379.23 KB (33.4% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.44 KB savings)
- [MEDIUM] Reduce unused css (est. 114.78 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.51 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 264.44 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.17 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); 4 request(s), 607.51 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 71 request(s), 158.79 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 152.43 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.34 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.15 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 114.78 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. 264.44 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.44 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 114.78 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1035 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.17 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 68 small targets on mobile and 76 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 25.98 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 49.69 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 30.03 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.44 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1035 ms.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 114.78 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 25.98 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.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: 470.09 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 9 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 CSS
- Current value: Est savings of 115 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,040 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] Largest Contentful Paint
- Current value: 3.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Serve images in next-gen formats
- Current value: Est savings of 50 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Efficiently encode images
- Current value: Est savings of 30 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/about-halifax/environment-climate-change
- Performance: 57/100
- Transfer: 1.15 MB
- CO2 estimate: 0.4603 g
- Page host green energy status: NOT GREEN
- Redundancy score: 35/100
- Redundancy urgency: MEDIUM
- Modularization score: 30/100
- Modularization urgency: MEDIUM
- Dead-code score: 16/100
- Dead-code urgency: HIGH
- Non-critical resources score: 23/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/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: 38/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 379.17 KB (32.3% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.39 KB savings)
- [MEDIUM] Reduce unused css (est. 114.78 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.46 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 264.39 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.19 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); 4 request(s), 607.46 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 71 request(s), 158.81 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 152.46 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.34 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.15 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 114.78 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. 264.39 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.39 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 114.78 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1329 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.19 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 68 small targets on mobile and 80 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 81.84 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 25.99 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 34.60 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.39 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1329 ms.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 114.78 KB.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 81.84 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 25.99 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: 506.62 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 10 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.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)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 115 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,330 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 1,010 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [MEDIUM] Speed Index
- Current value: 5.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
### https://www.halifax.ca/about-halifax/municipal-archives
- Performance: 39/100
- Transfer: 1.72 MB
- CO2 estimate: 0.6904 g
- Page host green energy status: NOT GREEN
- Redundancy score: 31/100
- Redundancy urgency: MEDIUM
- Modularization score: 35/100
- Modularization urgency: HIGH
- Dead-code score: 13/100
- Dead-code urgency: HIGH
- Non-critical resources score: 22/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/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: 43/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 85/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 440.98 KB (25.1% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 263.69 KB savings)
- [HIGH] Reduce unused css (est. 177.28 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 6 (1.10 MB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.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. 263.69 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy image asset from scontent-lhr8-2.xx.fbcdn.net (est. 315.08 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); 4 request(s), 607.50 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 76 request(s), 224.35 KB
- SCRIPT static.xx.fbcdn.net: NOT GREEN; 1 request(s), 199.68 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 152.58 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.34 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.83 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 6 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 2 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 177.28 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. 263.69 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. 41.16 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 263.69 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 177.28 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1796 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy image from scontent-lhr8-2.xx.fbcdn.net (est. 315.08 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 77 small targets on mobile and 85 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.
- [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
- 55 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 55 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 50.47 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 40.20 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.81 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 263.69 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 177.28 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1796 ms.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 50.47 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.16 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 40.20 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: 583.33 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 9 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.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 177 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,800 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] Speed Index
- 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)
- [MEDIUM] Serve images in next-gen formats
- Current value: Est savings of 50 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/about-halifax/regional-community-planning
- Performance: 56/100
- Transfer: 1.19 MB
- CO2 estimate: 0.4791 g
- Page host green energy status: NOT GREEN
- Redundancy score: 36/100
- Redundancy urgency: MEDIUM
- Modularization score: 29/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 22/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 13/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 34/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 416.31 KB (34.1% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.11 KB savings)
- [HIGH] Reduce unused css (est. 152.20 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.43 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.12 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. 264.11 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.16 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); 4 request(s), 607.43 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 74 request(s), 197.86 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 152.43 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.34 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.19 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 152.20 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. 264.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. 41.12 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.11 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 152.20 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1161 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.16 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 73 small targets on mobile and 87 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 57.49 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 34.48 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 37.30 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.11 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 152.20 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1161 ms.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 57.49 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.12 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 34.48 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: 552.34 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 11 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.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 CSS
- Current value: Est savings of 152 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,160 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 1,420 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [MEDIUM] Speed Index
- Current value: 5.6 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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
### https://www.halifax.ca/about-halifax/volunteering
- Performance: 41/100
- Transfer: 1.13 MB
- CO2 estimate: 0.4519 g
- Page host green energy status: NOT GREEN
- Redundancy score: 37/100
- Redundancy urgency: MEDIUM
- Modularization score: 30/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 26/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 11/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 416.77 KB (36.2% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.47 KB savings)
- [HIGH] Reduce unused css (est. 152.30 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.46 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 264.47 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.19 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); 4 request(s), 607.46 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 74 request(s), 197.80 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 152.45 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.34 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.14 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 152.30 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. 264.47 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.47 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 152.30 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1515 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.19 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 74 small targets on mobile and 81 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 34.47 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 39.84 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.47 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 152.30 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1515 ms.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 34.47 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.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: 487.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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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 CSS
- Current value: Est savings of 152 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,520 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 1,360 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [MEDIUM] Speed Index
- Current value: 5.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
### https://www.halifax.ca/about-halifax/affordable-access-program
- Performance: 40/100
- Transfer: 1.12 MB
- CO2 estimate: 0.4489 g
- Page host green energy status: NOT GREEN
- Redundancy score: 38/100
- Redundancy urgency: MEDIUM
- Modularization score: 31/100
- Modularization urgency: MEDIUM
- Dead-code score: 16/100
- Dead-code urgency: HIGH
- Non-critical resources score: 16/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 13/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 378.06 KB (33.0% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 263.52 KB savings)
- [MEDIUM] Reduce unused css (est. 114.53 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.44 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.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. 263.52 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.17 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); 4 request(s), 607.44 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 72 request(s), 172.11 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 152.58 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.17 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 114.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. 263.52 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. 41.16 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 263.52 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 114.53 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [MEDIUM] Eliminate render-blocking resources (est. 606 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.17 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 72 small targets on mobile and 76 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 58.39 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 28.84 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 33.64 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 263.52 KB.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 114.53 KB.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 58.39 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.16 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 28.84 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.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: 480.95 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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.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] Speed Index
- Current value: 6.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 115 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 58 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 34 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/city-hall/legislation-by-laws/public-notices
- Performance: 54/100
- Transfer: 1.23 MB
- CO2 estimate: 0.4942 g
- Page host green energy status: NOT GREEN
- Redundancy score: 41/100
- Redundancy urgency: HIGH
- Modularization score: 34/100
- Modularization urgency: MEDIUM
- Dead-code score: 19/100
- Dead-code urgency: HIGH
- Non-critical resources score: 27/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 11/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 533.15 KB (42.3% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused css (est. 268.72 KB savings)
- [HIGH] Reduce unused javascript (est. 264.43 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 5 (767.04 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 264.43 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy stylesheet asset from cdn.halifax.ca (est. 159.61 KB)
- Split this stylesheet so component-specific CSS is delivered only when the component is rendered.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 4 request(s), 607.43 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 71 request(s), 318.65 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 170.82 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.22 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 268.72 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. 264.43 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.43 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 268.72 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1786 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy stylesheet from cdn.halifax.ca (est. 159.61 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 71 small targets on mobile and 77 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 59.15 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 28.65 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 29.62 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 268.72 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.43 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1786 ms.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 59.15 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 28.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: 595.61 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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.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 CSS
- Current value: Est savings of 269 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 30 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 41 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,790 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 710 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
### https://www.halifax.ca/about-halifax/regional-community-planning/shape-your-city
- Performance: 48/100
- Transfer: 1.33 MB
- CO2 estimate: 0.5345 g
- Page host green energy status: NOT GREEN
- Redundancy score: 33/100
- Redundancy urgency: MEDIUM
- Modularization score: 38/100
- Modularization urgency: MEDIUM
- Dead-code score: 14/100
- Dead-code urgency: HIGH
- Non-critical resources score: 30/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 25/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 378.91 KB (27.8% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.20 KB savings)
- [MEDIUM] Reduce unused css (est. 114.71 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 5 (849.38 KB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 282.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. 264.20 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy image asset from www.halifax.ca (est. 241.95 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); 4 request(s), 607.43 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 72 request(s), 160.79 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 153.40 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.84 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.15 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 114.71 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. 264.20 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. 282.91 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.20 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 114.71 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1555 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy image from www.halifax.ca (est. 241.95 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 74 small targets on mobile and 89 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 260.33 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 25.99 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.86 KB.
- Optimization recommendations:
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 282.91 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.20 KB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 260.33 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1555 ms.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 114.71 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 25.99 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: 692.10 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.
- [MEDIUM] Add loading="lazy" to images
- 10 of 10 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 CSS
- Current value: Est savings of 115 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,560 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 1,370 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.6 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] Speed Index
- Current value: 5.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
### https://www.halifax.ca/home/stay-informed/
- Performance: 55/100
- Transfer: 1.15 MB
- CO2 estimate: 0.4637 g
- Page host green energy status: NOT GREEN
- Redundancy score: 37/100
- Redundancy urgency: MEDIUM
- Modularization score: 30/100
- Modularization urgency: MEDIUM
- Dead-code score: 16/100
- Dead-code urgency: HIGH
- Non-critical resources score: 17/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 365.44 KB (30.9% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.00 KB savings)
- [MEDIUM] Reduce unused css (est. 101.43 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.44 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 264.00 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.17 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); 4 request(s), 607.44 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 153.17 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 72 request(s), 145.04 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.85 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.13 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 101.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. 264.00 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.00 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 101.43 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [MEDIUM] Eliminate render-blocking resources (est. 703 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.17 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 73 small targets on mobile and 77 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 59.08 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 22.92 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 36.55 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.00 KB.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 101.43 KB.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 59.08 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.31 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 22.92 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: 509.35 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
- 11 of 11 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: 9.6 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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 101 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 700 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 1,230 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [MEDIUM] Speed Index
- 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)
### https://www.halifax.ca/home-property
- Performance: 56/100
- Transfer: 1.98 MB
- CO2 estimate: 0.7952 g
- Page host green energy status: NOT GREEN
- Redundancy score: 34/100
- Redundancy urgency: HIGH
- Modularization score: 32/100
- Modularization urgency: HIGH
- Dead-code score: 13/100
- Dead-code urgency: HIGH
- Non-critical resources score: 22/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/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: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 520.11 KB (25.7% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.53 KB savings)
- [HIGH] Reduce unused css (est. 255.59 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 6 (1.12 MB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 264.53 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy image asset from cdn.halifax.ca (est. 384.32 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); 4 request(s), 607.45 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 69 request(s), 305.76 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 169.47 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.85 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.13 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 255.59 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. 264.53 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.53 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 255.59 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1480 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy image from cdn.halifax.ca (est. 384.32 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 75 small targets on mobile and 76 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 468.79 KB.
- [HIGH] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 164.86 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 56.42 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 28.65 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: 468.79 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.53 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 255.59 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1480 ms.
- [MEDIUM] Compress oversized image assets
- Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 164.86 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 56.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: 1.32 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
- 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] Largest Contentful Paint
- Current value: 13.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 265 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 256 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 469 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 165 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 41 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
### https://www.halifax.ca/home-property/animal-services
- Performance: 46/100
- Transfer: 1.12 MB
- CO2 estimate: 0.4502 g
- Page host green energy status: NOT GREEN
- Redundancy score: 37/100
- Redundancy urgency: MEDIUM
- Modularization score: 30/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 26/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 10/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 414.38 KB (36.1% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 262.93 KB savings)
- [HIGH] Reduce unused css (est. 151.45 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.45 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.25 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. 262.93 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.17 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); 4 request(s), 607.45 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 75 request(s), 198.16 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 155.49 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.13 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 151.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. 262.93 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. 41.25 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 262.93 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 151.45 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 2069 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.17 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 71 small targets on mobile and 76 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 34.31 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 29.70 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.87 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 262.93 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 151.45 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 2069 ms.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.25 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 34.31 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.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: 483.60 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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: 8.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 263 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 151 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 2,070 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 820 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [MEDIUM] Speed Index
- Current value: 5.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)
### https://www.halifax.ca/home-property/building-development-permits
- Performance: 56/100
- Transfer: 1.24 MB
- CO2 estimate: 0.4985 g
- Page host green energy status: NOT GREEN
- Redundancy score: 37/100
- Redundancy urgency: MEDIUM
- Modularization score: 28/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 24/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 15/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 38/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 441.13 KB (34.7% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.85 KB savings)
- [HIGH] Reduce unused css (est. 176.28 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.48 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.12 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. 264.85 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.18 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); 4 request(s), 607.48 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 77 request(s), 222.62 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 154.43 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.17 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 176.28 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. 264.85 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. 41.12 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.85 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 176.28 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1419 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.18 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 72 small targets on mobile and 81 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 92.78 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 39.92 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 35.80 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.85 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 176.28 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1419 ms.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 92.78 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.12 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 39.92 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: 603.43 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 10 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.6 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 CSS
- Current value: Est savings of 176 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,420 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 930 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [MEDIUM] Speed Index
- 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)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 265 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
### https://www.halifax.ca/home-property/civic-addressing
- Performance: 58/100
- Transfer: 1.02 MB
- CO2 estimate: 0.4096 g
- Page host green energy status: NOT GREEN
- Redundancy score: 38/100
- Redundancy urgency: MEDIUM
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 16/100
- Dead-code urgency: HIGH
- Non-critical resources score: 16/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 9/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 340.54 KB (32.6% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.25 KB savings)
- [MEDIUM] Reduce unused css (est. 76.29 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.48 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 264.25 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.18 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); 4 request(s), 607.48 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 154.45 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 70 request(s), 118.68 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.16 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 76.29 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. 264.25 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.25 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [MEDIUM] Inline critical CSS and defer remainder (est. 76.29 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [MEDIUM] Eliminate render-blocking resources (est. 560 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.18 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 73 small targets on mobile and 77 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 29.62 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- [LOW] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 17.19 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.25 KB.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 76.29 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.31 KB.
- [MEDIUM] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 560 ms.
- [LOW] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 29.62 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: 381.07 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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.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)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 76 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 560 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 1,090 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [MEDIUM] Speed Index
- Current value: 3.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
### https://www.halifax.ca/home-property/garbage-recycling-green-cart
- Performance: 47/100
- Transfer: 1.57 MB
- CO2 estimate: 0.6316 g
- Page host green energy status: NOT GREEN
- Redundancy score: 32/100
- Redundancy urgency: MEDIUM
- Modularization score: 30/100
- Modularization urgency: MEDIUM
- Dead-code score: 13/100
- Dead-code urgency: HIGH
- Non-critical resources score: 23/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 23/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 34/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 85/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 413.91 KB (25.7% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 262.48 KB savings)
- [HIGH] Reduce unused css (est. 151.43 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 6 (819.66 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.24 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. 262.48 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.18 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); 4 request(s), 607.48 KB
- SCRIPT static.xx.fbcdn.net: NOT GREEN; 10 request(s), 244.68 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 75 request(s), 198.32 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 155.38 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 6 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 2 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 151.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. 262.48 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. 41.24 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 262.48 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 151.43 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1805 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.18 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 74 small targets on mobile and 84 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.
- [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
- 52 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 52 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 180.64 KB.
- [MEDIUM] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 124.60 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 34.32 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 262.48 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 151.43 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1805 ms.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 180.64 KB.
- [MEDIUM] Compress oversized image assets
- Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 124.60 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.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: 672.66 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 11 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: 14.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)
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 262 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 151 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 181 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 125 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,810 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)
### https://www.halifax.ca/home-property/property-taxes
- Performance: 50/100
- Transfer: 1.13 MB
- CO2 estimate: 0.4553 g
- Page host green energy status: NOT GREEN
- Redundancy score: 40/100
- Redundancy urgency: MEDIUM
- Modularization score: 30/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 21/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 11/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 415.40 KB (35.8% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.38 KB savings)
- [HIGH] Reduce unused css (est. 151.02 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.48 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.12 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. 264.38 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.18 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); 4 request(s), 607.48 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 75 request(s), 196.36 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 153.16 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.14 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 151.02 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. 264.38 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. 41.12 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.38 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 151.02 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1025 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.18 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 76 small targets on mobile and 82 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 34.22 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 40.87 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.38 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 151.02 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1025 ms.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.12 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 34.22 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.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: 495.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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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: 8.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 151 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 41 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,030 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] Speed Index
- Current value: 3.6 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)
### https://www.halifax.ca/home-property/urban-forestry
- Performance: 54/100
- Transfer: 1.17 MB
- CO2 estimate: 0.4688 g
- Page host green energy status: NOT GREEN
- Redundancy score: 36/100
- Redundancy urgency: MEDIUM
- Modularization score: 29/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 25/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 403.24 KB (33.7% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.53 KB savings)
- [HIGH] Reduce unused css (est. 138.71 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.47 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 264.53 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.17 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); 4 request(s), 607.47 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 74 request(s), 183.36 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 153.17 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.14 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 138.71 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. 264.53 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.53 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 138.71 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1526 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.17 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 71 small targets on mobile and 76 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 72.69 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 31.38 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 34.65 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.53 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 138.71 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1526 ms.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 72.69 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 31.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: 530.83 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 139 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,530 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 710 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [MEDIUM] Speed Index
- 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 265 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
### https://www.halifax.ca/home-property/building-development-permits/alarm-registration
- Performance: 42/100
- Transfer: 1.68 MB
- CO2 estimate: 0.6746 g
- Page host green energy status: NOT GREEN
- Redundancy score: 36/100
- Redundancy urgency: HIGH
- Modularization score: 35/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 25/100
- Non-critical resources urgency: HIGH
- Form validation score: 9/100
- Form validation urgency: LOW
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/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: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 566.16 KB (32.9% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 437.01 KB savings)
- [HIGH] Reduce unused css (est. 129.14 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 6 (1010.78 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.23 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. 437.01 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy script asset from www.gstatic.com (est. 361.69 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); 4 request(s), 607.49 KB
- SCRIPT www.gstatic.com: GREEN (Google Cloud); 2 request(s), 361.69 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 66 request(s), 234.72 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 83 request(s), 180.45 KB
- STYLESHEET www.gstatic.com: GREEN (Google Cloud); 1 request(s), 41.61 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.35 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 7 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 129.14 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. 437.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. 41.23 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 437.01 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 129.14 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1800 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy script from www.gstatic.com (est. 361.69 KB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [MEDIUM] Missing autocomplete for tooling support
- 19 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 72 small targets on mobile and 82 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.
- [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
- 68 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 68 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 39.47 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 29.04 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 29.70 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.86 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 437.01 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 129.14 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1800 ms.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.23 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 39.47 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 29.04 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: 579.60 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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: 10.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] Speed Index
- Current value: 7.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)
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 437 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 129 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,800 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)
- [HIGH] Preconnect to required origins
- Current value: Est savings of 340 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)
### https://www.halifax.ca/about-halifax/regional-community-planning/short-term-rentals
- Performance: 54/100
- Transfer: 1.29 MB
- CO2 estimate: 0.5191 g
- Page host green energy status: NOT GREEN
- Redundancy score: 40/100
- Redundancy urgency: HIGH
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 19/100
- Dead-code urgency: HIGH
- Non-critical resources score: 26/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 11/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 532.95 KB (40.3% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused css (est. 268.41 KB savings)
- [HIGH] Reduce unused javascript (est. 264.53 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 5 (767.09 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 264.53 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy stylesheet asset from cdn.halifax.ca (est. 159.61 KB)
- Split this stylesheet so component-specific CSS is delivered only when the component is rendered.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 4 request(s), 607.48 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 71 request(s), 318.65 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 170.82 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.18 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 268.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. 264.53 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.53 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 268.41 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 2302 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy stylesheet from cdn.halifax.ca (est. 159.61 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 72 small targets on mobile and 88 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 59.14 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 28.65 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 29.62 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 268.41 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.53 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 2302 ms.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 59.14 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 28.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: 649.76 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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.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)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 268 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 30 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 41 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 2,300 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 870 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
### https://www.halifax.ca/home-property/garbage-recycling-green-cart/collection-schedules-what-goes-where
- Performance: 34/100
- Transfer: 2.68 MB
- CO2 estimate: 1.0768 g
- Page host green energy status: NOT GREEN
- Redundancy score: 44/100
- Redundancy urgency: HIGH
- Modularization score: 44/100
- Modularization urgency: HIGH
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 26/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/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: 90/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 804.49 KB (29.3% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 478.82 KB savings)
- [HIGH] Reduce unused css (est. 325.67 KB savings)
- [MEDIUM] Enable and verify text compression (est. 7.11 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 11 (1.91 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 285.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. 478.82 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy script asset from api.recollect.net (est. 334.75 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 api.recollect.net: NOT GREEN; 7 request(s), 737.15 KB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 4 request(s), 607.47 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 72 request(s), 333.32 KB
- SCRIPT cdn.pendo.io: GREEN (Google Cloud); 1 request(s), 184.17 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 153.34 KB
- STYLESHEET recollect-us.global.ssl.fastly.net: NOT GREEN; 4 request(s), 102.77 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 9 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 3 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 325.67 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. 478.82 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. 285.62 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 478.82 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 325.67 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 2399 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy script from api.recollect.net (est. 334.75 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 71 small targets on mobile and 81 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.
- [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
- 50 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 50 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 260.33 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 62.04 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.86 KB.
- [LOW] Enable Brotli/gzip for text assets
- Compress HTML, CSS, JS, JSON, SVG, and XML responses with Brotli or gzip. Estimated savings: 7.11 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 478.82 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 325.67 KB.
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 285.62 KB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 260.33 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 2399 ms.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 62.04 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.68 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
- 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: 7.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)
- [HIGH] Speed Index
- Current value: 5.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)
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 479 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 326 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 2,400 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] Serve images in next-gen formats
- Current value: Est savings of 260 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/transportation
- Performance: 54/100
- Transfer: 1.67 MB
- CO2 estimate: 0.6697 g
- Page host green energy status: NOT GREEN
- Redundancy score: 34/100
- Redundancy urgency: HIGH
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 23/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 28/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 518.46 KB (30.4% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 262.87 KB savings)
- [HIGH] Reduce unused css (est. 255.59 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 6 (958.61 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.12 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. 262.87 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy image asset from cdn.halifax.ca (est. 191.52 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); 4 request(s), 607.48 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 69 request(s), 305.70 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 169.43 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.12 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 255.59 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. 262.87 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. 41.12 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 262.87 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 255.59 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1619 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy image from cdn.halifax.ca (est. 191.52 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 72 small targets on mobile and 73 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 301.57 KB.
- [MEDIUM] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 95.84 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 56.42 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 23.84 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: 301.57 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 262.87 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 255.59 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1619 ms.
- [MEDIUM] Compress oversized image assets
- Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 95.84 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 56.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: 1.01 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: 10.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 263 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 256 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 302 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 96 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 41 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
### https://www.halifax.ca/transportation/halifax-transit
- Performance: 53/100
- Transfer: 1.59 MB
- CO2 estimate: 0.6392 g
- Page host green energy status: NOT GREEN
- Redundancy score: 39/100
- Redundancy urgency: HIGH
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 23/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 21/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 26/100
- Media hints urgency: LOW
- Third-party JS risk score: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 552.57 KB (33.9% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 388.96 KB savings)
- [HIGH] Reduce unused css (est. 163.60 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 5 (847.75 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 96.84 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. 388.96 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from cdn.halifax.ca (est. 240.27 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); 4 request(s), 607.49 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 393.48 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 76 request(s), 209.66 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.16 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 163.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. 388.96 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. 96.84 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 388.96 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 163.60 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1181 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy script from cdn.halifax.ca (est. 240.27 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 79 small targets on mobile and 87 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 113.18 KB.
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 136.46 KB.
- [MEDIUM] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 49.44 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 37.09 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 388.96 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 163.60 KB.
- [HIGH] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 113.18 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1181 ms.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 136.46 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 96.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: 893.81 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.
- [MEDIUM] Add loading="lazy" to images
- 9 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: 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 389 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 164 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,180 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] Speed Index
- Current value: 4.6 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] Serve images in next-gen formats
- Current value: Est savings of 136 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/transportation/cycling-walking
- Performance: 48/100
- Transfer: 1.33 MB
- CO2 estimate: 0.5354 g
- Page host green energy status: NOT GREEN
- Redundancy score: 35/100
- Redundancy urgency: MEDIUM
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 14/100
- Dead-code urgency: HIGH
- Non-critical resources score: 16/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/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: 34/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 365.60 KB (26.8% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.41 KB savings)
- [MEDIUM] Reduce unused css (est. 101.20 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 5 (802.03 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.23 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. 264.41 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy image asset from cdn.halifax.ca (est. 194.54 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); 4 request(s), 607.49 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 154.08 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 71 request(s), 145.93 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.85 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.17 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 101.20 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. 264.41 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. 41.23 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.41 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 101.20 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [MEDIUM] Eliminate render-blocking resources (est. 723 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy image from cdn.halifax.ca (est. 194.54 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 69 small targets on mobile and 76 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 239.38 KB.
- [HIGH] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 187.56 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 22.93 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.41 KB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 239.38 KB.
- [MEDIUM] Compress oversized image assets
- Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 187.56 KB.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 101.20 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.23 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.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: 697.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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 11 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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 101 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 239 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 720 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 960 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
### https://www.halifax.ca/transportation/parking
- Performance: 52/100
- Transfer: 1.08 MB
- CO2 estimate: 0.4348 g
- Page host green energy status: NOT GREEN
- Redundancy score: 38/100
- Redundancy urgency: MEDIUM
- Modularization score: 31/100
- Modularization urgency: MEDIUM
- Dead-code score: 16/100
- Dead-code urgency: HIGH
- Non-critical resources score: 21/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 11/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 365.75 KB (33.0% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.63 KB savings)
- [MEDIUM] Reduce unused css (est. 101.12 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.49 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.12 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. 264.63 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.18 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); 4 request(s), 607.49 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 153.16 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 71 request(s), 144.26 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.35 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.81 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.17 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 101.12 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. 264.63 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. 41.12 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.63 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 101.12 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1025 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.18 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 69 small targets on mobile and 75 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 51.44 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 22.88 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.63 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1025 ms.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 101.12 KB.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 51.44 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.12 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.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: 445.00 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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: 9.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 265 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 101 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 51 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,030 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] Speed Index
- 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)
### https://www.halifax.ca/transportation/winter-operations
- Performance: 51/100
- Transfer: 1.15 MB
- CO2 estimate: 0.4634 g
- Page host green energy status: NOT GREEN
- Redundancy score: 37/100
- Redundancy urgency: MEDIUM
- Modularization score: 30/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 25/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/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: 43/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 415.66 KB (35.2% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.59 KB savings)
- [HIGH] Reduce unused css (est. 151.07 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.48 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 264.59 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.17 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); 4 request(s), 607.48 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 75 request(s), 196.46 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 153.21 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.36 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.80 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.18 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 151.07 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. 264.59 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.59 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 151.07 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1839 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.17 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 77 small targets on mobile and 85 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 53.24 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 34.22 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 29.05 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.59 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 151.07 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1839 ms.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 53.24 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 34.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: 516.06 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 9 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: 9.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)
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 265 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 151 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 53 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,840 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 800 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
### https://www.halifax.ca/transportation/your-trip
- Performance: 42/100
- Transfer: 2.81 MB
- CO2 estimate: 1.1275 g
- Page host green energy status: NOT GREEN
- Redundancy score: 22/100
- Redundancy urgency: MEDIUM
- Modularization score: 42/100
- Modularization urgency: HIGH
- Dead-code score: 8/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 5/100
- Compression urgency: LOW
- 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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 373.77 KB (13.0% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 260.14 KB savings)
- [MEDIUM] Reduce unused css (est. 113.63 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 11 (2.07 MB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 260.14 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy script asset from www.youtube.com (est. 472.34 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.youtube.com: GREEN (Google Cloud); 7 request(s), 1.39 MB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 5 request(s), 607.51 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 73 request(s), 158.07 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 153.20 KB
- STYLESHEET www.youtube.com: GREEN (Google Cloud); 4 request(s), 103.51 KB
- SCRIPT www.google.com: GREEN (Google Cloud); 1 request(s), 23.18 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 7 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 113.63 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. 260.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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 260.14 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 113.63 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [MEDIUM] Eliminate render-blocking resources (est. 726 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy script from www.youtube.com (est. 472.34 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 73 small targets on mobile and 76 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.
- [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
- 54 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 54 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 59.51 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 25.73 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 260.14 KB.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 113.63 KB.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 59.51 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 25.73 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.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: 489.34 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 9 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: 13.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 260 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 114 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 60 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 730 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 700 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
### https://www.halifax.ca/transportation/streets-sidewalks
- Performance: 30/100
- Transfer: 1.12 MB
- CO2 estimate: 0.4516 g
- Page host green energy status: NOT GREEN
- Redundancy score: 39/100
- Redundancy urgency: MEDIUM
- Modularization score: 30/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 21/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 11/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 403.23 KB (35.0% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.41 KB savings)
- [HIGH] Reduce unused css (est. 138.82 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.47 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.21 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. 264.41 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.17 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); 4 request(s), 607.47 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 74 request(s), 184.97 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 153.35 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.36 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.16 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 138.82 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. 264.41 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. 41.21 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.41 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 138.82 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1031 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.17 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 70 small targets on mobile and 80 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 31.46 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 41.07 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.86 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.41 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 138.82 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1031 ms.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.21 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 31.46 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.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: 486.08 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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.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)
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 139 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 41 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,030 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] Speed Index
- Current value: 5.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)
### https://www.halifax.ca/transportation/halifax-transit/routes-schedules
- Performance: 63/100
- Transfer: 1.07 MB
- CO2 estimate: 0.4303 g
- Page host green energy status: NOT GREEN
- Redundancy score: 38/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 25/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 10/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 365.50 KB (33.3% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.36 KB savings)
- [MEDIUM] Reduce unused css (est. 101.14 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.48 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 264.36 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.18 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); 4 request(s), 607.48 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 153.75 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 72 request(s), 144.82 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.16 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 101.14 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. 264.36 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.36 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 101.14 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1579 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.18 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 220 small targets on mobile and 212 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 22.88 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 39.04 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.36 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1579 ms.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 101.14 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.31 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 22.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: 421.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
- 15 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.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 CSS
- Current value: Est savings of 101 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,580 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 JavaScript
- Current value: Est savings of 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Serve images in next-gen formats
- Current value: Est savings of 39 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Efficiently encode images
- Current value: Est savings of 25 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/about-halifax/regional-community-planning/construction-projects/cogswell-district-redevelopment-0
- Performance: 45/100
- Transfer: 2.59 MB
- CO2 estimate: 1.0421 g
- Page host green energy status: NOT GREEN
- Redundancy score: 31/100
- Redundancy urgency: HIGH
- Modularization score: 38/100
- Modularization urgency: HIGH
- Dead-code score: 11/100
- Dead-code urgency: HIGH
- Non-critical resources score: 21/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/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: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 544.59 KB (20.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused css (est. 281.06 KB savings)
- [HIGH] Reduce unused javascript (est. 263.53 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 10 (1.66 MB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.12 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. 263.53 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy script asset from www.youtube.com (est. 472.35 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.youtube.com: GREEN (Google Cloud); 12 request(s), 843.72 KB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 4 request(s), 607.49 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 73 request(s), 332.37 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 170.82 KB
- STYLESHEET www.youtube.com: GREEN (Google Cloud); 8 request(s), 103.53 KB
- SCRIPT www.google.com: GREEN (Google Cloud); 2 request(s), 23.06 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 7 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 281.06 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. 263.53 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. 41.12 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 263.53 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 281.06 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1618 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy script from www.youtube.com (est. 472.35 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 69 small targets on mobile and 88 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.
- [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
- 55 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 55 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 61.99 KB.
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 52.15 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 28.65 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 32.03 KB.
- Optimization recommendations:
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 281.06 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 263.53 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1618 ms.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 61.99 KB.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 52.15 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.12 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: 726.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.
- [MEDIUM] Add loading="lazy" to images
- 9 of 9 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.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] Speed Index
- Current value: 7.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 CSS
- Current value: Est savings of 281 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 52 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 41 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,620 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)
### https://www.halifax.ca/transportation/parking/parking-tickets
- Performance: 40/100
- Transfer: 1.48 MB
- CO2 estimate: 0.5932 g
- Page host green energy status: NOT GREEN
- Redundancy score: 31/100
- Redundancy urgency: MEDIUM
- Modularization score: 34/100
- Modularization urgency: MEDIUM
- Dead-code score: 13/100
- Dead-code urgency: HIGH
- Non-critical resources score: 23/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 377.92 KB (25.0% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 263.36 KB savings)
- [MEDIUM] Reduce unused css (est. 114.56 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 5 (950.62 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.20 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. 263.36 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy image asset from cdn.halifax.ca (est. 343.13 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); 4 request(s), 607.49 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 71 request(s), 160.38 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 154.63 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.17 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 114.56 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. 263.36 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. 41.20 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 263.36 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 114.56 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1543 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy image from cdn.halifax.ca (est. 343.13 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 76 small targets on mobile and 84 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 318.48 KB.
- [HIGH] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 242.94 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 25.95 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 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: 318.48 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 263.36 KB.
- [HIGH] Compress oversized image assets
- Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 242.94 KB.
- [HIGH] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 223.76 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1543 ms.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 114.56 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: 841.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.
- [MEDIUM] Add loading="lazy" to images
- 9 of 9 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.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)
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 263 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 115 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,540 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] Speed Index
- Current value: 4.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] Serve images in next-gen formats
- Current value: Est savings of 318 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/transportation/parking/street-parking
- Performance: 60/100
- Transfer: 1.91 MB
- CO2 estimate: 0.7656 g
- Page host green energy status: NOT GREEN
- Redundancy score: 25/100
- Redundancy urgency: MEDIUM
- Modularization score: 44/100
- Modularization urgency: HIGH
- Dead-code score: 10/100
- Dead-code urgency: HIGH
- Non-critical resources score: 24/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 32/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: 85/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 363.73 KB (18.6% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 262.65 KB savings)
- [MEDIUM] Reduce unused css (est. 101.08 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 7 (1.30 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 634.69 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. 262.65 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy image asset from cdn.halifax.ca (est. 274.45 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); 4 request(s), 607.48 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 154.74 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 72 request(s), 146.58 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.18 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 6 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 2 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 101.08 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. 262.65 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. 634.69 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 262.65 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 101.08 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [MEDIUM] Eliminate render-blocking resources (est. 729 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy image from cdn.halifax.ca (est. 274.45 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 73 small targets on mobile and 79 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 558.79 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 22.95 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.88 KB.
- Optimization recommendations:
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 634.69 KB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 558.79 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 262.65 KB.
- [HIGH] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 247.23 KB.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 101.08 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.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: 1.25 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
- 14 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] Largest Contentful Paint
- Current value: 5.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 263 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 101 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 730 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] Speed Index
- 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)
- [MEDIUM] Serve images in next-gen formats
- Current value: Est savings of 559 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/safety-security
- Performance: 44/100
- Transfer: 1.63 MB
- CO2 estimate: 0.6536 g
- Page host green energy status: NOT GREEN
- Redundancy score: 37/100
- Redundancy urgency: HIGH
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 24/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 28/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 520.03 KB (31.2% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.45 KB savings)
- [HIGH] Reduce unused css (est. 255.59 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 6 (987.57 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.12 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. 264.45 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy image asset from cdn.halifax.ca (est. 220.47 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); 4 request(s), 607.49 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 69 request(s), 305.78 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 169.46 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.14 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 255.59 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. 264.45 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. 41.12 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.45 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 255.59 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1636 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy image from cdn.halifax.ca (est. 220.47 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 70 small targets on mobile and 72 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 279.08 KB.
- [MEDIUM] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 103.68 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 56.43 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 28.65 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: 279.08 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.45 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 255.59 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1636 ms.
- [MEDIUM] Compress oversized image assets
- Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 103.68 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 56.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: 998.33 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
- 14 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] Largest Contentful Paint
- Current value: 13.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 256 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 279 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 104 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 41 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
### https://www.halifax.ca/safety-security/emergency-management
- Performance: 48/100
- Transfer: 1.16 MB
- CO2 estimate: 0.4661 g
- Page host green energy status: NOT GREEN
- Redundancy score: 37/100
- Redundancy urgency: MEDIUM
- Modularization score: 30/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 23/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 16/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 30/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 365.15 KB (30.7% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 263.98 KB savings)
- [MEDIUM] Reduce unused css (est. 101.17 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.49 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 263.98 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.18 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); 4 request(s), 607.49 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 153.21 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 71 request(s), 144.47 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.84 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.14 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 101.17 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. 263.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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 263.98 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 101.17 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1384 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.18 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 68 small targets on mobile and 74 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 100.78 KB.
- [MEDIUM] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 45.13 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 22.91 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 263.98 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1384 ms.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 101.17 KB.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 100.78 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.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: 523.54 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.
- [MEDIUM] Add loading="lazy" to images
- 8 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: 8.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 101 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 101 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,380 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 1,390 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
### https://www.halifax.ca/safety-security/fire-emergency
- Performance: 52/100
- Transfer: 2.06 MB
- CO2 estimate: 0.8268 g
- Page host green energy status: NOT GREEN
- Redundancy score: 34/100
- Redundancy urgency: HIGH
- Modularization score: 27/100
- Modularization urgency: MEDIUM
- Dead-code score: 13/100
- Dead-code urgency: HIGH
- Non-critical resources score: 19/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 15/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 20/100
- Media hints urgency: LOW
- Third-party JS risk score: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 528.30 KB (25.1% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 388.86 KB savings)
- [HIGH] Reduce unused css (est. 139.44 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 5 (847.75 KB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 251.45 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. 388.86 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from cdn.halifax.ca (est. 240.26 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); 4 request(s), 607.49 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 65 request(s), 433.85 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 76 request(s), 188.09 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.84 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.15 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 139.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. 388.86 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. 251.45 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 388.86 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 139.44 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [MEDIUM] Eliminate render-blocking resources (est. 801 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy script from cdn.halifax.ca (est. 240.26 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 76 small targets on mobile and 79 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.
- [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
- 66 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 66 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 119.20 KB.
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 114.25 KB.
- [MEDIUM] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 53.46 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 31.58 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 388.86 KB.
- [HIGH] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 314.92 KB.
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 251.45 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 139.44 KB.
- [HIGH] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 119.20 KB.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 114.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: 1.05 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.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
- Current value: 12.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 389 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 139 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 800 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)
- [HIGH] Preconnect to required origins
- Current value: Est savings of 320 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] Speed Index
- Current value: 5.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)
### https://www.halifax.ca/safety-security/public-safety-strategy-programs
- Performance: 53/100
- Transfer: 1.13 MB
- CO2 estimate: 0.4550 g
- Page host green energy status: NOT GREEN
- Redundancy score: 38/100
- Redundancy urgency: MEDIUM
- Modularization score: 30/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 19/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 13/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 389.33 KB (33.6% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 263.10 KB savings)
- [MEDIUM] Reduce unused css (est. 126.23 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.48 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 263.10 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.18 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); 4 request(s), 607.48 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 73 request(s), 170.42 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 153.16 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.16 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 126.23 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. 263.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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 263.10 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 126.23 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [MEDIUM] Eliminate render-blocking resources (est. 868 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.18 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 72 small targets on mobile and 77 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 65.07 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 28.57 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 35.14 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 263.10 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 126.23 KB.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 65.07 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 28.57 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.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: 496.08 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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.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 263 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 126 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 65 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 35 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 870 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)
### https://www.halifax.ca/safety-security/police
- Performance: 42/100
- Transfer: 1.15 MB
- CO2 estimate: 0.4634 g
- Page host green energy status: NOT GREEN
- Redundancy score: 37/100
- Redundancy urgency: MEDIUM
- Modularization score: 30/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 20/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/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: 38/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 414.95 KB (35.1% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 263.54 KB savings)
- [HIGH] Reduce unused css (est. 151.41 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.48 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 263.54 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.18 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); 4 request(s), 607.48 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 75 request(s), 196.65 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 154.52 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.18 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 151.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. 263.54 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 263.54 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 151.41 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [MEDIUM] Eliminate render-blocking resources (est. 969 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.18 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 76 small targets on mobile and 87 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 56.39 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 34.25 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 31.72 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 263.54 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 151.41 KB.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 56.39 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 34.25 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.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: 513.70 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 10 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.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 CSS
- Current value: Est savings of 151 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 970 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 1,290 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [MEDIUM] Speed Index
- Current value: 4.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
### https://www.halifax.ca/safety-security/halifax-district-rcmp
- Performance: 46/100
- Transfer: 1.07 MB
- CO2 estimate: 0.4309 g
- Page host green energy status: NOT GREEN
- Redundancy score: 36/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 25/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 11/100
- Compression urgency: LOW
- 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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 365.35 KB (33.3% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.06 KB savings)
- [MEDIUM] Reduce unused css (est. 101.29 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.48 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.25 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. 264.06 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.17 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); 4 request(s), 607.48 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 154.70 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 71 request(s), 145.79 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.16 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 101.29 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. 264.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. 41.25 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.06 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 101.29 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1590 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.17 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 66 small targets on mobile and 70 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 22.89 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 46.69 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 30.18 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.06 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1590 ms.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 101.29 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.25 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.31 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 22.89 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: 436.10 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 9 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: 9.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 101 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 47 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 30 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,590 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)
### https://www.halifax.ca/safety-security/crossing-guard-program
- Performance: 45/100
- Transfer: 1.29 MB
- CO2 estimate: 0.5182 g
- Page host green energy status: NOT GREEN
- Redundancy score: 44/100
- Redundancy urgency: HIGH
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 20/100
- Dead-code urgency: HIGH
- Non-critical resources score: 27/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 582.94 KB (44.1% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused css (est. 318.39 KB savings)
- [HIGH] Reduce unused javascript (est. 264.55 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 5 (767.08 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 264.55 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy stylesheet asset from cdn.halifax.ca (est. 159.61 KB)
- Split this stylesheet so component-specific CSS is delivered only when the component is rendered.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 4 request(s), 607.48 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 74 request(s), 370.39 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 169.57 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.17 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 318.39 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. 264.55 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.55 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 318.39 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1771 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy stylesheet from cdn.halifax.ca (est. 159.61 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 71 small targets on mobile and 76 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 70.52 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 28.65 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 29.62 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 318.39 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.55 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1771 ms.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 70.52 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 28.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: 655.80 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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.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 265 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 318 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 30 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 25 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 41 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
### https://www.halifax.ca/fire-police/fire-emergency-management/emergency-management/emergency-preparedness/voluntary
- Performance: 36/100
- Transfer: 1.37 MB
- CO2 estimate: 0.5492 g
- Page host green energy status: NOT GREEN
- Redundancy score: 41/100
- Redundancy urgency: HIGH
- Modularization score: 36/100
- Modularization urgency: MEDIUM
- Dead-code score: 18/100
- Dead-code urgency: HIGH
- Non-critical resources score: 26/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 23/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 532.49 KB (38.0% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused css (est. 268.31 KB savings)
- [HIGH] Reduce unused javascript (est. 264.17 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 6 (889.49 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 264.17 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy stylesheet asset from cdn.halifax.ca (est. 159.61 KB)
- Split this stylesheet so component-specific CSS is delivered only when the component is rendered.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 4 request(s), 607.48 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 71 request(s), 318.74 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 170.90 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.18 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 268.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. 264.17 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.17 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 268.31 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1615 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy stylesheet from cdn.halifax.ca (est. 159.61 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 70 small targets on mobile and 76 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 139.39 KB.
- [MEDIUM] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 98.63 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 59.15 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 28.65 KB.
- Optimization recommendations:
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 268.31 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.17 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1615 ms.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 139.39 KB.
- [MEDIUM] Compress oversized image assets
- Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 98.63 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 59.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: 729.65 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.
- [MEDIUM] Add loading="lazy" to images
- 9 of 10 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: 12.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)
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 268 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 139 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 99 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,620 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)
### https://www.halifax.ca/safety-security/police/crime-mapping
- Performance: 52/100
- Transfer: 1.07 MB
- CO2 estimate: 0.4302 g
- Page host green energy status: NOT GREEN
- Redundancy score: 38/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 17/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 9/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 365.34 KB (33.3% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.01 KB savings)
- [MEDIUM] Reduce unused css (est. 101.33 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.48 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 264.01 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.17 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); 4 request(s), 607.48 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 153.80 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 72 request(s), 145.00 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.16 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 101.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. 264.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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.01 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 101.33 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [MEDIUM] Eliminate render-blocking resources (est. 706 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.17 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 66 small targets on mobile and 78 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 22.90 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 29.62 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.01 KB.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 101.33 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.31 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 22.90 KB.
- [MEDIUM] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 706 ms.
- 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: 430.14 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.
- [MEDIUM] Add loading="lazy" to images
- 9 of 10 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.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 CSS
- Current value: Est savings of 101 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 710 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 1,540 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [MEDIUM] Speed Index
- Current value: 5.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
### https://www.halifax.ca/fire-police/fire/recruitment/volunteer-firefighter-recruitment
- Performance: 15/100
- Transfer: 5.96 MB
- CO2 estimate: 2.3935 g
- Page host green energy status: NOT GREEN
- Redundancy score: 23/100
- Redundancy urgency: HIGH
- Modularization score: 33/100
- Modularization urgency: HIGH
- Dead-code score: 6/100
- Dead-code urgency: HIGH
- Non-critical resources score: 19/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 6/100
- Compression urgency: LOW
- 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: 85/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 555.34 KB (9.1% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused css (est. 293.53 KB savings)
- [HIGH] Reduce unused javascript (est. 261.81 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 18 (3.15 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 282.92 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. 261.81 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy script asset from www.youtube.com (est. 472.36 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 hrm.maps.arcgis.com: NOT GREEN; 610 request(s), 2.43 MB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 8 request(s), 1.57 MB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 4 request(s), 607.49 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 74 request(s), 347.33 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 171.82 KB
- STYLESHEET www.youtube.com: GREEN (Google Cloud); 4 request(s), 103.56 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 8 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 2 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 293.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. 261.81 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. 282.92 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 261.81 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 293.53 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 2336 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy script from www.youtube.com (est. 472.36 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 23 small targets on mobile and 76 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.
- [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
- 55 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 55 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 260.34 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 64.96 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.87 KB.
- Optimization recommendations:
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 293.53 KB.
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 282.92 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 261.81 KB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 260.34 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 2336 ms.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 64.96 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: 3.02 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.
- [MEDIUM] Add loading="lazy" to images
- 10 of 11 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: 13.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)
- [HIGH] Speed Index
- Current value: 9.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)
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 262 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 294 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 2,340 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)
- [HIGH] Preconnect to required origins
- Current value: Est savings of 330 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)
### https://www.halifax.ca/fire-police/fire/emergency-management
- Performance: 56/100
- Transfer: 1.51 MB
- CO2 estimate: 0.6054 g
- Page host green energy status: NOT GREEN
- Redundancy score: 40/100
- Redundancy urgency: HIGH
- Modularization score: 39/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 30/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 25/100
- Compression urgency: LOW
- 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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 557.00 KB (36.1% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused css (est. 293.42 KB savings)
- [HIGH] Reduce unused javascript (est. 263.58 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 6 (1009.04 KB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 282.80 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. 263.58 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy image asset from www.halifax.ca (est. 241.95 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); 4 request(s), 607.49 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 73 request(s), 344.67 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 170.85 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.18 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 293.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. 263.58 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. 282.80 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 263.58 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 293.42 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1626 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy image from www.halifax.ca (est. 241.95 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 69 small targets on mobile and 72 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 268.46 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 64.81 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 28.65 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 293.42 KB.
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 282.80 KB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 268.46 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 263.58 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1626 ms.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 64.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: 876.67 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
- 11 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: 5.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 CSS
- Current value: Est savings of 293 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,630 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 830 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [MEDIUM] Speed Index
- 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)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
### https://www.halifax.ca/fire-police/emergency-management/hfxalert
- Performance: 31/100
- Transfer: 2.85 MB
- CO2 estimate: 1.1428 g
- Page host green energy status: NOT GREEN
- Redundancy score: 28/100
- Redundancy urgency: HIGH
- Modularization score: 42/100
- Modularization urgency: HIGH
- Dead-code score: 10/100
- Dead-code urgency: HIGH
- Non-critical resources score: 23/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 13/100
- Compression urgency: LOW
- 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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 542.25 KB (18.6% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused css (est. 280.64 KB savings)
- [HIGH] Reduce unused javascript (est. 261.60 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 12 (2.04 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 282.80 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. 261.60 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy script asset from www.youtube.com (est. 472.34 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.youtube.com: GREEN (Google Cloud); 7 request(s), 983.88 KB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 4 request(s), 607.49 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 73 request(s), 332.37 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 170.83 KB
- STYLESHEET www.youtube.com: GREEN (Google Cloud); 4 request(s), 103.51 KB
- SCRIPT www.google.com: GREEN (Google Cloud); 1 request(s), 23.06 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 7 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 280.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. 261.60 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. 282.80 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 261.60 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 280.64 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1688 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy script from www.youtube.com (est. 472.34 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 73 small targets on mobile and 78 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.
- [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
- 52 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 52 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 268.43 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 62.00 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 28.65 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 282.80 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 280.64 KB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 268.43 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 261.60 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1688 ms.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 62.00 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: 964.13 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 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
- [HIGH] Largest Contentful Paint
- Current value: 7.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] Speed Index
- Current value: 7.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 262 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 281 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,690 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 1,300 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
### https://www.halifax.ca/business
- Performance: 52/100
- Transfer: 1.92 MB
- CO2 estimate: 0.7702 g
- Page host green energy status: NOT GREEN
- Redundancy score: 32/100
- Redundancy urgency: HIGH
- Modularization score: 35/100
- Modularization urgency: HIGH
- Dead-code score: 13/100
- Dead-code urgency: HIGH
- Non-critical resources score: 22/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/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: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 520.00 KB (26.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.41 KB savings)
- [HIGH] Reduce unused css (est. 255.59 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 6 (1.22 MB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.24 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. 264.41 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy image asset from cdn.halifax.ca (est. 482.18 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); 4 request(s), 607.46 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 69 request(s), 307.25 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 170.45 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.84 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.13 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 255.59 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. 264.41 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. 41.24 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.41 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 255.59 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1533 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy image from cdn.halifax.ca (est. 482.18 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 72 small targets on mobile and 73 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 426.38 KB.
- [HIGH] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 174.21 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 56.45 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 28.65 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: 426.38 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.41 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 255.59 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1533 ms.
- [MEDIUM] Compress oversized image assets
- Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 174.21 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 56.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: 1.26 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: 12.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 256 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 426 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 174 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 41 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
### https://www.halifax.ca/business/doing-business-halifax
- Performance: 65/100
- Transfer: 1.07 MB
- CO2 estimate: 0.4316 g
- Page host green energy status: NOT GREEN
- Redundancy score: 39/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 18/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 9/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 378.09 KB (34.4% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.49 KB savings)
- [MEDIUM] Reduce unused css (est. 113.60 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.48 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 264.49 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.18 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); 4 request(s), 607.48 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 72 request(s), 157.41 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 153.18 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.81 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.14 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 113.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. 264.49 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.49 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 113.60 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [MEDIUM] Eliminate render-blocking resources (est. 721 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.18 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 69 small targets on mobile and 76 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 25.73 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 29.62 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.49 KB.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 113.60 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 25.73 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.31 KB.
- [MEDIUM] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 721 ms.
- 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: 436.30 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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] Reduce unused CSS
- Current value: Est savings of 114 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 720 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 JavaScript
- Current value: Est savings of 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Serve images in next-gen formats
- Current value: Est savings of 30 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Efficiently encode images
- Current value: Est savings of 25 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/business/business-parks
- Performance: 49/100
- Transfer: 1.14 MB
- CO2 estimate: 0.4574 g
- Page host green energy status: NOT GREEN
- Redundancy score: 39/100
- Redundancy urgency: MEDIUM
- Modularization score: 30/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 21/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 13/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 403.19 KB (34.6% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.53 KB savings)
- [HIGH] Reduce unused css (est. 138.66 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.49 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.12 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. 264.53 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.18 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); 4 request(s), 607.49 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 74 request(s), 183.41 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 154.46 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.80 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.17 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 138.66 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. 264.53 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. 41.12 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.53 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 138.66 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1020 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.18 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 71 small targets on mobile and 77 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 59.23 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 31.39 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 31.09 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.53 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 138.66 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1020 ms.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 59.23 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.12 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 31.39 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: 501.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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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.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)
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 265 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 139 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,020 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 830 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [MEDIUM] Speed Index
- 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)
### https://www.halifax.ca/business/filming-halifax
- Performance: 51/100
- Transfer: 1.32 MB
- CO2 estimate: 0.5307 g
- Page host green energy status: NOT GREEN
- Redundancy score: 29/100
- Redundancy urgency: MEDIUM
- Modularization score: 36/100
- Modularization urgency: MEDIUM
- Dead-code score: 14/100
- Dead-code urgency: HIGH
- Non-critical resources score: 21/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/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: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 353.13 KB (26.1% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.34 KB savings)
- [MEDIUM] Reduce unused css (est. 88.79 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 5 (903.62 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.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. 264.34 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy image asset from cdn.halifax.ca (est. 296.14 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); 4 request(s), 607.49 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 153.73 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 71 request(s), 131.64 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.81 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.17 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 88.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. 264.34 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. 41.16 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.34 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 88.79 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1241 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy image from cdn.halifax.ca (est. 296.14 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 76 small targets on mobile and 80 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 20.01 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 29.65 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.81 KB.
- Optimization recommendations:
- [HIGH] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 277.64 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.34 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1241 ms.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 88.79 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.16 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.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: 687.76 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.
- [MEDIUM] Add loading="lazy" to images
- 9 of 9 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: 10.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 89 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,240 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] Serve images in next-gen formats
- Current value: Est savings of 30 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Efficiently encode images
- Current value: Est savings of 25 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/business/licences
- Performance: 51/100
- Transfer: 1.21 MB
- CO2 estimate: 0.4875 g
- Page host green energy status: NOT GREEN
- Redundancy score: 34/100
- Redundancy urgency: MEDIUM
- Modularization score: 28/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 24/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 17/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 34/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 377.97 KB (30.4% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.43 KB savings)
- [MEDIUM] Reduce unused css (est. 113.54 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.51 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.19 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. 264.43 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.18 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); 4 request(s), 607.51 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 72 request(s), 158.79 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 154.17 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.82 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.13 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 113.54 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. 264.43 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. 41.19 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.43 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 113.54 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1724 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.18 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 69 small targets on mobile and 75 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 115.71 KB.
- [MEDIUM] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 44.94 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 25.75 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.43 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1724 ms.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 115.71 KB.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 113.54 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.19 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 25.75 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: 577.02 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 11 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: 8.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)
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 114 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,720 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 970 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [MEDIUM] Speed Index
- Current value: 5.6 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)
### https://www.halifax.ca/business/planning-development
- Performance: 50/100
- Transfer: 1.80 MB
- CO2 estimate: 0.7237 g
- Page host green energy status: NOT GREEN
- Redundancy score: 36/100
- Redundancy urgency: HIGH
- Modularization score: 37/100
- Modularization urgency: HIGH
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 20/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 13/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 552.37 KB (29.9% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 388.46 KB savings)
- [HIGH] Reduce unused css (est. 163.90 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 7 (1.13 MB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 74.17 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. 388.46 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from cdn.halifax.ca (est. 240.21 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); 4 request(s), 607.49 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 48 request(s), 394.65 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 76 request(s), 209.89 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.82 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.17 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 163.90 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. 388.46 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. 74.17 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 388.46 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 163.90 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1020 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy script from cdn.halifax.ca (est. 240.21 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 74 small targets on mobile and 81 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.
- [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
- 49 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 49 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 113.16 KB.
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 64.32 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 37.14 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 30.91 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 388.46 KB.
- [HIGH] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 321.95 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 163.90 KB.
- [HIGH] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 113.16 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1020 ms.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 74.17 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: 827.58 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.
- [MEDIUM] Add loading="lazy" to images
- 9 of 10 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.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)
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 388 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 164 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,020 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] Speed Index
- Current value: 4.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] Serve images in next-gen formats
- Current value: Est savings of 64 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/business/real-estate-land-management
- Performance: 44/100
- Transfer: 1.12 MB
- CO2 estimate: 0.4503 g
- Page host green energy status: NOT GREEN
- Redundancy score: 39/100
- Redundancy urgency: MEDIUM
- Modularization score: 31/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 21/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 11/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 403.51 KB (35.1% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.85 KB savings)
- [HIGH] Reduce unused css (est. 138.66 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.52 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 264.85 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.19 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); 4 request(s), 607.52 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 74 request(s), 182.63 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 154.51 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.17 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 138.66 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. 264.85 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.85 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 138.66 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1006 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.19 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 72 small targets on mobile and 77 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 31.41 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 40.73 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.85 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 138.66 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1006 ms.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 31.41 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.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: 484.18 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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: 9.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 265 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 139 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 41 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,010 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 910 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
### https://www.halifax.ca/business/doing-business-halifax/garbage-recycling-businesses
- Performance: 49/100
- Transfer: 2.62 MB
- CO2 estimate: 1.0520 g
- Page host green energy status: NOT GREEN
- Redundancy score: 38/100
- Redundancy urgency: HIGH
- Modularization score: 42/100
- Modularization urgency: HIGH
- Dead-code score: 13/100
- Dead-code urgency: HIGH
- Non-critical resources score: 21/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 16/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: 90/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 639.81 KB (23.9% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 479.97 KB savings)
- [HIGH] Reduce unused css (est. 159.84 KB savings)
- [MEDIUM] Enable and verify text compression (est. 6.13 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 12 (1.84 MB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 43.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. 479.97 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy script asset from api.recollect.net (est. 334.79 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 api.recollect.net: NOT GREEN; 7 request(s), 736.33 KB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 4 request(s), 607.52 KB
- SCRIPT cdn.pendo.io: GREEN (Google Cloud); 1 request(s), 184.17 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 72 request(s), 159.24 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 152.50 KB
- STYLESHEET recollect-us.global.ssl.fastly.net: NOT GREEN; 4 request(s), 102.77 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 9 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 3 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 159.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. 479.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. 43.90 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 479.97 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 159.84 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1414 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy script from api.recollect.net (est. 334.79 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 74 small targets on mobile and 83 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.
- [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
- 50 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 50 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 339.49 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 25.95 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.85 KB.
- [LOW] Enable Brotli/gzip for text assets
- Compress HTML, CSS, JS, JSON, SVG, and XML responses with Brotli or gzip. Estimated savings: 6.13 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 479.97 KB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 339.49 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 159.84 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1414 ms.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 43.90 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 25.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: 1.32 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.
- [MEDIUM] Add loading="lazy" to images
- 10 of 10 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] Speed Index
- Current value: 5.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 CSS
- Current value: Est savings of 160 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,410 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 1,050 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [MEDIUM] Largest Contentful Paint
- Current value: 3.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 480 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
### https://www.halifax.ca/business/planning-development/planning-subdivision-applications
- Performance: 52/100
- Transfer: 1.52 MB
- CO2 estimate: 0.6111 g
- Page host green energy status: NOT GREEN
- Redundancy score: 32/100
- Redundancy urgency: MEDIUM
- Modularization score: 34/100
- Modularization urgency: MEDIUM
- Dead-code score: 13/100
- Dead-code urgency: HIGH
- Non-critical resources score: 28/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 27/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 403.34 KB (25.9% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 263.83 KB savings)
- [HIGH] Reduce unused css (est. 139.51 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 5 (849.47 KB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 282.88 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. 263.83 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy image asset from www.halifax.ca (est. 241.95 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); 4 request(s), 607.53 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 74 request(s), 186.50 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 153.45 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.17 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 139.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. 263.83 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. 282.88 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 263.83 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 139.51 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1704 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy image from www.halifax.ca (est. 241.95 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 85 small targets on mobile and 91 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 321.69 KB.
- [MEDIUM] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 49.94 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 31.60 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 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: 321.69 KB.
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 282.88 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 263.83 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 139.51 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1704 ms.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 31.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: 870.79 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
- 11 of 11 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: 8.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 140 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,700 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 1,200 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [MEDIUM] Speed Index
- Current value: 5.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)
### https://www.halifax.ca/business/doing-business-halifax/procurement
- Performance: 52/100
- Transfer: 1.21 MB
- CO2 estimate: 0.4860 g
- Page host green energy status: NOT GREEN
- Redundancy score: 37/100
- Redundancy urgency: MEDIUM
- Modularization score: 29/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 21/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 32/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 16/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 379.26 KB (30.6% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.49 KB savings)
- [MEDIUM] Reduce unused css (est. 114.77 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.53 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 264.49 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.19 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); 4 request(s), 607.53 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 50 request(s), 161.36 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 72 request(s), 159.10 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.19 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 114.77 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. 264.49 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.49 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 114.77 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1140 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.19 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 94 small targets on mobile and 102 on tablet.
- [MEDIUM] Refactor fixed-width components
- 1 element(s) exceeded viewport width in tested layouts; use responsive component constraints.
- 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.
- [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
- 51 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 51 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 125.24 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 25.92 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.49 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1140 ms.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 125.24 KB.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 114.77 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 25.92 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: 570.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.
- [MEDIUM] Add loading="lazy" to images
- 10 of 10 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.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 CSS
- Current value: Est savings of 115 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,140 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 1,030 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [MEDIUM] Speed Index
- Current value: 4.6 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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
### https://www.halifax.ca/parks-recreation
- Performance: 50/100
- Transfer: 1.87 MB
- CO2 estimate: 0.7518 g
- Page host green energy status: NOT GREEN
- Redundancy score: 32/100
- Redundancy urgency: HIGH
- Modularization score: 34/100
- Modularization urgency: HIGH
- Dead-code score: 13/100
- Dead-code urgency: HIGH
- Non-critical resources score: 22/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/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: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 520.08 KB (27.1% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.47 KB savings)
- [HIGH] Reduce unused css (est. 255.61 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 6 (1.17 MB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 37.27 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. 264.47 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy image asset from cdn.halifax.ca (est. 428.26 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); 4 request(s), 607.52 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 69 request(s), 307.37 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 169.48 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.16 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 255.61 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. 264.47 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. 37.27 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.47 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 255.61 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 2189 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy image from cdn.halifax.ca (est. 428.26 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 70 small targets on mobile and 71 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 415.47 KB.
- [HIGH] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 160.66 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 56.46 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 28.65 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: 415.47 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.47 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 255.61 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 2189 ms.
- [MEDIUM] Compress oversized image assets
- Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 160.66 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 56.46 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.22 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
- 14 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] Largest Contentful Paint
- Current value: 12.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] Speed Index
- 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] Reduce unused JavaScript
- Current value: Est savings of 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 256 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 415 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 161 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/parks-recreation/programs-activities
- Performance: 52/100
- Transfer: 1.95 MB
- CO2 estimate: 0.7845 g
- Page host green energy status: NOT GREEN
- Redundancy score: 35/100
- Redundancy urgency: HIGH
- Modularization score: 30/100
- Modularization urgency: MEDIUM
- Dead-code score: 14/100
- Dead-code urgency: HIGH
- Non-critical resources score: 16/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 16/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 32/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 85/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 552.33 KB (27.6% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 388.33 KB savings)
- [HIGH] Reduce unused css (est. 163.99 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 6 (940.70 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 80.50 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. 388.33 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from cdn.halifax.ca (est. 240.21 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); 4 request(s), 607.54 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 48 request(s), 395.29 KB
- SCRIPT static.xx.fbcdn.net: NOT GREEN; 10 request(s), 244.69 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 76 request(s), 209.95 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.83 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 6 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 2 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 163.99 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. 388.33 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. 80.50 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 388.33 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 163.99 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [MEDIUM] Eliminate render-blocking resources (est. 730 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy script from cdn.halifax.ca (est. 240.21 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 76 small targets on mobile and 81 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.
- [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
- 49 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 49 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 108.36 KB.
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 124.81 KB.
- [MEDIUM] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 57.69 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 37.15 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 388.33 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 163.99 KB.
- [HIGH] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 108.36 KB.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 124.81 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 80.50 KB.
- [MEDIUM] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 76.68 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: 946.64 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.
- [MEDIUM] Add loading="lazy" to images
- 9 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
- [HIGH] Largest Contentful Paint
- Current value: 14.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 388 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 164 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 125 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 58 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 730 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)
### https://www.halifax.ca/parks-recreation/arts-culture-heritage
- Performance: 45/100
- Transfer: 1.11 MB
- CO2 estimate: 0.4441 g
- Page host green energy status: NOT GREEN
- Redundancy score: 36/100
- Redundancy urgency: MEDIUM
- Modularization score: 31/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 25/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 10/100
- Compression urgency: LOW
- 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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 377.72 KB (33.4% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.05 KB savings)
- [MEDIUM] Reduce unused css (est. 113.67 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.53 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.12 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. 264.05 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.19 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); 4 request(s), 607.53 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 72 request(s), 157.31 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 153.13 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.18 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 113.67 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. 264.05 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. 41.12 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.05 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 113.67 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1667 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.19 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 69 small targets on mobile and 77 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 25.72 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 42.84 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.05 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1667 ms.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 113.67 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.12 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 25.72 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.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: 467.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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 9 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: 9.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 114 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 43 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,670 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] Speed Index
- Current value: 4.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)
### https://www.halifax.ca/parks-recreation/events
- Performance: 35/100
- Transfer: 2.14 MB
- CO2 estimate: 0.8604 g
- Page host green energy status: NOT GREEN
- Redundancy score: 30/100
- Redundancy urgency: MEDIUM
- Modularization score: 33/100
- Modularization urgency: HIGH
- Dead-code score: 12/100
- Dead-code urgency: HIGH
- Non-critical resources score: 17/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/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: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 502.29 KB (22.9% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 388.17 KB savings)
- [MEDIUM] Reduce unused css (est. 114.12 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 6 (1.14 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 240.68 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. 388.17 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy image asset from cdn.halifax.ca (est. 320.66 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); 4 request(s), 607.53 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 393.92 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 73 request(s), 159.53 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.84 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.15 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 114.12 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. 388.17 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. 240.68 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 388.17 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 114.12 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [MEDIUM] Eliminate render-blocking resources (est. 680 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy image from cdn.halifax.ca (est. 320.66 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 76 small targets on mobile and 80 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 492.48 KB.
- [HIGH] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 113.17 KB.
- [MEDIUM] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 126.79 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 25.77 KB.
- Optimization recommendations:
- [HIGH] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 492.62 KB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 492.48 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 388.17 KB.
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 240.68 KB.
- [HIGH] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 113.17 KB.
- [MEDIUM] Compress oversized image assets
- Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 126.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: 1.31 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
- 17 of 17 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: 10.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] Speed Index
- Current value: 5.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)
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 388 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 114 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 492 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 127 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/parks-recreation/facility-rentals-bookings-field-conditions
- Performance: 41/100
- Transfer: 2.15 MB
- CO2 estimate: 0.8648 g
- Page host green energy status: NOT GREEN
- Redundancy score: 33/100
- Redundancy urgency: HIGH
- Modularization score: 38/100
- Modularization urgency: HIGH
- Dead-code score: 13/100
- Dead-code urgency: HIGH
- Non-critical resources score: 14/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 10/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 39/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 526.31 KB (23.9% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 387.41 KB savings)
- [HIGH] Reduce unused css (est. 138.90 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 10 (1.28 MB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 56.10 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. 387.41 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from cdn.halifax.ca (est. 240.20 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); 4 request(s), 607.54 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 48 request(s), 395.62 KB
- SCRIPT www.gstatic.com: GREEN (Google Cloud); 13 request(s), 367.11 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 74 request(s), 183.81 KB
- SCRIPT apis.google.com: GREEN (Google Cloud); 2 request(s), 113.55 KB
- STYLESHEET www.gstatic.com: GREEN (Google Cloud); 1 request(s), 41.02 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 7 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 138.90 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. 387.41 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. 56.10 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 387.41 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 138.90 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [MEDIUM] Eliminate render-blocking resources (est. 684 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy script from cdn.halifax.ca (est. 240.20 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 75 small targets on mobile and 79 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.
- [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
- 53 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 53 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 113.16 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 31.47 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 48.37 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 387.41 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 138.90 KB.
- [HIGH] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 113.16 KB.
- [MEDIUM] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 76.68 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 56.10 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 31.47 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: 832.57 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.
- [MEDIUM] Add loading="lazy" to images
- 9 of 11 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.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 387 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 139 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 680 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] Speed Index
- Current value: 5.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] Serve images in next-gen formats
- Current value: Est savings of 48 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/parks-recreation/halifax-youth
- Performance: 48/100
- Transfer: 1.36 MB
- CO2 estimate: 0.5446 g
- Page host green energy status: NOT GREEN
- Redundancy score: 34/100
- Redundancy urgency: MEDIUM
- Modularization score: 26/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 24/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 24/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 20/100
- Media hints urgency: LOW
- Third-party JS risk score: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 417.05 KB (30.0% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.53 KB savings)
- [HIGH] Reduce unused css (est. 152.52 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.54 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 264.53 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.19 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); 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 73 request(s), 198.10 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 152.48 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.17 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 152.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. 264.53 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.53 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 152.52 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1533 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.19 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 74 small targets on mobile and 78 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 191.28 KB.
- [MEDIUM] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 83.49 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 34.52 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.53 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 152.52 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1533 ms.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 191.28 KB.
- [MEDIUM] Compress oversized image assets
- Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 83.49 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 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: 721.14 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.
- Grid-aware websites: not detected
- [HIGH] Largest Contentful Paint
- Current value: 11.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 265 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 153 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 191 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 83 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,530 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)
### https://www.halifax.ca/parks-recreation/parks-trails-gardens
- Performance: 45/100
- Transfer: 1.68 MB
- CO2 estimate: 0.6741 g
- Page host green energy status: NOT GREEN
- Redundancy score: 37/100
- Redundancy urgency: HIGH
- Modularization score: 30/100
- Modularization urgency: MEDIUM
- Dead-code score: 16/100
- Dead-code urgency: HIGH
- Non-critical resources score: 18/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 16/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 29/100
- Media hints urgency: LOW
- Third-party JS risk score: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 527.55 KB (30.7% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 387.73 KB savings)
- [HIGH] Reduce unused css (est. 139.82 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 5 (847.76 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 56.23 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. 387.73 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from cdn.halifax.ca (est. 240.22 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); 4 request(s), 607.54 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 392.64 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 72 request(s), 186.10 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.16 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 139.82 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. 387.73 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. 56.23 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 387.73 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 139.82 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [MEDIUM] Eliminate render-blocking resources (est. 880 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy script from cdn.halifax.ca (est. 240.22 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 73 small targets on mobile and 79 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 113.17 KB.
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 91.42 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 31.68 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 33.17 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 387.73 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 139.82 KB.
- [HIGH] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 113.17 KB.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 91.42 KB.
- [MEDIUM] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 76.68 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 56.23 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: 935.25 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.
- [MEDIUM] Add loading="lazy" to images
- 9 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] Largest Contentful Paint
- Current value: 13.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 388 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 140 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 91 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 880 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 920 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
### https://www.halifax.ca/parks-recreation/programs-activities/outdoor-recreation/emera-oval
- Performance: 49/100
- Transfer: 2.32 MB
- CO2 estimate: 0.9325 g
- Page host green energy status: NOT GREEN
- Redundancy score: 27/100
- Redundancy urgency: MEDIUM
- Modularization score: 34/100
- Modularization urgency: HIGH
- Dead-code score: 10/100
- Dead-code urgency: HIGH
- Non-critical resources score: 23/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 38/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/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: 24/100
- Media hints urgency: LOW
- Third-party JS risk score: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 427.90 KB (18.0% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 262.95 KB savings)
- [HIGH] Reduce unused css (est. 164.95 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 10 (1.16 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 237.54 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. 262.95 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.gstatic.com (est. 189.53 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); 4 request(s), 607.54 KB
- SCRIPT www.gstatic.com: GREEN (Google Cloud); 13 request(s), 366.86 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 75 request(s), 211.77 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 49 request(s), 155.13 KB
- SCRIPT apis.google.com: GREEN (Google Cloud); 2 request(s), 113.55 KB
- STYLESHEET www.gstatic.com: GREEN (Google Cloud); 1 request(s), 41.02 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 7 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 164.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. 262.95 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. 237.54 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 262.95 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 164.95 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1747 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy script from www.gstatic.com (est. 189.53 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 70 small targets on mobile and 84 on tablet.
- [MEDIUM] Refactor fixed-width components
- 4 element(s) exceeded viewport width in tested layouts; use responsive component constraints.
- 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.
- [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
- 54 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 54 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 327.06 KB.
- [MEDIUM] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 59.69 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 37.39 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 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: 327.06 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 262.95 KB.
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 237.54 KB.
- [HIGH] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 173.20 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 164.95 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1747 ms.
- 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.08 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
- 17 of 30 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 CSS
- Current value: Est savings of 165 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,750 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] 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] Speed Index
- Current value: 5.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 263 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Serve images in next-gen formats
- Current value: Est savings of 327 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/parks-recreation/programs-activities/recreation-activities
- Performance: 66/100
- Transfer: 1.59 MB
- CO2 estimate: 0.6397 g
- Page host green energy status: NOT GREEN
- Redundancy score: 34/100
- Redundancy urgency: MEDIUM
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 13/100
- Dead-code urgency: HIGH
- Non-critical resources score: 25/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 33/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 417.61 KB (25.6% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.88 KB savings)
- [HIGH] Reduce unused css (est. 152.73 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 5 (849.49 KB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 282.80 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. 264.88 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy image asset from www.halifax.ca (est. 241.95 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); 4 request(s), 607.55 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 74 request(s), 198.72 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 152.43 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.18 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 152.73 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. 264.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. 282.80 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.88 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 152.73 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1174 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy image from www.halifax.ca (est. 241.95 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 74 small targets on mobile and 84 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 413.92 KB.
- [MEDIUM] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 71.65 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 34.54 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 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: 413.92 KB.
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 282.80 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.88 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 152.73 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1174 ms.
- [MEDIUM] Compress oversized image assets
- Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 71.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: 958.66 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
- 17 of 17 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 CSS
- Current value: Est savings of 153 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,170 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] Speed Index
- 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 265 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Serve images in next-gen formats
- Current value: Est savings of 414 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/parks-recreation/programs-activities/recreation-centres-your-community
- Performance: 53/100
- Transfer: 1.15 MB
- CO2 estimate: 0.4612 g
- Page host green energy status: NOT GREEN
- Redundancy score: 36/100
- Redundancy urgency: MEDIUM
- Modularization score: 30/100
- Modularization urgency: MEDIUM
- Dead-code score: 16/100
- Dead-code urgency: HIGH
- Non-critical resources score: 20/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 391.77 KB (33.3% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.57 KB savings)
- [MEDIUM] Reduce unused css (est. 127.20 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.53 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.21 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. 264.57 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.19 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); 4 request(s), 607.53 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 72 request(s), 173.40 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 152.42 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.19 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 127.20 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. 264.57 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. 41.21 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.57 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 127.20 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1016 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.19 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 68 small targets on mobile and 80 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 71.91 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 28.80 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.86 KB.
- [LOW] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 19.50 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.57 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 127.20 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1016 ms.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 71.91 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.21 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 28.80 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: 506.15 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
- 11 of 11 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.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 265 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 127 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,020 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] Speed Index
- 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] Serve images in next-gen formats
- Current value: Est savings of 72 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/myrec
- Performance: 60/100
- Transfer: 1.77 MB
- CO2 estimate: 0.7101 g
- Page host green energy status: NOT GREEN
- Redundancy score: 35/100
- Redundancy urgency: HIGH
- Modularization score: 34/100
- Modularization urgency: MEDIUM
- Dead-code score: 15/100
- Dead-code urgency: HIGH
- Non-critical resources score: 28/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 32/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 570.82 KB (31.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused css (est. 306.43 KB savings)
- [HIGH] Reduce unused javascript (est. 264.39 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 6 (1009.10 KB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 282.80 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. 264.39 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy image asset from www.halifax.ca (est. 241.95 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); 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 74 request(s), 358.42 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 171.89 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.18 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 306.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. 264.39 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. 282.80 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.39 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 306.43 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 2429 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy image from www.halifax.ca (est. 241.95 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 74 small targets on mobile and 84 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 413.92 KB.
- [MEDIUM] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 71.65 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 67.78 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 28.65 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: 413.92 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 306.43 KB.
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 282.80 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.39 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 2429 ms.
- [MEDIUM] Compress oversized image assets
- Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 71.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: 1.11 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
- 17 of 17 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 CSS
- Current value: Est savings of 306 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 2,430 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] Speed Index
- Current value: 5.6 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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Serve images in next-gen formats
- Current value: Est savings of 414 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/city-hall
- Performance: 38/100
- Transfer: 2.08 MB
- CO2 estimate: 0.8336 g
- Page host green energy status: NOT GREEN
- Redundancy score: 31/100
- Redundancy urgency: HIGH
- Modularization score: 32/100
- Modularization urgency: HIGH
- Dead-code score: 12/100
- Dead-code urgency: HIGH
- Non-critical resources score: 21/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 519.83 KB (24.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.25 KB savings)
- [HIGH] Reduce unused css (est. 255.59 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 6 (1.22 MB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.12 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. 264.25 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy image asset from cdn.halifax.ca (est. 480.97 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); 4 request(s), 607.51 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 69 request(s), 305.70 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 169.42 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.15 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 255.59 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. 264.25 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. 41.12 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.25 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 255.59 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1443 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy image from cdn.halifax.ca (est. 480.97 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 76 small targets on mobile and 77 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 550.75 KB.
- [HIGH] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 223.84 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 56.41 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 28.65 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: 550.75 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.25 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 255.59 KB.
- [HIGH] Compress oversized image assets
- Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 223.84 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1443 ms.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 56.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: 1.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
- 20 of 20 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: 12.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 256 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 551 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 224 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 41 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
### https://www.halifax.ca/city-hall/budget-finances
- Performance: 53/100
- Transfer: 1.14 MB
- CO2 estimate: 0.4566 g
- Page host green energy status: NOT GREEN
- Redundancy score: 38/100
- Redundancy urgency: MEDIUM
- Modularization score: 30/100
- Modularization urgency: MEDIUM
- Dead-code score: 18/100
- Dead-code urgency: HIGH
- Non-critical resources score: 21/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 11/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 428.43 KB (36.8% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.43 KB savings)
- [HIGH] Reduce unused css (est. 164.00 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.54 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.21 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. 264.43 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.19 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); 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 75 request(s), 210.67 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 155.00 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.17 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 164.00 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. 264.43 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. 41.21 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.43 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 164.00 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1030 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.19 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 75 small targets on mobile and 80 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 37.13 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 39.13 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.83 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.43 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 164.00 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1030 ms.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.21 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 37.13 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.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: 499.58 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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: 8.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 164 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,030 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 770 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [MEDIUM] Speed Index
- 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)
### https://www.halifax.ca/city-hall/mayor-andy-fillmore
- Performance: 41/100
- Transfer: 1.14 MB
- CO2 estimate: 0.4592 g
- Page host green energy status: NOT GREEN
- Redundancy score: 39/100
- Redundancy urgency: MEDIUM
- Modularization score: 30/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 14/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 13/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 414.71 KB (35.4% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 263.68 KB savings)
- [HIGH] Reduce unused css (est. 151.03 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.54 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 263.68 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.19 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); 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 74 request(s), 196.45 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 153.17 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.17 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 151.03 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. 263.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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 263.68 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 151.03 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [MEDIUM] Eliminate render-blocking resources (est. 317 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.19 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 78 small targets on mobile and 86 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 58.25 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 34.23 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 34.63 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 263.68 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 151.03 KB.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 58.25 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 34.23 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.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: 505.08 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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: 8.6 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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 151 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 58 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 35 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 320 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)
### https://www.halifax.ca/city-hall/districts-councillors
- Performance: 61/100
- Transfer: 1.13 MB
- CO2 estimate: 0.4547 g
- Page host green energy status: NOT GREEN
- Redundancy score: 35/100
- Redundancy urgency: MEDIUM
- Modularization score: 31/100
- Modularization urgency: MEDIUM
- Dead-code score: 16/100
- Dead-code urgency: HIGH
- Non-critical resources score: 26/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 13/100
- Compression urgency: LOW
- Optimization score: 100/100
- Optimization urgency: HIGH
- Offline support score: 100/100
- Offline support urgency: HIGH
- Media hints score: 20/100
- Media hints urgency: LOW
- Third-party JS risk score: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 365.79 KB (31.6% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.33 KB savings)
- [MEDIUM] Reduce unused css (est. 101.46 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.53 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 105.93 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. 264.33 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.19 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); 4 request(s), 607.53 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 153.75 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 69 request(s), 144.18 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.17 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 101.46 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. 264.33 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. 105.93 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.33 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 101.46 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1415 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.19 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 85 small targets on mobile and 89 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 71.52 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 22.90 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 35.79 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.33 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1415 ms.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 105.93 KB.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 101.46 KB.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 71.52 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.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: 494.57 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.
- Grid-aware websites: not detected
- [HIGH] Reduce unused CSS
- Current value: Est savings of 101 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,420 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] 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] Speed Index
- Current value: 3.6 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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Serve images in next-gen formats
- Current value: Est savings of 72 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/city-hall/regional-council
- Performance: 45/100
- Transfer: 1.73 MB
- CO2 estimate: 0.6940 g
- Page host green energy status: NOT GREEN
- Redundancy score: 33/100
- Redundancy urgency: MEDIUM
- Modularization score: 37/100
- Modularization urgency: HIGH
- Dead-code score: 12/100
- Dead-code urgency: HIGH
- Non-critical resources score: 16/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/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: 50/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 415.51 KB (23.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.38 KB savings)
- [HIGH] Reduce unused css (est. 151.13 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 9 (1.04 MB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 264.38 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.gstatic.com (est. 189.53 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); 4 request(s), 607.53 KB
- SCRIPT www.gstatic.com: GREEN (Google Cloud); 13 request(s), 364.92 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 74 request(s), 196.59 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 154.45 KB
- SCRIPT apis.google.com: GREEN (Google Cloud); 2 request(s), 113.54 KB
- STYLESHEET www.gstatic.com: GREEN (Google Cloud); 1 request(s), 41.02 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 7 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 151.13 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. 264.38 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.38 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 151.13 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [MEDIUM] Eliminate render-blocking resources (est. 887 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy script from www.gstatic.com (est. 189.53 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 79 small targets on mobile and 84 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.
- [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
- 55 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 55 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 34.25 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 40.53 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.38 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 151.13 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 34.25 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.31 KB.
- [MEDIUM] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 887 ms.
- 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: 488.98 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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 CSS
- Current value: Est savings of 151 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 890 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] Speed Index
- Current value: 3.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Serve images in next-gen formats
- Current value: Est savings of 41 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/city-hall/agendas-meetings-reports
- Performance: 62/100
- Transfer: 6.44 MB
- CO2 estimate: 2.5889 g
- Page host green energy status: NOT GREEN
- Redundancy score: 21/100
- Redundancy urgency: MEDIUM
- Modularization score: 44/100
- Modularization urgency: HIGH
- Dead-code score: 5/100
- Dead-code urgency: HIGH
- Non-critical resources score: 18/100
- Non-critical resources urgency: HIGH
- Form validation score: 40/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 5/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: 90/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 415.11 KB (6.3% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 261.84 KB savings)
- [HIGH] Reduce unused css (est. 153.27 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 18 (5.26 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 282.85 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. 261.84 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy script asset from cdn.syncfusion.com (est. 3.37 MB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT cdn.syncfusion.com: NOT GREEN; 1 request(s), 3.37 MB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 4 request(s), 607.54 KB
- SCRIPT www.gstatic.com: GREEN (Google Cloud); 13 request(s), 364.92 KB
- SCRIPT pub-halifax.escribemeetings.com: GREEN (Cloudflare); 6 request(s), 248.84 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 76 request(s), 202.29 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 65 request(s), 190.53 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 16 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 5 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 153.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. 261.84 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. 282.85 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 261.84 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 153.27 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1704 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy script from cdn.syncfusion.com (est. 3.37 MB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [MEDIUM] No error messaging hook
- 7 unique form control signature(s) on this page include this issue.
- [MEDIUM] No explicit validation rule
- 4 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 2 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 107 small targets on mobile and 120 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.
- [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
- 73 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 73 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 260.28 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 34.68 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 30.33 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.81 KB.
- Optimization recommendations:
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 282.85 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 261.84 KB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 260.28 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 153.27 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1704 ms.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 34.68 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: 928.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.
- [MEDIUM] Add loading="lazy" to images
- 9 of 9 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.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 262 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 153 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,700 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] Speed Index
- Current value: 5.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] Serve images in next-gen formats
- Current value: Est savings of 260 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/city-hall/legislation-by-laws
- Performance: 55/100
- Transfer: 1.12 MB
- CO2 estimate: 0.4480 g
- Page host green energy status: NOT GREEN
- Redundancy score: 39/100
- Redundancy urgency: MEDIUM
- Modularization score: 31/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 15/100
- Non-critical resources urgency: HIGH
- Form validation score: 44/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 9/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 392.54 KB (34.4% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.88 KB savings)
- [MEDIUM] Reduce unused css (est. 127.65 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.54 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.12 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. 264.88 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.19 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); 4 request(s), 607.54 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 64 request(s), 189.26 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 73 request(s), 174.63 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.82 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.17 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 127.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. 264.88 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. 41.12 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.88 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 127.65 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [MEDIUM] Eliminate render-blocking resources (est. 483 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.19 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
- 5 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 3 unique form control signature(s) on this page include this issue.
- [MEDIUM] No explicit validation rule
- 3 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 172 small targets on mobile and 168 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.
- [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
- 65 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 65 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 28.88 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 29.61 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.88 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 127.65 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.12 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 28.88 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.31 KB.
- [MEDIUM] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 483 ms.
- 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: 474.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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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.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 CSS
- Current value: Est savings of 128 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 480 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 1,200 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [MEDIUM] Speed Index
- 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)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 265 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
### https://www.halifax.ca/city-hall/elections/2024-election-results
- Performance: 49/100
- Transfer: 1.14 MB
- CO2 estimate: 0.4576 g
- Page host green energy status: NOT GREEN
- Redundancy score: 37/100
- Redundancy urgency: MEDIUM
- Modularization score: 30/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 15/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 10/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 417.14 KB (35.8% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.54 KB savings)
- [HIGH] Reduce unused css (est. 152.60 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.54 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 264.54 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.19 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); 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 74 request(s), 198.58 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 50 request(s), 162.10 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.15 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 152.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. 264.54 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.54 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 152.60 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [MEDIUM] Eliminate render-blocking resources (est. 403 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.19 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 66 small targets on mobile and 74 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.
- [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
- 51 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 51 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 34.52 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 29.62 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.54 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 152.60 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 34.52 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.31 KB.
- [MEDIUM] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 403 ms.
- 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: 496.05 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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.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 CSS
- Current value: Est savings of 153 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 400 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 1,000 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [MEDIUM] Speed Index
- 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)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 265 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
### https://www.halifax.ca/city-hall/boards-committees-commissions
- Performance: 45/100
- Transfer: 1.10 MB
- CO2 estimate: 0.4435 g
- Page host green energy status: NOT GREEN
- Redundancy score: 36/100
- Redundancy urgency: MEDIUM
- Modularization score: 31/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 24/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: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 10/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 390.09 KB (34.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 262.83 KB savings)
- [MEDIUM] Reduce unused css (est. 127.26 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.54 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.17 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. 262.83 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.19 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); 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 73 request(s), 173.33 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 153.41 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.18 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 127.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. 262.83 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. 41.17 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 262.83 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 127.26 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1328 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.19 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
- 2 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 2 unique form control signature(s) on this page include this issue.
- [HIGH] Missing associated label
- 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 111 small targets on mobile and 123 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 28.77 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 29.65 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.81 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 262.83 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 127.26 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1328 ms.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.17 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 28.77 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.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: 462.51 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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: 8.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)
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 263 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 127 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,330 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 790 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [MEDIUM] Speed Index
- Current value: 4.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)
### https://www.halifax.ca/city-hall/budget-finances/budget
- Performance: 60/100
- Transfer: 3.37 MB
- CO2 estimate: 1.3541 g
- Page host green energy status: NOT GREEN
- Redundancy score: 26/100
- Redundancy urgency: MEDIUM
- Modularization score: 43/100
- Modularization urgency: HIGH
- Dead-code score: 7/100
- Dead-code urgency: HIGH
- Non-critical resources score: 15/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 63/100
- Compression urgency: HIGH
- 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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 391.66 KB (11.3% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.58 KB savings)
- [MEDIUM] Reduce unused css (est. 127.08 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 7 (2.79 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 282.80 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. 264.58 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy image asset from cdn.halifax.ca (est. 1.00 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); 4 request(s), 607.52 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 73 request(s), 171.98 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 153.17 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.17 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 127.08 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. 264.58 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. 282.80 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.58 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 127.08 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [MEDIUM] Eliminate render-blocking resources (est. 865 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy image from cdn.halifax.ca (est. 1.00 MB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [MEDIUM] No error messaging hook
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 69 small targets on mobile and 73 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /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.04 MB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 28.74 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 39.67 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: 2.04 MB.
- [HIGH] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 485.21 KB.
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 282.80 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.58 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 127.08 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 28.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: 2.70 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
- 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
- [HIGH] Largest Contentful Paint
- Current value: 9.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 265 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 127 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 870 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 1,090 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [MEDIUM] Speed Index
- 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)
### https://www.halifax.ca/city-hall/agendas-meetings-reports?category=127
- Performance: 43/100
- Transfer: 6.62 MB
- CO2 estimate: 2.6592 g
- Page host green energy status: NOT GREEN
- Redundancy score: 22/100
- Redundancy urgency: HIGH
- Modularization score: 44/100
- Modularization urgency: HIGH
- Dead-code score: 6/100
- Dead-code urgency: HIGH
- Non-critical resources score: 19/100
- Non-critical resources urgency: HIGH
- Form validation score: 40/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 6/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: 90/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 567.11 KB (8.4% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused css (est. 306.49 KB savings)
- [HIGH] Reduce unused javascript (est. 260.63 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 19 (5.42 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 282.80 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. 260.63 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy script asset from cdn.syncfusion.com (est. 3.37 MB)
- Load this script only on pages or interactions that require it; prefer dynamic import and feature-level bundles.
- External CSS/JS hosting checks:
- SCRIPT cdn.syncfusion.com: NOT GREEN; 1 request(s), 3.37 MB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 4 request(s), 607.54 KB
- SCRIPT www.gstatic.com: GREEN (Google Cloud); 13 request(s), 364.92 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 76 request(s), 361.38 KB
- SCRIPT pub-halifax.escribemeetings.com: GREEN (Cloudflare); 6 request(s), 248.83 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 65 request(s), 208.00 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 16 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 5 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 306.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. 260.63 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. 282.80 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 260.63 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 306.49 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1788 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy script from cdn.syncfusion.com (est. 3.37 MB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [MEDIUM] No error messaging hook
- 7 unique form control signature(s) on this page include this issue.
- [MEDIUM] No explicit validation rule
- 4 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 2 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 116 small targets on mobile and 129 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.
- [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
- 73 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 73 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 260.25 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 67.89 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 31.68 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 306.49 KB.
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 282.80 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 260.63 KB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 260.25 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1788 ms.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 67.89 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.08 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.
- [MEDIUM] Add loading="lazy" to images
- 9 of 9 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.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)
- [HIGH] Speed Index
- Current value: 9.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 261 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 306 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 260 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 25 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/city-hall/strategic-plan
- Performance: 65/100
- Transfer: 3.26 MB
- CO2 estimate: 1.3102 g
- Page host green energy status: NOT GREEN
- Redundancy score: 24/100
- Redundancy urgency: MEDIUM
- Modularization score: 44/100
- Modularization urgency: HIGH
- Dead-code score: 7/100
- Dead-code urgency: HIGH
- Non-critical resources score: 21/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 11/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 375.14 KB (11.2% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 260.54 KB savings)
- [MEDIUM] Reduce unused css (est. 114.60 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 13 (2.49 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 282.85 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. 260.54 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy script asset from www.youtube.com (est. 472.34 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.youtube.com: GREEN (Google Cloud); 8 request(s), 1.57 MB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 4 request(s), 607.54 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 50 request(s), 162.32 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 73 request(s), 160.15 KB
- STYLESHEET www.youtube.com: GREEN (Google Cloud); 4 request(s), 103.51 KB
- SCRIPT www.google.com: GREEN (Google Cloud); 2 request(s), 46.24 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 7 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 114.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. 260.54 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. 282.85 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 260.54 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 114.60 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1555 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy script from www.youtube.com (est. 472.34 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 74 small targets on mobile and 78 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.
- [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
- 55 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 55 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 283.85 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 25.92 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 34.10 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: 283.85 KB.
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 282.85 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 260.54 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1555 ms.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 114.60 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 25.92 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: 747.91 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.
- [MEDIUM] Add loading="lazy" to images
- 10 of 10 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] Speed Index
- Current value: 6.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 CSS
- Current value: Est savings of 115 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,560 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 900 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [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 261 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
### https://www.halifax.ca/transportation/halifax-transit/routes-schedules?utm_source=Halifax.ca&utm_medium=Popular_links&utm_campaign=Transit
- Performance: 49/100
- Transfer: 1.27 MB
- CO2 estimate: 0.5108 g
- Page host green energy status: NOT GREEN
- Redundancy score: 40/100
- Redundancy urgency: HIGH
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 19/100
- Dead-code urgency: HIGH
- Non-critical resources score: 26/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/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: 46/100
- Media hints urgency: MEDIUM
- Third-party JS risk score: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 543.53 KB (41.7% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused css (est. 280.30 KB savings)
- [HIGH] Reduce unused javascript (est. 263.23 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 5 (767.16 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.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. 263.23 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy stylesheet asset from cdn.halifax.ca (est. 159.62 KB)
- Split this stylesheet so component-specific CSS is delivered only when the component is rendered.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 72 request(s), 332.31 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 171.27 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.85 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.21 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 280.30 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. 263.23 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. 41.16 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 263.23 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 280.30 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 2539 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy stylesheet from cdn.halifax.ca (est. 159.62 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 220 small targets on mobile and 212 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 61.99 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 28.65 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 39.07 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.81 KB.
- Optimization recommendations:
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 280.30 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 263.23 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 2539 ms.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 61.99 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.16 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 28.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: 625.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
- 15 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: 6.6 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] Speed Index
- Current value: 6.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 263 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 280 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 2,540 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 2,030 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
### https://www.halifax.ca/home-property/municipal-payments/making-a-payment
- Performance: 59/100
- Transfer: 1.36 MB
- CO2 estimate: 0.5445 g
- Page host green energy status: NOT GREEN
- Redundancy score: 42/100
- Redundancy urgency: HIGH
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 18/100
- Dead-code urgency: HIGH
- Non-critical resources score: 26/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 13/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 544.64 KB (39.2% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused css (est. 280.39 KB savings)
- [HIGH] Reduce unused javascript (est. 264.24 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 5 (767.15 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 264.24 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy stylesheet asset from cdn.halifax.ca (est. 159.61 KB)
- Split this stylesheet so component-specific CSS is delivered only when the component is rendered.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 72 request(s), 331.82 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 50 request(s), 179.79 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.85 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.19 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 280.39 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. 264.24 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.24 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 280.39 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1631 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy stylesheet from cdn.halifax.ca (est. 159.61 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 73 small targets on mobile and 78 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.
- [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
- 51 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 51 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 62.00 KB.
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 53.38 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 28.65 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 33.19 KB.
- Optimization recommendations:
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 280.39 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.24 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1631 ms.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 62.00 KB.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 53.38 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 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: 720.05 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.
- [MEDIUM] Add loading="lazy" to images
- 10 of 10 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.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)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 280 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 53 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 33 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 41 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,630 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)
### https://www.halifax.ca/transportation/parking?utm_source=Halifax.ca&utm_medium=Popular_links&utm_campaign=Parking
- Performance: 51/100
- Transfer: 1.11 MB
- CO2 estimate: 0.4455 g
- Page host green energy status: NOT GREEN
- Redundancy score: 39/100
- Redundancy urgency: MEDIUM
- Modularization score: 31/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 19/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 11/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 391.03 KB (34.4% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 263.85 KB savings)
- [MEDIUM] Reduce unused css (est. 127.18 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.54 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 263.85 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.19 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); 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 71 request(s), 171.77 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 152.50 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.22 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 127.18 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. 263.85 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 263.85 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 127.18 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [MEDIUM] Eliminate render-blocking resources (est. 866 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.19 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 69 small targets on mobile and 75 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 51.46 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 28.79 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 263.85 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 127.18 KB.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 51.46 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 28.79 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.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: 471.67 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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: 10.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 127 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 51 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 870 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] Efficiently encode images
- Current value: Est savings of 25 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/about-halifax/affordable-access-program?utm_source=Halifax.ca&utm_medium=Popular_links&utm_campaign=AAP
- Performance: 49/100
- Transfer: 1.30 MB
- CO2 estimate: 0.5233 g
- Page host green energy status: NOT GREEN
- Redundancy score: 43/100
- Redundancy urgency: HIGH
- Modularization score: 33/100
- Modularization urgency: MEDIUM
- Dead-code score: 19/100
- Dead-code urgency: HIGH
- Non-critical resources score: 26/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 556.75 KB (41.7% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused css (est. 293.65 KB savings)
- [HIGH] Reduce unused javascript (est. 263.10 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 5 (767.15 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 263.10 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy stylesheet asset from cdn.halifax.ca (est. 159.61 KB)
- Split this stylesheet so component-specific CSS is delivered only when the component is rendered.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 5 request(s), 607.58 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 72 request(s), 344.46 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 169.54 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.86 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.22 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 293.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. 263.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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 263.10 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 293.65 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1476 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy stylesheet from cdn.halifax.ca (est. 159.61 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 72 small targets on mobile and 76 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 64.88 KB.
- [MEDIUM] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 58.37 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 28.65 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 33.61 KB.
- Optimization recommendations:
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 293.65 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 263.10 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1476 ms.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 64.88 KB.
- [MEDIUM] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 58.37 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 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: 668.60 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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: 9.6 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 263 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 294 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 58 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 34 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 41 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
### https://www.halifax.ca/home-property/garbage-recycling-green-cart/garbage-collection?utm_source=Halifax.ca&utm_medium=Popular_links&utm_campaign=Solid_Waste
- Performance: 27/100
- Transfer: 5.60 MB
- CO2 estimate: 2.2484 g
- Page host green energy status: NOT GREEN
- Redundancy score: 33/100
- Redundancy urgency: HIGH
- Modularization score: 41/100
- Modularization urgency: HIGH
- Dead-code score: 8/100
- Dead-code urgency: HIGH
- Non-critical resources score: 20/100
- Non-critical resources urgency: HIGH
- Form validation score: 45/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 35/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/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: 90/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 816.53 KB (14.2% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 478.43 KB savings)
- [HIGH] Reduce unused css (est. 338.11 KB savings)
- [MEDIUM] Enable and verify text compression (est. 6.11 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 22 (3.89 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 295.43 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. 478.43 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy script asset from www.youtube.com (est. 472.35 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.youtube.com: GREEN (Google Cloud); 44 request(s), 1.57 MB
- SCRIPT api.recollect.net: NOT GREEN; 7 request(s), 736.33 KB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 4 request(s), 607.53 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 74 request(s), 346.55 KB
- SCRIPT cdn.pendo.io: GREEN (Google Cloud); 1 request(s), 184.18 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 152.89 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 11 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 3 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 338.11 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. 478.43 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. 295.43 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 478.43 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 338.11 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 2800 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy script from www.youtube.com (est. 472.35 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
- 2 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 2 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 46 small targets on mobile and 105 on tablet.
- [MEDIUM] Make grid layouts breakpoint-aware
- 1 grid container(s) overflowed across tested viewports (0 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.
- [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
- 59 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 59 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 570.08 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 64.93 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.81 KB.
- [LOW] Enable Brotli/gzip for text assets
- Compress HTML, CSS, JS, JSON, SVG, and XML responses with Brotli or gzip. Estimated savings: 6.11 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: 570.08 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 478.43 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 338.11 KB.
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 295.43 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 2800 ms.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 64.93 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.79 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: 11.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] Speed Index
- Current value: 8.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 478 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 338 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 2,800 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)
- [HIGH] Preconnect to required origins
- Current value: Est savings of 340 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)
### https://www.halifax.ca/about-halifax/environment-climate-change/halifact-acting-climate-together
- Performance: 61/100
- Transfer: 3.99 MB
- CO2 estimate: 1.6009 g
- Page host green energy status: NOT GREEN
- Redundancy score: 25/100
- Redundancy urgency: MEDIUM
- Modularization score: 45/100
- Modularization urgency: HIGH
- Dead-code score: 6/100
- Dead-code urgency: HIGH
- Non-critical resources score: 20/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 25/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 377.26 KB (9.2% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 263.60 KB savings)
- [MEDIUM] Reduce unused css (est. 113.66 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 15 (3.02 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 787.02 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. 263.60 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy image asset from cdn.halifax.ca (est. 495.49 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.youtube.com: GREEN (Google Cloud); 8 request(s), 1.39 MB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 74 request(s), 158.52 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 153.73 KB
- STYLESHEET www.youtube.com: GREEN (Google Cloud); 4 request(s), 103.53 KB
- SCRIPT www.google.com: GREEN (Google Cloud); 1 request(s), 23.06 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 7 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 113.66 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. 263.60 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. 787.02 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 263.60 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 113.66 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1032 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy image from cdn.halifax.ca (est. 495.49 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 90 small targets on mobile and 102 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.
- [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
- 53 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 53 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 934.63 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 25.72 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 30.76 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: 934.63 KB.
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 787.02 KB.
- [HIGH] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 373.63 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 263.60 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1032 ms.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 113.66 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.64 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
- 22 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: 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)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 114 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,030 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] Speed Index
- Current value: 5.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Serve images in next-gen formats
- Current value: Est savings of 935 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/transportation/transportation-projects/windsor-street-exchange-redevelopment-project
- Performance: 44/100
- Transfer: 1.08 MB
- CO2 estimate: 0.4336 g
- Page host green energy status: NOT GREEN
- Redundancy score: 39/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 17/100
- Dead-code urgency: HIGH
- Non-critical resources score: 26/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 10/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 391.56 KB (35.4% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.40 KB savings)
- [MEDIUM] Reduce unused css (est. 127.16 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.53 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.17 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. 264.40 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.18 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); 4 request(s), 607.53 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 71 request(s), 172.41 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 46 request(s), 152.89 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.84 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.19 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 127.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. 264.40 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. 41.17 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.40 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 127.16 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1894 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.18 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 73 small targets on mobile and 79 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.
- [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
- 47 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 47 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 28.81 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 29.65 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.81 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.40 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 127.16 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1894 ms.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.17 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 28.81 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.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: 441.86 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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.6 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] Speed Index
- Current value: 6.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 127 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,890 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 1,300 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
### https://www.halifax.ca/about-halifax/employment/work-halifax-regional-municipality?utm_source=Home_Page&utm_medium=Banner&utm_campaign=Recruitment
- Performance: 60/100
- Transfer: 2.59 MB
- CO2 estimate: 1.0417 g
- Page host green energy status: NOT GREEN
- Redundancy score: 28/100
- Redundancy urgency: MEDIUM
- Modularization score: 35/100
- Modularization urgency: HIGH
- Dead-code score: 8/100
- Dead-code urgency: HIGH
- Non-critical resources score: 11/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 13/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 377.19 KB (14.2% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 263.52 KB savings)
- [MEDIUM] Reduce unused css (est. 113.66 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 9 (1.51 MB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 263.52 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy script asset from www.youtube.com (est. 472.35 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.youtube.com: GREEN (Google Cloud); 7 request(s), 843.72 KB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 74 request(s), 158.50 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 153.73 KB
- STYLESHEET www.youtube.com: GREEN (Google Cloud); 4 request(s), 103.53 KB
- SCRIPT www.google.com: GREEN (Google Cloud); 1 request(s), 23.06 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 7 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 113.66 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. 263.52 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 263.52 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 113.66 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [MEDIUM] Eliminate render-blocking resources (est. 621 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy script from www.youtube.com (est. 472.35 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 74 small targets on mobile and 83 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.
- [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
- 54 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 54 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 205.77 KB.
- [MEDIUM] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 80.61 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 25.72 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 263.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: 205.77 KB.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 113.66 KB.
- [MEDIUM] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 82.24 KB.
- [MEDIUM] Compress oversized image assets
- Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 80.61 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 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: 829.58 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.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 CSS
- Current value: Est savings of 114 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 620 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 900 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [MEDIUM] Speed Index
- Current value: 5.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
### https://www.halifax.ca/safety-security/police/reporting-crime
- Performance: 46/100
- Transfer: 1.33 MB
- CO2 estimate: 0.5349 g
- Page host green energy status: NOT GREEN
- Redundancy score: 42/100
- Redundancy urgency: HIGH
- Modularization score: 32/100
- Modularization urgency: MEDIUM
- Dead-code score: 18/100
- Dead-code urgency: HIGH
- Non-critical resources score: 26/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 11/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 545.86 KB (40.0% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused css (est. 280.98 KB savings)
- [HIGH] Reduce unused javascript (est. 264.88 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 5 (767.15 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 264.88 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy stylesheet asset from cdn.halifax.ca (est. 159.61 KB)
- Split this stylesheet so component-specific CSS is delivered only when the component is rendered.
- External CSS/JS hosting checks:
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 72 request(s), 331.76 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 170.82 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.81 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.16 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 280.98 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. 264.88 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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.88 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 280.98 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1798 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy stylesheet from cdn.halifax.ca (est. 159.61 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 72 small targets on mobile and 84 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 62.00 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 28.65 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 38.43 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 280.98 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.88 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1798 ms.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 62.00 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 28.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: 693.71 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.
- [MEDIUM] Add loading="lazy" to images
- 9 of 10 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.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 CSS
- Current value: Est savings of 281 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Serve images in next-gen formats
- Current value: Est savings of 38 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 25 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 41 KiB
- WSG: 3 Modularize bandwidth-heavy components (https://www.w3.org/TR/web-sustainability-guidelines/#modularize-bandwidth-heavy-components)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,800 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)
### https://www.halifax.ca/online-services
- Performance: 64/100
- Transfer: 1.10 MB
- CO2 estimate: 0.4417 g
- Page host green energy status: NOT GREEN
- Redundancy score: 35/100
- Redundancy urgency: MEDIUM
- Modularization score: 31/100
- Modularization urgency: MEDIUM
- Dead-code score: 16/100
- Dead-code urgency: HIGH
- Non-critical resources score: 18/100
- Non-critical resources urgency: MEDIUM
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 9/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 355.46 KB (31.6% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.06 KB savings)
- [MEDIUM] Reduce unused css (est. 91.41 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.54 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.13 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. 264.06 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.19 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); 4 request(s), 607.54 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 52 request(s), 166.31 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 71 request(s), 136.62 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.82 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.14 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 91.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. 264.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. 41.13 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.06 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 91.41 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [MEDIUM] Eliminate render-blocking resources (est. 818 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.19 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
- 2 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 2 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 143 small targets on mobile and 173 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.
- [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
- 53 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 53 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 26.71 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 20.68 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 29.62 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.06 KB.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 91.41 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.13 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 26.71 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 20.68 KB.
- [MEDIUM] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 818 ms.
- 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: 439.83 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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.6 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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 91 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 820 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] Speed Index
- 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] Serve images in next-gen formats
- Current value: Est savings of 30 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/safety-security/fire-emergency/recruitment-volunteers
- Performance: 40/100
- Transfer: 5.83 MB
- CO2 estimate: 2.3402 g
- Page host green energy status: NOT GREEN
- Redundancy score: 21/100
- Redundancy urgency: MEDIUM
- Modularization score: 32/100
- Modularization urgency: HIGH
- Dead-code score: 5/100
- Dead-code urgency: HIGH
- Non-critical resources score: 18/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 6/100
- Compression urgency: LOW
- 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: 85/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 389.26 KB (6.5% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 261.66 KB savings)
- [MEDIUM] Reduce unused css (est. 127.59 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 17 (2.99 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 282.84 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. 261.66 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy script asset from www.youtube.com (est. 472.36 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 hrm.maps.arcgis.com: NOT GREEN; 619 request(s), 2.47 MB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 8 request(s), 1.57 MB
- SCRIPT www.googletagmanager.com: GREEN (Google Cloud); 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 74 request(s), 173.84 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 152.84 KB
- STYLESHEET www.youtube.com: GREEN (Google Cloud); 4 request(s), 103.55 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 8 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 2 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 127.59 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. 261.66 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. 282.84 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 261.66 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 127.59 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1731 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy script from www.youtube.com (est. 472.36 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 23 small targets on mobile and 76 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.
- [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
- 55 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 55 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 260.28 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 28.87 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.81 KB.
- Optimization recommendations:
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 282.84 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 261.66 KB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 260.28 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 127.59 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1731 ms.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 28.87 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.86 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.
- [MEDIUM] Add loading="lazy" to images
- 10 of 11 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: 9.6 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] Speed Index
- Current value: 7.6 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 262 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 128 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,730 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] Serve images in next-gen formats
- Current value: Est savings of 260 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/suburbanplan
- Performance: 60/100
- Transfer: 8.10 MB
- CO2 estimate: 3.2556 g
- Page host green energy status: NOT GREEN
- Redundancy score: 21/100
- Redundancy urgency: HIGH
- Modularization score: 48/100
- Modularization urgency: HIGH
- Dead-code score: 5/100
- Dead-code urgency: HIGH
- Non-critical resources score: 17/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 48/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 545.23 KB (6.6% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused css (est. 281.24 KB savings)
- [HIGH] Reduce unused javascript (est. 264.00 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 10 (7.60 MB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.20 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. 264.00 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [HIGH] Modularize heavy image asset from cdn.halifax.ca (est. 1.89 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); 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 72 request(s), 332.10 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 170.84 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.19 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 281.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. 264.00 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. 41.20 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.00 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 281.24 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1606 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy image from cdn.halifax.ca (est. 1.89 MB deferrable)
- Confirm this asset is required for first paint; defer or lazy-load if not critical.
- Form validation recommendations:
- [MEDIUM] No error messaging hook
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 74 small targets on mobile and 90 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 3.11 MB.
- [HIGH] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 690.97 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 62.02 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 28.65 KB.
- Optimization recommendations:
- [HIGH] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 6.52 MB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 3.11 MB.
- [HIGH] Compress oversized image assets
- Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 690.97 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 281.24 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.00 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1606 ms.
- 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: 7.39 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
- 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
- [HIGH] Largest Contentful Paint
- Current value: 4.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 CSS
- Current value: Est savings of 281 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,610 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] Speed Index
- 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)
- [MEDIUM] Reduce unused JavaScript
- Current value: Est savings of 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Serve images in next-gen formats
- Current value: Est savings of 3,182 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/about-halifax/regional-community-planning/housing-accelerator-fund/second-unit-incentive
- Performance: 52/100
- Transfer: 1.14 MB
- CO2 estimate: 0.4597 g
- Page host green energy status: NOT GREEN
- Redundancy score: 38/100
- Redundancy urgency: MEDIUM
- Modularization score: 30/100
- Modularization urgency: MEDIUM
- Dead-code score: 16/100
- Dead-code urgency: HIGH
- Non-critical resources score: 19/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 9/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 390.01 KB (33.3% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 263.54 KB savings)
- [MEDIUM] Reduce unused css (est. 126.47 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.54 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.12 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. 263.54 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.19 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); 4 request(s), 607.54 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 74 request(s), 171.35 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 50 request(s), 162.63 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.22 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 126.47 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. 263.54 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. 41.12 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 263.54 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 126.47 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [MEDIUM] Eliminate render-blocking resources (est. 874 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.19 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 80 small targets on mobile and 97 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.
- [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
- 51 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 51 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 28.65 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 29.61 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 263.54 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 126.47 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.12 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 28.65 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.31 KB.
- [MEDIUM] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 874 ms.
- 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: 497.65 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.
- [MEDIUM] Add loading="lazy" to images
- 8 of 8 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.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)
- [HIGH] Reduce unused JavaScript
- Current value: Est savings of 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 126 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 870 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] Speed Index
- 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] Serve images in next-gen formats
- Current value: Est savings of 30 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/parks-recreation/programs-activities/inclusion-support-advisory-group
- Performance: 70/100
- Transfer: 1.10 MB
- CO2 estimate: 0.4434 g
- Page host green energy status: NOT GREEN
- Redundancy score: 35/100
- Redundancy urgency: MEDIUM
- Modularization score: 31/100
- Modularization urgency: MEDIUM
- Dead-code score: 16/100
- Dead-code urgency: HIGH
- Non-critical resources score: 25/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 11/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 366.72 KB (32.4% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.37 KB savings)
- [MEDIUM] Reduce unused css (est. 102.35 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.53 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.12 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. 264.37 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.19 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); 4 request(s), 607.53 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 152.42 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 71 request(s), 146.01 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.21 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 102.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. 264.37 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. 41.12 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.37 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 102.35 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1557 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.19 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 67 small targets on mobile and 77 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 23.10 KB.
- [LOW] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 48.62 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.37 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1557 ms.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 102.35 KB.
- [MEDIUM] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 41.46 KB.
- [MEDIUM] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 41.12 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 24.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: 463.53 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.
- [MEDIUM] Add loading="lazy" to images
- 9 of 9 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 CSS
- Current value: Est savings of 102 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,560 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] Largest Contentful Paint
- Current value: 3.6 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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [MEDIUM] Serve images in next-gen formats
- Current value: Est savings of 49 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Efficiently encode images
- Current value: Est savings of 25 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
### https://www.halifax.ca/parks-recreation/halifax-youth/youth-services-plan
- Performance: 57/100
- Transfer: 1.39 MB
- CO2 estimate: 0.5569 g
- Page host green energy status: NOT GREEN
- Redundancy score: 32/100
- Redundancy urgency: MEDIUM
- Modularization score: 25/100
- Modularization urgency: MEDIUM
- Dead-code score: 14/100
- Dead-code urgency: HIGH
- Non-critical resources score: 23/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 25/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 379.22 KB (26.7% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.39 KB savings)
- [MEDIUM] Reduce unused css (est. 114.83 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 4 (607.58 KB total)
- On-demand modularization candidates:
- [MEDIUM] Lazy-load offscreen images and media galleries (est. 41.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. 264.39 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy script asset from www.googletagmanager.com (est. 159.19 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); 4 request(s), 607.58 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 72 request(s), 159.34 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 152.42 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.83 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.17 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 114.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. 264.39 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. 41.16 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.39 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 114.83 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1433 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [MEDIUM] Evaluate deferred loading for heavy script from www.googletagmanager.com (est. 159.19 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 67 small targets on mobile and 75 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 252.82 KB.
- [MEDIUM] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 55.34 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 25.96 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- Optimization recommendations:
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.39 KB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 252.82 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1433 ms.
- [MEDIUM] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 146.80 KB.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 114.83 KB.
- [MEDIUM] Compress oversized image assets
- Re-encode large images to reduce transfer weight without visible quality loss. Estimated byte savings: 55.34 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: 751.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
- 14 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: 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)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 115 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,430 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 1,140 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [MEDIUM] Speed Index
- Current value: 5.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
### https://www.halifax.ca/about-halifax/regional-community-planning/helping-address-homelessness?utm_source=Halifax.ca&utm_medium=Popular_links&utm_campaign=Addressing_Homelessness
- Performance: 66/100
- Transfer: 1.49 MB
- CO2 estimate: 0.6005 g
- Page host green energy status: NOT GREEN
- Redundancy score: 33/100
- Redundancy urgency: MEDIUM
- Modularization score: 43/100
- Modularization urgency: HIGH
- Dead-code score: 13/100
- Dead-code urgency: HIGH
- Non-critical resources score: 32/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 22/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 365.94 KB (23.9% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.59 KB savings)
- [MEDIUM] Reduce unused css (est. 101.35 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 6 (1.01 MB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 467.02 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. 264.59 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [HIGH] Defer non-critical UI modules until after first render
- Keep only above-the-fold resources in the initial path; hydrate or import secondary modules later.
- [MEDIUM] Modularize heavy image asset from www.halifax.ca (est. 241.95 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); 4 request(s), 607.54 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 47 request(s), 153.69 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 72 request(s), 144.86 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.84 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.23 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 101.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. 264.59 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. 467.02 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.59 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 101.35 KB deferrable)
- Ship only above-the-fold CSS in initial render path and defer non-critical styles.
- [HIGH] Eliminate render-blocking resources (est. 1453 ms unblock)
- Defer scripts/styles not required for first paint and preload only truly critical assets.
- [HIGH] Evaluate deferred loading for heavy image from www.halifax.ca (est. 241.95 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
- 1 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 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 89 small targets on mobile and 102 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.
- [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
- 48 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 48 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 260.25 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 24.31 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 22.90 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 24.78 KB.
- Optimization recommendations:
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 467.02 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.59 KB.
- [HIGH] Serve images in next-gen formats
- Convert high-byte images to more efficient formats such as AVIF or WebP. Estimated byte savings: 260.25 KB.
- [HIGH] Right-size images for viewport
- Avoid sending larger images than the rendered size needs. Estimated byte savings: 158.36 KB.
- [HIGH] Eliminate render-blocking resources
- Inline critical assets and defer non-critical scripts/styles for faster rendering. Estimated render unblocking: 1453 ms.
- [MEDIUM] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 101.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: 859.05 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.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 CSS
- Current value: Est savings of 101 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [HIGH] Eliminate render-blocking resources
- Current value: Est savings of 1,450 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)
- [HIGH] Reduce initial server response time
- Current value: Root document took 1,280 ms
- WSG: 11 Ensure infrastructure fits project requirements (https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements)
- [MEDIUM] Speed Index
- Current value: 4.6 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 265 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
### https://www.halifax.ca/home/news
- Performance: 65/100
- Transfer: 1.42 MB
- CO2 estimate: 0.5723 g
- Page host green energy status: NOT GREEN
- Redundancy score: 33/100
- Redundancy urgency: MEDIUM
- Modularization score: 36/100
- Modularization urgency: MEDIUM
- Dead-code score: 14/100
- Dead-code urgency: HIGH
- Non-critical resources score: 14/100
- Non-critical resources urgency: HIGH
- Form validation score: 30/100
- Form validation urgency: MEDIUM
- Metadata score: 0/100
- Metadata urgency: LOW
- Layout adaptation score: 30/100
- Layout adaptation urgency: MEDIUM
- Lightweight security score: 59/100
- Lightweight security urgency: MEDIUM
- Dependency maintenance score: 10/100
- Dependency maintenance urgency: MEDIUM
- Expected-files score: 50/100
- Expected-files urgency: MEDIUM
- Compression score: 27/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: 75/100
- Third-party JS urgency: HIGH
- Estimated redundant transfer: 403.28 KB (27.6% of transfer)
- Redundancy recommendations:
- [HIGH] Reduce unused javascript (est. 264.07 KB savings)
- [HIGH] Reduce unused css (est. 139.21 KB savings)
- [MEDIUM] Reduce DOM complexity and redundant markup
- Heavy initial-load requests: 5 (849.48 KB total)
- On-demand modularization candidates:
- [HIGH] Lazy-load offscreen images and media galleries (est. 282.80 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. 264.07 KB)
- Move non-critical bundles behind route-level or event-driven imports so they are only fetched on demand.
- [MEDIUM] Modularize heavy image asset from www.halifax.ca (est. 241.95 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 www.googletagmanager.com (est. 159.19 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); 4 request(s), 607.53 KB
- SCRIPT cdn.halifax.ca: NOT GREEN; 67 request(s), 193.09 KB
- STYLESHEET cdn.halifax.ca: NOT GREEN; 77 request(s), 186.97 KB
- SCRIPT www.google-analytics.com: GREEN (Google Cloud); 1 request(s), 20.37 KB
- SCRIPT www.youtube.com: GREEN (Google Cloud); 2 request(s), 10.84 KB
- SCRIPT googleads.g.doubleclick.net: GREEN (Google Cloud); 1 request(s), 2.13 KB
- Third-party JS recommendations:
- [HIGH] Maintain a third-party JavaScript inventory
- Track 5 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.
- [HIGH] Prioritize greener alternatives for third-party providers
- 1 third-party script origin(s) are not confirmed green in the Green Web Foundation dataset.
- Dead-code recommendations:
- [HIGH] Remove unused CSS selectors and component styles (est. 139.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. 264.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. 282.80 KB deferrable)
- Load below-the-fold images only when they approach the viewport.
- [HIGH] Defer non-critical JavaScript (est. 264.07 KB deferrable)
- Split bundles and load feature code on interaction or route transition.
- [HIGH] Inline critical CSS and defer remainder (est. 139.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 www.halifax.ca (est. 241.95 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. 159.19 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
- 5 unique form control signature(s) on this page include this issue.
- [MEDIUM] Missing autocomplete for tooling support
- 2 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 78 small targets on mobile and 91 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.
- [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
- 72 external script tag(s) are missing integrity attributes.
- Dependency maintenance recommendations:
- [MEDIUM] Add integrity attributes for external dependencies
- 72 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, /manifest.webmanifest, /favicon.ico.
- Compression recommendations:
- [HIGH] Use modern image compression formats
- Prefer AVIF/WebP over legacy formats where possible to reduce transfer size. Estimated savings: 289.71 KB.
- [MEDIUM] Minify CSS before transfer
- Minification amplifies compression efficiency and reduces payload size. Estimated savings: 31.53 KB.
- [MEDIUM] Minify JavaScript before transfer
- Minify JS bundles so transport compression produces better results with fewer bytes. Estimated savings: 30.33 KB.
- [LOW] Improve image encoding quality/size
- Re-encode oversized images and tune compression quality for significant byte savings. Estimated savings: 36.55 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: 289.71 KB.
- [HIGH] Lazy-load offscreen images
- Defer below-the-fold imagery until it is likely to be viewed. Estimated byte savings: 282.80 KB.
- [HIGH] Remove unused JavaScript
- Reduce dead JS and split bundles to avoid shipping non-critical code. Estimated byte savings: 264.07 KB.
- [HIGH] Remove unused CSS
- Trim unused selectors and split CSS so only needed styles are shipped. Estimated byte savings: 139.21 KB.
- [MEDIUM] Minify CSS
- Use minified production CSS output to reduce bytes in transit. Estimated byte savings: 31.53 KB.
- [MEDIUM] Minify JavaScript
- Use minified production JS output to reduce payload size. Estimated byte savings: 30.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: 792.21 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
- 11 of 11 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.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 264 KiB
- WSG: 16 Use dependencies appropriately and ensure maintenance (https://www.w3.org/TR/web-sustainability-guidelines/#use-dependencies-appropriately-and-ensure-maintenance)
- [HIGH] Reduce unused CSS
- Current value: Est savings of 139 KiB
- WSG: 2 Remove unnecessary or redundant information (https://www.w3.org/TR/web-sustainability-guidelines/#remove-unnecessary-or-redundant-information)
- [MEDIUM] Speed Index
- 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] Serve images in next-gen formats
- Current value: Est savings of 290 KiB
- WSG: 11 Optimize media to reduce resource use (https://www.w3.org/TR/web-sustainability-guidelines/#optimize-media-to-reduce-resource-use)
- [MEDIUM] Efficiently encode images
- Current value: Est savings of 37 KiB
- 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: 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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 293 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 Serve images in next-gen formats
- Lighthouse audit: modern-image-formats
- Current value: Est savings of 817 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: 13.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 265 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 293 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: 7.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 264 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 294 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: 7.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 264 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 281 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 Reduce unused CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 90 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 1,650 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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.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 Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 7.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 153 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 43 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: 13.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 263 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 102 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.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 264 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 127 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 Reduce unused CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 115 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 1,040 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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.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 Largest Contentful Paint
- Lighthouse audit: largest-contentful-paint
- Current value: 4.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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 115 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 1,330 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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.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 264 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 177 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.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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 152 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 1,160 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 152 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 1,520 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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.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 Speed Index
- Lighthouse audit: speed-index
- Current value: 6.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
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
- Current value: Est savings of 264 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.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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 269 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 Serve images in next-gen formats
- Lighthouse audit: modern-image-formats
- Current value: Est savings of 30 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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 115 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 1,560 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### Definition of done
- [ ] Metric improves in Lighthouse on key templates
- [ ] Changes documented in release notes
- [ ] Re-scan confirms improvement
```
```md
## Improve Reduce initial server response time
- Lighthouse audit: server-response-time
- Current value: Root document took 1,370 ms
- WSG guideline: 11 Ensure infrastructure fits project requirements
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#ensure-infrastructure-fits-project-requirements
### Why this matters
Keep the server response time for the main document short because all other requests depend on it. [Learn more about the Time to First Byte metric](https://developer.chrome.com/docs/lighthouse/performance/time-to-first-byte/).
### 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: 9.6 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 264 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 101 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: 13.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 265 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 256 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: 8.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 263 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 151 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.6 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 176 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 1,420 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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.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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 76 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 560 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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: 14.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 262 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 151 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: 8.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 264 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 151 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.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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 139 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 1,530 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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: 10.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 Speed Index
- Lighthouse audit: speed-index
- Current value: 7.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
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
- Current value: Est savings of 437 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: 5.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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 268 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 Serve images in next-gen formats
- Lighthouse audit: modern-image-formats
- Current value: Est savings of 30 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.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 Speed Index
- Lighthouse audit: speed-index
- Current value: 5.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
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
- Current value: Est savings of 479 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: 10.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 263 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 256 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: 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 389 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 164 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 264 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 101 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: 9.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 265 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 101 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: 9.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 265 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 151 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: 13.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 260 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 114 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.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 264 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 139 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 Reduce unused CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 101 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 1,580 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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.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 Speed Index
- Lighthouse audit: speed-index
- Current value: 7.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
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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 281 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: 7.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 263 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 115 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: 5.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 263 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 101 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: 13.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 264 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 256 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: 8.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 264 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 101 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: 12.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 389 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 139 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.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 263 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 126 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: 5.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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 151 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 970 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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: 9.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 264 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 101 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.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 265 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 318 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: 12.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 264 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 268 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: 5.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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 101 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 710 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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: 13.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 Speed Index
- Lighthouse audit: speed-index
- Current value: 9.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
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
- Current value: Est savings of 262 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: 5.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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 293 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 1,630 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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.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 Speed Index
- Lighthouse audit: speed-index
- Current value: 7.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
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
- Current value: Est savings of 262 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: 12.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 264 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 256 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 Reduce unused CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 114 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 720 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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: 5.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 265 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 139 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: 10.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 264 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 89 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: 8.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 264 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 114 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: 5.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 388 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 164 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: 9.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 265 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 139 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 Speed Index
- Lighthouse audit: speed-index
- Current value: 5.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
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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 160 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 1,410 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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: 8.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 264 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 140 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.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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 115 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 1,140 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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: 12.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 Speed Index
- Lighthouse audit: speed-index
- 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
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
- Current value: Est savings of 264 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: 14.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 388 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 164 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: 9.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 264 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 114 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: 10.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 Speed Index
- Lighthouse audit: speed-index
- Current value: 5.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
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
- Current value: Est savings of 388 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: 6.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 387 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 139 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.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 265 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 153 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: 13.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 388 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 140 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 Reduce unused CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 165 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 1,750 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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 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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 153 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 1,170 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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.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 265 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 127 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.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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 306 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 2,430 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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: 12.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 264 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 256 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: 8.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 264 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 164 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: 8.6 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 264 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 151 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 Reduce unused CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 101 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 1,420 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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 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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 151 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 890 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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.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 262 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 153 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: 5.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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 128 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 480 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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: 5.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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 153 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 400 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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: 8.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 263 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 127 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: 9.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 265 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 127 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: 7.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 Speed Index
- Lighthouse audit: speed-index
- Current value: 9.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
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
- Current value: Est savings of 261 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 Speed Index
- Lighthouse audit: speed-index
- Current value: 6.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
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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 115 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 1,560 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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.6 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 Speed Index
- Lighthouse audit: speed-index
- Current value: 6.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
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
- Current value: Est savings of 263 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.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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 280 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 Serve images in next-gen formats
- Lighthouse audit: modern-image-formats
- Current value: Est savings of 53 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: 10.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 264 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 127 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: 9.6 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 263 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 294 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.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 Speed Index
- Lighthouse audit: speed-index
- Current value: 8.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
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
- Current value: Est savings of 478 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.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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 114 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 1,030 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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.6 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 Speed Index
- Lighthouse audit: speed-index
- Current value: 6.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
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
- Current value: Est savings of 264 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.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 114 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 620 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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: 5.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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 281 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 Serve images in next-gen formats
- Lighthouse audit: modern-image-formats
- Current value: Est savings of 38 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: 5.6 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 264 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 91 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: 9.6 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 Speed Index
- Lighthouse audit: speed-index
- Current value: 7.6 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
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
- Current value: Est savings of 262 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.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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 281 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 1,610 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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: 5.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 264 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 126 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 Reduce unused CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 102 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 1,560 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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.6 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 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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 115 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 1,430 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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 CSS
- Lighthouse audit: unused-css-rules
- Current value: Est savings of 101 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 Eliminate render-blocking resources
- Lighthouse audit: render-blocking-resources
- Current value: Est savings of 1,450 ms
- WSG guideline: 18 Use the most efficient solution for your service
- WSG link: https://www.w3.org/TR/web-sustainability-guidelines/#use-the-most-efficient-solution-for-your-service
### Why this matters
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).
### 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.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 264 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 139 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
```