Skip to content
https://toronto.ca

Infrastructure

· 9 checks — DNS, redirects, IPv6, crawlability, URL variants, and domain intelligence rolled into one auditable list.
SCORE
89
GRADE
B
FIX
0
REVIEW
3
PASS
6
INFO
0
Probed from Amsterdam, Netherlands
200 OK
Checks
9
6 PASS 3 REVIEW
B
DNS Records
4 A records, 584 ms lookup
REVIEW
4 A records, 584 ms lookup
Info::
Resolves to 4 IPv4 address(es)
Got: 18.239.50.73, 18.239.50.125, 18.239.50.55, 18.239.50.58
Info::
No IPv6 (AAAA) records
Warning::
CNAME record at zone apex
A CNAME at the zone apex can break MX and NS records. Use ALIAS/ANAME or A records instead.
Got: d12dj7ytm0t2bf.cloudfront.net
Info::
4 nameserver(s) configured
Got: ns-1336.awsdns-39.org, ns-1833.awsdns-37.co.uk, ns-324.awsdns-40.com, ns-758.awsdns-30.net
Info::
No MX records — email not configured via DNS
Info::
CAA records not checked
CAA record lookup requires a specialized DNS resolver. This check will be available in a future update.
Info::
No SPF record found in TXT records
SPF helps prevent email spoofing. Add a TXT record starting with 'v=spf1'.
Warning::
DNS resolution is slow (584 ms)
Slow DNS adds latency to every page load. Consider a faster DNS provider.
Got: 584 ms
A18.239.50.73, 18.239.50.125, 18.239.50.55, 18.239.50.58
AAAA
CNAMEd12dj7ytm0t2bf.cloudfront.net
NSns-1336.awsdns-39.org, ns-1833.awsdns-37.co.uk, ns-324.awsdns-40.com, ns-758.awsdns-30.net
MX
TXT
CAALookup not available with standard resolver
Resolved in 584 ms

A CNAME at the zone apex can break MX and NS records. Use ALIAS/ANAME or A records instead.

Why this matters

CNAME at the apex (example.com) breaks every other apex record (MX, TXT, NS) — DNS-protocol violation per RFC 1034.

Learn more

RFC 1034 forbids CNAME alongside other records at the same name. Some DNS providers offer ALIAS / ANAME / flattened-CNAME records that work around this — use those instead. Otherwise apex-level CNAME breaks email (no MX), domain ownership verification (no TXT), and more.

Source: RFC 1034

CAA record lookup requires a specialized DNS resolver. This check will be available in a future update.

Why this matters

Informational: CAA (Certification Authority Authorization) records weren't checked in this scan.

SPF helps prevent email spoofing. Add a TXT record starting with 'v=spf1'.

Why this matters

Without SPF, receiving servers can't validate sending IPs — your domain is easier to spoof in phishing.

Learn more

SPF complements DMARC. Both should be published. SPF records list authorized sending IPs (e.g., `v=spf1 include:_spf.google.com ~all` for Google Workspace). After publishing, verify in Google Postmaster Tools or mxtoolbox.

Source: RFC 7208 (SPF)

Slow DNS adds latency to every page load. Consider a faster DNS provider.

Why this matters

DNS resolution is slow — anycast DNS providers (Cloudflare, Route 53) typically resolve <50ms globally.

Source: DNS performance benchmarks

C
IPv6 Readiness
Action
No IPv6 support
REVIEW
No IPv6 support
Info::
No IPv6 (AAAA) records found
IPv6 support is increasingly important for global accessibility. About 40% of internet users have IPv6 connectivity.
No IPv6 Support
About 40% of internet users have IPv6. Consider adding AAAA records.

IPv6 support is increasingly important for global accessibility. About 40% of internet users have IPv6 connectivity.

Why this matters

No AAAA records — same impact as 'no IPv6 (AAAA) records'; IPv6-preferring clients pay extra latency falling back to IPv4.

Source: Google IPv6 stats

B
TLS Certificate Expiry & Recommendations
323 days until leaf cert expires — 3 issues to address
REVIEW

Certificate validity

323
days left
0d 30d 60d 90d+

Recommended actions

  • Add the preload directive and submit to hstspreload.org once max-age + includeSubDomains are in place
  • Enable DNSSEC on your domain for DNS spoofing protection
  • Enable OCSP stapling on your TLS server to remove a CA roundtrip and protect user privacy
A+
Redirect Chain
No redirects — direct access
PASS
No redirects — direct access
Info::
No redirects — direct access
Got: https://www.toronto.ca

https://www.toronto.ca

338 ms · HTTP/1.1 FINAL

#URLStatusTimeProtocolServer
1https://www.toronto.ca200338 msHTTP/1.1CloudFront
A+
Crawlability
robots.txt present, sitemap with 8 URLs
PASS
robots.txt present, sitemap with 8 URLs
Info::
robots.txt is present
Got: 3466 bytes
Info::
sitemap.xml is present
Info::
sitemap.xml is valid XML
Info::
sitemap.xml contains 8 entries
Info::
Sitemap index with 8 child sitemaps
Info::
robots.txt references sitemap
robots.txt 200 OK
Size 3466 B Sitemaps referenced 1 User-agents * Blocking No — crawling allowed
User-agent: *

Disallow: /wp-admin/

Disallow: readme.html

Disallow: license.txt

Disallow: /wp-admin/admin-ajax.php


#

#legacy

Disallow: /legdocs/2002/agendas/council/cc021029/ny11rpt/cl005.pdf

Disallow: /legdocs/mmis/2009/sv/bgrd/

Disallow: /legdocs/mmis/2010/sv/bgrd/

Disallow: /legdocs/mmis/2011/sv/bgrd/

Disallow: /legdocs/mmis/2012/sv/bgrd/

Disallow: /legdocs/mmis/2013/sv/bgrd/

Disallow: /legdocs/mmis/2014/sv/bgrd/

Disallow: /legdocs/mmis/2015/sv/bgrd/

Disallow: /legdocs/mmis/2016/sv/bgrd/

Disallow: /legdocs/mmis/2017/sv/bgrd/

Disallow: /legdocs/mmis/2018/sv/bgrd/

Disallow: /legdocs/mmis/2019/sv/bgrd/

Disallow: /legdocs/mmis/2020/sv/bgrd/

Disallow: /legdocs/mmis/2021/sv/bgrd/

Disallow: /legdocs/mmis/2022/sv/bgrd/

Disallow: /legdocs/mmis/2023/sv/bgrd/

Disallow: /legdocs/mmis/2024/sv/bgrd/

Disallow: /legdocs/mmis/2025/sv/bgrd/

Disallow: /legdocs/mmis/2026/sv/bgrd/

Disallow: /legdocs/mmis/2009/sy/bgrd/

Disallow: /legdocs/mmis/2010/sy/bgrd/

Disallow: /legdocs/mmis/2011/sy/bgrd/

Disallow: /legdocs/mmis/2012/sy/bgrd/

Disallow: /legdocs/mmis/2013/sy/bgrd/

Disallow: /legdocs/mmis/2014/sy/bgrd/

Disallow: /legdocs/mmis/2015/sy/bgrd/

Disallow: /legdocs/mmis/2016/sy/bgrd/

Disallow: /legdocs/mmis/2017/sy/bgrd/

Disallow: /legdocs/mmis/2018/sy/bgrd/

Disallow: /legdocs/mmis/2019/sy/bgrd/

Disallow: /legdocs/mmis/2020/sy/bgrd/

Disallow: /legdocs/mmis/2021/sy/bgrd/

Disallow: /legdocs/mmis/2022/sy/bgrd/

Disallow: /legdocs/mmis/2023/sy/bgrd/

Disallow: /legdocs/mmis/2024/sy/bgrd/

Disallow: /legdocs/mmis/2025/sy/bgrd/

Disallow: /legdocs/mmis/2026/sy/bgrd/

Disallow: /legdocs/mmis/2009/sx/bgrd/

Disallow: /legdocs/mmis/2010/sx/bgrd/

Disallow: /legdocs/mmis/2011/sx/bgrd/

Disallow: /legdocs/mmis/2012/sx/bgrd/

Disallow: /legdocs/mmis/2013/sx/bgrd/

Disallow: /legdocs/mmis/2014/sx/bgrd/

Disallow: /legdocs/mmis/2015/sx/bgrd/

Disallow: /legdocs/mmis/2016/sx/bgrd/

Disallow: /legdocs/mmis/2017/sx/bgrd/

Disallow: /legdocs/mmis/2018/sx/bgrd/

Disallow: /legdocs/mmis/2019/sx/bgrd/

Disallow: /legdocs/mmis/2020/sx/bgrd/

Disallow: /legdocs/mmis/2021/sx/bgrd/

Disallow: /legdocs/mmis/2022/sx/bgrd/

Disallow: /legdocs/mmis/2023/sx/bgrd/

Disallow: /legdocs/mmis/2024/sx/bgrd/

Disallow: /legdocs/mmis/2025/sx/bgrd/

Disallow: /legdocs/mmis/2026/sx/bgrd/

Disallow: /legdocs/mmis/2009/sz/bgrd/

Disallow: /legdocs/mmis/2010/sz/bgrd/

Disallow: /legdocs/mmis/2011/sz/bgrd/

Disallow: /legdocs/mmis/2012/sz/bgrd/

Disallow: /legdocs/mmis/2013/sz/bgrd/

Disallow: /legdocs/mmis/2014/sz/bgrd/

Disallow: /legdocs/mmis/2015/sz/bgrd/

Disallow: /legdocs/mmis/2016/sz/bgrd/

Disallow: /legdocs/mmis/2017/sz/bgrd/

Disallow: /legdocs/mmis/2018/sz/bgrd/

Disallow: /legdocs/mmis/2019/sz/bgrd/

Disallow: /legdocs/mmis/2020/sz/bgrd/

Disallow: /legdocs/mmis/2021/sz/bgrd/

Disallow: /legdocs/mmis/2022/sz/bgrd/

Disallow: /legdocs/mmis/2023/sz/bgrd/

Disallow: /legdocs/mmis/2024/sz/bgrd/

Disallow: /legdocs/mmis/2025/sz/bgrd/

Disallow: /legdocs/mmis/2026/sz/bgrd/

Disallow: /wp-content/uploads/2019/03/8da8-CommitteeofAdjustment-NorthYork-Agenda-March-7-2019.pdf

Disallow: /legdocs/mmis/2019/dg/bgrd/

Disallow: /legdocs/mmis/2020/dg/bgrd/

Disallow: /legdocs/mmis/2021/dg/bgrd/

Disallow: /legdocs/mmis/2022/dg/bgrd/

Disallow: /legdocs/mmis/2023/dg/bgrd/

Disallow: /legdocs/mmis/2024/dg/bgrd/

Disallow: /legdocs/mmis/2025/dg/bgrd/

Disallow: /legdocs/mmis/2026/dg/bgrd/


Sitemap: https://www.toronto.ca/sitemap.xml
A+
URL Variants
www/non-www, trailing slash, HTTP→HTTPS
PASS
www/non-www, trailing slash, HTTP→HTTPS
Info::
HTTP correctly 301-redirects to HTTPS

www / non-www

200https://www.toronto.ca/
https://toronto.ca/

HTTP → HTTPS

301http://www.toronto.ca/ https://www.toronto.ca/

Consistent

A+
Domain Intelligence
toronto.ca — via Webnames.ca Inc., 24 years, 4 months old, hosted on CITY-OF-TORONTO - City of Toronto, CA
PASS
toronto.ca — via Webnames.ca Inc., 24 years, 4 months old, hosted on CITY-OF-TORONTO - City of Toronto, CA
Info::
Domain registered until Apr 18, 2034 (8 years, 1 months remaining)
Info::
DNSSEC is not enabled
DNSSEC protects against DNS spoofing attacks. While not required, enabling DNSSEC adds an additional layer of security. Contact your DNS provider to enable it.
Info::
Registrar: Webnames.ca Inc.
Warning::
Registrar lock is NOT enabled
The domain can be transferred without an unlock step. Enable registrar lock (clientTransferProhibited) in your registrar's control panel to protect against unauthorized or accidental transfers.
Info::
Hosting: CITY-OF-TORONTO - City of Toronto, CA
Got: AS14836
Domain expiry

2863 days

April 18, 2034

SSL certificate

323 days

Issued by Entrust Limited

Domain age

24 years, 4 months

Registered April 19, 2002

DNSSEC

Not enabled

Protects against DNS spoofing

Hosting

CITY-OF-TORONTO - City of Toronto, CA

ASN AS14836

206.130.170.36

Registrar

Webnames.ca Inc.

Unlocked 4 NS records
Expiry timeline
Today
+1 year
Domain expiry SSL expiry Danger zone (≤30 days)
Recommended actions
  • Enable DNSSEC to protect visitors from DNS spoofing
  • Enable registrar lock (clientTransferProhibited) to block unauthorized domain transfers
Registrar Webnames.ca Inc.
Created April 19, 2002 (24 years, 4 months ago)
Expires April 18, 2034 (8 years, 1 months)
Last Updated April 16, 2026
Name Servers dns1.easydns.com, dns2.easydns.net, dns3.easydns.org, dns4.easydns.info
DNSSEC Not enabled
Registrant The City of Toronto
Hosting
IP Address 206.130.170.36
ASN AS14836 (CITY-OF-TORONTO - City of Toronto, CA)
Provider CITY-OF-TORONTO - City of Toronto, CA
Data source: rdap (0.5s)

DNSSEC protects against DNS spoofing attacks. While not required, enabling DNSSEC adds an additional layer of security. Contact your DNS provider to enable it.

Why this matters

Without DNSSEC, an attacker who can poison your DNS can hijack your domain — and SSL certs alone don't stop them.

Learn more

DNSSEC adds cryptographic signatures to DNS records, preventing forged responses from poisoning resolver caches. Without it, an attacker who controls the network path can redirect your domain to a malicious server before any HTTPS handshake happens. Most modern registrars (Cloudflare, Google Domains, Route 53) enable it with one toggle.

Source: ICANN / RFC 4033

The domain can be transferred without an unlock step. Enable registrar lock (clientTransferProhibited) in your registrar's control panel to protect against unauthorized or accidental transfers.

Why this matters

Without registrar lock, an attacker who phishes your registrar credentials can transfer the domain in minutes — total brand hijack.

Learn more

Registrar lock (clientTransferProhibited, clientUpdateProhibited, clientDeleteProhibited) requires extra verification before any transfer/update/delete. Every major registrar offers it free. Combined with 2FA on your registrar account, it's the strongest defense against domain hijacking.

Source: ICANN / domain-security best practice

A+
HTTP Probe Timing
Total 341 ms — DNS, TCP, TLS, TTFB, content transfer breakdown
PASS
DNS Lookup DNS Lookup — time to resolve the domain name to an IP address.
327 ms
TCP Connect TCP Connect — time to establish a TCP connection to the server.
1 ms
TLS Handshake TLS Handshake — time to complete the HTTPS encryption handshake.
8 ms
Time to First Byte Time to First Byte — how long the server takes to respond with the first byte of data.
339 ms
Total Time Total request time from DNS lookup through full response.
341 ms

Connection waterfall

DNS Lookup 327 ms TCP Connect 1 ms TLS Handshake 8 ms Server Processing 4 ms Content Transfer 2 ms
A+
CDN & Delivery
AWS CloudFront (Hit from cloudfront)
PASS
AWS CloudFront (Hit from cloudfront)
Info::
Site is served via AWS CloudFront CDN (edge: AMS58-P3)
Got: x-amz-cf-id: ctjQsyV_zWLeOVrUsBZCGXW7XUvuFxIejTe_atuvgIBxYMQG5F4TDw==
Info::
CDN cache status: Hit from cloudfront
CDN Detected: AWS CloudFront
Provider AWS CloudFront Cache Status Hit from cloudfront Evidence x-amz-cf-id: ctjQsyV_zWLeOVrUsBZCGXW7XUvuFxIejTe_atuvgIBxYMQG5F4TDw==
All checks on this page are automated. Results are estimates - run targeted manual reviews when the score affects a release decision.

Send Feedback