Scanned sites / www.royal-roofing-ltd.com / 2026-10-01-1247

www.royal-roofing-ltd.com scan from 10/1/2026, 12:47:28 PM

Scan 2026-10-01-1247

Scanned 10/1/2026, 12:47:28 PM, finished 10/1/2026, 5:38:45 PM. Found on page 4 of brave web search results

Site: https://www.royal-roofing-ltd.com/

Download SQLite databaseEvery page and asset from this scan, with the crawl events, in one file.

70/ 100Needs work

On October 1, 2026 the Site Spider crawled 69 pages and 192 assets of www.royal-roofing-ltd.com, starting from https://www.royal-roofing-ltd.com/. It scored 70 out of 100, a result that needs work. 11 of 16 checks found something to fix, led by indexability (36), sitemap coverage (46), title tags (25); 4 checks passed. Most of the points went to indexability (−7.5), sitemap coverage (−5.8), title tags (−5.2). 1 check found something the score does not count, listed as noted. The list below shows each check's result, the fix plan, when present, explains what to do first, and the security review at the end of the page covers headers, transport, libraries and exposed files.

Security review: Medium4 medium, 3 low and 1 info findings. See the security findings ↓

Pages crawled
69
Assets fetched
192
Status
Completed
Checks with issues
11 of 16
CoverageComplete crawl

261 of 261 discovered URLs were fetched. The crawl reached everything it found. HTML only: nothing here ran JavaScript. 98 link destinations on other sites were checked.

  • Title tags25 issues
    25 of 36 pages have title issues. 12 noindex or canonicalized pages excluded.
    −5.2 points
  • Meta descriptions27 issues
    27 of 36 pages have meta description issues. 12 noindex or canonicalized pages excluded.
    −4.5 points
  • Headings35 issues
    35 of 36 pages have heading issues. 12 noindex or canonicalized pages excluded.
    −4.4 points
  • Broken links1 issue
    1 internal link point at 1 broken URL.
    −0.4 points
  • Links to other sites27 issues
    27 destinations answered with an error, 61 could not be determined (timeouts, rate limits or refusals), of 98 destinations checked.
    −4 points
  • Redirects8 issues
    18 redirecting URLs, 0 of them chained.
    −0.7 points
  • Non-200 responses3 issues
    25 URLs did not return a 2xx response. 21 of them are pages, 3 with an error status; the rest are assets or redirects.
    −0.6 points
  • Rate limitedOK
    The site did not rate limit the crawler.
  • Indexability36 issues
    36 of 36 indexable pages have indexability warnings. 12 pages noindex by design.
    −7.5 points
  • Image alt text50 issues
    50 of 825 image references have no alt attribute. 520 use an empty alt (decorative), which is fine.
    −0.4 points
  • Heavy assets1 issue
    1 asset larger than 500 KB among 192 fetched assets.
    −0.6 points
  • Orphan pagesOK
    0 pages have no internal links pointing at them.
  • Sitemap coverage46 issues
    1 sitemap listing 10 URLs: 36 crawled pages missing, 10 listed URLs broken or redirecting, 0 reachable only via the sitemap.
    −5.8 points
  • Internal link countsOK
    Internal link counts for 48 pages.
  • Thin contentOK
    0 of 36 pages have fewer than 200 words. 12 noindex or canonicalized pages excluded.
  • Duplicate contentOK
    0 groups of pages with identical HTML.

Where this scan sits among all scanned sites

1618 sites, median 80%, average 79%

www.royal-roofing-ltd.com scores 70%, higher than 16% of the 1618 scanned sites. See the full ranking.

049980%: 0 sites1%: 0 sites2%: 0 sites3%: 0 sites4%: 0 sites5%: 0 sites6%: 0 sites7%: 0 sites8%: 0 sites9%: 0 sites10%: 0 sites11%: 0 sites12%: 0 sites13%: 0 sites14%: 0 sites15%: 0 sites16%: 0 sites17%: 0 sites18%: 0 sites19%: 0 sites20%: 0 sites21%: 1 site22%: 0 sites23%: 0 sites24%: 0 sites25%: 0 sites26%: 0 sites27%: 0 sites28%: 1 site29%: 0 sites30%: 0 sites31%: 0 sites32%: 0 sites33%: 0 sites34%: 0 sites35%: 2 sites36%: 1 site37%: 2 sites38%: 2 sites39%: 0 sites40%: 2 sites41%: 0 sites42%: 0 sites43%: 1 site44%: 0 sites45%: 3 sites46%: 2 sites47%: 3 sites48%: 2 sites49%: 5 sites50%: 3 sites51%: 5 sites52%: 7 sites53%: 6 sites54%: 6 sites55%: 3 sites56%: 5 sites57%: 5 sites58%: 10 sites59%: 5 sites60%: 9 sites61%: 11 sites62%: 15 sites63%: 15 sites64%: 10 sites65%: 18 sites66%: 18 sites67%: 31 sites68%: 25 sites69%: 22 sites70%: 35 sites71%: 37 sites72%: 48 sites73%: 38 sites74%: 46 sites75%: 52 sites76%: 60 sites77%: 56 sites78%: 74 sites79%: 57 sites80%: 79 sites81%: 98 sites82%: 79 sites83%: 78 sites84%: 72 sites85%: 55 sites86%: 57 sites87%: 52 sites88%: 56 sites89%: 47 sites90%: 31 sites91%: 34 sites92%: 21 sites93%: 10 sites94%: 13 sites95%: 7 sites96%: 6 sites97%: 7 sites98%: 2 sites99%: 2 sites100%: 53 sites70% here100%90%80%70%60%50%40%30%20%10%0%

Green 90% and up (Excellent), lime 75 to 89 (Good), amber 50 to 74 (Needs work), red below 50 (Poor).

Internal link map

Loading the link map...

Start page (centre)OKRedirectErrorOrphanLinked from most pagesOne inbound link or noneRings = clicks from the start page. Size = inbound links. Drag to pan, scroll to zoom, click a page to see only its links.

Fix plan

Written by gpt-4o-mini from the scan findings

The crawl identified several critical issues affecting your site's health. Prioritize fixing broken links, redirects, and heading issues to improve usability and SEO performance.

  1. 1

    Fix Broken Link

    Why: 1 internal link points to a broken URL, impacting user experience.

    How: Update or remove the link to point to a live page instead.

    Checks: broken-links

  2. 2

    Resolve Redirects

    Why: 18 URLs redirect, which can dilute SEO value and slow down page load times.

    How: Update links that lead to a redirect and ensure short, direct URLs.

    Checks: redirects

  3. 3

    Correct Heading Issues

    Why: 35 pages have multiple H1s, which confuses search engines about the main topic.

    How: Ensure each page has one H1 and use H2s or H3s appropriately.

    Checks: headings

  4. 4

    Improve Title Tags

    Why: 25 pages have title issues, negatively affecting search visibility.

    How: Shorten title tags to under 60 characters and include relevant keywords.

    Checks: titles

  5. 5

    Enhance Meta Descriptions

    Why: 27 pages have meta description issues, affecting click-through rates.

    How: Write compelling descriptions under 155 characters that engage users.

    Checks: meta-descriptions

  6. 6

    Expand Sitemap Coverage

    Why: 1 sitemap missing 36 URLs affects crawling and indexing.

    How: Update your sitemap to include all active pages and ensure it is accessible.

    Checks: sitemap-coverage

Generated automatically; verify each change against your own site before relying on it.

Security review

Written by gpt-4o-mini from 16 checks over the crawl

The website lacks essential security headers and settings, exposing it to potential attacks such as interception and clickjacking. It is crucial to implement HTTP Strict Transport Security, Content Security Policy, and other recommended measures to enhance security and protect user data.

  • 0 high
  • 4 medium
  • 3 low
  • 1 info
  1. 1

    Missing HTTP Strict Transport Security (HSTS)Medium

    Why it matters: Without HSTS, visitors can be intercepted on their first request if they type the URL without HTTPS.

    Fix: Add the header: `Strict-Transport-Security: max-age=31536000; includeSubDomains`.

    Evidence: HTTP Strict Transport Security

  2. 2

    Missing Content Security Policy (CSP)Medium

    Why it matters: Lack of CSP allows unrestricted loading of scripts, styles, and frames, increasing XSS risks.

    Fix: Add a header like: `Content-Security-Policy: default-src 'self';` to restrict content sources.

    Evidence: Content Security Policy

  3. 3

    Missing X-Frame-Options HeaderMedium

    Why it matters: Without this header, the site is susceptible to clickjacking attacks.

    Fix: Add the header: `X-Frame-Options: DENY`.

    Evidence: Clickjacking protection

  4. 4

    Cookies Missing Security FlagsMedium

    Why it matters: Without Secure, HttpOnly, and SameSite flags, cookies can be accessed inappropriately.

    Fix: Set `Secure; HttpOnly; SameSite=Strict` flags on cookies using appropriate headers.

    Evidence: Cookie flags

  5. 5

    Missing X-Content-Type-Options HeaderLow

    Why it matters: Without it, browsers may execute files with the wrong content type, risking XSS.

    Fix: Add the header: `X-Content-Type-Options: nosniff`.

    Evidence: MIME sniffing protection

  6. 6

    Missing Referrer-Policy HeaderLow

    Why it matters: Without a Referrer-Policy, sensitive URL information may be sent when navigating away.

    Fix: Add the header: `Referrer-Policy: no-referrer`.

    Evidence: Referrer policy

  7. 7

    Exposing Server Version DetailsLow

    Why it matters: Revealing the server version aids attackers in identifying vulnerabilities.

    Fix: Remove or change the `X-Powered-By` header to not disclose version information.

    Evidence: Software version disclosure

  8. 8

    Missing Permissions-Policy HeaderInfo

    Why it matters: Without it, injected scripts could misuse browser features like camera or geolocation.

    Fix: Add the header: `Permissions-Policy: camera=(), microphone=(), geolocation=()`.

    Evidence: Permissions policy

What the checks found

  • FoundHTTP Strict Transport SecurityMedium

    No HTML page sends strict-transport-security. Without it a visitor who types the address without https:// can be intercepted on the first request.

    • https://www.royal-roofing-ltd.com/ → no strict-transport-security
    • https://www.royal-roofing-ltd.com/contact-us/ → no strict-transport-security
    • https://www.royal-roofing-ltd.com/commercial-industrial-roofs/ → no strict-transport-security
    • https://www.royal-roofing-ltd.com/condominium-residential-roofs/ → no strict-transport-security
    • https://www.royal-roofing-ltd.com/suppliers-roofing-systems/ → no strict-transport-security
    • https://www.royal-roofing-ltd.com/warranties-roof-inspections/ → no strict-transport-security
    • https://www.royal-roofing-ltd.com/insurance-claim-repairs/ → no strict-transport-security
    • https://www.royal-roofing-ltd.com/free-estimates/ → no strict-transport-security
    • https://www.royal-roofing-ltd.com/blog/ → no strict-transport-security
    • https://www.royal-roofing-ltd.com/the-dangers-of-ignoring-commercial-roof-maintenance/ → no strict-transport-security
    • https://www.royal-roofing-ltd.com/how-epdm-systems-can-suit-the-needs-of-any-commercial-flat-roofing-system/ → no strict-transport-security
    • https://www.royal-roofing-ltd.com/the-importance-of-commercial-roofing-contractors/ → no strict-transport-security
  • FoundContent Security PolicyMedium

    None of the 48 HTML pages send a Content-Security-Policy header or meta tag, so the browser has no restriction on where scripts, styles and frames may load from.

    • https://www.royal-roofing-ltd.com/ → no content-security-policy
    • https://www.royal-roofing-ltd.com/contact-us/ → no content-security-policy
    • https://www.royal-roofing-ltd.com/commercial-industrial-roofs/ → no content-security-policy
    • https://www.royal-roofing-ltd.com/condominium-residential-roofs/ → no content-security-policy
    • https://www.royal-roofing-ltd.com/suppliers-roofing-systems/ → no content-security-policy
    • https://www.royal-roofing-ltd.com/warranties-roof-inspections/ → no content-security-policy
    • https://www.royal-roofing-ltd.com/insurance-claim-repairs/ → no content-security-policy
    • https://www.royal-roofing-ltd.com/free-estimates/ → no content-security-policy
    • https://www.royal-roofing-ltd.com/blog/ → no content-security-policy
    • https://www.royal-roofing-ltd.com/the-dangers-of-ignoring-commercial-roof-maintenance/ → no content-security-policy
    • https://www.royal-roofing-ltd.com/how-epdm-systems-can-suit-the-needs-of-any-commercial-flat-roofing-system/ → no content-security-policy
    • https://www.royal-roofing-ltd.com/the-importance-of-commercial-roofing-contractors/ → no content-security-policy
  • FoundClickjacking protectionMedium

    No HTML page sends x-frame-options. Without X-Frame-Options (or a CSP frame-ancestors directive) the pages can be embedded in a frame on another site and overlaid with invisible controls.

    • https://www.royal-roofing-ltd.com/ → no x-frame-options
    • https://www.royal-roofing-ltd.com/contact-us/ → no x-frame-options
    • https://www.royal-roofing-ltd.com/commercial-industrial-roofs/ → no x-frame-options
    • https://www.royal-roofing-ltd.com/condominium-residential-roofs/ → no x-frame-options
    • https://www.royal-roofing-ltd.com/suppliers-roofing-systems/ → no x-frame-options
    • https://www.royal-roofing-ltd.com/warranties-roof-inspections/ → no x-frame-options
    • https://www.royal-roofing-ltd.com/insurance-claim-repairs/ → no x-frame-options
    • https://www.royal-roofing-ltd.com/free-estimates/ → no x-frame-options
    • https://www.royal-roofing-ltd.com/blog/ → no x-frame-options
    • https://www.royal-roofing-ltd.com/the-dangers-of-ignoring-commercial-roof-maintenance/ → no x-frame-options
    • https://www.royal-roofing-ltd.com/how-epdm-systems-can-suit-the-needs-of-any-commercial-flat-roofing-system/ → no x-frame-options
    • https://www.royal-roofing-ltd.com/the-importance-of-commercial-roofing-contractors/ → no x-frame-options
  • FoundMIME sniffing protectionLow

    No HTML page sends x-content-type-options. Without X-Content-Type-Options: nosniff a browser may run a file as a script because of its contents rather than its declared type.

    • https://www.royal-roofing-ltd.com/ → no x-content-type-options
    • https://www.royal-roofing-ltd.com/contact-us/ → no x-content-type-options
    • https://www.royal-roofing-ltd.com/commercial-industrial-roofs/ → no x-content-type-options
    • https://www.royal-roofing-ltd.com/condominium-residential-roofs/ → no x-content-type-options
    • https://www.royal-roofing-ltd.com/suppliers-roofing-systems/ → no x-content-type-options
    • https://www.royal-roofing-ltd.com/warranties-roof-inspections/ → no x-content-type-options
    • https://www.royal-roofing-ltd.com/insurance-claim-repairs/ → no x-content-type-options
    • https://www.royal-roofing-ltd.com/free-estimates/ → no x-content-type-options
    • https://www.royal-roofing-ltd.com/blog/ → no x-content-type-options
    • https://www.royal-roofing-ltd.com/the-dangers-of-ignoring-commercial-roof-maintenance/ → no x-content-type-options
    • https://www.royal-roofing-ltd.com/how-epdm-systems-can-suit-the-needs-of-any-commercial-flat-roofing-system/ → no x-content-type-options
    • https://www.royal-roofing-ltd.com/the-importance-of-commercial-roofing-contractors/ → no x-content-type-options
  • FoundReferrer policyLow

    No HTML page sends referrer-policy. Without a Referrer-Policy the full page address, including any query string, is sent to every site a visitor clicks through to.

    • https://www.royal-roofing-ltd.com/ → no referrer-policy
    • https://www.royal-roofing-ltd.com/contact-us/ → no referrer-policy
    • https://www.royal-roofing-ltd.com/commercial-industrial-roofs/ → no referrer-policy
    • https://www.royal-roofing-ltd.com/condominium-residential-roofs/ → no referrer-policy
    • https://www.royal-roofing-ltd.com/suppliers-roofing-systems/ → no referrer-policy
    • https://www.royal-roofing-ltd.com/warranties-roof-inspections/ → no referrer-policy
    • https://www.royal-roofing-ltd.com/insurance-claim-repairs/ → no referrer-policy
    • https://www.royal-roofing-ltd.com/free-estimates/ → no referrer-policy
    • https://www.royal-roofing-ltd.com/blog/ → no referrer-policy
    • https://www.royal-roofing-ltd.com/the-dangers-of-ignoring-commercial-roof-maintenance/ → no referrer-policy
    • https://www.royal-roofing-ltd.com/how-epdm-systems-can-suit-the-needs-of-any-commercial-flat-roofing-system/ → no referrer-policy
    • https://www.royal-roofing-ltd.com/the-importance-of-commercial-roofing-contractors/ → no referrer-policy
  • FoundPermissions policyInfo

    No HTML page sends permissions-policy. A Permissions-Policy header turns off browser features the site does not use (camera, microphone, geolocation), limiting what an injected script could do.

    • https://www.royal-roofing-ltd.com/ → no permissions-policy
    • https://www.royal-roofing-ltd.com/contact-us/ → no permissions-policy
    • https://www.royal-roofing-ltd.com/commercial-industrial-roofs/ → no permissions-policy
    • https://www.royal-roofing-ltd.com/condominium-residential-roofs/ → no permissions-policy
    • https://www.royal-roofing-ltd.com/suppliers-roofing-systems/ → no permissions-policy
    • https://www.royal-roofing-ltd.com/warranties-roof-inspections/ → no permissions-policy
    • https://www.royal-roofing-ltd.com/insurance-claim-repairs/ → no permissions-policy
    • https://www.royal-roofing-ltd.com/free-estimates/ → no permissions-policy
    • https://www.royal-roofing-ltd.com/blog/ → no permissions-policy
    • https://www.royal-roofing-ltd.com/the-dangers-of-ignoring-commercial-roof-maintenance/ → no permissions-policy
    • https://www.royal-roofing-ltd.com/how-epdm-systems-can-suit-the-needs-of-any-commercial-flat-roofing-system/ → no permissions-policy
    • https://www.royal-roofing-ltd.com/the-importance-of-commercial-roofing-contractors/ → no permissions-policy
  • FoundSoftware version disclosureLow

    Responses reveal the exact server or framework version, which lets an attacker look up known vulnerabilities for it without guessing.

    • x-powered-by: PHP/7.4.33 (74 responses)
  • FoundCookie flagsMedium

    2 of 2 cookies are missing protective flags. Without HttpOnly a script can read the cookie; without Secure it travels over plain HTTP; without SameSite it is sent on cross-site requests.

    • request_id (set by https://www.royal-roofing-ltd.com/) lacks Secure, SameSite
    • FC_captcha_key[4ec0e62f922922c43d8d49cf131505ca] (set by https://www.royal-roofing-ltd.com/?FC_captcha_request=bb1cb9815f0b2e9b3437009ff…) lacks Secure, HttpOnly, SameSite
  • NoteThird-party scripts

    Scripts run from 2 other domains without Subresource Integrity, so a compromise of any of them changes what runs on this site. (Tag managers and analytics rarely support SRI; a Content-Security-Policy that names these hosts is the usual control.)

    • code.jquery.com (40 script tags)
    • www.google.com (39 script tags)
  • NoteSensitive paths in robots.txt

    robots.txt lists 2 paths that look private. robots.txt is public and does not restrict access, so it doubles as a map for anyone probing the site; those paths need real access control.

    • Disallow: /wp-admin/
    • Disallow: /wp-includes/
6 checks passed
  • OKHTTPS

    All 48 crawled pages were served over HTTPS.

  • OKMixed content

    No HTTPS page loads a script, stylesheet, font or image over plain HTTP.

  • OKForms over HTTPS

    41 forms found, all on HTTPS pages posting to HTTPS addresses.

  • OKVulnerable JavaScript libraries

    1 library version recognised, none with known vulnerabilities.

  • OKKeys and secrets in page code

    No API keys, tokens or private keys were found in the sampled HTML and scripts.

  • OKExposed files and listings

    None of the crawled URLs is a configuration file, backup, dump, repository folder or directory listing.

A passive review of what the crawl recorded: response headers, page and script contents and the URLs it found. It does not probe the site, test TLS settings or look for files that were not linked. Generated automatically; verify each finding against your own site before acting on it.

Sites scoring near www.royal-roofing-ltd.com

Their neighbours in the SEO rank table, which orders every scanned site by health score.

This report was produced by the DIY SEO Hub Site Spider crawling www.royal-roofing-ltd.com from its pages as published, the way a search engine does. It shows summary figures only.

Own www.royal-roofing-ltd.com?

  • Claim this site to manage the listing, hide it from the public lists, or keep it.
  • Want it gone instead? Ask through the support form or e-mail support@diyseohub.com, naming www.royal-roofing-ltd.com. Removal needs no account and no proof of purchase.
www.royal-roofing-ltd.com scan 2026-10-01-1247 | DIY SEO Hub