screenshot

www.greyhoundlife.org

B+ 89.25%
This is a decent score and has room for improvement. But, there are some areas were improvement should be made. SEO, Best Practices and Accessibility can always be a perfect score of 100. Anything less may be causing a lower search engine page ranking. We can increase these by a total of 36 points and get the average total score up 98.250000. This web page loads fast.

Individual Scores of the Four Metrics

There are four major metrics that define the overall score. Each of these are displayed here and may give you a view of where the biggest opportunities exist.

A 93%

Performance

Pass - Great Score
A 93%

Accessibility

Pass - Can be improved
B- 79%

Best Practices

Fail - Needs work
A 92%

SEO

Pass - Can be improved

Detailed Audit Data

This detailed information is to help you better understand what opportunities are available for improvement. Most sections have a score and each section has a link that you can click on to learn more. We encourage you to lean as much about each of these as knowing how some of these things work will help you to be more successful.

Detailed Performace Data - 93%

A+98%

First Contentful Paint

Pass - First Contentful Paint 1.7 s

First Contentful Paint marks the time at which the first text or image is painted. https://web.dev/first-contentful-paint.

A+98%

First Meaningful Paint

Pass - First Meaningful Paint 1.7 s

First Meaningful Paint measures when the primary content of a page is visible. https://web.dev/first-meaningful-paint.

A+95%

Speed Index

Pass - Speed Index 2.9 s

Speed Index shows how quickly the contents of a page are visibly populated. https://web.dev/speed-index.

Screenshot Thumbnails

Screenshot Thumbnails

This is what the load of your site looked like.

A+99%

Estimated Input Latency

Pass - Estimated Input Latency 40 ms

Estimated Input Latency is an estimate of how long your app takes to respond to user input, in milliseconds, during the busiest 5s window of page load. If your latency is higher than 50 ms, users may perceive your app as laggy. https://web.dev/estimated-input-latency.

B+89%

Total Blocking Time

Fail - Total Blocking Time 300 ms

Sum of all time periods between FCP and Time to Interactive, when task length exceeded 50ms, expressed in milliseconds.

D-55%

Max Potential Fid

Fail - Max Potential First Input Delay 230 ms

The maximum potential First Input Delay that your users could experience is the duration, in milliseconds, of the longest task. https://developers.google.com/web/updates/2018/05/first-input-delay.

A+100%

Time To First Byte

Pass - Server response times are low (TTFB) Root document took 270 ms

Time To First Byte identifies the time at which your server sends a response. https://web.dev/time-to-first-byte.

A90%

First Cpu Idle

Pass - First CPU Idle 3.5 s

First CPU Idle marks the first time at which the page's main thread is quiet enough to handle input. https://web.dev/first-cpu-idle.

A90%

Interactive

Pass - Time to Interactive 3.8 s

Time to interactive is the amount of time it takes for the page to become fully interactive. https://web.dev/interactive.

User Timings

User Timing marks and measures

Consider instrumenting your app with the User Timing API to measure your app's real-world performance during key user experiences. https://web.dev/user-timings.

Critical Request Chains

Avoid chaining critical requests 1 chain found

The Critical Request Chains below show you what resources are loaded with a high priority. Consider reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load. https://web.dev/critical-request-chains.

A+100%

Redirects

Pass - Avoid multiple page redirects

Redirects introduce additional delays before the page can be loaded. https://web.dev/redirects.

C-66%

Mainthread Work Breakdown

Fail - Minimize main-thread work 3.2 s

Consider reducing the time spent parsing, compiling and executing JS. You may find delivering smaller JS payloads helps with this. https://web.dev/mainthread-work-breakdown

Table
Category
Time Spent
Style & Layout
1451.672 ms
Script Evaluation
906.276 ms
Other
401.424 ms
Rendering
239.66 ms
Parse HTML & CSS
130.612 ms
Script Parsing & Compilation
72.716 ms
A+97%

Bootup Time

Pass - JavaScript execution time 0.8 s

Consider reducing the time spent parsing, compiling, and executing JS. You may find delivering smaller JS payloads helps with this. https://web.dev/bootup-time.

Table
URL
Total CPU Time
Script Evaluation
Script Parse
Other
1937.556 ms
33.388 ms
3.78 ms
https://www.greyhoundlife.org/wp-content/themes/Divi/js/custom.min.js
705.132 ms
444.84 ms
30.348 ms
https://www.greyhoundlife.org/wp-content/plugins/woocommerce/assets/js/frontend/cart-fragments.min.js
236.076 ms
235.076 ms
1 ms
https://www.greyhoundlife.org/
96.248 ms
3.032 ms
1.652 ms
https://www.greyhoundlife.org/wp-content/plugins/moongear-global-functions/js/jquery-3.5.1.min.js
69.532 ms
62.948 ms
5.452 ms
A+100%

Uses Rel Preload

Pass - Preload key requests

Consider using `<link rel=preload>` to prioritize fetching resources that are currently requested later in page load. https://web.dev/uses-rel-preload.

A+100%

Uses Rel Preconnect

Pass - Preconnect to required origins

Consider adding `preconnect` or `dns-prefetch` resource hints to establish early connections to important third-party origins. https://web.dev/uses-rel-preconnect.

A+100%

Font Display

Pass - All text remains visible during webfont loads

Leverage the font-display CSS feature to ensure text is user-visible while webfonts are loading. https://web.dev/font-display.

Diagnostics

Diagnostics

Collection of useful page vitals.

numRequests38
numScripts23
numStylesheets2
numFonts1
numTasks682
numTasksOver10ms14
numTasksOver25ms8
numTasksOver50ms5
numTasksOver100ms1
numTasksOver500ms0
rtt23.373
throughput37423673.306364
maxRtt23.373
maxServerLatency0
totalByteWeight651617
totalTaskTime800.59
mainDocumentTransferSize18411

Network Requests

Network Requests

Lists the network requests that were made during page load.

Table
URL
Start Time
End Time
Transfer Size
Resource Size
Status Code
MIME Type
Resource Type
https://www.greyhoundlife.org/
0 ms
565.57399999292 ms
18411 bytes
50765 bytes
200
text/html
Document
https://www.greyhoundlife.org/wp-content/litespeed/cssjs/69716.css
551.31199999596 ms
626.82599999243 ms
86702 bytes
886542 bytes
200
text/css
Stylesheet
https://www.greyhoundlife.org/wp-content/plugins/moongear-global-functions/js/jquery-3.5.1.min.js
551.99500000163 ms
598.55199999583 ms
30453 bytes
89476 bytes
200
application/javascript
Script
https://www.greyhoundlife.org/wp-content/plugins/moongear-donations/js/moongear-donations.js
552.85500000173 ms
599.82399998989 ms
725 bytes
2092 bytes
200
application/javascript
Script
https://www.greyhoundlife.org/wp-includes/js/underscore.min.js
553.2719999901 ms
610.2499999979 ms
5753 bytes
16154 bytes
200
application/javascript
Script
https://www.greyhoundlife.org/wp-content/plugins/moongear-global-functions/js/jquery-migrate-3.3.0.min.js
553.66199999116 ms
623.16099999589 ms
3941 bytes
11015 bytes
200
application/javascript
Script
https://www.greyhoundlife.org/wp-content/plugins/woocommerce/assets/js/jquery-blockui/jquery.blockUI.min.js
554.08200000238 ms
623.36599999981 ms
3394 bytes
9566 bytes
200
application/javascript
Script
https://www.greyhoundlife.org/wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart.min.js
554.46099999244 ms
623.52699998883 ms
1086 bytes
3033 bytes
200
application/javascript
Script
https://www.greyhoundlife.org/wp-content/plugins/woocommerce/assets/js/js-cookie/js.cookie.min.js
554.86199998995 ms
623.70099998952 ms
980 bytes
1846 bytes
200
application/javascript
Script
https://www.greyhoundlife.org/wp-content/plugins/woocommerce/assets/js/frontend/woocommerce.min.js
555.303000001 ms
623.83099998988 ms
742 bytes
1988 bytes
200
application/javascript
Script
https://www.greyhoundlife.org/wp-content/plugins/woocommerce/assets/js/frontend/cart-fragments.min.js
555.69199999445 ms
623.95899998955 ms
1148 bytes
2940 bytes
200
application/javascript
Script
https://www.greyhoundlife.org/wp-content/themes/Divi/js/custom.min.js
556.08300000313 ms
628.9509999915 ms
67332 bytes
312221 bytes
200
application/javascript
Script
https://www.greyhoundlife.org/wp-content/themes/Divi/core/admin/js/common.js
556.47199999657 ms
626.58099998953 ms
484 bytes
914 bytes
200
application/javascript
Script
https://www.greyhoundlife.org/wp-content/themes/greyhound-life/etmodules.css
566.38399999065 ms
883.84599999699 ms
206 bytes
0 bytes
404
text/html
Stylesheet
https://www.googletagmanager.com/gtag/js?id=UA-125027787-1
566.74599999678 ms
665.67399998894 ms
0 bytes
0 bytes
-1
-
Script
https://www.greyhoundlife.org/wp-content/themes/greyhound-life/js/moongear-tweaks.js
574.5820000011 ms
884.55999999132 ms
66 bytes
0 bytes
404
text/html
Script
data:text/javascript;base64, ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTmFtZSA9ICdqcyc7
572.19099999929 ms
572.23900000099 ms
0 bytes
42 bytes
200
text/javascript
Script
data:text/javascript;base64, dmFyIGV0X3NpdGVfdXJsPSdodHRwczovL3d3dy5ncmV5aG91bmRsaWZlLm9yZyc7dmFyIGV
572.38899999356 ms
572.4360000022 ms
0 bytes
359 bytes
200
text/javascript
Script
data:text/javascript;base64, d2luZG93LmRhdGFMYXllciA9IHdpbmRvdy5kYXRhTGF5ZXIgfHwgW107CiAgICAgICAgZnV
573.34399998945 ms
573.38799998979 ms
0 bytes
169 bytes
200
text/javascript
Script
data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7
576.39099999506 ms
576.43999998982 ms
0 bytes
42 bytes
200
image/gif
Image
data:text/javascript;base64, dmFyIGV0X2FuaW1hdGlvbl9kYXRhID0gW3siY2xhc3MiOiJldF9wYl9yb3dfMiIsInN0eWx
579.20100000047 ms
579.24900000216 ms
0 bytes
342 bytes
200
text/javascript
Script
data:text/javascript;base64, dmFyIGMgPSBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZTsKCQljID0gYy5yZXBsYWNlKC93b29
579.40699999745 ms
579.44499999576 ms
0 bytes
119 bytes
200
text/javascript
Script
data:text/javascript;base64, LyogPCFbQ0RBVEFbICovCnZhciB3Y19hZGRfdG9fY2FydF9wYXJhbXMgPSB7ImFqYXhfdXJ
579.73699999275 ms
579.77499999106 ms
0 bytes
266 bytes
200
text/javascript
Script
data:text/javascript;base64, LyogPCFbQ0RBVEFbICovCnZhciB3b29jb21tZXJjZV9wYXJhbXMgPSB7ImFqYXhfdXJsIjo
579.95400000073 ms
579.98199999565 ms
0 bytes
133 bytes
200
text/javascript
Script
data:text/javascript;base64, LyogPCFbQ0RBVEFbICovCnZhciB3Y19jYXJ0X2ZyYWdtZW50c19wYXJhbXMgPSB7ImFqYXh
580.12299999245 ms
580.14999999432 ms
0 bytes
292 bytes
200
text/javascript
Script
data:text/javascript;base64, LyogPCFbQ0RBVEFbICovCnZhciBESVZJID0geyJpdGVtX2NvdW50IjoiJWQgSXRlbSIsIml
580.31999999366 ms
580.35199998994 ms
0 bytes
1278 bytes
200
text/javascript
Script
data:text/javascript;base64, dmFyIF9leHRlbmRzPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0xO2U
580.71300000302 ms
580.80699999118 ms
0 bytes
5548 bytes
200
text/javascript
Script
https://www.greyhoundlife.org/wp-content/themes/Divi/includes/builder/styles/images/subscribe-loader.gif
610.8799999929 ms
655.15500000038 ms
1544 bytes
1422 bytes
200
image/gif
Image
https://www.greyhoundlife.org/wp-content/uploads/2018/06/10614373_10152381268821911_1261995436382732274_n-e1429903157836.jpg
732.14599999483 ms
777.77299999434 ms
132102 bytes
131836 bytes
200
image/jpeg
Image
https://www.greyhoundlife.org/wp-content/uploads/2018/08/greyhound-life-header-40.jpg
733.76599999028 ms
780.63999999722 ms
50437 bytes
50271 bytes
200
image/jpeg
Image
https://www.greyhoundlife.org/wp-content/uploads/2018/08/greyhound-life-header-30.jpg
734.15799999202 ms
782.24999998929 ms
40146 bytes
39979 bytes
200
image/jpeg
Image
data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgMTI4MCAxNDAiIH
735.9279999946 ms
735.96599999291 ms
0 bytes
200 bytes
200
image/svg+xml
Image
data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSI1M3B4IiB2aWV3Qm94PSIwIDAgMTI4MCAxNDAiIH
740.94899999909 ms
740.98599998979 ms
0 bytes
516 bytes
200
image/svg+xml
Image
https://www.greyhoundlife.org/wp-content/uploads/2018/06/Greyhound...jpg
745.49200000183 ms
817.69699999131 ms
166595 bytes
166269 bytes
200
image/jpeg
Image
data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSI3M3B4IiB2aWV3Qm94PSIwIDAgMTI4MCAxNDAiIH
746.96999999287 ms
747.02799999795 ms
0 bytes
314 bytes
200
image/svg+xml
Image
https://www.greyhoundlife.org/wp-content/themes/Divi/core/admin/fonts/modules.ttf
880.99999999395 ms
924.61699999694 ms
36490 bytes
92400 bytes
200
font/ttf
Font
https://www.greyhoundlife.org/?wc-ajax=get_refreshed_fragments
1120.1209999999 ms
- ms
0 bytes
0 bytes
-1
-
XHR
https://www.greyhoundlife.org/wp-content/uploads/2018/08/greyhound_life_logo_wide-e1535401086706.png.webp
1260.8999999939 ms
1295.7869999955 ms
2880 bytes
2732 bytes
200
image/webp
Image

Network Rtt

Network Round Trip Times 20 ms

Network round trip times RTT have a large impact on performance. If the RTT to an origin is high, it's an indication that servers closer to the user could improve performance. https://hpbn.co/primer-on-latency-and-bandwidth/.

Table
URL
Time Spent
https://www.greyhoundlife.org
23.373 ms

Network Server Latency

Server Backend Latencies 0 ms

Server latencies can impact web performance. If the server latency of an origin is high, it's an indication the server is overloaded or has poor backend performance. https://hpbn.co/primer-on-web-performance/#analyzing-the-resource-waterfall.

Table
URL
Time Spent
https://www.greyhoundlife.org
0 ms

Main Thread Tasks

Tasks

Lists the toplevel main thread tasks that executed during page load.

Table
Start Time
End Time
553.357 ms
11.621 ms
576.311 ms
8.4 ms
598.017 ms
61.823 ms
659.861 ms
5.612 ms
675.466 ms
14.317 ms
701.357 ms
6.651 ms
708.046 ms
23.612 ms
731.67 ms
148.796 ms
880.56 ms
5.331 ms
893.183 ms
27.783 ms
927.82 ms
26.338 ms
955.578 ms
9.756 ms
966.352 ms
25.759 ms
992.177 ms
79.263 ms
1071.572 ms
58.282 ms
1131.741 ms
19.578 ms
1151.539 ms
15.244 ms
1168.502 ms
53.765 ms
1229.352 ms
6.656 ms
1240.333 ms
20.487 ms
1321.008 ms
6.38 ms

Metrics

Metrics

Collects all available metrics.

firstContentfulPaint1737
firstMeaningfulPaint1737
firstCPUIdle3541
interactive3809
speedIndex2897
estimatedInputLatency38
totalBlockingTime296
observedNavigationStart0
observedNavigationStartTs95245548681
observedFirstPaint670
observedFirstPaintTs95246218933
observedFirstContentfulPaint670
observedFirstContentfulPaintTs95246218933
observedFirstMeaningfulPaint670
observedFirstMeaningfulPaintTs95246218933
observedLargestContentfulPaint965
observedLargestContentfulPaintTs95246513346
observedTraceEnd2283
observedTraceEndTs95247831276
observedLoad1151
observedLoadTs95246699832
observedDomContentLoaded1148
observedDomContentLoadedTs95246696502
observedFirstVisualChange674
observedFirstVisualChangeTs95246222681
observedLastVisualChange2224
observedLastVisualChangeTs95247772681
observedSpeedIndex1029
observedSpeedIndexTs95246577984
lcpInvalidatedfalse

Performance Budget

Performance budget

Keep the quantity and size of network requests under the targets set by the provided performance budget. https://developers.google.com/web/tools/lighthouse/audits/budgets.

Resource Summary

Keep request counts low and transfer sizes small 38 requests • 636 KB

To set budgets for the quantity and size of page resources, add a budget.json file. https://developers.google.com/web/tools/lighthouse/audits/budgets.

Table
Resource Type
Requests
Transfer Size
Total
38
651617 bytes
Image
10
393704 bytes
Script
23
116104 bytes
Stylesheet
2
86908 bytes
Font
1
36490 bytes
Document
1
18411 bytes
Media
0
0 bytes
Other
1
0 bytes
Third-party
15
0 bytes
A+100%

Third Party Summary

Pass - Minimize third-party usage Third-party code blocked the main thread for 0 ms

Third-party code can significantly impact load performance. Limit the number of redundant third-party providers and try to load third-party code after your page has primarily finished loading. https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/loading-third-party-javascript/.

Table
Third-Party
Size
Main-Thread Blocking Time
A+100%

Uses Long Cache Ttl

Pass - Uses efficient cache policy on static assets 0 resources found

A long cache lifetime can speed up repeat visits to your page. https://web.dev/uses-long-cache-ttl.

A+100%

Total Byte Weight

Pass - Avoids enormous network payloads Total size was 636 KB

Large network payloads cost users real money and are highly correlated with long load times. https://web.dev/total-byte-weight.

Table
URL
Size
https://www.greyhoundlife.org/wp-content/uploads/2018/06/Greyhound...jpg
166595 bytes
https://www.greyhoundlife.org/wp-content/uploads/2018/06/10614373_10152381268821911_1261995436382732274_n-e1429903157836.jpg
132102 bytes
https://www.greyhoundlife.org/wp-content/litespeed/cssjs/69716.css
86702 bytes
https://www.greyhoundlife.org/wp-content/themes/Divi/js/custom.min.js
67332 bytes
https://www.greyhoundlife.org/wp-content/uploads/2018/08/greyhound-life-header-40.jpg
50437 bytes
https://www.greyhoundlife.org/wp-content/uploads/2018/08/greyhound-life-header-30.jpg
40146 bytes
https://www.greyhoundlife.org/wp-content/themes/Divi/core/admin/fonts/modules.ttf
36490 bytes
https://www.greyhoundlife.org/wp-content/plugins/moongear-global-functions/js/jquery-3.5.1.min.js
30453 bytes
https://www.greyhoundlife.org/
18411 bytes
https://www.greyhoundlife.org/wp-includes/js/underscore.min.js
5753 bytes
A+100%

Offscreen Images

Pass - Defer offscreen images

Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. https://web.dev/offscreen-images.

A+100%

Render Blocking Resources

Pass - Eliminate render-blocking resources

Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. https://web.dev/render-blocking-resources.

A+100%

Unminified Css

Pass - Minify CSS

Minifying CSS files can reduce network payload sizes. https://web.dev/unminified-css.

A+100%

Unminified Javascript

Pass - Minify JavaScript

Minifying JavaScript files can reduce payload sizes and script parse time. https://web.dev/unminified-javascript.

D-58%

Unused Css Rules

Fail - Remove unused CSS Potential savings of 78 KB

Remove dead rules from stylesheets and defer the loading of CSS not used for above-the-fold content to reduce unnecessary bytes consumed by network activity. https://web.dev/unused-css-rules.

Opportunity
URL
Size
Potential Savings
https://www.greyhoundlife.org/wp-content/litespeed/cssjs/69716.css
86702 bytes
80254 bytes
B+88%

Uses Webp Images

Fail - Serve images in next-gen formats Potential savings of 52 KB

Image formats like JPEG 2000, JPEG XR, and WebP often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. https://web.dev/uses-webp-images.

Opportunity
URL
Size
Potential Savings
https://www.greyhoundlife.org/wp-content/uploads/2018/06/10614373_10152381268821911_1261995436382732274_n-e1429903157836.jpg
131836 bytes
24966 bytes
https://www.greyhoundlife.org/wp-content/uploads/2018/08/greyhound-life-header-30.jpg
39979 bytes
14613 bytes
https://www.greyhoundlife.org/wp-content/uploads/2018/08/greyhound-life-header-40.jpg
50271 bytes
13359 bytes
A+100%

Uses Optimized Images

Pass - Efficiently encode images

Optimized images load faster and consume less cellular data. https://web.dev/uses-optimized-images.

A+100%

Uses Text Compression

Pass - Enable text compression

Text-based resources should be served with compression gzip, deflate or brotli to minimize total network bytes. https://web.dev/uses-text-compression.

A+100%

Uses Responsive Images

Pass - Properly size images

Serve images that are appropriately-sized to save cellular data and improve load time. https://web.dev/uses-responsive-images.

A+100%

Efficient Animated Content

Pass - Use video formats for animated content

Large GIFs are inefficient for delivering animated content. Consider using MPEG4/WebM videos for animations and PNG/WebP for static images instead of GIF to save network bytes. https://web.dev/efficient-animated-content

A+100%

Dom Size

Pass - Avoids an excessive DOM size 270 elements

A large DOM will increase memory usage, cause longer [style calculations]https://developers.google.com/web/fundamentals/performance/rendering/reduce-the-scope-and-complexity-of-style-calculations, and produce costly [layout reflows]https://developers.google.com/speed/articles/reflow. https://web.dev/dom-size.

Table
Statistic
Element
Value
Total DOM Elements
-
270
Maximum DOM Depth
<span class="et_subscribe_loader">
19
Maximum Child Elements
<body class="home page-template-default page page-id-7 theme-Divi woocommerce-js et_button_no_icon et_pb_button_helper_class et_fullwidth_nav et_non_fixed_nav et_show_nav et_primary_nav_dropdown_animation_fade et_secondary_nav_dropdown_animation_fade et_header_style_left et_pb_footer_columns4 et_cover_background et_pb_gutter linux et_pb_gutters3 et_pb_pagebuilder_layout et_no_sidebar et_divi_theme et-db et_minified_js et_minified_css et_mobile_device et_mobile_device_not_ipad chrome litespeed_lazyloaded">
18

Detailed Accessibility Data - 93%

Accesskeys

`[accesskey]` values are unique

Access keys let users quickly focus a part of the page. For proper navigation, each access key must be unique. https://web.dev/accesskeys/.

Aria Allowed Attr

`[aria-*]` attributes match their roles

Each ARIA `role` supports a specific subset of `aria-*` attributes. Mismatching these invalidates the `aria-*` attributes. https://web.dev/aria-allowed-attr/.

A+100%

Aria Required Attr

Pass - `[role]`s have all required `[aria-*]` attributes

Some ARIA roles have required attributes that describe the state of the element to screen readers. https://web.dev/aria-required-attr/.

A+100%

Aria Required Children

Pass - Elements with an ARIA `[role]` that require children to contain a specific `[role]` have all required children.

Some ARIA parent roles must contain specific child roles to perform their intended accessibility functions. https://web.dev/aria-required-children/.

A+100%

Aria Required Parent

Pass - `[role]`s are contained by their required parent element

Some ARIA child roles must be contained by specific parent roles to properly perform their intended accessibility functions. https://web.dev/aria-required-parent/.

A+100%

Aria Roles

Pass - `[role]` values are valid

ARIA roles must have valid values in order to perform their intended accessibility functions. https://web.dev/aria-roles/.

Aria Valid Attr Value

`[aria-*]` attributes have valid values

Assistive technologies, like screen readers, can't interpret ARIA attributes with invalid values. https://web.dev/aria-valid-attr-value/.

Aria Valid Attr

`[aria-*]` attributes are valid and not misspelled

Assistive technologies, like screen readers, can't interpret ARIA attributes with invalid names. https://web.dev/aria-valid-attr/.

Audio Caption

`<audio>` elements contain a `<track>` element with `[kind="captions"]`

Captions make audio elements usable for deaf or hearing-impaired users, providing critical information such as who is talking, what they're saying, and other non-speech information. https://web.dev/audio-caption/.

Button Name

Buttons have an accessible name

When a button doesn't have an accessible name, screen readers announce it as "button", making it unusable for users who rely on screen readers. https://web.dev/button-name/.

A+100%

Bypass

Pass - The page contains a heading, skip link, or landmark region

Adding ways to bypass repetitive content lets keyboard users navigate the page more efficiently. https://web.dev/bypass/.

F0%

Color Contrast

Fail - Background and foreground colors do not have a sufficient contrast ratio.

Low-contrast text is difficult or impossible for many users to read. https://web.dev/color-contrast/.

Table
Failing Elements
{type}
node
{selector}
#text-2 > .title
{path}
1,HTML,1,BODY,0,DIV,1,DIV,1,FOOTER,0,DIV,0,DIV,0,DIV,0,DIV,0,H3
{snippet}
<h3 class="title">Share This URL</h3>
{explanation}
Fix any of the following: Element has insufficient color contrast of 1.25 (foreground color: #333333, background color: #222222, font size: 20.3pt, font weight: normal). Expected contrast ratio of 3:1
{nodeLabel}
Share This URL
{type}
node
{selector}
#nav_menu-3 > .title
{path}
1,HTML,1,BODY,0,DIV,1,DIV,1,FOOTER,0,DIV,0,DIV,0,DIV,1,DIV,0,H3
{snippet}
<h3 class="title">Other Information</h3>
{explanation}
Fix any of the following: Element has insufficient color contrast of 1.25 (foreground color: #333333, background color: #222222, font size: 20.3pt, font weight: normal). Expected contrast ratio of 3:1
{nodeLabel}
Other Information

Definition List

`<dl>`'s contain only properly-ordered `<dt>` and `<dd>` groups, `<script>` or `<template>` elements.

When definition lists are not properly marked up, screen readers may produce confusing or inaccurate output. https://web.dev/definition-list/.

Dlitem

Definition list items are wrapped in `<dl>` elements

Definition list items `<dt>` and `<dd>` must be wrapped in a parent `<dl>` element to ensure that screen readers can properly announce them. https://web.dev/dlitem/.

F0%

Duplicate Id

Fail - `[id]` attributes on the page are not unique

The value of an id attribute must be unique to prevent other instances from being overlooked by assistive technologies. https://web.dev/duplicate-id/.

Table
Failing Elements
{type}
node
{selector}
#top-menu > .menu-item-8024.menu-item.menu-item-type-post_type
{path}
1,HTML,1,BODY,0,DIV,0,HEADER,0,DIV,1,DIV,0,NAV,0,UL,0,LI
{snippet}
<li id="menu-item-8024" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-8024"><a href="https://www.greyhoundlife.org/support/">Support</a></li>
{explanation}
Fix any of the following: Document has multiple static elements with the same id attribute
{nodeLabel}
Support
{type}
node
{selector}
#top-menu > .menu-item-8025.menu-item.menu-item-type-post_type
{path}
1,HTML,1,BODY,0,DIV,0,HEADER,0,DIV,1,DIV,0,NAV,0,UL,1,LI
{snippet}
<li id="menu-item-8025" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-8025"><a href="https://www.greyhoundlife.org/learn-about-greyhounds/">Learn</a></li>
{explanation}
Fix any of the following: Document has multiple static elements with the same id attribute
{nodeLabel}
Learn
{type}
node
{selector}
#top-menu > .menu-item-8026.menu-item.menu-item-type-post_type
{path}
1,HTML,1,BODY,0,DIV,0,HEADER,0,DIV,1,DIV,0,NAV,0,UL,2,LI
{snippet}
<li id="menu-item-8026" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-8026"><a href="https://www.greyhoundlife.org/about/">About</a></li>
{explanation}
Fix any of the following: Document has multiple static elements with the same id attribute
{nodeLabel}
About
{type}
node
{selector}
#top-menu > .menu-item-8027.menu-item.menu-item-type-post_type
{path}
1,HTML,1,BODY,0,DIV,0,HEADER,0,DIV,1,DIV,0,NAV,0,UL,3,LI
{snippet}
<li id="menu-item-8027" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-8027"><a href="https://www.greyhoundlife.org/contact/">Contact</a></li>
{explanation}
Fix any of the following: Document has multiple static elements with the same id attribute
{nodeLabel}
Contact
{type}
node
{selector}
#top-menu > .menu-item-8028.menu-item.menu-item-type-post_type
{path}
1,HTML,1,BODY,0,DIV,0,HEADER,0,DIV,1,DIV,0,NAV,0,UL,4,LI
{snippet}
<li id="menu-item-8028" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-8028"><a href="https://www.greyhoundlife.org/blog/">News</a></li>
{explanation}
Fix any of the following: Document has multiple static elements with the same id attribute
{nodeLabel}
News
{type}
node
{selector}
#top-menu > .menu-give.menu-item-8029.menu-item
{path}
1,HTML,1,BODY,0,DIV,0,HEADER,0,DIV,1,DIV,0,NAV,0,UL,5,LI
{snippet}
<li id="menu-item-8029" class="menu-give menu-item menu-item-type-post_type menu-item-object-page menu-item-8029"><a href="https://www.greyhoundlife.org/support/donate-greyhound-life/">Donate</a></li>
{explanation}
Fix any of the following: Document has multiple static elements with the same id attribute
{nodeLabel}
Donate

Frame Title

`<frame>` or `<iframe>` elements have a title

Screen reader users rely on frame titles to describe the contents of frames. https://web.dev/frame-title/.

A+100%

Html Has Lang

Pass - `<html>` element has a `[lang]` attribute

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. https://web.dev/html-has-lang/.

A+100%

Html Lang Valid

Pass - `<html>` element has a valid value for its `[lang]` attribute

Specifying a valid [BCP 47 language]https://www.w3.org/International/questions/qa-choosing-language-tags#question helps screen readers announce text properly. https://web.dev/html-lang-valid/.

Input Image Alt

`<input type="image">` elements have `[alt]` text

When an image is being used as an `<input>` button, providing alternative text can help screen reader users understand the purpose of the button. https://web.dev/input-image-alt/.

A+100%

Label

Pass - Form elements have associated labels

Labels ensure that form controls are announced properly by assistive technologies, like screen readers. https://web.dev/label/.

Layout Table

Presentational `<table>` elements avoid using `<th>`, `<caption>` or the `[summary]` attribute.

A table being used for layout purposes should not include data elements, such as the th or caption elements or the summary attribute, because this can create a confusing experience for screen reader users. https://web.dev/layout-table/.

F0%

Link Name

Fail - Links do not have a discernible name

Link text and alternate text for images, when used as links that is discernible, unique, and focusable improves the navigation experience for screen reader users. https://web.dev/link-name/.

Table
Failing Elements
{type}
node
{selector}
.et-social-facebook.et-social-icon > .icon
{path}
1,HTML,1,BODY,0,DIV,1,DIV,1,FOOTER,1,DIV,0,DIV,0,UL,0,LI,0,A
{snippet}
<a href="https://www.facebook.com/incgreyhound/" class="icon"> <span>Facebook</span> </a>
{explanation}
Fix all of the following: Element is in tab order and does not have accessible text Fix any of the following: Element does not have text that is visible to screen readers aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element's default semantics were not overridden with role="presentation" Element's default semantics were not overridden with role="none"
{nodeLabel}
a
{type}
node
{selector}
.et-social-twitter.et-social-icon > .icon
{path}
1,HTML,1,BODY,0,DIV,1,DIV,1,FOOTER,1,DIV,0,DIV,0,UL,1,LI,0,A
{snippet}
<a href="https://twitter.com/incgreyhound/" class="icon"> <span>Twitter</span> </a>
{explanation}
Fix all of the following: Element is in tab order and does not have accessible text Fix any of the following: Element does not have text that is visible to screen readers aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element's default semantics were not overridden with role="presentation" Element's default semantics were not overridden with role="none"
{nodeLabel}
a
{type}
node
{selector}
.et-social-google-plus > .icon
{path}
1,HTML,1,BODY,0,DIV,1,DIV,1,FOOTER,1,DIV,0,DIV,0,UL,2,LI,0,A
{snippet}
<a href="https://instagram.com/incgreyhound/" class="icon"> <span>Google</span> </a>
{explanation}
Fix all of the following: Element is in tab order and does not have accessible text Fix any of the following: Element does not have text that is visible to screen readers aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element's default semantics were not overridden with role="presentation" Element's default semantics were not overridden with role="none"
{nodeLabel}
a
{type}
node
{selector}
.et-social-rss > .icon
{path}
1,HTML,1,BODY,0,DIV,1,DIV,1,FOOTER,1,DIV,0,DIV,0,UL,3,LI,0,A
{snippet}
<a href="https://www.pinterest.com/incgreyhound/" class="icon"> <span>RSS</span> </a>
{explanation}
Fix all of the following: Element is in tab order and does not have accessible text Fix any of the following: Element does not have text that is visible to screen readers aria-label attribute does not exist or is empty aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty Element's default semantics were not overridden with role="presentation" Element's default semantics were not overridden with role="none"
{nodeLabel}
a
A+100%

List

Pass - Lists contain only `<li>` elements and script supporting elements (`<script>` and `<template>`).

Screen readers have a specific way of announcing lists. Ensuring proper list structure aids screen reader output. https://web.dev/list/.

A+100%

Listitem

Pass - List items (`<li>`) are contained within `<ul>` or `<ol>` parent elements

Screen readers require list items `<li>` to be contained within a parent `<ul>` or `<ol>` to be announced properly. https://web.dev/listitem/.

Meta Refresh

The document does not use `<meta http-equiv="refresh">`

Users do not expect a page to refresh automatically, and doing so will move focus back to the top of the page. This may create a frustrating or confusing experience. https://web.dev/meta-refresh/.

A+100%

Meta Viewport

Pass - `[user-scalable="no"]` is not used in the `<meta name="viewport">` element and the `[maximum-scale]` attribute is not less than 5.

Disabling zooming is problematic for users with low vision who rely on screen magnification to properly see the contents of a web page. https://web.dev/meta-viewport/.

Object Alt

`<object>` elements have `[alt]` text

Screen readers cannot translate non-text content. Adding alt text to `<object>` elements helps screen readers convey meaning to users. https://web.dev/object-alt/.

Tabindex

No element has a `[tabindex]` value greater than 0

A value greater than 0 implies an explicit navigation ordering. Although technically valid, this often creates frustrating experiences for users who rely on assistive technologies. https://web.dev/tabindex/.

Td Headers Attr

Cells in a `<table>` element that use the `[headers]` attribute refer to table cells within the same table.

Screen readers have features to make navigating tables easier. Ensuring `<td>` cells using the `[headers]` attribute only refer to other cells in the same table may improve the experience for screen reader users. https://web.dev/td-headers-attr/.

Th Has Data Cells

`<th>` elements and elements with `[role="columnheader"/"rowheader"]` have data cells they describe.

Screen readers have features to make navigating tables easier. Ensuring table headers always refer to some set of cells may improve the experience for screen reader users. https://web.dev/th-has-data-cells/.

Valid Lang

`[lang]` attributes have a valid value

Specifying a valid [BCP 47 language]https://www.w3.org/International/questions/qa-choosing-language-tags#question on elements helps ensure that text is pronounced correctly by a screen reader. https://web.dev/valid-lang/.

Video Caption

`<video>` elements contain a `<track>` element with `[kind="captions"]`

When a video provides a caption it is easier for deaf and hearing impaired users to access its information. https://web.dev/video-caption/.

Video Description

`<video>` elements contain a `<track>` element with `[kind="description"]`

Audio descriptions provide relevant information for videos that dialogue cannot, such as facial expressions and scenes. https://web.dev/video-description/.

Custom Controls Labels

Custom controls have associated labels

Custom interactive controls have associated labels, provided by aria-label or aria-labelledby. https://web.dev/custom-controls-labels/.

Custom Controls Roles

Custom controls have ARIA roles

Custom interactive controls have appropriate ARIA roles. https://web.dev/custom-control-roles/.

Focus Traps

User focus is not accidentally trapped in a region

A user can tab into and out of any control or region without accidentally trapping their focus. https://web.dev/focus-traps/.

Focusable Controls

Interactive controls are keyboard focusable

Custom interactive controls are keyboard focusable and display a focus indicator. https://web.dev/focusable-controls/.

Heading Levels

Headings don't skip levels

Headings are used to create an outline for the page and heading levels are not skipped. https://web.dev/heading-levels/.

Interactive Element Affordance

Interactive elements indicate their purpose and state

Interactive elements, such as links and buttons, should indicate their state and be distinguishable from non-interactive elements. https://web.dev/interactive-element-affordance/.

Logical Tab Order

The page has a logical tab order

Tabbing through the page follows the visual layout. Users cannot focus elements that are offscreen. https://web.dev/logical-tab-order/.

Managed Focus

The user's focus is directed to new content added to the page

If new content, such as a dialog, is added to the page, the user's focus is directed to it. https://web.dev/managed-focus/.

Offscreen Content Hidden

Offscreen content is hidden from assistive technology

Offscreen content is hidden with display: none or aria-hidden=true. https://web.dev/offscreen-content-hidden/.

Use Landmarks

HTML5 landmark elements are used to improve navigation

Landmark elements <main>, <nav>, etc. are used to improve the keyboard navigation of the page for assistive technology. https://web.dev/use-landmarks/.

Visual Order Follows Dom

Visual order on the page follows DOM order

DOM order matches the visual order, improving navigation for assistive technology. https://web.dev/visual-order-follows-dom/.

Detailed Best Practices Data - 79%

A+100%

Is On Https

Pass - Uses HTTPS

All sites should be protected with HTTPS, even ones that don't handle sensitive data. HTTPS prevents intruders from tampering with or passively listening in on the communications between your app and your users, and is a prerequisite for HTTP/2 and many new web platform APIs. https://web.dev/is-on-https.

F0%

Errors In Console

Fail - Browser errors were logged to the console

Errors logged to the console indicate unresolved problems. They can come from network request failures and other browser concerns. https://web.dev/errors-in-console

Table
URL
Description
https://www.googletagmanager.com/gtag/js?id=UA-125027787-1
Failed to load resource: net::ERR_CERT_AUTHORITY_INVALID
https://www.greyhoundlife.org/wp-content/themes/greyhound-life/etmodules.css
Failed to load resource: the server responded with a status of 404 ()
https://www.greyhoundlife.org/wp-content/themes/greyhound-life/js/moongear-tweaks.js
Failed to load resource: the server responded with a status of 404 ()
A+100%

Image Aspect Ratio

Pass - Displays images with correct aspect ratio

Image display dimensions should match natural aspect ratio. https://web.dev/image-aspect-ratio.

A+100%

Deprecations

Pass - Avoids deprecated APIs

Deprecated APIs will eventually be removed from the browser. https://web.dev/deprecations.

A+100%

Appcache Manifest

Pass - Avoids Application Cache

Application Cache is deprecated. https://web.dev/appcache-manifest.

A+100%

Doctype

Pass - Page has the HTML doctype

Specifying a doctype prevents the browser from switching to quirks-mode. https://web.dev/doctype.

F0%

External Anchors Use Rel Noopener

Fail - Links to cross-origin destinations are unsafe

Add `rel="noopener"` or `rel="noreferrer"` to any external links to improve performance and prevent security vulnerabilities. https://web.dev/external-anchors-use-rel-noopener.

Table
URL
Target
Rel
https://www.facebook.com/incgreyhound/
_blank
-
https://twitter.com/IncGreyhound
_blank
-
https://www.instagram.com/incgreyhound/
_blank
-
https://www.pinterest.com/incgreyhound/
_blank
-
A+100%

Geolocation On Start

Pass - Avoids requesting the geolocation permission on page load

Users are mistrustful of or confused by sites that request their location without context. Consider tying the request to a user action instead. https://web.dev/geolocation-on-start.

A+100%

No Document Write

Pass - Avoids `document.write()`

For users on slow connections, external scripts dynamically injected via `document.write` can delay page load by tens of seconds. https://web.dev/no-document-write.

A+100%

No Vulnerable Libraries

Pass - Avoids front-end JavaScript libraries with known security vulnerabilities

Some third-party scripts may contain known security vulnerabilities that are easily identified and exploited by attackers. https://web.dev/no-vulnerable-libraries.

A+100%

Js Libraries

Pass - Detected JavaScript libraries

All front-end JavaScript libraries detected on the page. https://web.dev/js-libraries.

Table
Name
Version
jQuery
3.5.1
jQuery (Fast path)
-
Underscore
1.8.3
jQuery Mobile
-
WordPress
5.4.2
A+100%

Notification On Start

Pass - Avoids requesting the notification permission on page load

Users are mistrustful of or confused by sites that request to send notifications without context. Consider tying the request to user gestures instead. https://web.dev/notification-on-start.

A+100%

Password Inputs Can Be Pasted Into

Pass - Allows users to paste into password fields

Preventing password pasting undermines good security policy. https://web.dev/password-inputs-can-be-pasted-into.

A+100%

Uses Http2

Pass - Uses HTTP/2 for its own resources

HTTP/2 offers many benefits over HTTP/1.1, including binary headers, multiplexing, and server push. https://web.dev/uses-http2.

F0%

Uses Passive Event Listeners

Fail - Does not use passive listeners to improve scrolling performance

Consider marking your touch and wheel event listeners as `passive` to improve your page's scroll performance. https://web.dev/uses-passive-event-listeners.

Table
URL
Location
https://www.greyhoundlife.org/wp-content/plugins/moongear-global-functions/js/jquery-3.5.1.min.js
line: 1

Detailed SEO Data - 92%

A+100%

Viewport

Pass - Has a `<meta name="viewport">` tag with `width` or `initial-scale`

Add a `<meta name="viewport">` tag to optimize your app for mobile screens. https://web.dev/viewport.

A+100%

Document Title

Pass - Document has a `<title>` element

The title gives screen reader users an overview of the page, and search engine users rely on it heavily to determine if a page is relevant to their search. https://web.dev/document-title/.

A+100%

Image Alt

Pass - Image elements have `[alt]` attributes

Informative elements should aim for short, descriptive alternate text. Decorative elements can be ignored with an empty alt attribute. https://web.dev/image-alt/.

F0%

Meta Description

Fail - Document does not have a meta description

Meta descriptions may be included in search results to concisely summarize page content. https://web.dev/meta-description.

A+100%

Http Status Code

Pass - Page has successful HTTP status code

Pages with unsuccessful HTTP status codes may not be indexed properly. https://web.dev/http-status-code.

A+100%

Font Size

Pass - Document uses legible font sizes 98.56% legible text

Font sizes less than 12px are too small to be legible and require mobile visitors to “pinch to zoom” in order to read. Strive to have >60% of page text ≥12px. https://web.dev/font-size.

Table
Source
Selector
% of Page Text
Font Size
https://www.greyhoundlife.org/wp-content/litespeed/cssjs/69716.css:1:90340
a, abbr, acronym, address, applet, b, big, blockquote, body, center, cite, code, dd, del, dfn, div, dl, dt, em, fieldset, font, form, h1, h2, h3, h4, h5, h6, html, i, iframe, img, ins, kbd, label, legend, li, object, ol, p, pre, q, s, samp, small, span, strike, strong, sub, sup, tt, u, ul, var
0.96%
0px
https://www.greyhoundlife.org/wp-content/litespeed/cssjs/69716.css:1:847941
.et-pb-arrow-next span, .et-pb-arrow-prev span
0.48%
0px
Legible text
-
98.56%
≥ 12px
A+100%

Link Text

Pass - Links have descriptive text

Descriptive link text helps search engines understand your content. https://web.dev/link-text.

A+100%

Is Crawlable

Pass - Page isn’t blocked from indexing

Search engines are unable to include your pages in search results if they don't have permission to crawl them. https://web.dev/is-crawable.

A+100%

Robots Txt

Pass - robots.txt is valid

If your robots.txt file is malformed, crawlers may not be able to understand how you want your website to be crawled or indexed. https://web.dev/robots-txt.

A+100%

Tap Targets

Pass - Tap targets are sized appropriately 100% appropriately sized tap targets

Interactive elements like buttons and links should be large enough 48x48px, and have enough space around them, to be easy enough to tap without overlapping onto other elements. https://web.dev/tap-targets.

A+100%

Hreflang

Pass - Document has a valid `hreflang`

hreflang links tell search engines what version of a page they should list in search results for a given language or region. https://web.dev/hreflang.

A+100%

Plugins

Pass - Document avoids plugins

Search engines can't index plugin content, and many devices restrict plugins or don't support them. https://web.dev/plugins.

A+100%

Canonical

Pass - Document has a valid `rel=canonical`

Canonical links suggest which URL to show in search results. https://web.dev/canonical.

Structured Data

Structured data is valid

Run the [Structured Data Testing Tool]https://search.google.com/structured-data/testing-tool/ and the [Structured Data Linter]http://linter.structured-data.org/ to validate structured data. https://web.dev/structured-data.

How is this score calculated?

This score is calculated using Lighthouse testing. Lighthouse testing is a developer tool that is provided by Google. There are 4 SEO impacting metrics included in this test. The total score listed above is the average of 4 these metrics. The formula is the sum of the 4 scores divided by 4. While the individual calculations that make up the total of each of the four scores are weighted accordingly, the total score does not necessarily reflect a weighted calculation. This means that in real world scenarios the 'actual' total score may not be the same as what is displayed above. However, each is still a genuine opportunity for improvement when individual scores fall below 100 and because we know that a perfect score of 100 is reliably achievable in all but the 'Performance' metric, Performance is the only metric that will significantly impact the total score of www.greyhoundlife.org once all other optimizations are completed.

If you provided a URL with a specific internal page (e.g. https://www.example.com/some-page/), you have probably noticed that only the base URL was tested. For more detailed testing of individual pages within www.greyhoundlife.org, please contact us.

You can also view a prettier version of this specific report including the runtime emulation that was used by clicking here.

What next?

There are many other tests that should be checked manually. SEO is important and these as well as other metrics can really make a difference when attention to detail is given to keep these scores high. Regular testing should be performed so that new opportunities can be revealed and action can be taken. These results do not represent every opportunity for improved SEO.

If you have any questions about these results and would like to know how you can run these tests on your own and get more detailed information, please contact us for a No Obligation Strategic Talk. If you would like to view the detail of these results click here.