Mobile 375 × 812

Desktop 1440 × 900

Score: 72 / 100
Based on 8 categories, 0 sections
Fast site — your users get a smooth experience.
Several missing protections leave your users and data exposed.
Several issues make your site difficult for assistive technology users.
Solid SEO basics — a few optimizations could boost rankings.
Good server performance with room for optimization.
Several regulatory requirements are not yet met.
Missing metadata means poor previews on social media and search.
Lean and efficient — low environmental impact per visit.
The overall score is a weighted average of individual category scores. Categories with more impact on user experience and security carry more weight.
Weights reflect general web best practices. Individual needs may differ.
Content-Security-Policy header is missing
Security gaps expose your site and users to attacks, eroding trust.
HSTS header is missing
Security gaps expose your site and users to attacks, eroding trust.
No Content-Security-Policy header found
Security gaps expose your site and users to attacks, eroding trust.
No <main> landmark found
Accessibility issues exclude users with disabilities — up to 15% of your potential audience.
Soft 404: server returns HTTP 200 for non-existent pages
Accessibility issues exclude users with disabilities — up to 15% of your potential audience.
High impact, low effort — start here.
High impact, requires investment.
Small gains, minimal effort.
Nothing in this quadrant — good news.
Low impact, high effort — do last.
Nothing in this quadrant — good news.
[](https://beavercheck.com/results/25c59f79-16b5-43e2-bb8d-feba551c3b29)<a href="https://beavercheck.com/results/25c59f79-16b5-43e2-bb8d-feba551c3b29"><img src="https://beavercheck.com/badge?url=https%3A%2F%2Fuc.pt" alt="BeaverCheck Score"></a>https://beavercheck.com/badge?url=https%3A%2F%2Fuc.ptThis badge auto-updates with your latest scan result.
Your site performs reasonably well, but a few targeted fixes could meaningfully improve results. Accessibility issues exclude users who rely on assistive technology — an estimated 15% of your potential audience. Addressing the critical issues below would have the most immediate impact on your user trust.
6 barrier(s) likely increasing bounce by ~14%.
No HSTS header
+1% bounceReturning visitors are briefly exposed to downgrade attacks on first request
Fix: Set Strict-Transport-Security: max-age=31536000; includeSubDomains
No Content-Security-Policy header
+1% bounceHigher XSS blast radius — one compromised script can exfiltrate the checkout form
Fix: Ship a reporting-only CSP first, then enforce once violations are clean
No Open Graph tags
+2% bounceLinks shared on LinkedIn / Slack / Facebook show bare URLs — referral clicks drop
Fix: Add og:title, og:description, og:image, og:url to the page head
No structured data
+2% bounceNo rich-result eligibility in Google — lower SERP CTR vs competitors with stars and prices
Fix: Add JSON-LD for your page type (Product, Article, FAQPage, LocalBusiness, …)
Thin content
+3% bounceUnder 300 words — visitors bounce looking for substance, search engines rank competitors first
Fix: Add a substantive FAQ, product detail, or case-study section
No skip-to-content link
+1% bounceKeyboard and screen-reader users must tab through the entire header on every page
Fix: Add a visible-on-focus <a href="#main">Skip to content</a> as the first focusable element
Preliminary CRO audit — each barrier links to the tab with detailed analysis.
€203 investment → €0.02/month returns + EUR 120,500,000 risk avoided
€203
4h · 5 findings
€0.02 /mo
~€0.23 / year
EUR 120,500,000
if kept compliant
€68 — in quick wins — start here for the fastest payback
Figures combine localized regulatory fine ceilings, search/conversion value priced against local CPC, and bandwidth waste estimates. Results depend on implementation quality and audience composition. Not legal or financial advice.
4.5 developer hours at €45/hr
Based on Portugal rates (€45/hr)
Start here for the best return on investment
€10,041,667 / month at risk
~€120,500,000 / year if left unfixed
€120,500,000
+6 more
€0.02 /mo
260.4 MB/mo × 0.074 EUR/GB
Compliance figures represent the statutory maximum fine for the most severe triggered category, capped per regulation — not the sum of per-finding penalties. Based on published regulatory fine ranges. This is not legal advice.
Unique monthly visitors from your analytics
Purchases, signups, or key actions
Optional — for revenue estimation
more engaged visitors from reduced bounce
Fix 5 critical issues to capture this value
Based on Google/Deloitte research ("Milliseconds Make Millions") showing a ~7% bounce rate increase per additional second of LCP above the 2.5s "Good" threshold.
Your site's LCP: → estimated after fixes.
These are estimates based on industry research — actual results vary
Your data stays in your browser — nothing is sent to our servers
Thanks for your feedback!
We'll use a cached audit if available, or offer to scan.
Industry-standard audits powered by Google Lighthouse.
Key metrics that affect user experience.
First Contentful Paint First Contentful Paint — how long until the browser renders the first piece of content. Under 1.8s is good.
2.38 s
Largest Contentful Paint Largest Contentful Paint — how long until the largest visible element loads. Under 2.5s is good.
2.38 s
Total Blocking Time Total Blocking Time — total time the main thread was blocked, preventing user input. Under 200ms is good.
0 ms
Cumulative Layout Shift Cumulative Layout Shift — measures visual stability. How much the page layout shifts during loading. Under 0.1 is good.
0.006
Speed Index Speed Index — how quickly content is visually displayed during load. Under 3.4s is good.
2.38 s
Time to Interactive Time to Interactive — how long until the page is fully interactive and responds to user input. Under 3.8s is good.
2.38 s
Audit breakdown by category with detailed findings.
Remove large, duplicate JavaScript modules from bundles to reduce unnecessary bytes consumed by network activity.
Performance issues directly impact user engagement and conversion rates.
Polyfills and transforms enable older browsers to use new JavaScript features. However, many aren't necessary for modern browsers. Consider modifying your JavaScript build process to not transpile Baseline features, unless you know you must support older browsers. Learn why most sites can deploy ES6+ code without transpiling
Shipping ES5 transpiled code to modern browsers wastes bytes — every user with an evergreen browser pays for compatibility you don't need.
Most users today run browsers that natively support ES6+, async/await, optional chaining, and the rest of modern JavaScript. Transpiling to ES5 'just in case' adds 20-40% to your bundle for no benefit. Configure your build to target a modern browserslist, or ship a differential bundle pair (modern + legacy) with the module/nomodule pattern.
Source: Google web.dev / Lighthouse
3rd party code can significantly impact load performance. Reduce and defer loading of 3rd party code to prioritize your page's content.
Performance issues directly impact user engagement and conversion rates.
Your first network request is the most important. Reduce its latency by avoiding redirects, ensuring a fast server response, and enabling text compression.
Performance issues directly impact user engagement and conversion rates.
Optimize LCP by making the LCP image discoverable from the HTML immediately, and avoiding lazy-loading
Performance issues directly impact user engagement and conversion rates.
Avoid chaining critical requests by reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load.
Performance issues directly impact user engagement and conversion rates.
Requests are blocking the page's initial render, which may delay LCP. Deferring or inlining can move these network requests out of the critical path.
Performance issues directly impact user engagement and conversion rates.
| URL | Transfer Size | Duration |
|---|---|---|
| fonts.bunny.net/css?family=Inter:300,400,500,700 | 1.5 KiB | 757 ms |
| www.uc.pt/.bunny-shield/assets/shield-challenge.js | 2.1 KiB | |
| www.uc.pt/.bunny-shield/assets/challenge-styles.css | 1015 B | 175 ms |
A long cache lifetime can speed up repeat visits to your page. Learn more about caching.
Performance issues directly impact user engagement and conversion rates.
| Request | Cache TTL | Transfer Size |
|---|---|---|
| www.uc.pt/.bunny-shield/assets/challenge.svg | 3600.0 s | 2.6 KiB |
| www.uc.pt/.bunny-shield/assets/shield-challenge.js | 3600.0 s | 2.1 KiB |
| www.uc.pt/.bunny-shield/assets/challenge-styles.css | 3600.0 s | 1015 B |
Consider setting font-display to swap or optional to ensure text is consistently visible. swap can be further optimized to mitigate layout shifts with font metric overrides.
Performance issues directly impact user engagement and conversion rates.
Tap interactions may be delayed by up to 300 ms if the viewport is not optimized for mobile.
Performance issues directly impact user engagement and conversion rates.
head > meta head > meta |
These insights are also available in the Chrome DevTools Performance Panel - record a trace to view more detailed information.
Set an explicit width and height on image elements to reduce layout shifts and improve CLS. Learn how to set image dimensions
Performance issues directly impact user engagement and conversion rates.
| URL | |
|---|---|
Challenge Loading div.body > div.container > div.left > img | www.uc.pt/.bunny-shield/assets/challenge.svg |
More information about the performance of your application. These numbers don't directly affect the Performance score.
Redirects introduce additional delays before the page can be loaded. Learn how to avoid page redirects.
Performance issues directly impact user engagement and conversion rates.
| URL | Time Spent |
|---|---|
| uc.pt/ | 792 ms |
| www.uc.pt/ | 0.0 ms |
These checks highlight opportunities to improve the accessibility of your web app. Automatic detection can only detect a subset of issues and does not guarantee the accessibility of your web app, so manual testing is also encouraged.
Low-contrast text is difficult or impossible for many users to read. Learn how to provide sufficient color contrast.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
Submitting... div.body > div.container > div.right > div.status |
Request ID: 62655f31437a772f001a2fc68e1e5d08 body > div.footer |
62655f31437a772f001a2fc68e1e5d08 body > div.footer > strong |
These are opportunities to improve the legibility of your content.
If a page doesn't specify a `lang` attribute, a screen reader assumes that the page is in the default language that the user chose when setting up the screen reader. If the page isn't actually in the default language, then the screen reader might not announce the page's text correctly. Learn more about the `lang` attribute.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
html html |
These are opportunities to improve the interpretation of your content by users in different locales.
One main landmark helps screen reader users navigate a web page. Learn more about landmarks.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
html html |
These items highlight common accessibility best practices.
A character encoding declaration is required. It can be done with a `<meta>` tag in the first 1024 bytes of the HTML or in the Content-Type HTTP response header. Learn more about declaring the character encoding.
Performance issues directly impact user engagement and conversion rates.
These checks ensure that your page is following basic search engine optimization advice. There are many additional factors Lighthouse does not score here that may affect your search ranking, including performance on Core Web Vitals. Learn more about Google Search Essentials.
Meta descriptions may be included in search results to concisely summarize page content. Learn more about the meta description.
Performance issues directly impact user engagement and conversion rates.
Format your HTML in a way that enables crawlers to better understand your app’s content.
If your robots.txt file is malformed, crawlers may not be able to understand how you want your website to be crawled or indexed. Learn more about robots.txt.
Performance issues directly impact user engagement and conversion rates.
| Line # | Content | Error |
|---|---|---|
| 1 | <!DOCTYPE html> | Syntax not understood |
| 2 | <html> | Syntax not understood |
| 3 | <head> | Syntax not understood |
| 4 | <title>Establishing a secure connection ...</title> | Syntax not understood |
| 5 | <meta name="viewport" content="width=device-width, initial-scale=0.8"> | Syntax not understood |
| 6 | <link href="https://fonts.bunny.net/css?family=Inter:300,400,500,700" rel="stylesheet"> | Unknown directive |
| 8 | <link href="/.bunny-shield/assets/challenge-styles.css" rel="stylesheet" /> | Syntax not understood |
| 10 | <script src="/.bunny-shield/assets/shield-challenge.js"></script> | Syntax not understood |
| 11 | </head> | Syntax not understood |
| 12 | <body data-pow="d313adeb7a2e6f0e39c5626b8b184bd23dd5ca8901efbdd1a0a1c91f9cc0cbd1#2bf97adecccb5cbc889ebc221ce52895#1776898802#6d2b41936cd25c887949191046c60273a9728f485de60368bbaeb5900c2a0478"> | Syntax not understood |
| 13 | <div class="body"> | Syntax not understood |
| 14 | <div class="container"> | Syntax not understood |
| 15 | <div class="left"> | Syntax not understood |
| 16 | <img src="/.bunny-shield/assets/challenge.svg" alt="Challenge Loading" /> | Syntax not understood |
| 17 | </div> | Syntax not understood |
| 18 | <div class="right"> | Syntax not understood |
| 19 | <h1>Hold tight</h1> | Syntax not understood |
| 20 | <h2> | Syntax not understood |
| 21 | <div class="loading"></div> | Syntax not understood |
| 22 | We are establishing a secure | Syntax not understood |
| 23 | connection. | Syntax not understood |
| 24 | </h2> | Syntax not understood |
| 25 | <p> | Syntax not understood |
| 26 | This website is using a security service to protect | Syntax not understood |
| 27 | itself from online attacks. We are checking your browser | Syntax not understood |
| 28 | to establish a secure connection and keep you safe. | Syntax not understood |
| 29 | </p> | Syntax not understood |
| 30 | <p> | Syntax not understood |
| 31 | <div class="status">...</div> | Syntax not understood |
| 32 | <div class="error"></div> | Syntax not understood |
| 33 | <noscript> | Syntax not understood |
| 34 | <p style="color: #FF0000;">Please enable JavaScript to continue.</p> | Unknown directive |
| 35 | </noscript> | Syntax not understood |
| 36 | </p> | Syntax not understood |
| 37 | </div> | Syntax not understood |
| 38 | </div> | Syntax not understood |
| 39 | </div> | Syntax not understood |
| 40 | <div class="footer"> | Syntax not understood |
| 41 | Request ID: <strong>f66acf13c101054c19378f1d158d5f0d</strong> | Unknown directive |
| 42 | </div> | Syntax not understood |
| 43 | </body> | Syntax not understood |
| 44 | </html> | Syntax not understood |
To appear in search results, crawlers need access to your app.
Industry-standard audits powered by Google Lighthouse. — Desktop
Key metrics that affect user experience. — Desktop
First Contentful Paint First Contentful Paint — how long until the browser renders the first piece of content. Under 1.8s is good.
778 ms
Largest Contentful Paint Largest Contentful Paint — how long until the largest visible element loads. Under 2.5s is good.
778 ms
Total Blocking Time Total Blocking Time — total time the main thread was blocked, preventing user input. Under 200ms is good.
0 ms
Cumulative Layout Shift Cumulative Layout Shift — measures visual stability. How much the page layout shifts during loading. Under 0.1 is good.
0.000
Speed Index Speed Index — how quickly content is visually displayed during load. Under 3.4s is good.
778 ms
Time to Interactive Time to Interactive — how long until the page is fully interactive and responds to user input. Under 3.8s is good.
778 ms
Audit breakdown by category with detailed findings.
Remove large, duplicate JavaScript modules from bundles to reduce unnecessary bytes consumed by network activity.
Performance issues directly impact user engagement and conversion rates.
Polyfills and transforms enable older browsers to use new JavaScript features. However, many aren't necessary for modern browsers. Consider modifying your JavaScript build process to not transpile Baseline features, unless you know you must support older browsers. Learn why most sites can deploy ES6+ code without transpiling
Shipping ES5 transpiled code to modern browsers wastes bytes — every user with an evergreen browser pays for compatibility you don't need.
Most users today run browsers that natively support ES6+, async/await, optional chaining, and the rest of modern JavaScript. Transpiling to ES5 'just in case' adds 20-40% to your bundle for no benefit. Configure your build to target a modern browserslist, or ship a differential bundle pair (modern + legacy) with the module/nomodule pattern.
Source: Google web.dev / Lighthouse
3rd party code can significantly impact load performance. Reduce and defer loading of 3rd party code to prioritize your page's content.
Performance issues directly impact user engagement and conversion rates.
Your first network request is the most important. Reduce its latency by avoiding redirects, ensuring a fast server response, and enabling text compression.
Performance issues directly impact user engagement and conversion rates.
Consider setting font-display to swap or optional to ensure text is consistently visible. swap can be further optimized to mitigate layout shifts with font metric overrides.
Performance issues directly impact user engagement and conversion rates.
Optimize LCP by making the LCP image discoverable from the HTML immediately, and avoiding lazy-loading
Performance issues directly impact user engagement and conversion rates.
Avoid chaining critical requests by reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load.
Performance issues directly impact user engagement and conversion rates.
Requests are blocking the page's initial render, which may delay LCP. Deferring or inlining can move these network requests out of the critical path.
Performance issues directly impact user engagement and conversion rates.
| URL | Transfer Size | Duration |
|---|---|---|
| fonts.bunny.net/css?family=Inter:300,400,500,700 | 1.5 KiB | 210 ms |
| www.uc.pt/.bunny-shield/assets/shield-challenge.js | 2.1 KiB | |
| www.uc.pt/.bunny-shield/assets/challenge-styles.css | 1015 B | 69 ms |
A long cache lifetime can speed up repeat visits to your page. Learn more about caching.
Performance issues directly impact user engagement and conversion rates.
| Request | Cache TTL | Transfer Size |
|---|---|---|
| www.uc.pt/.bunny-shield/assets/challenge.svg | 3600.0 s | 2.6 KiB |
| www.uc.pt/.bunny-shield/assets/shield-challenge.js | 3600.0 s | 2.1 KiB |
| www.uc.pt/.bunny-shield/assets/challenge-styles.css | 3600.0 s | 1015 B |
These insights are also available in the Chrome DevTools Performance Panel - record a trace to view more detailed information.
Set an explicit width and height on image elements to reduce layout shifts and improve CLS. Learn how to set image dimensions
Performance issues directly impact user engagement and conversion rates.
| URL | |
|---|---|
Challenge Loading div.body > div.container > div.left > img | www.uc.pt/.bunny-shield/assets/challenge.svg |
More information about the performance of your application. These numbers don't directly affect the Performance score.
Redirects introduce additional delays before the page can be loaded. Learn how to avoid page redirects.
Performance issues directly impact user engagement and conversion rates.
| URL | Time Spent |
|---|---|
| uc.pt/ | 237 ms |
| www.uc.pt/ | 0.0 ms |
These checks highlight opportunities to improve the accessibility of your web app. Automatic detection can only detect a subset of issues and does not guarantee the accessibility of your web app, so manual testing is also encouraged.
Low-contrast text is difficult or impossible for many users to read. Learn how to provide sufficient color contrast.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
Submitting... div.body > div.container > div.right > div.status |
Request ID: bf2c82aab8b3b1bdcc4f78003719d20b body > div.footer |
bf2c82aab8b3b1bdcc4f78003719d20b body > div.footer > strong |
These are opportunities to improve the legibility of your content.
If a page doesn't specify a `lang` attribute, a screen reader assumes that the page is in the default language that the user chose when setting up the screen reader. If the page isn't actually in the default language, then the screen reader might not announce the page's text correctly. Learn more about the `lang` attribute.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
html html |
These are opportunities to improve the interpretation of your content by users in different locales.
One main landmark helps screen reader users navigate a web page. Learn more about landmarks.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
html html |
These items highlight common accessibility best practices.
A character encoding declaration is required. It can be done with a `<meta>` tag in the first 1024 bytes of the HTML or in the Content-Type HTTP response header. Learn more about declaring the character encoding.
Performance issues directly impact user engagement and conversion rates.
These checks ensure that your page is following basic search engine optimization advice. There are many additional factors Lighthouse does not score here that may affect your search ranking, including performance on Core Web Vitals. Learn more about Google Search Essentials.
Meta descriptions may be included in search results to concisely summarize page content. Learn more about the meta description.
Performance issues directly impact user engagement and conversion rates.
Format your HTML in a way that enables crawlers to better understand your app’s content.
If your robots.txt file is malformed, crawlers may not be able to understand how you want your website to be crawled or indexed. Learn more about robots.txt.
Performance issues directly impact user engagement and conversion rates.
| Line # | Content | Error |
|---|---|---|
| 1 | <!DOCTYPE html> | Syntax not understood |
| 2 | <html> | Syntax not understood |
| 3 | <head> | Syntax not understood |
| 4 | <title>Establishing a secure connection ...</title> | Syntax not understood |
| 5 | <meta name="viewport" content="width=device-width, initial-scale=0.8"> | Syntax not understood |
| 6 | <link href="https://fonts.bunny.net/css?family=Inter:300,400,500,700" rel="stylesheet"> | Unknown directive |
| 8 | <link href="/.bunny-shield/assets/challenge-styles.css" rel="stylesheet" /> | Syntax not understood |
| 10 | <script src="/.bunny-shield/assets/shield-challenge.js"></script> | Syntax not understood |
| 11 | </head> | Syntax not understood |
| 12 | <body data-pow="b42889acc46b216e8775db5112b7d5100bfc03fa29dbe82f030dba1dab5c5179#4199ecbeb85af4032a877bac80c3d4a6#1776898813#1a2783b5994bb414d3c53c96c1a6408538563f09e8e90412146e84db77021daf"> | Syntax not understood |
| 13 | <div class="body"> | Syntax not understood |
| 14 | <div class="container"> | Syntax not understood |
| 15 | <div class="left"> | Syntax not understood |
| 16 | <img src="/.bunny-shield/assets/challenge.svg" alt="Challenge Loading" /> | Syntax not understood |
| 17 | </div> | Syntax not understood |
| 18 | <div class="right"> | Syntax not understood |
| 19 | <h1>Hold tight</h1> | Syntax not understood |
| 20 | <h2> | Syntax not understood |
| 21 | <div class="loading"></div> | Syntax not understood |
| 22 | We are establishing a secure | Syntax not understood |
| 23 | connection. | Syntax not understood |
| 24 | </h2> | Syntax not understood |
| 25 | <p> | Syntax not understood |
| 26 | This website is using a security service to protect | Syntax not understood |
| 27 | itself from online attacks. We are checking your browser | Syntax not understood |
| 28 | to establish a secure connection and keep you safe. | Syntax not understood |
| 29 | </p> | Syntax not understood |
| 30 | <p> | Syntax not understood |
| 31 | <div class="status">...</div> | Syntax not understood |
| 32 | <div class="error"></div> | Syntax not understood |
| 33 | <noscript> | Syntax not understood |
| 34 | <p style="color: #FF0000;">Please enable JavaScript to continue.</p> | Unknown directive |
| 35 | </noscript> | Syntax not understood |
| 36 | </p> | Syntax not understood |
| 37 | </div> | Syntax not understood |
| 38 | </div> | Syntax not understood |
| 39 | </div> | Syntax not understood |
| 40 | <div class="footer"> | Syntax not understood |
| 41 | Request ID: <strong>5f1da288e8b31a692cf775a7130f8c96</strong> | Unknown directive |
| 42 | </div> | Syntax not understood |
| 43 | </body> | Syntax not understood |
| 44 | </html> | Syntax not understood |
To appear in search results, crawlers need access to your app.
Send Feedback