opp.ca

opp.ca is SSL secured

Free website and domain report on opp.ca

Last Updated: 20th July, 2020 Update Now
Overview

Snoop Summary for opp.ca

This is a free and comprehensive report about opp.ca. Opp.ca is hosted in Ashburn, Virginia in United States on a server with an IP address of 54.209.250.244, where the local currency is USD and English is the local language. Opp.ca has the potential to be earning an estimated $4 USD per day from advertising revenue. If opp.ca was to be sold it would possibly be worth $2,838 USD (based on the daily revenue potential of the website over a 24 month period). Opp.ca is quite popular with an estimated 1,359 daily unique visitors. This report was last updated 20th July, 2020.

About opp.ca

Site Preview: opp.ca opp.ca
Title: Ontario Provincial Police
Description: The Ontario Provincial Police is one of North America's largest deployed police services. We provide essential services that ensure the safety and security of the people of the Province of Ontario.
Keywords and Tags: government, military
Related Terms: destination burlington ontario, islamabad police, islamabad police character certificate, northern ontario, ontario canada, police activity near me, police cantonale bernoise, police pursuit, up police 2013 revised result, wadifa maroc police
Fav Icon:
Age:
Domain Created:
Domain Updated:
Domain Expires:
Review

Snoop Score

2/5

Valuation

$2,838 USD
Note: All valuation figures are estimates.

Popularity

Modest
Note: Popularity is estimated.

Rank, Reach and Authority

Alexa Rank: 624,566
Alexa Reach:
SEMrush Rank (US):
SEMrush Authority Score:
Moz Domain Authority: 0
Moz Page Authority: 0

Organic vs Paid (Google Ads)

Traffic

Visitors

Daily Visitors: 1,359
Monthly Visitors: 41,376
Yearly Visitors: 496,187
Note: All visitors figures are estimates.

Visitors By Country

Revenue

Revenue

Daily Revenue: $4 USD
Monthly Revenue: $118 USD
Yearly Revenue: $1,414 USD
Note: All revenue figures are estimates.

Revenue By Country

SEO

Backlinks Analysis (SEMrush)

Top New Follow Links

Top Ranking Keywords (US)

Domain Analysis

Value Length
Domain: opp.ca 6
Domain Name: opp 3
Extension (TLD): ca 2

Page Speed Analysis

Average Load Time: 0.44 seconds
Load Time Comparison: Faster than 97% of sites

PageSpeed Insights

Avg. (All Categories) 62
Performance 42
Accessibility 76
Best Practices 77
SEO 100
Progressive Web App 15
0–49 (Fail) 50–89 (Average) 90–100 (Pass)
URL: http://opp.ca/
Updated: 20th July, 2020

4.21 seconds
First Contentful Paint (FCP)
15%
48%
37%

0.01 seconds
First Input Delay (FID)
99%
1%
0%

Simulate loading on desktop
42

Performance

Indicates how well the page is performing and highlights opportunities where performance may be improved for opp.ca. This includes details about optimizing page load times which can result in a better user experience.

Metrics

Total Blocking Time — 120 ms
The total blocking time is the sum of all time periods between First Contentful Paint and Time to Interactive (when task length exceeded 50ms).
Cumulative Layout Shift — 0.004
Cumulative Layout Shift is the measurement of visible elements collective movement within the viewport.
View Data

Other

Estimated Input Latency — 10 ms
The time taken for the page to respond to user input (during the busiest 5 second window of page load). Users are likely to perceive opp.ca as laggy when the latency is higher than 0.05 seconds.
Network Requests
Below is a list of network requests that were made during page load.
URL Start Time (Ms) End Time (Ms) Transfer Size (Bytes) Resource Size (Bytes) Status Code MIME Type Resource Type
http://opp.ca/
0
62.282999977469
8652
32806
200
text/html
Document
http://opp.ca/js/angular/angular-material.css
75.608999934047
233.62000007182
431983
431732
200
text/css
Stylesheet
http://opp.ca/css/fontawesome-all.min.css
75.777000049129
153.03599997424
34141
33892
200
text/css
Stylesheet
http://opp.ca/css/opp.css
75.900000054389
155.26399994269
169137
168886
200
text/css
Stylesheet
http://opp.ca/templates/home/tingle.min.css
76.092999894172
131.72699999996
6104
5856
200
text/css
Stylesheet
http://opp.ca/ddp/ddp.js
76.370999915525
165.29099992476
176287
176022
200
application/javascript
Script
http://opp.ca/ddp/ddp.ajax.js
76.811000006273
164.24699989147
54562
54299
200
application/javascript
Script
http://opp.ca/js/angular/angular.min.js
76.999000040814
172.97399998643
159496
159231
200
application/javascript
Script
http://opp.ca/js/angular/angular-animate.min.js
77.295999974012
147.83399994485
25969
25706
200
application/javascript
Script
http://opp.ca/js/angular/angular-aria.min.js
77.538999961689
147.2889999859
4199
3938
200
application/javascript
Script
http://opp.ca/js/angular/angular-material.js
77.673000050709
236.22100008652
1107059
1106792
200
application/javascript
Script
http://opp.ca/modules/home/home-app.js
77.798000071198
109.56900008023
314
56
200
application/javascript
Script
http://opp.ca/modules/home/home-controllers.js
78.060999978334
108.70900005102
328
70
200
application/javascript
Script
http://opp.ca/templates/home/js/news.js
78.262999886647
108.34700008854
3486
3225
200
application/javascript
Script
http://opp.ca/js/moment.min.js
78.379000071436
152.54999999888
53587
53324
200
application/javascript
Script
http://opp.ca/templates/home/js/tingle.min.js
78.591000055894
132.74100003764
7519
7257
200
application/javascript
Script
http://opp.ca/templates/home/js/modal.js
78.854999970645
132.11299991235
3843
3582
200
application/javascript
Script
http://opp.ca/css/main.css
78.98800005205
133.10800003819
10145
9897
200
text/css
Stylesheet
http://opp.ca/ddp/_ddp.configuration.js
79.110000049695
133.998000063
782
522
200
application/javascript
Script
http://opp.ca/ddp/ddp.gui.js
79.268000088632
137.26099999622
53887
53624
200
application/javascript
Script
http://opp.ca/ddp/ddp.fx.js
79.43299994804
111.46000004373
37040
36777
200
application/javascript
Script
http://opp.ca/ddp/ddp.forms.js
79.866999993101
131.25000009313
11114
10851
200
application/javascript
Script
http://opp.ca/js/exeditor.js
79.975999891758
151.94000001065
58196
57933
200
application/javascript
Script
http://opp.ca/js/display.js
80.072999931872
111.02199996822
12165
11902
200
application/javascript
Script
http://opp.ca/templates/images/mainlogo-k.svg
392.95400003903
431.83599994518
17394
17140
200
image/svg+xml
Image
http://opp.ca/templates/images/flash.svg
393.1529999245
437.07500002347
6117
5864
200
image/svg+xml
Image
http://opp.ca/templates/images/icons/magnify-k.svg
393.37299996987
437.84500006586
1150
899
200
image/svg+xml
Image
http://opp.ca/templates/images/icons/hamburger-k.svg
393.55699997395
438.9309999533
856
605
200
image/svg+xml
Image
http://opp.ca/templates/images/icons/magnify.svg
393.8049999997
439.531999873
1150
899
200
image/svg+xml
Image
http://opp.ca/templates/images/mainlogo.svg
393.97299988195
436.68000004254
17218
16964
200
image/svg+xml
Image
http://opp.ca/templates/images/magnify-k.svg
394.20900004916
434.6539999824
1150
899
200
image/svg+xml
Image
http://opp.ca/templates/images/close-k.svg
394.32199997827
438.6340000201
1117
866
200
image/svg+xml
Image
http://opp.ca/templates/home/images/amber-alert-logo-en.jpg
394.46799992584
452.48600002378
39261
39010
200
image/jpeg
Image
http://opp.ca/templates/images/icons/32-facebook.png
394.81500000693
435.82100002095
516
269
200
image/png
Image
http://opp.ca/templates/images/icons/32-twitter.png
395.1099999249
438.28499992378
709
462
200
image/png
Image
http://opp.ca/templates/images/icons/32-instagram.png
395.41899994947
432.91299999692
626
379
200
image/png
Image
http://opp.ca/templates/images/icons/32-youtube.png
395.77000006102
436.19899987243
597
350
200
image/png
Image
http://opp.ca/js/jquery-3.2.1.min.js
238.55099990033
284.65899988078
86927
86663
200
application/javascript
Script
http://opp.ca/js/wow.min.js
285.59200000018
330.52000007592
8688
8426
200
application/javascript
Script
http://opp.ca/js/generalFunctions.js
392.78799993917
409.2880000826
13704
13441
200
application/javascript
Script
http://opp.ca/css/print.css
395.90799994767
435.1359999273
1495
1248
200
text/css
Stylesheet
http://opp.ca/ddp/ddp.gui.css
386.32400007918
401.56099991873
4270
4023
200
text/css
Stylesheet
http://www.google-analytics.com/analytics.js
472.18200005591
476.1250000447
18882
45958
200
text/javascript
Script
http://opp.ca/components/tms/tmsentryredirect.php?43ysgzp39
703.63199990243
730.39399995469
238
4
200
text/html
XHR
http://opp.ca/templates/home/images/fader1-large.jpg
744.65300003067
838.1099998951
234157
233904
200
image/jpeg
Image
http://opp.ca/templates/home/images/fader2-large.jpg
745.03599992022
832.14499987662
142744
142491
200
image/jpeg
Image
http://opp.ca/templates/home/images/fader3-large.jpg
745.33799989149
841.25999989919
358119
357866
200
image/jpeg
Image
http://opp.ca/templates/home/images/fader4-large.jpg
746.34599988349
835.25200001895
157484
157231
200
image/jpeg
Image
http://opp.ca/templates/home/images/fader5-large.jpg
746.58600008115
843.42100005597
369199
368946
200
image/jpeg
Image
http://opp.ca/templates/home/images/fader6-large.jpg
746.91200000234
839.20500008389
212939
212686
200
image/jpeg
Image
http://opp.ca/fonts/OpenSans-Regular-webfont.ttf
750.40800007991
837.10699994117
164299
164032
200
application/octet-stream
Font
http://opp.ca/css/opp.css
753.60900000669
863.85799990967
169137
65536
200
text/css
Image
http://opp.ca/templates/home/images/home-playground.jpg
754.74300002679
784.4960000366
124537
124284
200
image/jpeg
Image
http://opp.ca/templates/home/images/home-contact.jpg
755.41600002907
799.36000006273
148626
148373
200
image/jpeg
Image
http://opp.ca/templates/home/images/home-violence.jpg
756.5309999045
834.24300001934
121756
121503
200
image/jpeg
Image
http://opp.ca/templates/home/images/home-scam.jpg
756.96299993433
836.15299989469
161987
161734
200
image/jpeg
Image
http://opp.ca/templates/home/images/home-who.jpg
757.6949999202
801.4559999574
139594
139341
200
image/jpeg
Image
http://opp.ca/templates/home/images/home-what.jpg
758.43699998222
800.79900007695
82948
82696
200
image/jpeg
Image
http://opp.ca/templates/home/images/home-careers.jpg
758.9109998662
833.3669998683
158179
157926
200
image/jpeg
Image
http://opp.ca/fonts/OpenSans-Bold-webfont.ttf
761.06499996968
842.27999998257
166455
166188
200
application/octet-stream
Font
http://opp.ca/fonts/OpenSans-Light-webfont.ttf
761.92199997604
781.09399997629
160043
159776
200
application/octet-stream
Font
http://opp.ca/webfonts/fa-regular-400.woff2
762.45000003837
793.33500005305
12493
12228
200
application/octet-stream
Font
http://www.google-analytics.com/collect?v=1&_v=j83&a=1909501436&t=pageview&_s=1&dl=http%3A%2F%2Fopp.ca%2F&ul=en-us&de=UTF-8&dt=Ontario%20Provincial%20Police&sd=24-bit&sr=800x600&vp=1350x940&je=0&_u=IGBAgEAB~&jid=738913569&gjid=1050953926&cid=1275123500.1595264314&tid=UA-11344232-6&_gid=1134872882.1595264314&z=1946779640
849.72400008701
852.77700005099
387
35
200
image/gif
Image
https://stats.g.doubleclick.net/r/collect?t=dc&aip=1&_r=3&v=1&_v=j83&tid=UA-11344232-6&cid=1275123500.1595264314&jid=738913569&gjid=1050953926&_gid=1134872882.1595264314&_u=IGBAgEAB~&z=420810007
850.12699989602
867.12699988857
797
0
302
text/html
https://www.google.com/ads/ga-audiences?v=1&aip=1&t=sr&_r=4&tid=UA-11344232-6&cid=1275123500.1595264314&jid=738913569&_v=j83&z=420810007
867.37799993716
874.72700001672
689
42
200
image/gif
Image
http://opp.ca/js/rangy-core.js
1001.8009999767
1017.8389998619
46135
45872
200
application/javascript
Script
http://opp.ca/js/htmlparser.js
1002.3099998944
1030.2800000645
8867
8605
200
application/javascript
Script
http://opp.ca/xhr_article.php?wgua7gb1u
1003.9500000421
1030.8389998972
621
503
200
text/html
XHR
https://www.opp.ca/protonapi/entry/list/?1hqhwiardu
1052.6600000449
1141.025000019
1387
1659
200
text/html
XHR
https://www.opp.ca/protonapi/files/5efb4e22241f6e43cf153983
1145.8660000935
1236.1520000268
38183
37737
200
image/jpeg
Image
http://opp.ca/webfonts/fa-solid-900.woff2
1180.0760000478
1196.3049999904
37037
36772
200
application/octet-stream
Font
https://www.opp.ca/protonapi/files/5efb4e22241f6e43cf153983
1267.6490000449
1301.0269999504
38125
37737
200
image/jpeg
Image
http://opp.ca/js/rangy-textrange.js
1304.2899998836
1321.5949998703
21330
21067
200
application/javascript
Script
Network Round Trip Times — 0 ms
High Network RTT (Round Trip Times) can have a large impact on performance. Providing servers geographically closer to the user could improve performance.
Server Backend Latencies — 0 ms
High server latencies indicate the server is overloaded or has a poor backend performance.
Tasks
Below is a list of the top-level main thread tasks that executed during page load.
Start Time (Ms) End Time (Ms)
88.949
7.008
98.717
7.22
181.065
6.766
259.589
16.919
280.007
27.89
308.352
111.991
420.36
7.633
428.941
25.768
458.09
5.791
469.546
231.955
727.443
31.026
765.233
37.266
804.123
5.627
815.761
57.916
891.315
7.472
911.69
14.372
929.14
45.456
974.674
5.37
982.671
9.238
992.384
7.826
1004.831
72.068
1077.412
7.365
1089.728
19.956
1202.146
7.404
1255.544
11.819
1289.607
11.194
Diagnostics
Below is a collection of useful page vitals.
View Data
Metrics
Below is a collection of metrics.
View Data

Opportunities

Properly size images
Images can slow down the page's load time. Opp.ca should consider serving more appropriate-sized images.
Defer offscreen images
Time to Interactive can be slowed down by resources on the page. Opp.ca should consider lazy-loading offscreen and hidden images.
Efficiently encode images
Unoptimized images can consume more cellular data than what is necessary.
Serve images in next-gen formats
Image formats like PNG and JPEG have poor compression when compared to other next-gen formats, such as JPEG 200, JPEG XR and WebP.
Preconnect to required origins
Resource hints, such as 'preconnect' or 'dns-prefetch', may assist in establishing early connections to important third-party origins.
Initial server response time was short — Root document took 60 ms
It is advised to keep the server response time short for the main document, because all other requests depend on it.
Avoid multiple page redirects
Redirects can cause additional delays before the page can begin loading. Opp.ca should avoid multiple or unnecessary page redirects.
Use video formats for animated content
Large GIFs are inefficient for delivering animated content. It is recommended to use MPEG4/WebM videos for animations and PNG/WebP for static images instead of GIF.

Diagnostics

Avoids an excessive DOM size — 383 elements
A large DOM (Document Object Model) will increase memory usage, cause longer system calculations as well as costly layout reflows.
Statistic Element Value
Total DOM Elements
383
Maximum DOM Depth
9
Maximum Child Elements
24
Avoid chaining critical requests — 29 chains found
Below is a list of Critical Request Chains, which shows which resources are loaded with a high priority. Opp.ca should consider reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load.
User Timing marks and measures
Make use of the User Timing API to measure an app's real-world performance during key user experiences.
JavaScript execution time — 0.4 s
JavaScript (JS) execution time can be lowered by reducing the time required for parsing, compiling and executing JS. Delivering smaller JS payloads may help with this.
URL Total CPU Time (Ms) Script Evaluation (Ms) Script Parse (Ms)
http://opp.ca/js/angular/angular.min.js
196.769
193.249
3.425
http://opp.ca/js/jquery-3.2.1.min.js
173.896
74.45
1.883
http://opp.ca/
155.706
8.625
1.191
Unattributable
132.448
1.439
0.183
http://opp.ca/js/angular/angular-material.js
78.64
4.229
23.607
http://opp.ca/ddp/ddp.js
59.341
35.113
11.555
http://www.google-analytics.com/analytics.js
58.15
56.139
1.25
Minimizes main-thread work — 1.0 s
Main-thread work timing can be lowered by reducing the time required for parsing, compiling and executing JS. Delivering smaller JS payloads may help with this.
Category Time Spent (Ms)
Script Evaluation
403.544
Other
217.361
Style & Layout
144.747
Rendering
107.948
Script Parsing & Compilation
60.002
Parse HTML & CSS
43.683
Keep request counts low and transfer sizes small — 73 requests • 5,791 KiB
It is advised to add a budgets.json file in order to set budgets for the quantity and size of page resources.
Resource Type Requests Transfer Size (Bytes)
Total
73
5930314
Image
31
2746651
Script
25
1974366
Stylesheet
7
657275
Font
5
540327
Document
1
8652
Other
4
3043
Media
0
0
Third-party
4
20755
Minimize third-party usage — Third-party code blocked the main thread for 10 ms
It is advised to either limit, remove or delay the loading of redundant third-party code which may be significantly impacting load performance.
Third-Party Transfer Size (Bytes) Main-Thread Blocking Time (Ms)
19269
5.032
797
0
689
0
Largest Contentful Paint element — 1 element found
The element which was identified as the Largest Contentful Paint.
Element
div
Avoid large layout shifts — 5 elements found
Below is a list of all DOM elements that contribute to the CLS of the page.
Element CLS Contribution
0.0026800082537671
0.00037610717100079
0.00036339094966333
0.00016530189815513
7.5137226434148E-5
Uses passive listeners to improve scrolling performance
Improve the page's scroll performance by marking touch and wheel event listeners as 'passive'.
Avoids `document.write()`
Avoid or limit the use of external scripts that are dynamically injected via 'document.write()' as users on slow connections will be delayed by tens of seconds.
Avoid long main-thread tasks — 3 long tasks found
Below is a list of the longest tasks on the main thread, which is useful when identifying the worst input delay contributors.
URL Start Time (Ms) Duration (Ms)
http://opp.ca/js/jquery-3.2.1.min.js
4280
232
http://opp.ca/js/angular/angular-material.js
3920
112
http://www.google-analytics.com/analytics.js
420
58

Budgets

Performance budget
It is advised to keep the quantity and size of all network requests under the targets set by the provided performance budget.
Timing budget
It is advised to set a timing budget to monitor the performance of your site.

Metrics

Time to Interactive — 4.1 s
The time taken for the page to become fully interactive.

Other

First CPU Idle — 3.7 s
The time taken for the page's main thread to be quiet enough to handle input.
Max Potential First Input Delay — 170 ms
Users could experience a delay when interacting with the page.

Opportunities

Minify CSS — Potential savings of 133 KiB
Cascading Style Sheets (CSS) files can contribute to network payload sizes. Opp.ca should consider minifying CSS files.
URL Transfer Size (Bytes) Potential Savings (Bytes)
http://opp.ca/js/angular/angular-material.css
431983
100282
http://opp.ca/css/opp.css
169137
33734
http://opp.ca/templates/home/tingle.min.css
6104
2214
Minify JavaScript — Potential savings of 761 KiB
JavaScript (JS) files can contribute to network payload sizes and increase script parse times. Opp.ca should consider minifying JS files.
URL Transfer Size (Bytes) Potential Savings (Bytes)
http://opp.ca/js/angular/angular-material.js
1107059
577660
http://opp.ca/ddp/ddp.js
176287
86016
http://opp.ca/ddp/ddp.ajax.js
54562
30503
http://opp.ca/js/exeditor.js
58196
27543
http://opp.ca/ddp/ddp.fx.js
37040
17666
http://opp.ca/ddp/ddp.gui.js
53887
16319
http://opp.ca/ddp/ddp.forms.js
11114
6684
http://opp.ca/js/display.js
12165
5871
http://opp.ca/js/generalFunctions.js
13704
4815
http://opp.ca/js/htmlparser.js
8867
3598
http://opp.ca/templates/home/js/modal.js
3843
2166
Preload key requests — Potential savings of 440 ms
Key requests can be preloaded by using '<link rel=preload>'. Opp.ca should consider using '<link rel=preload>' to prioritize fetching resources that are currently requested later in page load.
URL Potential Savings (Ms)
http://opp.ca/fonts/OpenSans-Regular-webfont.ttf
440
http://opp.ca/fonts/OpenSans-Bold-webfont.ttf
410
http://opp.ca/fonts/OpenSans-Light-webfont.ttf
330

Metrics

First Contentful Paint — 3.4 s
The time taken for the first image or text on the page to be rendered.
Speed Index — 3.4 s
The time taken for the page contents to be visibly populated.
Largest Contentful Paint — 6.3 s
The timing of the largest text or image that is painted.

Other

First Meaningful Paint — 3.7 s
The time taken for the primary content of the page to be rendered.

Opportunities

Eliminate render-blocking resources — Potential savings of 3,470 ms
Resources, such as JavaScript and style sheets, can block the first paint of the page. Opp.ca should consider delivering critical JavaScript/style sheets (JS/CSS) inline and deferring all non-critical JS/CSS.
URL Transfer Size (Bytes) Potential Savings (Ms)
http://opp.ca/js/angular/angular-material.css
431983
1750
http://opp.ca/css/fontawesome-all.min.css
34141
270
http://opp.ca/css/opp.css
169137
1030
http://opp.ca/templates/home/tingle.min.css
6104
110
http://opp.ca/ddp/ddp.js
176287
1070
http://opp.ca/ddp/ddp.ajax.js
54562
350
http://opp.ca/js/angular/angular.min.js
159496
910
http://opp.ca/js/angular/angular-animate.min.js
25969
190
http://opp.ca/js/angular/angular-aria.min.js
4199
70
http://opp.ca/js/angular/angular-material.js
1107059
1910
http://opp.ca/modules/home/home-app.js
314
70
http://opp.ca/modules/home/home-controllers.js
328
70
http://opp.ca/templates/home/js/news.js
3486
70
http://opp.ca/js/moment.min.js
53587
350
http://opp.ca/templates/home/js/tingle.min.js
7519
110
http://opp.ca/templates/home/js/modal.js
3843
70
http://opp.ca/css/main.css
10145
150
http://opp.ca/ddp/_ddp.configuration.js
782
70
http://opp.ca/ddp/ddp.gui.js
53887
350
http://opp.ca/ddp/ddp.fx.js
37040
270
http://opp.ca/ddp/ddp.forms.js
11114
110
http://opp.ca/js/exeditor.js
58196
310
http://opp.ca/js/display.js
12165
110
Remove unused CSS — Potential savings of 834 KiB
Dead and/or unused rules in Style Sheets (CSS) can contribute to network payload sizes. Opp.ca should consider removing dead rules from style sheets and deferring the loading of CSS not used for above-the-fold content.
URL Transfer Size (Bytes) Potential Savings (Bytes)
http://opp.ca/js/angular/angular-material.css
431983
426317
http://opp.ca/css/opp.css
435865
393945
http://opp.ca/css/fontawesome-all.min.css
34141
33780
Remove unused JavaScript — Potential savings of 1,148 KiB
It is advised to remove unused JavaScript in order to reduce bytes consumed by network activity.
URL Transfer Size (Bytes) Potential Savings (Bytes)
http://opp.ca/js/angular/angular-material.js
1107059
662880
http://opp.ca/js/angular/angular.min.js
159496
104011
http://opp.ca/ddp/ddp.js
176287
97659
http://opp.ca/js/exeditor.js
58196
53329
http://opp.ca/ddp/ddp.gui.js
53887
47512
http://opp.ca/js/jquery-3.2.1.min.js
86927
45333
http://opp.ca/js/rangy-core.js
46135
43659
http://opp.ca/js/moment.min.js
53587
39401
http://opp.ca/ddp/ddp.ajax.js
54562
31802
http://opp.ca/ddp/ddp.fx.js
37040
27354
http://opp.ca/js/angular/angular-animate.min.js
25969
22984
Enable text compression — Potential savings of 1,977 KiB
Text-based resources should be served with compression, such as gzip, deflate or brotli.
URL Transfer Size (Bytes) Potential Savings (Bytes)
http://opp.ca/js/angular/angular-material.js
1106792
842938
http://opp.ca/js/angular/angular-material.css
431732
390352
http://opp.ca/css/opp.css
168886
151756
http://opp.ca/ddp/ddp.js
176022
132147
http://opp.ca/js/angular/angular.min.js
159231
103125
http://opp.ca/js/jquery-3.2.1.min.js
86663
56475
http://opp.ca/js/exeditor.js
57933
48785
http://opp.ca/ddp/ddp.gui.js
53624
41671
http://opp.ca/ddp/ddp.ajax.js
54299
39762
http://opp.ca/js/moment.min.js
53324
36212
http://opp.ca/js/rangy-core.js
45872
31988
http://opp.ca/ddp/ddp.fx.js
36777
26829
http://opp.ca/css/fontawesome-all.min.css
33892
26457
http://opp.ca/js/angular/angular-animate.min.js
25706
16445
http://opp.ca/js/rangy-textrange.js
21067
13500
http://opp.ca/js/generalFunctions.js
13441
9607
http://opp.ca/js/display.js
11902
9507
http://opp.ca/ddp/ddp.forms.js
10851
7994
http://opp.ca/css/main.css
9897
7886
http://opp.ca/js/wow.min.js
8426
5673
http://opp.ca/js/htmlparser.js
8605
5575
http://opp.ca/templates/home/js/tingle.min.js
7257
5301
http://opp.ca/templates/home/tingle.min.css
5856
4378
http://opp.ca/ddp/ddp.gui.css
4023
3001
http://opp.ca/js/angular/angular-aria.min.js
3938
2450
http://opp.ca/templates/home/js/modal.js
3582
2273
http://opp.ca/templates/home/js/news.js
3225
2183

Diagnostics

Avoid enormous network payloads — Total size was 5,791 KiB
Large network payloads can cost users money and are linked to long load times.
URL Transfer Size (Bytes)
http://opp.ca/js/angular/angular-material.js
1107059
http://opp.ca/js/angular/angular-material.css
431983
http://opp.ca/templates/home/images/fader5-large.jpg
369199
http://opp.ca/templates/home/images/fader3-large.jpg
358119
http://opp.ca/templates/home/images/fader1-large.jpg
234157
http://opp.ca/templates/home/images/fader6-large.jpg
212939
http://opp.ca/ddp/ddp.js
176287
http://opp.ca/css/opp.css
169137
http://opp.ca/css/opp.css
169137
http://opp.ca/fonts/OpenSans-Bold-webfont.ttf
166455
Serve static assets with an efficient cache policy — 64 resources found
Opp.ca can speed up repeat visits by increasing the cache lifetime, which is essentially how long before a cached copy expires.
URL Cache TTL (Ms) Transfer Size (Bytes)
http://opp.ca/js/angular/angular-material.js
0
1107059
http://opp.ca/js/angular/angular-material.css
0
431983
http://opp.ca/templates/home/images/fader5-large.jpg
0
369199
http://opp.ca/templates/home/images/fader3-large.jpg
0
358119
http://opp.ca/templates/home/images/fader1-large.jpg
0
234157
http://opp.ca/templates/home/images/fader6-large.jpg
0
212939
http://opp.ca/ddp/ddp.js
0
176287
http://opp.ca/css/opp.css
0
169137
http://opp.ca/css/opp.css
0
169137
http://opp.ca/fonts/OpenSans-Bold-webfont.ttf
0
166455
http://opp.ca/fonts/OpenSans-Regular-webfont.ttf
0
164299
http://opp.ca/templates/home/images/home-scam.jpg
0
161987
http://opp.ca/fonts/OpenSans-Light-webfont.ttf
0
160043
http://opp.ca/js/angular/angular.min.js
0
159496
http://opp.ca/templates/home/images/home-careers.jpg
0
158179
http://opp.ca/templates/home/images/fader4-large.jpg
0
157484
http://opp.ca/templates/home/images/home-contact.jpg
0
148626
http://opp.ca/templates/home/images/fader2-large.jpg
0
142744
http://opp.ca/templates/home/images/home-who.jpg
0
139594
http://opp.ca/templates/home/images/home-playground.jpg
0
124537
http://opp.ca/templates/home/images/home-violence.jpg
0
121756
http://opp.ca/js/jquery-3.2.1.min.js
0
86927
http://opp.ca/templates/home/images/home-what.jpg
0
82948
http://opp.ca/js/exeditor.js
0
58196
http://opp.ca/ddp/ddp.ajax.js
0
54562
http://opp.ca/ddp/ddp.gui.js
0
53887
http://opp.ca/js/moment.min.js
0
53587
http://opp.ca/js/rangy-core.js
0
46135
http://opp.ca/templates/home/images/amber-alert-logo-en.jpg
0
39261
http://opp.ca/ddp/ddp.fx.js
0
37040
http://opp.ca/webfonts/fa-solid-900.woff2
0
37037
http://opp.ca/css/fontawesome-all.min.css
0
34141
http://opp.ca/js/angular/angular-animate.min.js
0
25969
http://opp.ca/js/rangy-textrange.js
0
21330
http://opp.ca/templates/images/mainlogo-k.svg
0
17394
http://opp.ca/templates/images/mainlogo.svg
0
17218
http://opp.ca/js/generalFunctions.js
0
13704
http://opp.ca/webfonts/fa-regular-400.woff2
0
12493
http://opp.ca/js/display.js
0
12165
http://opp.ca/ddp/ddp.forms.js
0
11114
http://opp.ca/css/main.css
0
10145
http://opp.ca/js/htmlparser.js
0
8867
http://opp.ca/js/wow.min.js
0
8688
http://opp.ca/templates/home/js/tingle.min.js
0
7519
http://opp.ca/templates/images/flash.svg
0
6117
http://opp.ca/templates/home/tingle.min.css
0
6104
http://opp.ca/ddp/ddp.gui.css
0
4270
http://opp.ca/js/angular/angular-aria.min.js
0
4199
http://opp.ca/templates/home/js/modal.js
0
3843
http://opp.ca/templates/home/js/news.js
0
3486
http://opp.ca/css/print.css
0
1495
http://opp.ca/templates/images/icons/magnify-k.svg
0
1150
http://opp.ca/templates/images/icons/magnify.svg
0
1150
http://opp.ca/templates/images/magnify-k.svg
0
1150
http://opp.ca/templates/images/close-k.svg
0
1117
http://opp.ca/templates/images/icons/hamburger-k.svg
0
856
http://opp.ca/ddp/_ddp.configuration.js
0
782
http://opp.ca/templates/images/icons/32-twitter.png
0
709
http://opp.ca/templates/images/icons/32-instagram.png
0
626
http://opp.ca/templates/images/icons/32-youtube.png
0
597
http://opp.ca/templates/images/icons/32-facebook.png
0
516
http://opp.ca/modules/home/home-controllers.js
0
328
http://opp.ca/modules/home/home-app.js
0
314
http://www.google-analytics.com/analytics.js
7200000
18882
Ensure text remains visible during webfont load
Make use of the font-display CSS feature, which will ensure text is user-visible while webfonts are loading.
URL Potential Savings (Ms)
http://opp.ca/fonts/OpenSans-Regular-webfont.ttf
86.698999861255
http://opp.ca/fonts/OpenSans-Bold-webfont.ttf
81.21500001289
http://opp.ca/fonts/OpenSans-Light-webfont.ttf
19.172000000253
http://opp.ca/webfonts/fa-regular-400.woff2
30.885000014678
http://opp.ca/webfonts/fa-solid-900.woff2
16.228999942541
76

Accessibility

Indicates how accessible the page is and highlights opportunities where the page can be made more accessible to users of opp.ca. This includes details about various page attributes that can be optimized.

Navigation

`[accesskey]` values are unique
Access keys assist users with focusing on different parts of the page. Each access key should be unique for proper navigation.
The page contains a heading, skip link, or landmark region
It is advised to provide ways to bypass repetitive content, allowing users to navigate the page efficiently.
`[id]` attributes on active, focusable elements are unique
Ensure all focusable elements have a unique id value to allow them to be visible to users of assistive technologies, like a screen reader.
Heading elements appear in a sequentially-descending order
Properly order all headers and do not skip heading levels to better the navigation and readability for users of assistive technologies, like a screen reader.
No element has a `[tabindex]` value greater than 0
Although technically valid, a tabindex value greater than 0 often creates frustrating experiences for users who rely on assistive technologies.

ARIA

`[aria-*]` attributes match their roles
Avoid mismatching 'aria-*' attributes and their 'role' value, as it invalidates the attribute.
`[aria-hidden="true"]` is not present on the document `<body>`
If aria-hidden=true is set on the document body, assistive technologies, like a screen reader will work inconsistently.
`[aria-hidden="true"]` elements do not contain focusable descendents
Interactive elements within an aria-hidden=true element are unavailable to users of assistive technologies, like a screen reader.
ARIA input fields have accessible names
Generic names are announced to users of assistive technologies, like a screen reader, when an input field does not have an accessible name specified.
`[role]`s have all required `[aria-*]` attributes
Some ARIA roles have required 'aria-*' attributes, which provide essential information about state and functionality.
Elements with an ARIA `[role]` that require children to contain a specific `[role]` have all required children.
Some ARIA parent roles cannot perform their intended functions if specific child roles are not used.
`[role]`s are contained by their required parent element
Some ARIA child roles cannot perform their intended functions if specific parent roles are not used.
`[role]` values are valid
All ARIA roles require valid values to perform their intended functions.
ARIA toggle fields have accessible names
Generic names are announced to users of assistive technologies, like a screen reader, when a toggle field does not have an accessible name specified.
`[aria-*]` attributes have valid values
ARIA attributes cannot be interpreted with invalid values when used by screen readers and other assistive technologies.
`[aria-*]` attributes are valid and not misspelled
ARIA attributes cannot be interpreted with invalid names when used by screen readers and other assistive technologies.
ARIA IDs are unique
Ensure all ARIA ID values are unique to prevent elements from being overlooked by assistive technologies, like a screen reader.

Tables and lists

`<dl>`'s contain only properly-ordered `<dt>` and `<dd>` groups, `<script>`, `<template>` or `<div>` elements.
Screen readers and other assistive technologies may produce poor and inaccurate output when definition lists are not properly marked up.
Definition list items are wrapped in `<dl>` elements
In order for screen readers and other assistive technologies to properly announce definition list items ('<dt>' and '<dd>'), they must be wrapped in parent a '<dl>' element.
Presentational `<table>` elements avoid using `<th>`, `<caption>` or the `[summary]` attribute.
It is advised to not include data elements in tables which are used for layout purposes, as it may create confusion for screen reader and other assistive technology users.
Cells in a `<table>` element that use the `[headers]` attribute refer to table cells within the same table.
Screen readers and other assistive technologies have features to make navigating tables easier. Ensure that '<td>' cells using the headers attribute only refer to other cells in the same table, to improve screen reader user experience.
`<th>` elements and elements with `[role="columnheader"/"rowheader"]` have data cells they describe.
Screen readers and other assistive technologies have features to make navigating tables easier. Ensure that table headers refer to some set of cells, to improve screen reader user experience.

Names and labels

Document has a `<title>` element
Search engines, screen reader users and other assistive technology users rely on the title to provide an overview of the page and to help determine if the page is relevant to their search.
No form fields have multiple labels
Having multiple labels for form fields can be confusing to assistive technologies, like a screen reader.
`<frame>` or `<iframe>` elements have a title
Screen reader users and other assistive technology users rely on frame titles to describe the contents of frames.
Image elements have `[alt]` attributes
Provide short and descriptive alternative text where possible on informative elements.
`<input type="image">` elements have `[alt]` text
Input buttons with alternative text assist screen readers and other assistive technology users to understand its purpose.
Form elements have associated labels
Screen readers and other assistive technologies rely on labels to properly announce form controls.
Links have a discernible name
In order to improve the navigation for screen reader and other assistive technology users, use link text that is unique, focusable and discernible.
`<object>` elements have `[alt]` text
It is advised that alt text is used on '<object>' elements in order to provide meaning to screen reader and other assistive technology users, as these technologies are unable to translate non-text content.

Internationalization and localization

`<html>` element has a `[lang]` attribute
It is advised to provide a lang attribute so that screen readers and other assistive technologies are guaranteed to announce the page's text correctly. When not provided, the user's default language setting will be used which may cause inaccuracies.
`<html>` element has a valid value for its `[lang]` attribute
Specify a valid BCP 47 language in order to help screen readers and other assistive technologies announce text properly.
`[lang]` attributes have a valid value
Specify a valid BCP 47 language on elements in order to help screen readers and other assistive technologies announce text properly.

Best practices

The document does not use `<meta http-equiv="refresh">`
Pages that refresh automatically cause a poor user experience as focus is directed back to the top of the page unexpectedly.
`[user-scalable="no"]` is not used in the `<meta name="viewport">` element and the `[maximum-scale]` attribute is not less than 5.
For users with low vision who rely on screen magnification, ensure that zooming is not disabled.

Audio and video

`<video>` elements contain a `<track>` element with `[kind="captions"]`
Opp.ca may provide assistance to deaf or hearing-impaired users with captions on videos.
`<video>` elements contain a `<track>` element with `[kind="description"]`
Opp.ca may provide relevant information that dialogue cannot, by using audio descriptions.

Names and labels

Buttons do not have an accessible name
Buttons become unusable as they are announced simply as "button" when the button does not have an accessible name, when used by screen readers and other assistive technologies.
Failing Elements

Contrast

Background and foreground colors do not have a sufficient contrast ratio.
Many (if not most) users find low-contrast text difficult or impossible to read.
Failing Elements

Tables and lists

Lists do not contain only `<li>` elements and script supporting elements (`<script>` and `<template>`).
Use proper list structure to aid screen readers and other assistive technologies.
Failing Elements
List items (`<li>`) are not contained within `<ul>` or `<ol>` parent elements.
In order for screen readers to announce list items, ensure that list items ('<li>') are contained within parent '<ul>' or '<ol>' tags.
Failing Elements
FR

Manual Checks

The page has a logical tab order
The visual layout should be logical in its tab order and users cannot focus elements that are offscreen.
Interactive controls are keyboard focusable
Ensure that custom interactive controls are keyboard focusable and that a focus indicator is displayed.
Interactive elements indicate their purpose and state
Ensure that interactive elements (such as links and buttons) are distinguishable from non-interactive elements and that they indicate their state.
The user's focus is directed to new content added to the page
When new content (such as a dialogue) is added to the page, the user's focus should be directed to it.
User focus is not accidentally trapped in a region
Avoid focus being accidentally trapped when a user tabs in and out of controls or regions on page.
Custom controls have associated labels
Ensure that custom interactive controls have associated labels, which are provided by aria-label and aria-labelledby attributes.
Custom controls have ARIA roles
Ensure that all custom interactive controls have appropriate ARIA roles.
Visual order on the page follows DOM order
Ensure that the DOM order matches with the page's visual order, in order to improve navigation for screen readers and other assistive technologies.
Offscreen content is hidden from assistive technology
Ensure that offscreen content is hidden through the use of "display:none" styling or the aria-hidden attribute.
HTML5 landmark elements are used to improve navigation
Elements such as <main> and <nav> are recommended as they are used by screen readers and other assistive technologies to improve keyboard navigation.
77

Best Practices

Indicates the recommended, best practices currently in place on the page and highlights the best practices that opp.ca should incorporate. This includes practices such as protecting pages with HTTPS.

Audits

Avoids requesting the geolocation permission on page load
When requesting a user's location, provide context or consider tying the request to a user action to avoid confusion and mistrust from users.
Avoids requesting the notification permission on page load
When requesting permission to send notifications, provide context or consider tying the request to a user action to avoid confusion and mistrust from users.

Audits

Allows users to paste into password fields
Ensure that password inputs may be pasted into to aid in the user's ability to use password managers and improve security.
Displays images with correct aspect ratio
Ensure that image display dimensions match their natural aspect ratio.
Serves images with appropriate resolution
For maximum image clarity, ensure images have natural dimensions and are proportional to the display size and pixel ratio.

Audits

Page has the HTML doctype
Ensure a doctype is specified to prevent the browser from switching to quirks-mode.
Properly defines charset
It is advised to declare a character encoding, optionally via a <meta> tag in the first 1024 bytes of the HTML or in the Content-Type HTTP response header.

Audits

Avoids Application Cache
Application cache is deprecated and is no longer recommended.
Detected JavaScript libraries
Below is a list of all front-end JavaScript libraries that were detected on the page.
Name Version
jQuery
3.2.1
AngularJS
1.5.6
Moment.js
2.24.0
Avoids deprecated APIs
Avoid deprecated APIs which will eventually be removed the browser.
No browser errors logged to the console
Below is a list of all errors logged to the console, which indicate unresolved problems on the site.

Audits

Does not use HTTPS — 67 insecure requests found
Ensure that all pages are protected with HTTPS (including those that do not handle sensitive data) as HTTPS prevents tampering and passive listening on communications between the app and its users. Additionally, HTTPS is a prerequisite for HTTP/2 and many new web platform APIs.
Insecure URL
http://opp.ca/
http://opp.ca/js/angular/angular-material.css
http://opp.ca/css/fontawesome-all.min.css
http://opp.ca/css/opp.css
http://opp.ca/templates/home/tingle.min.css
http://opp.ca/ddp/ddp.js
http://opp.ca/ddp/ddp.ajax.js
http://opp.ca/js/angular/angular.min.js
http://opp.ca/js/angular/angular-animate.min.js
http://opp.ca/js/angular/angular-aria.min.js
http://opp.ca/js/angular/angular-material.js
http://opp.ca/modules/home/home-app.js
http://opp.ca/modules/home/home-controllers.js
http://opp.ca/templates/home/js/news.js
http://opp.ca/js/moment.min.js
http://opp.ca/templates/home/js/tingle.min.js
http://opp.ca/templates/home/js/modal.js
http://opp.ca/css/main.css
http://opp.ca/ddp/_ddp.configuration.js
http://opp.ca/ddp/ddp.gui.js
http://opp.ca/ddp/ddp.fx.js
http://opp.ca/ddp/ddp.forms.js
http://opp.ca/js/exeditor.js
http://opp.ca/js/display.js
http://opp.ca/templates/images/mainlogo-k.svg
http://opp.ca/templates/images/flash.svg
http://opp.ca/templates/images/icons/magnify-k.svg
http://opp.ca/templates/images/icons/hamburger-k.svg
http://opp.ca/templates/images/icons/magnify.svg
http://opp.ca/templates/images/mainlogo.svg
http://opp.ca/templates/images/magnify-k.svg
http://opp.ca/templates/images/close-k.svg
http://opp.ca/templates/home/images/amber-alert-logo-en.jpg
http://opp.ca/templates/images/icons/32-facebook.png
http://opp.ca/templates/images/icons/32-twitter.png
http://opp.ca/templates/images/icons/32-instagram.png
http://opp.ca/templates/images/icons/32-youtube.png
http://opp.ca/js/jquery-3.2.1.min.js
http://opp.ca/js/wow.min.js
http://opp.ca/js/generalFunctions.js
http://opp.ca/css/print.css
http://opp.ca/ddp/ddp.gui.css
http://www.google-analytics.com/analytics.js
http://opp.ca/components/tms/tmsentryredirect.php?43ysgzp39
http://opp.ca/templates/home/images/fader1-large.jpg
http://opp.ca/templates/home/images/fader2-large.jpg
http://opp.ca/templates/home/images/fader3-large.jpg
http://opp.ca/templates/home/images/fader4-large.jpg
http://opp.ca/templates/home/images/fader5-large.jpg
http://opp.ca/templates/home/images/fader6-large.jpg
http://opp.ca/fonts/OpenSans-Regular-webfont.ttf
http://opp.ca/templates/home/images/home-playground.jpg
http://opp.ca/templates/home/images/home-contact.jpg
http://opp.ca/templates/home/images/home-violence.jpg
http://opp.ca/templates/home/images/home-scam.jpg
http://opp.ca/templates/home/images/home-who.jpg
http://opp.ca/templates/home/images/home-what.jpg
http://opp.ca/templates/home/images/home-careers.jpg
http://opp.ca/fonts/OpenSans-Bold-webfont.ttf
http://opp.ca/fonts/OpenSans-Light-webfont.ttf
http://opp.ca/webfonts/fa-regular-400.woff2
http://www.google-analytics.com/collect?v=1&_v=j83&a=1909501436&t=pageview&_s=1&dl=http%3A%2F%2Fopp.ca%2F&ul=en-us&de=UTF-8&dt=Ontario%20Provincial%20Police&sd=24-bit&sr=800x600&vp=1350x940&je=0&_u=IGBAgEAB~&jid=738913569&gjid=1050953926&cid=1275123500.1595264314&tid=UA-11344232-6&_gid=1134872882.1595264314&z=1946779640
http://opp.ca/js/rangy-core.js
http://opp.ca/js/htmlparser.js
http://opp.ca/xhr_article.php?wgua7gb1u
http://opp.ca/webfonts/fa-solid-900.woff2
http://opp.ca/js/rangy-textrange.js
Links to cross-origin destinations are unsafe
Improve performance and prevent security vulnerabilities by adding rel="noopener" and rel="noreferrer" to external links.
Includes front-end JavaScript libraries with known security vulnerabilities — 12 vulnerabilities detected
Ensure that the use of third-party scripts is minimal and that only trusted third-party scripts are used as some may contain known security vulnerabilities which may be exploited by attackers.
Library Version Vulnerability Count Highest Severity
3
Medium
9
High
100

SEO

Indicates how well the page is optimized for ranking in search engines and highlights Search Engine Optimization (SEO) opportunities for opp.ca. This includes optimizations such as providing meta data.

Mobile Friendly

Has a `<meta name="viewport">` tag with `width` or `initial-scale`
It is advised to use a '<meta name="viewport">' tag for the optimization of opp.ca on mobile screens.
Document uses legible font sizes
Font sizes of 12px or less are too small to most mobile users without user gestures and further action. Aim for more than 60% of page text to use font sizes greater than 12px.
Tap targets are sized appropriately
Interactive elements (such as buttons and links) should be appropriately spaced, sized and easy enough to select or tap with regard to their surrounding elements.

Content Best Practices

Document has a `<title>` element
Search engines, screen reader users and other assistive technology users rely on the title to provide an overview of the page and to help determine if the page is relevant to their search.
Document has a meta description
Meta descriptions may be used by search engines when displaying a link to the page and should concisely summarize the page's content.
Links have descriptive text
Make use of descriptive link text to assist search engines in understanding the content.
Image elements have `[alt]` attributes
Provide short and descriptive alternative text where possible on informative elements.
Document has a valid `hreflang`
Search engines can be instructed to list specific versions of a page for a given language or region through the use of hreflang links.
Document has a valid `rel=canonical`
Search engines can be suggested which URL should be shown in search results through the use of canonical links.
Document avoids plugins
The content of plugins cannot be indexed by search engines and many devices either restrict or do not support them.

Crawling and Indexing

Page has successful HTTP status code
Avoid pages with unsuccessful HTTP status codes as they may not be indexed by search engines.
Links are crawlable
Ensure that the 'href' attribute of anchor elements links to the appropriate destination. This allows for more pages of the site to be discovered by search engines.
Page isn’t blocked from indexing
Pages that cannot be crawled by search engines cannot be indexed or included in their search results. Ensure that search engines have permission to crawl all pages that should be indexed.
robots.txt is valid
Malformed robots.txt files prevent crawlers from understanding how a site wants to be crawled or indexed, which can be devastating to SEO.

Manual Checks

Structured data is valid
Structured data can be validated through the use of the Structured Data Testing Tool and the Structured Data Linter.
15

Progressive Web App

Indicates how valid the aspects of a Progressive Web App (PWA) are for the page and highlights opportunities to enable/improve the PWA of opp.ca. This includes details about web app manifests.

PWA Optimized

Content is sized correctly for the viewport
Ensure that the width of the app's content matches the width of the viewport, otherwise the app might not be optimized for mobile screens.
Has a `<meta name="viewport">` tag with `width` or `initial-scale`
It is advised to use a '<meta name="viewport">' tag for the optimization of opp.ca on mobile screens.
Contains some content when JavaScript is not available
Apps should display alternative content for when JavaScript is disabled.
Provides a valid `apple-touch-icon`
iOS users of Progressive Web Apps will benefit from an apple touch icon, which can be defined with 'apple-touch-icon', which must point to a non-transparent 192px (or 180px) square PNG.

Fast and reliable

Page load is not fast enough on mobile networks — Interactive on simulated mobile network at 19.7 s
Ensure that the page loads fast enough over a cellular network, to ensure good mobile user experience.
Current page does not respond with a 200 when offline
In order for Progressive Web Apps to be made available offline, ensure that the app is using a service worker.
`start_url` does not respond with a 200 when offline
Consider using a service worker for Progressive Web Apps to ensure greater reliability for the user, in the case of poor network conditions.

Installable

Does not use HTTPS — 67 insecure requests found
Ensure that all pages are protected with HTTPS (including those that do not handle sensitive data) as HTTPS prevents tampering and passive listening on communications between the app and its users. Additionally, HTTPS is a prerequisite for HTTP/2 and many new web platform APIs.
Insecure URL
http://opp.ca/
http://opp.ca/js/angular/angular-material.css
http://opp.ca/css/fontawesome-all.min.css
http://opp.ca/css/opp.css
http://opp.ca/templates/home/tingle.min.css
http://opp.ca/ddp/ddp.js
http://opp.ca/ddp/ddp.ajax.js
http://opp.ca/js/angular/angular.min.js
http://opp.ca/js/angular/angular-animate.min.js
http://opp.ca/js/angular/angular-aria.min.js
http://opp.ca/js/angular/angular-material.js
http://opp.ca/modules/home/home-app.js
http://opp.ca/modules/home/home-controllers.js
http://opp.ca/templates/home/js/news.js
http://opp.ca/js/moment.min.js
http://opp.ca/templates/home/js/tingle.min.js
http://opp.ca/templates/home/js/modal.js
http://opp.ca/css/main.css
http://opp.ca/ddp/_ddp.configuration.js
http://opp.ca/ddp/ddp.gui.js
http://opp.ca/ddp/ddp.fx.js
http://opp.ca/ddp/ddp.forms.js
http://opp.ca/js/exeditor.js
http://opp.ca/js/display.js
http://opp.ca/templates/images/mainlogo-k.svg
http://opp.ca/templates/images/flash.svg
http://opp.ca/templates/images/icons/magnify-k.svg
http://opp.ca/templates/images/icons/hamburger-k.svg
http://opp.ca/templates/images/icons/magnify.svg
http://opp.ca/templates/images/mainlogo.svg
http://opp.ca/templates/images/magnify-k.svg
http://opp.ca/templates/images/close-k.svg
http://opp.ca/templates/home/images/amber-alert-logo-en.jpg
http://opp.ca/templates/images/icons/32-facebook.png
http://opp.ca/templates/images/icons/32-twitter.png
http://opp.ca/templates/images/icons/32-instagram.png
http://opp.ca/templates/images/icons/32-youtube.png
http://opp.ca/js/jquery-3.2.1.min.js
http://opp.ca/js/wow.min.js
http://opp.ca/js/generalFunctions.js
http://opp.ca/css/print.css
http://opp.ca/ddp/ddp.gui.css
http://www.google-analytics.com/analytics.js
http://opp.ca/components/tms/tmsentryredirect.php?43ysgzp39
http://opp.ca/templates/home/images/fader1-large.jpg
http://opp.ca/templates/home/images/fader2-large.jpg
http://opp.ca/templates/home/images/fader3-large.jpg
http://opp.ca/templates/home/images/fader4-large.jpg
http://opp.ca/templates/home/images/fader5-large.jpg
http://opp.ca/templates/home/images/fader6-large.jpg
http://opp.ca/fonts/OpenSans-Regular-webfont.ttf
http://opp.ca/templates/home/images/home-playground.jpg
http://opp.ca/templates/home/images/home-contact.jpg
http://opp.ca/templates/home/images/home-violence.jpg
http://opp.ca/templates/home/images/home-scam.jpg
http://opp.ca/templates/home/images/home-who.jpg
http://opp.ca/templates/home/images/home-what.jpg
http://opp.ca/templates/home/images/home-careers.jpg
http://opp.ca/fonts/OpenSans-Bold-webfont.ttf
http://opp.ca/fonts/OpenSans-Light-webfont.ttf
http://opp.ca/webfonts/fa-regular-400.woff2
http://www.google-analytics.com/collect?v=1&_v=j83&a=1909501436&t=pageview&_s=1&dl=http%3A%2F%2Fopp.ca%2F&ul=en-us&de=UTF-8&dt=Ontario%20Provincial%20Police&sd=24-bit&sr=800x600&vp=1350x940&je=0&_u=IGBAgEAB~&jid=738913569&gjid=1050953926&cid=1275123500.1595264314&tid=UA-11344232-6&_gid=1134872882.1595264314&z=1946779640
http://opp.ca/js/rangy-core.js
http://opp.ca/js/htmlparser.js
http://opp.ca/xhr_article.php?wgua7gb1u
http://opp.ca/webfonts/fa-solid-900.woff2
http://opp.ca/js/rangy-textrange.js
Does not register a service worker that controls page and `start_url`
A service worker is used to provide Progressive Web Apps the use of features such as working offline, the ability for the app to be added to the homescreen as well as push notifications.
Web app manifest does not meet the installability requirements
User engagement may be increased by leveraging the browsers ability to proactively prompt users to add the app to their homescreen.
View Data

PWA Optimized

Does not redirect HTTP traffic to HTTPS
It is advised to redirect all HTTP traffic to HTTPS, in order to enable secure web features for all users.
Is not configured for a custom splash screen
Themed splash screens ensure a high-quality user experience at launch for app users.
View Data
Does not set a theme color for the address bar.
A theme may be applied to the browser address bar, which ideally can be made to match the site.
View Data
Manifest doesn't have a maskable icon
Maskable icons are great to ensure that images fill the entire shape when installing the app on a device.

Manual Checks

Site works cross-browser
Ensure that the Progressive Web App works correctly across every major browser.
Page transitions don't feel like they block on the network
Users perceive apps with responsive, snappy transitions as higher peforming and ensures a great user experience, even on a slow network.
Each page has a URL
Ensure that all pages are deep linkable via URL. They should also be unique for the purpose of shareability on social media.
Avg. (All Categories) 60
Performance 22
Accessibility 92
Best Practices 77
SEO 92
Progressive Web App 18
0–49 (Fail) 50–89 (Average) 90–100 (Pass)
URL: http://opp.ca/
Updated: 20th July, 2020

4.60 seconds
First Contentful Paint (FCP)
12%
47%
41%

0.02 seconds
First Input Delay (FID)
90%
7%
3%

Simulate loading on mobile
22

Performance

Indicates how well the page is performing and highlights opportunities where performance may be improved for opp.ca. This includes details about optimizing page load times which can result in a better user experience.

Metrics

Cumulative Layout Shift — 0
Cumulative Layout Shift is the measurement of visible elements collective movement within the viewport.
View Data

Other

Estimated Input Latency — 40 ms
The time taken for the page to respond to user input (during the busiest 5 second window of page load). Users are likely to perceive opp.ca as laggy when the latency is higher than 0.05 seconds.
Network Requests
Below is a list of network requests that were made during page load.
URL Start Time (Ms) End Time (Ms) Transfer Size (Bytes) Resource Size (Bytes) Status Code MIME Type Resource Type
http://opp.ca/
0
20.974000450224
8652
32806
200
text/html
Document
http://opp.ca/js/angular/angular-material.css
37.641000002623
122.4100003019
431983
431732
200
text/css
Stylesheet
http://opp.ca/css/fontawesome-all.min.css
38.330000359565
88.04800035432
34141
33892
200
text/css
Stylesheet
http://opp.ca/css/opp.css
39.139000233263
162.36600000411
169137
168886
200
text/css
Stylesheet
http://opp.ca/templates/home/tingle.min.css
39.623000193387
56.812000460923
6104
5856
200
text/css
Stylesheet
http://opp.ca/ddp/ddp.js
40.811000391841
99.428000394255
176287
176022
200
application/javascript
Script
http://opp.ca/ddp/ddp.ajax.js
40.964000392705
86.103000212461
54562
54299
200
application/javascript
Script
http://opp.ca/js/angular/angular.min.js
42.297000065446
105.84400035441
159496
159231
200
application/javascript
Script
http://opp.ca/js/angular/angular-animate.min.js
43.523000087589
76.062000356615
25969
25706
200
application/javascript
Script
http://opp.ca/js/angular/angular-aria.min.js
43.782000429928
66.566000226885
4199
3938
200
application/javascript
Script
http://opp.ca/js/angular/angular-material.js
43.987000361085
168.74100035056
1107059
1106792
200
application/javascript
Script
http://opp.ca/modules/home/home-app.js
44.168000109494
65.612000413239
314
56
200
application/javascript
Script
http://opp.ca/modules/home/home-controllers.js
44.292000122368
62.366000376642
328
70
200
application/javascript
Script
http://opp.ca/templates/home/js/news.js
44.433000031859
64.81400039047
3486
3225
200
application/javascript
Script
http://opp.ca/js/moment.min.js
44.546000193805
90.019000228494
53587
53324
200
application/javascript
Script
http://opp.ca/templates/home/js/tingle.min.js
44.695000164211
94.196000136435
7519
7257
200
application/javascript
Script
http://opp.ca/templates/home/js/modal.js
44.765000231564
87.376000359654
3843
3582
200
application/javascript
Script
http://opp.ca/css/main.css
44.848000165075
63.459000084549
10145
9897
200
text/css
Stylesheet
http://opp.ca/ddp/_ddp.configuration.js
45.044000260532
62.783000059426
782
522
200
application/javascript
Script
http://opp.ca/ddp/ddp.gui.js
45.248000416905
103.87099999934
53887
53624
200
application/javascript
Script
http://opp.ca/ddp/ddp.fx.js
45.376000460237
90.760000050068
37040
36777
200
application/javascript
Script
http://opp.ca/ddp/ddp.forms.js
45.550000388175
64.409000333399
11114
10851
200
application/javascript
Script
http://opp.ca/js/exeditor.js
46.807000413537
93.473000451922
58196
57933
200
application/javascript
Script
http://opp.ca/js/display.js
46.929000411183
65.168000292033
12165
11902
200
application/javascript
Script
http://opp.ca/templates/images/mainlogo-k.svg
279.81500001624
299.662000034
17394
17140
200
image/svg+xml
Image
http://opp.ca/templates/images/flash.svg
280.00700008124
298.78300009295
6117
5864
200
image/svg+xml
Image
http://opp.ca/templates/images/icons/magnify-k.svg
280.28500033543
299.11800008267
1150
899
200
image/svg+xml
Image
http://opp.ca/templates/images/icons/hamburger-k.svg
280.4410001263
298.51800017059
856
605
200
image/svg+xml
Image
http://opp.ca/templates/images/icons/magnify.svg
280.54600022733
304.68600010499
1150
899
200
image/svg+xml
Image
http://opp.ca/templates/images/mainlogo.svg
280.63200041652
321.27600023523
17218
16964
200
image/svg+xml
Image
http://opp.ca/templates/images/magnify-k.svg
281.01600008085
300.24200025946
1150
899
200
image/svg+xml
Image
http://opp.ca/templates/images/close-k.svg
281.27400018275
299.34600042179
1117
866
200
image/svg+xml
Image
http://opp.ca/templates/home/images/amber-alert-logo-en.jpg
281.40600025654
300.94800004736
39261
39010
200
image/jpeg
Image
http://opp.ca/templates/images/icons/32-facebook.png
281.56900033355
303.02400002256
516
269
200
image/png
Image
http://opp.ca/templates/images/icons/32-twitter.png
281.82800021023
300.00200029463
709
462
200
image/png
Image
http://opp.ca/templates/images/icons/32-instagram.png
282.0550003089
300.59000011533
626
379
200
image/png
Image
http://opp.ca/templates/images/icons/32-youtube.png
282.19700045884
305.00800022855
597
350
200
image/png
Image
http://opp.ca/js/jquery-3.2.1.min.js
164.2330000177
182.53300013021
86927
86663
200
application/javascript
Script
http://opp.ca/js/wow.min.js
202.869000379
219.87100038677
8688
8426
200
application/javascript
Script
http://opp.ca/js/generalFunctions.js
279.65600043535
298.18400042132
13704
13441
200
application/javascript
Script
http://opp.ca/css/print.css
282.62200020254
303.36400028318
1495
1248
200
text/css
Stylesheet
http://opp.ca/ddp/ddp.gui.css
271.38300007209
287.43400005624
4270
4023
200
text/css
Stylesheet
http://www.google-analytics.com/analytics.js
345.63000034541
351.34800011292
18882
45958
200
text/javascript
Script
http://opp.ca/components/tms/tmsentryredirect.php?43ysh0hax
472.08700003102
494.85700018704
238
4
200
text/html
XHR
http://opp.ca/templates/home/images/fader1-phone.jpg
493.81700018421
511.99100026861
28290
28039
200
image/jpeg
Image
http://opp.ca/templates/home/images/fader2-phone.jpg
494.50600007549
530.69800045341
19274
19023
200
image/jpeg
Image
http://opp.ca/templates/home/images/fader3-phone.jpg
496.02800002322
541.13200027496
45549
45298
200
image/jpeg
Image
http://opp.ca/templates/home/images/fader4-phone.jpg
496.32700020447
528.83300045505
16672
16421
200
image/jpeg
Image
http://opp.ca/templates/home/images/fader5-phone.jpg
496.45500024781
527.64900028706
38652
38401
200
image/jpeg
Image
http://opp.ca/templates/home/images/fader6-phone.jpg
496.70200003311
514.64700000361
30310
30059
200
image/jpeg
Image
http://opp.ca/css/opp.css
497.05600040033
575.60900039971
169137
65536
200
text/css
Image
http://opp.ca/templates/home/images/home-playground-tablet.jpg
497.4190001376
515.89400041848
48643
48392
200
image/jpeg
Image
http://opp.ca/templates/home/images/home-contact-tablet.jpg
497.62800009921
548.74900029972
51806
51555
200
image/jpeg
Image
http://opp.ca/templates/home/images/home-violence-tablet.jpg
498.16000042483
517.1360000968
38286
38035
200
image/jpeg
Image
http://opp.ca/templates/home/images/home-scam-tablet.jpg
498.53100022301
518.04000046104
50995
50744
200
image/jpeg
Image
http://opp.ca/templates/home/images/home-who-tablet.jpg
498.95600043237
536.02700028569
51695
51444
200
image/jpeg
Image
http://opp.ca/templates/home/images/home-what-tablet.jpg
499.18900011107
531.13100025803
36645
36394
200
image/jpeg
Image
http://opp.ca/templates/home/images/home-careers-tablet.jpg
499.73800033331
554.5540000312
56999
56748
200
image/jpeg
Image
http://opp.ca/fonts/OpenSans-Regular-webfont.ttf
506.1700004153
569.1460003145
164299
164032
200
application/octet-stream
Font
http://opp.ca/fonts/OpenSans-Bold-webfont.ttf
506.98400009423
555.3310001269
166455
166188
200
application/octet-stream
Font
http://opp.ca/fonts/OpenSans-Light-webfont.ttf
507.25000025705
609.01000024751
160043
159776
200
application/octet-stream
Font
http://opp.ca/webfonts/fa-regular-400.woff2
507.45400041342
523.94000021741
12493
12228
200
application/octet-stream
Font
http://www.google-analytics.com/collect?v=1&_v=j83&a=1058030404&t=pageview&_s=1&dl=http%3A%2F%2Fopp.ca%2F&ul=en-us&de=UTF-8&dt=Ontario%20Provincial%20Police&sd=24-bit&sr=360x640&vp=360x640&je=0&_u=IGBAgEAB~&jid=590964403&gjid=854937437&cid=1451192820.1595264350&tid=UA-11344232-6&_gid=1262463368.1595264350&z=755387093
563.03900014609
575.4320002161
387
35
200
image/gif
Image
https://stats.g.doubleclick.net/r/collect?t=dc&aip=1&_r=3&v=1&_v=j83&tid=UA-11344232-6&cid=1451192820.1595264350&jid=590964403&gjid=854937437&_gid=1262463368.1595264350&_u=IGBAgEAB~&z=873933387
563.29600000754
580.40900016204
797
0
302
text/html
https://www.google.com/ads/ga-audiences?v=1&aip=1&t=sr&_r=4&tid=UA-11344232-6&cid=1451192820.1595264350&jid=590964403&_v=j83&z=873933387
580.63100045547
594.79400003329
689
42
200
image/gif
Image
http://opp.ca/js/rangy-core.js
644.34000011533
674.88100007176
46135
45872
200
application/javascript
Script
http://opp.ca/js/htmlparser.js
645.05700021982
687.91300011799
8867
8605
200
application/javascript
Script
http://opp.ca/xhr_article.php?wgua7h360
646.65000000969
690.49100019038
621
503
200
text/html
XHR
https://www.opp.ca/protonapi/entry/list/?1hqhwibjhi
675.80500012264
697.44200026616
1387
1659
200
text/html
XHR
https://www.opp.ca/protonapi/files/5efb4e22241f6e43cf153983
704.40100040287
741.48800037801
38183
37737
200
image/jpeg
Image
http://opp.ca/webfonts/fa-solid-900.woff2
718.00300013274
748.80100041628
37037
36772
200
application/octet-stream
Font
https://www.opp.ca/protonapi/files/5efb4e22241f6e43cf153983
747.83900007606
766.61100005731
38125
37737
200
image/jpeg
Image
http://opp.ca/js/rangy-textrange.js
946.05400040746
962.51500025392
21330
21067
200
application/javascript
Script
Network Round Trip Times — 0 ms
High Network RTT (Round Trip Times) can have a large impact on performance. Providing servers geographically closer to the user could improve performance.
Server Backend Latencies — 0 ms
High server latencies indicate the server is overloaded or has a poor backend performance.
Tasks
Below is a list of the top-level main thread tasks that executed during page load.
Start Time (Ms) End Time (Ms)
57.096
8.73
69.989
9.469
158.077
15.881
197.066
6.694
206.339
28.571
236.011
80.993
317.021
8.473
326.995
18.465
373.578
122.391
505.434
11.361
524.005
46.089
570.767
25.855
633.133
19.151
654.455
55.345
720.592
6.525
749.692
7.724
803.29
15.102
Diagnostics
Below is a collection of useful page vitals.
View Data
Metrics
Below is a collection of metrics.
View Data

Opportunities

Properly size images
Images can slow down the page's load time. Opp.ca should consider serving more appropriate-sized images.
Defer offscreen images
Time to Interactive can be slowed down by resources on the page. Opp.ca should consider lazy-loading offscreen and hidden images.
Efficiently encode images
Unoptimized images can consume more cellular data than what is necessary.
Preconnect to required origins
Resource hints, such as 'preconnect' or 'dns-prefetch', may assist in establishing early connections to important third-party origins.
Initial server response time was short — Root document took 20 ms
It is advised to keep the server response time short for the main document, because all other requests depend on it.
Avoid multiple page redirects
Redirects can cause additional delays before the page can begin loading. Opp.ca should avoid multiple or unnecessary page redirects.
Use video formats for animated content
Large GIFs are inefficient for delivering animated content. It is recommended to use MPEG4/WebM videos for animations and PNG/WebP for static images instead of GIF.

Diagnostics

Avoids an excessive DOM size — 383 elements
A large DOM (Document Object Model) will increase memory usage, cause longer system calculations as well as costly layout reflows.
Statistic Element Value
Total DOM Elements
383
Maximum DOM Depth
9
Maximum Child Elements
24
Avoid chaining critical requests — 30 chains found
Below is a list of Critical Request Chains, which shows which resources are loaded with a high priority. Opp.ca should consider reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load.
User Timing marks and measures
Make use of the User Timing API to measure an app's real-world performance during key user experiences.
JavaScript execution time — 1.2 s
JavaScript (JS) execution time can be lowered by reducing the time required for parsing, compiling and executing JS. Delivering smaller JS payloads may help with this.
URL Total CPU Time (Ms) Script Evaluation (Ms) Script Parse (Ms)
http://opp.ca/
611.66
36.3
5.612
http://opp.ca/js/angular/angular.min.js
464.144
435.632
11.112
http://opp.ca/js/jquery-3.2.1.min.js
431.504
293.332
6.804
Unattributable
361.772
4.84
0.644
http://opp.ca/ddp/ddp.js
239.62
146.164
45.564
http://opp.ca/js/angular/angular-material.js
174.216
15.74
87.868
http://www.google-analytics.com/analytics.js
104.412
97.384
4.716
http://opp.ca/templates/home/js/tingle.min.js
68.248
0.824
2.128
http://opp.ca/js/angular/angular-material.css
63.524
0
0
Keep request counts low and transfer sizes small — 73 requests • 3,937 KiB
It is advised to add a budgets.json file in order to set budgets for the quantity and size of page resources.
Resource Type Requests Transfer Size (Bytes)
Total
73
4031861
Script
25
1974366
Image
31
848198
Stylesheet
7
657275
Font
5
540327
Document
1
8652
Other
4
3043
Media
0
0
Third-party
4
20755
Minimize third-party usage — Third-party code blocked the main thread for 40 ms
It is advised to either limit, remove or delay the loading of redundant third-party code which may be significantly impacting load performance.
Third-Party Transfer Size (Bytes) Main-Thread Blocking Time (Ms)
19269
42.784
797
0
689
0
Largest Contentful Paint element — 1 element found
The element which was identified as the Largest Contentful Paint.
Element
div
Avoid large layout shifts
Below is a list of all DOM elements that contribute to the CLS of the page.
Uses passive listeners to improve scrolling performance
Improve the page's scroll performance by marking touch and wheel event listeners as 'passive'.
Avoids `document.write()`
Avoid or limit the use of external scripts that are dynamically injected via 'document.write()' as users on slow connections will be delayed by tens of seconds.
Avoid long main-thread tasks — 8 long tasks found
Below is a list of the longest tasks on the main thread, which is useful when identifying the worst input delay contributors.
URL Start Time (Ms) Duration (Ms)
http://opp.ca/js/generalFunctions.js
23100
490
http://opp.ca/js/angular/angular-material.js
16800
324
http://opp.ca/ddp/ddp.js
8280
114
http://opp.ca/ddp/ddp.js
20580
111
http://www.google-analytics.com/analytics.js
1410
103
http://opp.ca/
685
92
http://opp.ca/js/jquery-3.2.1.min.js
20400
74
http://opp.ca/js/angular/angular-material.css
4110
64

Budgets

Performance budget
It is advised to keep the quantity and size of all network requests under the targets set by the provided performance budget.
Timing budget
It is advised to set a timing budget to monitor the performance of your site.

Metrics

Total Blocking Time — 460 ms
The total blocking time is the sum of all time periods between First Contentful Paint and Time to Interactive (when task length exceeded 50ms).

Opportunities

Minify CSS — Potential savings of 133 KiB
Cascading Style Sheets (CSS) files can contribute to network payload sizes. Opp.ca should consider minifying CSS files.
URL Transfer Size (Bytes) Potential Savings (Bytes)
http://opp.ca/js/angular/angular-material.css
431983
100282
http://opp.ca/css/opp.css
169137
33734
http://opp.ca/templates/home/tingle.min.css
6104
2214
Serve images in next-gen formats — Potential savings of 41 KiB
Image formats like PNG and JPEG have poor compression when compared to other next-gen formats, such as JPEG 200, JPEG XR and WebP.
URL Resource Size (Bytes) Potential Savings (Bytes)
http://opp.ca/templates/home/images/amber-alert-logo-en.jpg
39010
17760
http://opp.ca/templates/home/images/home-what-tablet.jpg
36394
14228
http://opp.ca/templates/home/images/home-careers-tablet.jpg
56748
10392

Diagnostics

Avoid enormous network payloads — Total size was 3,937 KiB
Large network payloads can cost users money and are linked to long load times.
URL Transfer Size (Bytes)
http://opp.ca/js/angular/angular-material.js
1107059
http://opp.ca/js/angular/angular-material.css
431983
http://opp.ca/ddp/ddp.js
176287
http://opp.ca/css/opp.css
169137
http://opp.ca/css/opp.css
169137
http://opp.ca/fonts/OpenSans-Bold-webfont.ttf
166455
http://opp.ca/fonts/OpenSans-Regular-webfont.ttf
164299
http://opp.ca/fonts/OpenSans-Light-webfont.ttf
160043
http://opp.ca/js/angular/angular.min.js
159496
http://opp.ca/js/jquery-3.2.1.min.js
86927
Minimize main-thread work — 2.7 s
Main-thread work timing can be lowered by reducing the time required for parsing, compiling and executing JS. Delivering smaller JS payloads may help with this.
Category Time Spent (Ms)
Script Evaluation
1111.336
Other
581.272
Style & Layout
486.856
Script Parsing & Compilation
229.4
Parse HTML & CSS
187.22
Rendering
126.3
Garbage Collection
16.976

Metrics

First Contentful Paint — 15.3 s
The time taken for the first image or text on the page to be rendered.
Speed Index — 15.3 s
The time taken for the page contents to be visibly populated.
Largest Contentful Paint — 23.2 s
The timing of the largest text or image that is painted.
Time to Interactive — 21.5 s
The time taken for the page to become fully interactive.

Other

First CPU Idle — 19.3 s
The time taken for the page's main thread to be quiet enough to handle input.
Max Potential First Input Delay — 490 ms
Users could experience a delay when interacting with the page.
First Meaningful Paint — 18.9 s
The time taken for the primary content of the page to be rendered.
First Contentful Paint (3G) — 33012 ms
The time taken for the first image or text on the page to be rendered while on a 3G network.

Opportunities

Eliminate render-blocking resources — Potential savings of 13,700 ms
Resources, such as JavaScript and style sheets, can block the first paint of the page. Opp.ca should consider delivering critical JavaScript/style sheets (JS/CSS) inline and deferring all non-critical JS/CSS.
URL Transfer Size (Bytes) Potential Savings (Ms)
http://opp.ca/js/angular/angular-material.css
431983
10080
http://opp.ca/css/fontawesome-all.min.css
34141
1380
http://opp.ca/templates/home/tingle.min.css
6104
480
http://opp.ca/ddp/ddp.js
176287
6330
http://opp.ca/ddp/ddp.ajax.js
54562
1980
http://opp.ca/js/angular/angular.min.js
159496
5580
http://opp.ca/js/angular/angular-animate.min.js
25969
930
http://opp.ca/js/angular/angular-aria.min.js
4199
180
http://opp.ca/js/angular/angular-material.js
1107059
11280
http://opp.ca/modules/home/home-app.js
314
180
http://opp.ca/modules/home/home-controllers.js
328
180
http://opp.ca/templates/home/js/news.js
3486
180
http://opp.ca/js/moment.min.js
53587
1980
http://opp.ca/templates/home/js/tingle.min.js
7519
330
http://opp.ca/templates/home/js/modal.js
3843
180
http://opp.ca/css/main.css
10145
630
http://opp.ca/ddp/_ddp.configuration.js
782
180
http://opp.ca/ddp/ddp.gui.js
53887
1980
http://opp.ca/ddp/ddp.fx.js
37040
1380
http://opp.ca/ddp/ddp.forms.js
11114
480
http://opp.ca/js/exeditor.js
58196
1680
http://opp.ca/js/display.js
12165
480
Minify JavaScript — Potential savings of 761 KiB
JavaScript (JS) files can contribute to network payload sizes and increase script parse times. Opp.ca should consider minifying JS files.
URL Transfer Size (Bytes) Potential Savings (Bytes)
http://opp.ca/js/angular/angular-material.js
1107059
577660
http://opp.ca/ddp/ddp.js
176287
86016
http://opp.ca/ddp/ddp.ajax.js
54562
30503
http://opp.ca/js/exeditor.js
58196
27543
http://opp.ca/ddp/ddp.fx.js
37040
17666
http://opp.ca/ddp/ddp.gui.js
53887
16319
http://opp.ca/ddp/ddp.forms.js
11114
6684
http://opp.ca/js/display.js
12165
5871
http://opp.ca/js/generalFunctions.js
13704
4815
http://opp.ca/js/htmlparser.js
8867
3598
http://opp.ca/templates/home/js/modal.js
3843
2166
Remove unused CSS — Potential savings of 831 KiB
Dead and/or unused rules in Style Sheets (CSS) can contribute to network payload sizes. Opp.ca should consider removing dead rules from style sheets and deferring the loading of CSS not used for above-the-fold content.
URL Transfer Size (Bytes) Potential Savings (Bytes)
http://opp.ca/js/angular/angular-material.css
431983
428465
http://opp.ca/css/opp.css
435865
388641
http://opp.ca/css/fontawesome-all.min.css
34141
33780
Remove unused JavaScript — Potential savings of 1,148 KiB
It is advised to remove unused JavaScript in order to reduce bytes consumed by network activity.
URL Transfer Size (Bytes) Potential Savings (Bytes)
http://opp.ca/js/angular/angular-material.js
1107059
662819
http://opp.ca/js/angular/angular.min.js
159496
104011
http://opp.ca/ddp/ddp.js
176287
97659
http://opp.ca/js/exeditor.js
58196
53329
http://opp.ca/ddp/ddp.gui.js
53887
47512
http://opp.ca/js/jquery-3.2.1.min.js
86927
45135
http://opp.ca/js/rangy-core.js
46135
43659
http://opp.ca/js/moment.min.js
53587
39401
http://opp.ca/ddp/ddp.ajax.js
54562
31802
http://opp.ca/ddp/ddp.fx.js
37040
27354
http://opp.ca/js/angular/angular-animate.min.js
25969
22984
Enable text compression — Potential savings of 1,977 KiB
Text-based resources should be served with compression, such as gzip, deflate or brotli.
URL Transfer Size (Bytes) Potential Savings (Bytes)
http://opp.ca/js/angular/angular-material.js
1106792
842938
http://opp.ca/js/angular/angular-material.css
431732
390352
http://opp.ca/css/opp.css
168886
151756
http://opp.ca/ddp/ddp.js
176022
132147
http://opp.ca/js/angular/angular.min.js
159231
103125
http://opp.ca/js/jquery-3.2.1.min.js
86663
56475
http://opp.ca/js/exeditor.js
57933
48785
http://opp.ca/ddp/ddp.gui.js
53624
41671
http://opp.ca/ddp/ddp.ajax.js
54299
39762
http://opp.ca/js/moment.min.js
53324
36212
http://opp.ca/js/rangy-core.js
45872
31988
http://opp.ca/ddp/ddp.fx.js
36777
26829
http://opp.ca/css/fontawesome-all.min.css
33892
26457
http://opp.ca/js/angular/angular-animate.min.js
25706
16445
http://opp.ca/js/rangy-textrange.js
21067
13500
http://opp.ca/js/generalFunctions.js
13441
9607
http://opp.ca/js/display.js
11902
9507
http://opp.ca/ddp/ddp.forms.js
10851
7994
http://opp.ca/css/main.css
9897
7886
http://opp.ca/js/wow.min.js
8426
5673
http://opp.ca/js/htmlparser.js
8605
5575
http://opp.ca/templates/home/js/tingle.min.js
7257
5301
http://opp.ca/templates/home/tingle.min.css
5856
4378
http://opp.ca/ddp/ddp.gui.css
4023
3001
http://opp.ca/js/angular/angular-aria.min.js
3938
2450
http://opp.ca/templates/home/js/modal.js
3582
2273
http://opp.ca/templates/home/js/news.js
3225
2183
Preload key requests — Potential savings of 8,280 ms
Key requests can be preloaded by using '<link rel=preload>'. Opp.ca should consider using '<link rel=preload>' to prioritize fetching resources that are currently requested later in page load.
URL Potential Savings (Ms)
http://opp.ca/ddp/ddp.gui.css
8280

Diagnostics

Serve static assets with an efficient cache policy — 64 resources found
Opp.ca can speed up repeat visits by increasing the cache lifetime, which is essentially how long before a cached copy expires.
URL Cache TTL (Ms) Transfer Size (Bytes)
http://opp.ca/js/angular/angular-material.js
0
1107059
http://opp.ca/js/angular/angular-material.css
0
431983
http://opp.ca/ddp/ddp.js
0
176287
http://opp.ca/css/opp.css
0
169137
http://opp.ca/css/opp.css
0
169137
http://opp.ca/fonts/OpenSans-Bold-webfont.ttf
0
166455
http://opp.ca/fonts/OpenSans-Regular-webfont.ttf
0
164299
http://opp.ca/fonts/OpenSans-Light-webfont.ttf
0
160043
http://opp.ca/js/angular/angular.min.js
0
159496
http://opp.ca/js/jquery-3.2.1.min.js
0
86927
http://opp.ca/js/exeditor.js
0
58196
http://opp.ca/templates/home/images/home-careers-tablet.jpg
0
56999
http://opp.ca/ddp/ddp.ajax.js
0
54562
http://opp.ca/ddp/ddp.gui.js
0
53887
http://opp.ca/js/moment.min.js
0
53587
http://opp.ca/templates/home/images/home-contact-tablet.jpg
0
51806
http://opp.ca/templates/home/images/home-who-tablet.jpg
0
51695
http://opp.ca/templates/home/images/home-scam-tablet.jpg
0
50995
http://opp.ca/templates/home/images/home-playground-tablet.jpg
0
48643
http://opp.ca/js/rangy-core.js
0
46135
http://opp.ca/templates/home/images/fader3-phone.jpg
0
45549
http://opp.ca/templates/home/images/amber-alert-logo-en.jpg
0
39261
http://opp.ca/templates/home/images/fader5-phone.jpg
0
38652
http://opp.ca/templates/home/images/home-violence-tablet.jpg
0
38286
http://opp.ca/ddp/ddp.fx.js
0
37040
http://opp.ca/webfonts/fa-solid-900.woff2
0
37037
http://opp.ca/templates/home/images/home-what-tablet.jpg
0
36645
http://opp.ca/css/fontawesome-all.min.css
0
34141
http://opp.ca/templates/home/images/fader6-phone.jpg
0
30310
http://opp.ca/templates/home/images/fader1-phone.jpg
0
28290
http://opp.ca/js/angular/angular-animate.min.js
0
25969
http://opp.ca/js/rangy-textrange.js
0
21330
http://opp.ca/templates/home/images/fader2-phone.jpg
0
19274
http://opp.ca/templates/images/mainlogo-k.svg
0
17394
http://opp.ca/templates/images/mainlogo.svg
0
17218
http://opp.ca/templates/home/images/fader4-phone.jpg
0
16672
http://opp.ca/js/generalFunctions.js
0
13704
http://opp.ca/webfonts/fa-regular-400.woff2
0
12493
http://opp.ca/js/display.js
0
12165
http://opp.ca/ddp/ddp.forms.js
0
11114
http://opp.ca/css/main.css
0
10145
http://opp.ca/js/htmlparser.js
0
8867
http://opp.ca/js/wow.min.js
0
8688
http://opp.ca/templates/home/js/tingle.min.js
0
7519
http://opp.ca/templates/images/flash.svg
0
6117
http://opp.ca/templates/home/tingle.min.css
0
6104
http://opp.ca/ddp/ddp.gui.css
0
4270
http://opp.ca/js/angular/angular-aria.min.js
0
4199
http://opp.ca/templates/home/js/modal.js
0
3843
http://opp.ca/templates/home/js/news.js
0
3486
http://opp.ca/css/print.css
0
1495
http://opp.ca/templates/images/icons/magnify-k.svg
0
1150
http://opp.ca/templates/images/icons/magnify.svg
0
1150
http://opp.ca/templates/images/magnify-k.svg
0
1150
http://opp.ca/templates/images/close-k.svg
0
1117
http://opp.ca/templates/images/icons/hamburger-k.svg
0
856
http://opp.ca/ddp/_ddp.configuration.js
0
782
http://opp.ca/templates/images/icons/32-twitter.png
0
709
http://opp.ca/templates/images/icons/32-instagram.png
0
626
http://opp.ca/templates/images/icons/32-youtube.png
0
597
http://opp.ca/templates/images/icons/32-facebook.png
0
516
http://opp.ca/modules/home/home-controllers.js
0
328
http://opp.ca/modules/home/home-app.js
0
314
http://www.google-analytics.com/analytics.js
7200000
18882
Ensure text remains visible during webfont load
Make use of the font-display CSS feature, which will ensure text is user-visible while webfonts are loading.
URL Potential Savings (Ms)
http://opp.ca/fonts/OpenSans-Regular-webfont.ttf
62.975999899209
http://opp.ca/fonts/OpenSans-Bold-webfont.ttf
48.347000032663
http://opp.ca/fonts/OpenSans-Light-webfont.ttf
101.75999999046
http://opp.ca/webfonts/fa-regular-400.woff2
16.48599980399
http://opp.ca/webfonts/fa-solid-900.woff2
30.798000283539
92

Accessibility

Indicates how accessible the page is and highlights opportunities where the page can be made more accessible to users of opp.ca. This includes details about various page attributes that can be optimized.

Navigation

`[accesskey]` values are unique
Access keys assist users with focusing on different parts of the page. Each access key should be unique for proper navigation.
The page contains a heading, skip link, or landmark region
It is advised to provide ways to bypass repetitive content, allowing users to navigate the page efficiently.
`[id]` attributes on active, focusable elements are unique
Ensure all focusable elements have a unique id value to allow them to be visible to users of assistive technologies, like a screen reader.
Heading elements appear in a sequentially-descending order
Properly order all headers and do not skip heading levels to better the navigation and readability for users of assistive technologies, like a screen reader.
No element has a `[tabindex]` value greater than 0
Although technically valid, a tabindex value greater than 0 often creates frustrating experiences for users who rely on assistive technologies.

ARIA

`[aria-*]` attributes match their roles
Avoid mismatching 'aria-*' attributes and their 'role' value, as it invalidates the attribute.
`[aria-hidden="true"]` is not present on the document `<body>`
If aria-hidden=true is set on the document body, assistive technologies, like a screen reader will work inconsistently.
`[aria-hidden="true"]` elements do not contain focusable descendents
Interactive elements within an aria-hidden=true element are unavailable to users of assistive technologies, like a screen reader.
ARIA input fields have accessible names
Generic names are announced to users of assistive technologies, like a screen reader, when an input field does not have an accessible name specified.
`[role]`s have all required `[aria-*]` attributes
Some ARIA roles have required 'aria-*' attributes, which provide essential information about state and functionality.
Elements with an ARIA `[role]` that require children to contain a specific `[role]` have all required children.
Some ARIA parent roles cannot perform their intended functions if specific child roles are not used.
`[role]`s are contained by their required parent element
Some ARIA child roles cannot perform their intended functions if specific parent roles are not used.
`[role]` values are valid
All ARIA roles require valid values to perform their intended functions.
ARIA toggle fields have accessible names
Generic names are announced to users of assistive technologies, like a screen reader, when a toggle field does not have an accessible name specified.
`[aria-*]` attributes have valid values
ARIA attributes cannot be interpreted with invalid values when used by screen readers and other assistive technologies.
`[aria-*]` attributes are valid and not misspelled
ARIA attributes cannot be interpreted with invalid names when used by screen readers and other assistive technologies.
ARIA IDs are unique
Ensure all ARIA ID values are unique to prevent elements from being overlooked by assistive technologies, like a screen reader.

Names and labels

Buttons have an accessible name
Buttons become unusable as they are announced simply as "button" when the button does not have an accessible name, when used by screen readers and other assistive technologies.
Document has a `<title>` element
Search engines, screen reader users and other assistive technology users rely on the title to provide an overview of the page and to help determine if the page is relevant to their search.
No form fields have multiple labels
Having multiple labels for form fields can be confusing to assistive technologies, like a screen reader.
`<frame>` or `<iframe>` elements have a title
Screen reader users and other assistive technology users rely on frame titles to describe the contents of frames.
Image elements have `[alt]` attributes
Provide short and descriptive alternative text where possible on informative elements.
`<input type="image">` elements have `[alt]` text
Input buttons with alternative text assist screen readers and other assistive technology users to understand its purpose.
Form elements have associated labels
Screen readers and other assistive technologies rely on labels to properly announce form controls.
Links have a discernible name
In order to improve the navigation for screen reader and other assistive technology users, use link text that is unique, focusable and discernible.
`<object>` elements have `[alt]` text
It is advised that alt text is used on '<object>' elements in order to provide meaning to screen reader and other assistive technology users, as these technologies are unable to translate non-text content.

Tables and lists

`<dl>`'s contain only properly-ordered `<dt>` and `<dd>` groups, `<script>`, `<template>` or `<div>` elements.
Screen readers and other assistive technologies may produce poor and inaccurate output when definition lists are not properly marked up.
Definition list items are wrapped in `<dl>` elements
In order for screen readers and other assistive technologies to properly announce definition list items ('<dt>' and '<dd>'), they must be wrapped in parent a '<dl>' element.
Presentational `<table>` elements avoid using `<th>`, `<caption>` or the `[summary]` attribute.
It is advised to not include data elements in tables which are used for layout purposes, as it may create confusion for screen reader and other assistive technology users.
List items (`<li>`) are contained within `<ul>` or `<ol>` parent elements
In order for screen readers to announce list items, ensure that list items ('<li>') are contained within parent '<ul>' or '<ol>' tags.
Cells in a `<table>` element that use the `[headers]` attribute refer to table cells within the same table.
Screen readers and other assistive technologies have features to make navigating tables easier. Ensure that '<td>' cells using the headers attribute only refer to other cells in the same table, to improve screen reader user experience.
`<th>` elements and elements with `[role="columnheader"/"rowheader"]` have data cells they describe.
Screen readers and other assistive technologies have features to make navigating tables easier. Ensure that table headers refer to some set of cells, to improve screen reader user experience.

Internationalization and localization

`<html>` element has a `[lang]` attribute
It is advised to provide a lang attribute so that screen readers and other assistive technologies are guaranteed to announce the page's text correctly. When not provided, the user's default language setting will be used which may cause inaccuracies.
`<html>` element has a valid value for its `[lang]` attribute
Specify a valid BCP 47 language in order to help screen readers and other assistive technologies announce text properly.
`[lang]` attributes have a valid value
Specify a valid BCP 47 language on elements in order to help screen readers and other assistive technologies announce text properly.

Best practices

The document does not use `<meta http-equiv="refresh">`
Pages that refresh automatically cause a poor user experience as focus is directed back to the top of the page unexpectedly.
`[user-scalable="no"]` is not used in the `<meta name="viewport">` element and the `[maximum-scale]` attribute is not less than 5.
For users with low vision who rely on screen magnification, ensure that zooming is not disabled.

Audio and video

`<video>` elements contain a `<track>` element with `[kind="captions"]`
Opp.ca may provide assistance to deaf or hearing-impaired users with captions on videos.
`<video>` elements contain a `<track>` element with `[kind="description"]`
Opp.ca may provide relevant information that dialogue cannot, by using audio descriptions.

Contrast

Background and foreground colors do not have a sufficient contrast ratio.
Many (if not most) users find low-contrast text difficult or impossible to read.
Failing Elements

Tables and lists

Lists do not contain only `<li>` elements and script supporting elements (`<script>` and `<template>`).
Use proper list structure to aid screen readers and other assistive technologies.
Failing Elements

Manual Checks

The page has a logical tab order
The visual layout should be logical in its tab order and users cannot focus elements that are offscreen.
Interactive controls are keyboard focusable
Ensure that custom interactive controls are keyboard focusable and that a focus indicator is displayed.
Interactive elements indicate their purpose and state
Ensure that interactive elements (such as links and buttons) are distinguishable from non-interactive elements and that they indicate their state.
The user's focus is directed to new content added to the page
When new content (such as a dialogue) is added to the page, the user's focus should be directed to it.
User focus is not accidentally trapped in a region
Avoid focus being accidentally trapped when a user tabs in and out of controls or regions on page.
Custom controls have associated labels
Ensure that custom interactive controls have associated labels, which are provided by aria-label and aria-labelledby attributes.
Custom controls have ARIA roles
Ensure that all custom interactive controls have appropriate ARIA roles.
Visual order on the page follows DOM order
Ensure that the DOM order matches with the page's visual order, in order to improve navigation for screen readers and other assistive technologies.
Offscreen content is hidden from assistive technology
Ensure that offscreen content is hidden through the use of "display:none" styling or the aria-hidden attribute.
HTML5 landmark elements are used to improve navigation
Elements such as <main> and <nav> are recommended as they are used by screen readers and other assistive technologies to improve keyboard navigation.
77

Best Practices

Indicates the recommended, best practices currently in place on the page and highlights the best practices that opp.ca should incorporate. This includes practices such as protecting pages with HTTPS.

Audits

Avoids requesting the geolocation permission on page load
When requesting a user's location, provide context or consider tying the request to a user action to avoid confusion and mistrust from users.
Avoids requesting the notification permission on page load
When requesting permission to send notifications, provide context or consider tying the request to a user action to avoid confusion and mistrust from users.

Audits

Allows users to paste into password fields
Ensure that password inputs may be pasted into to aid in the user's ability to use password managers and improve security.
Displays images with correct aspect ratio
Ensure that image display dimensions match their natural aspect ratio.
Serves images with appropriate resolution
For maximum image clarity, ensure images have natural dimensions and are proportional to the display size and pixel ratio.

Audits

Page has the HTML doctype
Ensure a doctype is specified to prevent the browser from switching to quirks-mode.
Properly defines charset
It is advised to declare a character encoding, optionally via a <meta> tag in the first 1024 bytes of the HTML or in the Content-Type HTTP response header.

Audits

Avoids Application Cache
Application cache is deprecated and is no longer recommended.
Detected JavaScript libraries
Below is a list of all front-end JavaScript libraries that were detected on the page.
Name Version
jQuery
3.2.1
AngularJS
1.5.6
Moment.js
2.24.0
Avoids deprecated APIs
Avoid deprecated APIs which will eventually be removed the browser.
No browser errors logged to the console
Below is a list of all errors logged to the console, which indicate unresolved problems on the site.

Audits

Does not use HTTPS — 67 insecure requests found
Ensure that all pages are protected with HTTPS (including those that do not handle sensitive data) as HTTPS prevents tampering and passive listening on communications between the app and its users. Additionally, HTTPS is a prerequisite for HTTP/2 and many new web platform APIs.
Insecure URL
http://opp.ca/
http://opp.ca/js/angular/angular-material.css
http://opp.ca/css/fontawesome-all.min.css
http://opp.ca/css/opp.css
http://opp.ca/templates/home/tingle.min.css
http://opp.ca/ddp/ddp.js
http://opp.ca/ddp/ddp.ajax.js
http://opp.ca/js/angular/angular.min.js
http://opp.ca/js/angular/angular-animate.min.js
http://opp.ca/js/angular/angular-aria.min.js
http://opp.ca/js/angular/angular-material.js
http://opp.ca/modules/home/home-app.js
http://opp.ca/modules/home/home-controllers.js
http://opp.ca/templates/home/js/news.js
http://opp.ca/js/moment.min.js
http://opp.ca/templates/home/js/tingle.min.js
http://opp.ca/templates/home/js/modal.js
http://opp.ca/css/main.css
http://opp.ca/ddp/_ddp.configuration.js
http://opp.ca/ddp/ddp.gui.js
http://opp.ca/ddp/ddp.fx.js
http://opp.ca/ddp/ddp.forms.js
http://opp.ca/js/exeditor.js
http://opp.ca/js/display.js
http://opp.ca/templates/images/mainlogo-k.svg
http://opp.ca/templates/images/flash.svg
http://opp.ca/templates/images/icons/magnify-k.svg
http://opp.ca/templates/images/icons/hamburger-k.svg
http://opp.ca/templates/images/icons/magnify.svg
http://opp.ca/templates/images/mainlogo.svg
http://opp.ca/templates/images/magnify-k.svg
http://opp.ca/templates/images/close-k.svg
http://opp.ca/templates/home/images/amber-alert-logo-en.jpg
http://opp.ca/templates/images/icons/32-facebook.png
http://opp.ca/templates/images/icons/32-twitter.png
http://opp.ca/templates/images/icons/32-instagram.png
http://opp.ca/templates/images/icons/32-youtube.png
http://opp.ca/js/jquery-3.2.1.min.js
http://opp.ca/js/wow.min.js
http://opp.ca/js/generalFunctions.js
http://opp.ca/css/print.css
http://opp.ca/ddp/ddp.gui.css
http://www.google-analytics.com/analytics.js
http://opp.ca/components/tms/tmsentryredirect.php?43ysh0hax
http://opp.ca/templates/home/images/fader1-phone.jpg
http://opp.ca/templates/home/images/fader2-phone.jpg
http://opp.ca/templates/home/images/fader3-phone.jpg
http://opp.ca/templates/home/images/fader4-phone.jpg
http://opp.ca/templates/home/images/fader5-phone.jpg
http://opp.ca/templates/home/images/fader6-phone.jpg
http://opp.ca/templates/home/images/home-playground-tablet.jpg
http://opp.ca/templates/home/images/home-contact-tablet.jpg
http://opp.ca/templates/home/images/home-violence-tablet.jpg
http://opp.ca/templates/home/images/home-scam-tablet.jpg
http://opp.ca/templates/home/images/home-who-tablet.jpg
http://opp.ca/templates/home/images/home-what-tablet.jpg
http://opp.ca/templates/home/images/home-careers-tablet.jpg
http://opp.ca/fonts/OpenSans-Regular-webfont.ttf
http://opp.ca/fonts/OpenSans-Bold-webfont.ttf
http://opp.ca/fonts/OpenSans-Light-webfont.ttf
http://opp.ca/webfonts/fa-regular-400.woff2
http://www.google-analytics.com/collect?v=1&_v=j83&a=1058030404&t=pageview&_s=1&dl=http%3A%2F%2Fopp.ca%2F&ul=en-us&de=UTF-8&dt=Ontario%20Provincial%20Police&sd=24-bit&sr=360x640&vp=360x640&je=0&_u=IGBAgEAB~&jid=590964403&gjid=854937437&cid=1451192820.1595264350&tid=UA-11344232-6&_gid=1262463368.1595264350&z=755387093
http://opp.ca/js/rangy-core.js
http://opp.ca/js/htmlparser.js
http://opp.ca/xhr_article.php?wgua7h360
http://opp.ca/webfonts/fa-solid-900.woff2
http://opp.ca/js/rangy-textrange.js
Links to cross-origin destinations are unsafe
Improve performance and prevent security vulnerabilities by adding rel="noopener" and rel="noreferrer" to external links.
Includes front-end JavaScript libraries with known security vulnerabilities — 12 vulnerabilities detected
Ensure that the use of third-party scripts is minimal and that only trusted third-party scripts are used as some may contain known security vulnerabilities which may be exploited by attackers.
Library Version Vulnerability Count Highest Severity
3
Medium
9
High
92

SEO

Indicates how well the page is optimized for ranking in search engines and highlights Search Engine Optimization (SEO) opportunities for opp.ca. This includes optimizations such as providing meta data.

Mobile Friendly

Has a `<meta name="viewport">` tag with `width` or `initial-scale`
It is advised to use a '<meta name="viewport">' tag for the optimization of opp.ca on mobile screens.
Document uses legible font sizes — 99.96% legible text
Font sizes of 12px or less are too small to most mobile users without user gestures and further action. Aim for more than 60% of page text to use font sizes greater than 12px.
Source Selector % of Page Text Font Size
.languageToggle
0.04%
10.5px
99.96%
≥ 12px
Tap targets are sized appropriately — 100% appropriately sized tap targets
Interactive elements (such as buttons and links) should be appropriately spaced, sized and easy enough to select or tap with regard to their surrounding elements.

Content Best Practices

Document has a `<title>` element
Search engines, screen reader users and other assistive technology users rely on the title to provide an overview of the page and to help determine if the page is relevant to their search.
Document has a meta description
Meta descriptions may be used by search engines when displaying a link to the page and should concisely summarize the page's content.
Image elements have `[alt]` attributes
Provide short and descriptive alternative text where possible on informative elements.
Document has a valid `hreflang`
Search engines can be instructed to list specific versions of a page for a given language or region through the use of hreflang links.
Document has a valid `rel=canonical`
Search engines can be suggested which URL should be shown in search results through the use of canonical links.
Document avoids plugins
The content of plugins cannot be indexed by search engines and many devices either restrict or do not support them.

Crawling and Indexing

Page has successful HTTP status code
Avoid pages with unsuccessful HTTP status codes as they may not be indexed by search engines.
Links are crawlable
Ensure that the 'href' attribute of anchor elements links to the appropriate destination. This allows for more pages of the site to be discovered by search engines.
Page isn’t blocked from indexing
Pages that cannot be crawled by search engines cannot be indexed or included in their search results. Ensure that search engines have permission to crawl all pages that should be indexed.
robots.txt is valid
Malformed robots.txt files prevent crawlers from understanding how a site wants to be crawled or indexed, which can be devastating to SEO.

Content Best Practices

Links do not have descriptive text — 3 links found
Make use of descriptive link text to assist search engines in understanding the content.

Manual Checks

Structured data is valid
Structured data can be validated through the use of the Structured Data Testing Tool and the Structured Data Linter.
18

Progressive Web App

Indicates how valid the aspects of a Progressive Web App (PWA) are for the page and highlights opportunities to enable/improve the PWA of opp.ca. This includes details about web app manifests.

PWA Optimized

Content is sized correctly for the viewport
Ensure that the width of the app's content matches the width of the viewport, otherwise the app might not be optimized for mobile screens.
Has a `<meta name="viewport">` tag with `width` or `initial-scale`
It is advised to use a '<meta name="viewport">' tag for the optimization of opp.ca on mobile screens.
Contains some content when JavaScript is not available
Apps should display alternative content for when JavaScript is disabled.
Provides a valid `apple-touch-icon`
iOS users of Progressive Web Apps will benefit from an apple touch icon, which can be defined with 'apple-touch-icon', which must point to a non-transparent 192px (or 180px) square PNG.

Fast and reliable

Page load is not fast enough on mobile networks — Interactive at 21.5 s
Ensure that the page loads fast enough over a cellular network, to ensure good mobile user experience.
Current page does not respond with a 200 when offline
In order for Progressive Web Apps to be made available offline, ensure that the app is using a service worker.
`start_url` does not respond with a 200 when offline
Consider using a service worker for Progressive Web Apps to ensure greater reliability for the user, in the case of poor network conditions.

Installable

Does not use HTTPS — 67 insecure requests found
Ensure that all pages are protected with HTTPS (including those that do not handle sensitive data) as HTTPS prevents tampering and passive listening on communications between the app and its users. Additionally, HTTPS is a prerequisite for HTTP/2 and many new web platform APIs.
Insecure URL
http://opp.ca/
http://opp.ca/js/angular/angular-material.css
http://opp.ca/css/fontawesome-all.min.css
http://opp.ca/css/opp.css
http://opp.ca/templates/home/tingle.min.css
http://opp.ca/ddp/ddp.js
http://opp.ca/ddp/ddp.ajax.js
http://opp.ca/js/angular/angular.min.js
http://opp.ca/js/angular/angular-animate.min.js
http://opp.ca/js/angular/angular-aria.min.js
http://opp.ca/js/angular/angular-material.js
http://opp.ca/modules/home/home-app.js
http://opp.ca/modules/home/home-controllers.js
http://opp.ca/templates/home/js/news.js
http://opp.ca/js/moment.min.js
http://opp.ca/templates/home/js/tingle.min.js
http://opp.ca/templates/home/js/modal.js
http://opp.ca/css/main.css
http://opp.ca/ddp/_ddp.configuration.js
http://opp.ca/ddp/ddp.gui.js
http://opp.ca/ddp/ddp.fx.js
http://opp.ca/ddp/ddp.forms.js
http://opp.ca/js/exeditor.js
http://opp.ca/js/display.js
http://opp.ca/templates/images/mainlogo-k.svg
http://opp.ca/templates/images/flash.svg
http://opp.ca/templates/images/icons/magnify-k.svg
http://opp.ca/templates/images/icons/hamburger-k.svg
http://opp.ca/templates/images/icons/magnify.svg
http://opp.ca/templates/images/mainlogo.svg
http://opp.ca/templates/images/magnify-k.svg
http://opp.ca/templates/images/close-k.svg
http://opp.ca/templates/home/images/amber-alert-logo-en.jpg
http://opp.ca/templates/images/icons/32-facebook.png
http://opp.ca/templates/images/icons/32-twitter.png
http://opp.ca/templates/images/icons/32-instagram.png
http://opp.ca/templates/images/icons/32-youtube.png
http://opp.ca/js/jquery-3.2.1.min.js
http://opp.ca/js/wow.min.js
http://opp.ca/js/generalFunctions.js
http://opp.ca/css/print.css
http://opp.ca/ddp/ddp.gui.css
http://www.google-analytics.com/analytics.js
http://opp.ca/components/tms/tmsentryredirect.php?43ysh0hax
http://opp.ca/templates/home/images/fader1-phone.jpg
http://opp.ca/templates/home/images/fader2-phone.jpg
http://opp.ca/templates/home/images/fader3-phone.jpg
http://opp.ca/templates/home/images/fader4-phone.jpg
http://opp.ca/templates/home/images/fader5-phone.jpg
http://opp.ca/templates/home/images/fader6-phone.jpg
http://opp.ca/templates/home/images/home-playground-tablet.jpg
http://opp.ca/templates/home/images/home-contact-tablet.jpg
http://opp.ca/templates/home/images/home-violence-tablet.jpg
http://opp.ca/templates/home/images/home-scam-tablet.jpg
http://opp.ca/templates/home/images/home-who-tablet.jpg
http://opp.ca/templates/home/images/home-what-tablet.jpg
http://opp.ca/templates/home/images/home-careers-tablet.jpg
http://opp.ca/fonts/OpenSans-Regular-webfont.ttf
http://opp.ca/fonts/OpenSans-Bold-webfont.ttf
http://opp.ca/fonts/OpenSans-Light-webfont.ttf
http://opp.ca/webfonts/fa-regular-400.woff2
http://www.google-analytics.com/collect?v=1&_v=j83&a=1058030404&t=pageview&_s=1&dl=http%3A%2F%2Fopp.ca%2F&ul=en-us&de=UTF-8&dt=Ontario%20Provincial%20Police&sd=24-bit&sr=360x640&vp=360x640&je=0&_u=IGBAgEAB~&jid=590964403&gjid=854937437&cid=1451192820.1595264350&tid=UA-11344232-6&_gid=1262463368.1595264350&z=755387093
http://opp.ca/js/rangy-core.js
http://opp.ca/js/htmlparser.js
http://opp.ca/xhr_article.php?wgua7h360
http://opp.ca/webfonts/fa-solid-900.woff2
http://opp.ca/js/rangy-textrange.js
Does not register a service worker that controls page and `start_url`
A service worker is used to provide Progressive Web Apps the use of features such as working offline, the ability for the app to be added to the homescreen as well as push notifications.
Web app manifest does not meet the installability requirements
User engagement may be increased by leveraging the browsers ability to proactively prompt users to add the app to their homescreen.
View Data

PWA Optimized

Does not redirect HTTP traffic to HTTPS
It is advised to redirect all HTTP traffic to HTTPS, in order to enable secure web features for all users.
Is not configured for a custom splash screen
Themed splash screens ensure a high-quality user experience at launch for app users.
View Data
Does not set a theme color for the address bar.
A theme may be applied to the browser address bar, which ideally can be made to match the site.
View Data
Manifest doesn't have a maskable icon
Maskable icons are great to ensure that images fill the entire shape when installing the app on a device.

Manual Checks

Site works cross-browser
Ensure that the Progressive Web App works correctly across every major browser.
Page transitions don't feel like they block on the network
Users perceive apps with responsive, snappy transitions as higher peforming and ensures a great user experience, even on a slow network.
Each page has a URL
Ensure that all pages are deep linkable via URL. They should also be unique for the purpose of shareability on social media.
Hosting

Server Location

Server IP Address: 54.209.250.244
Continent: North America
Country: United States
United States Flag
Region: Virginia
City: Ashburn
Longitude: -77.4728
Latitude: 39.0481
Currencies: USD
USN
USS
Languages: English

Web Hosting Provider

Name IP Address
Amazon.com, Inc.
Registration

Domain Registrant

Private Registration: No
Name:
Organization:
Country:
City:
State:
Post Code:
Email:
Phone:
Note: Registration information is derived from various sources and may be inaccurate.

Domain Registrar

Security

Visitor Safety

Mature Content: Not Likely
McAfee WebAdvisor Rating: Safe
WOT Rating: 4/5 (0 reviews)
WOT Trustworthiness: 79/100
WOT Child Safety: 94/100
Note: Safety information is not guaranteed.

SSL/TLS Certificate

Issued To: opp.ca
Issued By: Entrust Certification Authority - L1K
Valid From: 23rd January, 2019
Valid To: 1st February, 2021
Subject: CN = opp.ca
O = Ontario Provincial Police
L = Orillia
S = CA
Hash: bedb4041
Issuer: CN = Entrust Certification Authority - L1K
OU = See www.entrust.net/legal-terms, (c) 2012 Entrust, Inc. - for authorized use only
O = Entrust, Inc.
S = US
Version: 2
Serial Number: 12529347456531892646525490568329214040
Serial Number (Hex): 096D108605AFC52F0000000050ECB858
Valid From: 23rd January, 2024
Valid To: 1st February, 2024
Signature Algorithm (Short Name): RSA-SHA256
Signature Algorithm (Long Name): sha256WithRSAEncryption
Authority Key Identifier: keyid:82:A2:70:74:DD:BC:53:3F:CF:7B:D4:F7:CD:7F:A7:60:C6:0A:4C:BF
Extended Key Usage: TLS Web Server Authentication
CRL Distribution Points:
Full Name:
URI:http://crl.entrust.net/level1k.crl

Certificate Policies: Policy: 2.16.840.1.114028.10.1.5
CPS: http://www.entrust.net/rpa
Policy: 2.23.140.1.2.2

Authority Information Access: OCSP - URI:http://ocsp.entrust.net
CA Issuers - URI:http://aia.entrust.net/l1k-chain256.cer

SCT List: Signed Certificate Timestamp:
Version : v1 (0x0)
Log ID : 87:75:BF:E7:59:7C:F8:8C:43:99:5F:BD:F3:6E:FF:56:
8D:47:56:36:FF:4A:B5:60:C1:B4:EA:FF:5E:A0:83:0F
Timestamp : Jan 23 19:28:37.998 2019 GMT
Extensions: none
Signature : ecdsa-with-SHA256
30:46:02:21:00:8A:3A:55:5B:11:67:71:1D:54:1B:0A:
BD:F9:1E:18:83:5E:77:74:01:50:84:D6:D6:22:09:A7:
4F:A4:96:41:1D:02:21:00:89:C4:5F:A5:EF:CB:EA:4E:
4B:E5:7E:10:5E:75:05:F0:E4:82:D9:23:53:4F:EC:33:
F0:76:17:3D:91:EE:F9:78
Signed Certificate Timestamp:
Version : v1 (0x0)
Log ID : 55:81:D4:C2:16:90:36:01:4A:EA:0B:9B:57:3C:53:F0:
C0:E4:38:78:70:25:08:17:2F:A3:AA:1D:07:13:D3:0C
Timestamp : Jan 23 19:28:38.027 2019 GMT
Extensions: none
Signature : ecdsa-with-SHA256
30:46:02:21:00:A3:C2:BA:E5:42:21:0E:86:99:DE:94:
EF:B4:E6:B5:6B:C3:74:31:4F:20:55:6D:05:17:1E:E4:
6E:35:A5:7F:F1:02:21:00:83:3D:F9:BC:BE:88:3D:D3:
9E:EC:01:2F:CB:54:28:05:43:7D:1B:58:03:1B:F8:24:
B9:BA:EF:18:1E:0A:C9:58
Signed Certificate Timestamp:
Version : v1 (0x0)
Log ID : 56:14:06:9A:2F:D7:C2:EC:D3:F5:E1:BD:44:B2:3E:C7:
46:76:B9:BC:99:11:5C:C0:EF:94:98:55:D6:89:D0:DD
Timestamp : Jan 23 19:28:38.051 2019 GMT
Extensions: none
Signature : ecdsa-with-SHA256
30:46:02:21:00:DE:62:1F:89:3D:CB:B6:D5:AD:9D:E6:
01:C1:35:7F:64:1D:D3:98:50:4B:5A:68:91:BC:18:C6:
4F:27:1E:B8:4D:02:21:00:BD:82:79:18:BB:87:F3:59:
8A:02:5E:56:38:BC:83:1A:09:5E:7A:E5:28:BE:7B:A6:
B3:0F:37:D3:CC:3F:80:ED
Signed Certificate Timestamp:
Version : v1 (0x0)
Log ID : EE:4B:BD:B7:75:CE:60:BA:E1:42:69:1F:AB:E1:9E:66:
A3:0F:7E:5F:B0:72:D8:83:00:C4:7B:89:7A:A8:FD:CB
Timestamp : Jan 23 19:28:38.108 2019 GMT
Extensions: none
Signature : ecdsa-with-SHA256
30:45:02:21:00:D2:B9:31:4F:FB:F1:5C:7E:0D:0B:C3:
58:29:70:43:EB:13:24:C8:32:10:EE:F2:69:D3:FD:0F:
E1:1C:F9:D7:D7:02:20:58:0E:C0:BA:96:1C:FF:1D:45:
18:E5:65:FE:B1:23:AB:91:5E:21:92:98:5C:B1:D6:6E:
15:76:3B:18:16:F4:2D
Key Usage: Digital Signature, Key Encipherment
Basic Constraints: CA:FALSE
Subject Alternative Name: DNS:www.opp.ca
DNS:opp.ca
Technical

DNS Lookup

A Records

Host IP Address Class TTL
opp.ca. 54.209.250.244 IN 299

NS Records

Host Nameserver Class TTL
opp.ca. ns-1281.awsdns-32.org. IN 21599
opp.ca. ns-2045.awsdns-63.co.uk. IN 21599
opp.ca. ns-285.awsdns-35.com. IN 21599
opp.ca. ns-556.awsdns-05.net. IN 21599

MX Records

Priority Host Server Class TTL
5 opp.ca. mail.opp.ca. IN 299

SOA Records

Domain Name Primary NS Responsible Email TTL
opp.ca. ns-285.awsdns-35.com. awsdns-hostmaster.amazon.com. 899

TXT Records

Host Value Class TTL
opp.ca. MS=ms75795959 IN 3599
opp.ca. v=spf1 IN 3599

HTTP Response Headers

HTTP-Code: HTTP/1.1 200 OK
Server: nginx/1.10.3 (Ubuntu)
Date: 20th July, 2020
Content-Type: text/html; charset=UTF-8
Expires: 19th November, 1981
Cache-Control: no-store, no-cache, must-revalidate
Connection: keep-alive
Set-Cookie: *
Pragma: no-cache

Whois Lookup

Created:
Changed:
Expires:
Status:
Nameservers:
Full Whois:

Nameservers

Related

Subdomains

Similar Sites

Domain Valuation Snoop Score
0/5
0/5
$1,554,450 USD 3/5
0/5
$4,377 USD 2/5

Organic Search (US) Competitors

Backlink Competitors

Sites with the same domain name

Domain Valuation Snoop Score
0/5
$5,628 USD 2/5
0/5
0/5
0/5

Sites hosted on the same IP address