Ebuyer
App Quality Report
Powered by Testers.AI
B83%
Quality Score
5
Pages
105
Issues
7.7
Avg Confidence
7.8
Avg Priority
26 Critical65 High14 Medium
Testers.AI
>_ Testers.AI AI Analysis

Ebuyer scored B (85%) with 105 issues across 6 tested pages, ranking #7 of 22 UK retail sites. That's 19 fewer than the 123.7 category average (68th percentile).

Top issues to fix immediately: "Missing Cache Headers on All Static Assets (CSS, JS, Fonts, Images)" โ€” Add Cache-Control headers to all static assets: (1) For versioned/hashed assets (with content hash in filename like 2026; "Critical Missing Cache Headers on All Static Assets and Third-Party Re" โ€” 1) Add Cache-Control headers to all static assets: For versioned assets (with query params like ?v=; "Multiple broken resource loads causing visual degradation" โ€” Investigate and resolve the DNS resolution failures (ERR_NAME_NOT_RESOLVED).

Weakest area โ€” accessibility (5/10): Contrast ratios appear adequate in places but may struggle in others.

Quick wins: Add skip-to-content links and improve keyboard navigation for better accessibility. Implement clearer visual hierarchy to reduce cognitive load and guide user attention.

Qualitative Quality
Ebuyer
Category Avg
Best in Category
Issue Count by Type
A11y
32
Content
22
UX
4
Security
4
Pages Tested ยท 5 screenshots
Detected Issues ยท 105 total
1
Missing Cache Headers on All Static Assets (CSS, JS, Fonts, Images)
CRIT P10
Conf 10/10 Other
Prompt to Fix
All static assets on ebuyer.com are missing Cache-Control headers. Add proper caching headers to improve repeat visit performance: For versioned/hashed assets (identified by hash in filename, e.g., dist/2026.03.06.5/, _next/static files with hash), set 'Cache-Control: public, max-age=31536000, immutable' to cache for 1 year since content never changes. For images and fonts without version hashes, set 'Cache-Control: public, max-age=86400' for 24 hours. Add ETag headers to all static assets. Configure your web server (nginx/Apache) or CDN to set these headers. Test by checking response headers for CSS, JS, fonts, and images - they should return Cache-Control headers and 304 Not Modified on repeat requests.
Why it's a bug
Every single static resource returned 200 status codes without proper Cache-Control headers. This includes: CSS files (global.css, main.css, home.css, and multiple Next.js CSS files), JavaScript bundles (global-header.js, algolia-search.js, footer scripts), web fonts (Roboto-Regular.woff2, Lato fonts, Averta fonts), images from CDN, and brand logos. Without caching headers, browsers re-download these unchanged resources on every page visit, wasting bandwidth and causing slow repeat visits. Users on repeat visits should see 304 Not Modified responses, but instead receive full 200 responses.
Why it might not be a bug
If assets change very frequently, aggressive caching could show stale content to users.
Suggested Fix
Add Cache-Control headers to all static assets: (1) For versioned/hashed assets (with content hash in filename like 2026.03.06.5 or f2d00db9d8db7dd7.css), use 'Cache-Control: public, max-age=31536000, immutable' (1 year); (2) For non-versioned assets like unversioned images, use 'Cache-Control: public, max-age=86400' (24 hours); (3) Add ETag headers for all assets to enable 304 Not Modified responses; (4) Use far-future expires headers for versioned assets.
Why Fix
Proper caching transforms repeat visit performance. Instead of downloading 50+ assets on every visit, users get instant page loads from browser cache. This dramatically reduces bandwidth costs, improves page load speed from days 2+, boosts Core Web Vitals on repeat visits, and reduces server load. Essential for mobile users and users on slow connections.
Route To
DevOps Engineer / Web Infrastructure Engineer / Backend Engineer managing CDN configuration
Page
Tester
Tariq ยท Performance Specialist
Technical Evidence
Network: GET https://www.ebuyer.com/_next/static/css/2e407863a85520b5.css - Status: 200 โš ๏ธ MISSING CACHE HEADERS
2
Critical Missing Cache Headers on All Static Assets and Third-Party Resources
CRIT P10
Conf 10/10 Other
Prompt to Fix
Configure the web server (likely IIS or nginx) to add Cache-Control headers to all static assets. For auth.ebuyer.com: 1) Set 'Cache-Control: public, max-age=31536000, immutable' for versioned CSS/JS files (those with ?v= query parameters) since version changes indicate new content. 2) Set 'Cache-Control: public, max-age=86400' for font files (.woff2). 3) Set 'Cache-Control: public, max-age=604800' for SVG image assets. 4) Add ETag headers using strong validators (file hash). 5) Configure gzip compression in response headers. 6) Test with curl to verify Cache-Control headers are present: 'curl -I https://auth.ebuyer.com/css/base.css' should show 'Cache-Control' header.
Why it's a bug
The network activity shows that virtually ALL static resources are missing Cache-Control and other cache headers: CSS files (base.css, loginv2.css, ebuy.css, inputsv2.css), JavaScript files (jquery, validation libraries, main.js), font files (Roboto woff2), SVG images, and even third-party resources from Google (reCAPTCHA scripts, styles, images). This means every time a user visits the login page, the browser downloads all these resources again instead of using cached copies. For repeat visitors and users with poor connections, this significantly increases load time. The note 'โš ๏ธ MISSING CACHE HEADERS' appears on nearly every successful resource request.
Why it might not be a bug
Some third-party resources (Google reCAPTCHA) may be intentionally not cached to ensure security updates, but auth domain resources (fonts, CSS, JS, SVGs) absolutely should have cache headers.
Suggested Fix
1) Add Cache-Control headers to all static assets: For versioned assets (with query params like ?v=...), use 'Cache-Control: public, max-age=31536000' (1 year) since the version hash changes on updates. 2) For index/entry pages, use 'Cache-Control: public, max-age=3600' or no-cache with ETag. 3) Add Expires headers as fallback for older clients. 4) Implement ETag headers for all resources to enable 304 Not Modified responses. 5) Configure server to serve gzip/brotli compressed versions with proper cache headers. 6) Consider using Content Delivery Network (CDN) with proper cache control.
Why Fix
Proper caching headers reduce bandwidth usage, decrease page load time for repeat visitors by 50-80%, improve Core Web Vitals metrics, and reduce server load. For login pages that users visit frequently, this is particularly impactful. Missing cache headers forces unnecessary re-downloads of identical resources, wasting bandwidth and degrading performance.
Route To
DevOps Engineer / Backend Infrastructure Engineer
Page
Tester
Tariq ยท Performance Specialist
Technical Evidence
Network: GET https://auth.ebuyer.com/fonts/Roboto-Regular.woff2 - Status: 200 โš ๏ธ MISSING CACHE HEADERS, GET https://auth.ebuyer.com/css/base.css - Status: 200 โš ๏ธ MISSING CACHE HEADERS, GET https://www.google.com/recaptcha/api.js - Status: 200 โš ๏ธ MISSING CACHE HEADERS
3
Multiple broken resource loads causing visual degradation
CRIT P9
Conf 8/10 OtherUX
Prompt to Fix
The page is experiencing 13 failed resource loads with ERR_NAME_NOT_RESOLVED errors. This indicates DNS resolution failures for critical assets. Audit all resource URLs in the HTML (images, stylesheets, scripts, fonts). Verify that all external domains are correctly configured and accessible. Check CDN endpoints and ensure proper DNS records exist. Consider implementing a service worker or fallback mechanism to handle missing resources gracefully. Test in production environment to ensure all resources load successfully.
Why it's a bug
The console shows 13 failed resource loads (ERR_NAME_NOT_RESOLVED). While the page is still technically visible, these failures likely indicate broken images, stylesheets, or scripts that are degrading the user experience. Users expect a fully functional, visually complete shopping experience on an e-commerce site. Failed resources could break layouts, hide product images, disable interactive features, or confuse users about product availability.
Why it might not be a bug
The page structure itself is still visible, so basic navigation is possible. However, this is misleading - the extent of visual/functional damage from these failures cannot be fully assessed from the screenshot alone.
Suggested Fix
Investigate and resolve the DNS resolution failures (ERR_NAME_NOT_RESOLVED). Verify that all resource URLs are correctly configured, CDN endpoints are accessible, and domain names resolve properly. Implement fallback resources or cached versions for critical assets.
Why Fix
Broken resources severely degrade user trust and experience on e-commerce sites. Users cannot make confident purchasing decisions if product images are missing, prices don't load, or interactive features are broken. This directly impacts conversion rates and user satisfaction.
Route To
Backend/DevOps Engineer
Page
Tester
Mia ยท Usability Tester
Technical Evidence
Elements: <img>, <link>, <script>, product cards, pricing elements
Console: Failed to load resource: net::ERR_NAME_NOT_RESOLVED (x13)
Network: Multiple failed resource loads due to DNS resolution failures
Page Text: ONLY AMAZING BRANDS ON OFFER, product listings, pricing information
+102
102 more issues detected  View all →
Multiple images missing alt text for informative content
Multiple resource loading failures affecting page functional...
Multiple Failed Resource Loads - DNS Resolution Errors
and 99 more...
Unlock All 105 Issues
You're viewing the top 3 issues for Ebuyer.
Sign up at Testers.AI to access the full report with all 105 detected issues, detailed fixes, and continuous monitoring.
Sign Up at Testers.AI or let us run the tests for you