Catalog / trsgutters.com
62

SEO audit for trsgutters.com

Home Page - TRS Gutters | Kootenay Gutter Contractor

otherWordPress

Health 62/100 (fair) · 50 pages crawled · generated 2026-08-26

Download Markdown report (feed to ChatGPT / Claude / Cursor)

Professional gutter installations, replacement, and repairs for homes and businesses throughout Castlegar, Trail, Nelson, and Surrounding areas.

Screenshot of trsgutters.com
50
pages crawled
34
indexable pages
8
errors
84
warnings
323
notices
0
orphan pages
7
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Links 86 7 0 10
Crawlability 98 1 0 0
Structured Data 84 0 26 3
Performance 87 0 22 164
Agent Readiness 94 0 10 12
Indexability 95 0 8 0
Budget 96 0 7 0
Meta Description 98 0 4 7
Duplicate 98 0 3 2
Headings 98 0 3 2
Titles 99 0 1 6
Content 100 0 0 46
Images 100 0 0 12
Security 100 0 0 42
Sitemap 100 0 0 3
Social 100 0 0 14
Findings

Errors (2 rules)

error Broken internal link (target 4xx/5xx)

Rule links.broken_internal · Links · 7 occurrence(s)

error Client error (4xx) response

Rule status.4xx · Crawlability · 1 occurrence(s)

Warnings (9 rules)

warning Control has no accessible name

Rule agent.control_no_name · Agent Readiness · 10 occurrence(s)

warning Noindex page receives internal links (crawl-budget waste)

Rule budget.noindex_linked · Budget · 7 occurrence(s)

  • https://www.trsgutters.com/author/trsgutter/ — this noindex page has 18 internal inlink(s) — Googlebot follows them, fetches the page, then drops it unindexed, spending crawl budget for no indexing benefit (and the links leak equity). Remove/redirect the links, or drop the noindex if the page should be indexed. Linked from: https://www.trsgutters.com/why-cleaning-gutters-matters-bc/, https://www.trsgutters.com/what-causes-ice-dams-on-roofs-bc/, https://www.trsgutters.com/why-metal-roofs-cause-gutter-problems/.
  • https://www.trsgutters.com/tag/fascia-install/ — this noindex page has 1 internal inlink(s) — Googlebot follows them, fetches the page, then drops it unindexed, spending crawl budget for no indexing benefit (and the links leak equity). Remove/redirect the links, or drop the noindex if the page should be indexed. Linked from: https://www.trsgutters.com/signs-fascia-is-rotting-behind-gutters/.
  • https://www.trsgutters.com/tag/gutters/ — this noindex page has 6 internal inlink(s) — Googlebot follows them, fetches the page, then drops it unindexed, spending crawl budget for no indexing benefit (and the links leak equity). Remove/redirect the links, or drop the noindex if the page should be indexed. Linked from: https://www.trsgutters.com/why-cleaning-gutters-matters-bc/, https://www.trsgutters.com/what-causes-ice-dams-on-roofs-bc/, https://www.trsgutters.com/why-metal-roofs-cause-gutter-problems/.
  • https://www.trsgutters.com/tag/ice-dams/ — this noindex page has 1 internal inlink(s) — Googlebot follows them, fetches the page, then drops it unindexed, spending crawl budget for no indexing benefit (and the links leak equity). Remove/redirect the links, or drop the noindex if the page should be indexed. Linked from: https://www.trsgutters.com/what-causes-ice-dams-on-roofs-bc/.
  • https://www.trsgutters.com/tag/metal-roofs/ — this noindex page has 1 internal inlink(s) — Googlebot follows them, fetches the page, then drops it unindexed, spending crawl budget for no indexing benefit (and the links leak equity). Remove/redirect the links, or drop the noindex if the page should be indexed. Linked from: https://www.trsgutters.com/why-metal-roofs-cause-gutter-problems/.
  • https://www.trsgutters.com/tag/snow-load/ — this noindex page has 1 internal inlink(s) — Googlebot follows them, fetches the page, then drops it unindexed, spending crawl budget for no indexing benefit (and the links leak equity). Remove/redirect the links, or drop the noindex if the page should be indexed. Linked from: https://www.trsgutters.com/what-heavy-snow-load-does-to-gutters/.
  • https://www.trsgutters.com/tag/soffit-installation/ — this noindex page has 1 internal inlink(s) — Googlebot follows them, fetches the page, then drops it unindexed, spending crawl budget for no indexing benefit (and the links leak equity). Remove/redirect the links, or drop the noindex if the page should be indexed. Linked from: https://www.trsgutters.com/why-soffit-ventilation-matters-in-winter/.

warning Near-duplicate page content

Rule duplicate.near · Duplicate · 3 occurrence(s)

warning Page is noindex

Rule index.noindex · Indexability · 8 occurrence(s)

warning Render-blocking script in <head> (no defer/async)

Rule perf.render_blocking · Performance · 22 occurrence(s)

warning Schema describes content not visible on the page

Rule schema.hidden_content · Structured Data · 26 occurrence(s)

  • https://www.trsgutters.com/ — a schema name/headline ("Company Name") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://www.trsgutters.com/about-us/our-process/ — a schema name/headline ("Company Name") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://www.trsgutters.com/best-gutters-for-snow-and-ice-bc/ — a schema name/headline ("Company Name") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://www.trsgutters.com/blog/ — a schema name/headline ("Company Name") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://www.trsgutters.com/category/gutters/ — a schema name/headline ("Company Name") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://www.trsgutters.com/category/soffit/ — a schema name/headline ("Company Name") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://www.trsgutters.com/clients/ — a schema name/headline ("Company Name") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://www.trsgutters.com/contact/ — a schema name/headline ("Company Name") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://www.trsgutters.com/fascia-boards/ — a schema name/headline ("Company Name") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://www.trsgutters.com/gallery/ — a schema name/headline ("Company Name") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://www.trsgutters.com/gutter-replacements/gutter-hangers/ — a schema name/headline ("Company Name") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://www.trsgutters.com/gutter-replacements/gutter-screens/ — a schema name/headline ("Company Name") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://www.trsgutters.com/gutters-in-the-kootenays/ — a schema name/headline ("Company Name") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://www.trsgutters.com/home-2026/ — a schema name/headline ("Company Name") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://www.trsgutters.com/home/ — a schema name/headline ("Company Name") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://www.trsgutters.com/our-warranty/ — a schema name/headline ("Company Name") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://www.trsgutters.com/signs-fascia-is-rotting-behind-gutters/ — a schema name/headline ("Company Name") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://www.trsgutters.com/soffits/ — a schema name/headline ("Company Name") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://www.trsgutters.com/thankyou/ — a schema name/headline ("Company Name") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://www.trsgutters.com/what-causes-ice-dams-on-roofs-bc/ — a schema name/headline ("Company Name") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://www.trsgutters.com/what-heavy-snow-load-does-to-gutters/ — a schema name/headline ("Company Name") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://www.trsgutters.com/why-cleaning-gutters-matters-bc/ — a schema name/headline ("Company Name") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://www.trsgutters.com/why-gutters-pull-away-from-homes-kootenays/ — a schema name/headline ("Company Name") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://www.trsgutters.com/why-metal-roofs-cause-gutter-problems/ — a schema name/headline ("Company Name") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.
  • https://www.trsgutters.com/why-soffit-ventilation-matters-in-winter/ — a schema name/headline ("Company Name") does not appear in the page's visible text — Google's policies prohibit marking up content not visible to readers. This is a heuristic (a static-HTML substring check): JS-rendered or abbreviated names can be false positives, so verify before removing.

warning Title likely truncated in SERP (too wide)

Rule title.too_long · Titles · 1 occurrence(s)

Notices (19 rules)

notice Heading levels skip a level

Rule agent.heading_skip · Agent Readiness · 11 occurrence(s)

notice No llms.txt for AI agents

Rule agent.llms_txt_missing · Agent Readiness · 1 occurrence(s)

notice Main text is hard to read (low Flesch Reading Ease)

Rule content.readability_poor · Content · 33 occurrence(s)

  • https://www.trsgutters.com/ — this page reads as difficult (Flesch Reading Ease 36, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.trsgutters.com/about-us/ — this page reads as very difficult (Flesch Reading Ease 28, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.trsgutters.com/best-gutters-for-snow-and-ice-bc/ — this page reads as very difficult (Flesch Reading Ease 23, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.trsgutters.com/blog/ — this page reads as difficult (Flesch Reading Ease 36, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.trsgutters.com/castlegar-bc-gutters/ — this page reads as very difficult (Flesch Reading Ease 18, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.trsgutters.com/contact/ — this page reads as very difficult (Flesch Reading Ease 24, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.trsgutters.com/exterior-home-improvement/ — this page reads as very difficult (Flesch Reading Ease 28, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.trsgutters.com/fascia-boards/ — this page reads as difficult (Flesch Reading Ease 38, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.trsgutters.com/gallery/ — this page reads as very difficult (Flesch Reading Ease -10, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.trsgutters.com/gutter-replacements/ — this page reads as difficult (Flesch Reading Ease 35, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.trsgutters.com/gutter-replacements/gutter-hangers/ — this page reads as difficult (Flesch Reading Ease 40, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.trsgutters.com/home-2026/ — this page reads as difficult (Flesch Reading Ease 36, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.trsgutters.com/home-improvement-resources/ — this page reads as difficult (Flesch Reading Ease 37, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.trsgutters.com/nelson-bc-gutters/ — this page reads as very difficult (Flesch Reading Ease 24, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.trsgutters.com/our-warranty/ — this page reads as difficult (Flesch Reading Ease 30, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.trsgutters.com/rossland-bc-gutters/ — this page reads as very difficult (Flesch Reading Ease 21, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.trsgutters.com/signs-fascia-is-rotting-behind-gutters/ — this page reads as difficult (Flesch Reading Ease 30, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.trsgutters.com/soffits/ — this page reads as difficult (Flesch Reading Ease 40, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.trsgutters.com/trail-bc-gutters/ — this page reads as very difficult (Flesch Reading Ease 21, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.trsgutters.com/what-causes-ice-dams-on-roofs-bc/ — this page reads as very difficult (Flesch Reading Ease 26, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.trsgutters.com/what-heavy-snow-load-does-to-gutters/ — this page reads as very difficult (Flesch Reading Ease 27, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.trsgutters.com/why-cleaning-gutters-matters-bc/ — this page reads as very difficult (Flesch Reading Ease 26, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.trsgutters.com/why-gutters-pull-away-from-homes-kootenays/ — this page reads as very difficult (Flesch Reading Ease 23, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.trsgutters.com/why-metal-roofs-cause-gutter-problems/ — this page reads as very difficult (Flesch Reading Ease 21, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.trsgutters.com/why-soffit-ventilation-matters-in-winter/ — this page reads as very difficult (Flesch Reading Ease 14, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.

notice Duplicate meta description across pages

Rule duplicate.meta_desc · Duplicate · 2 occurrence(s)

notice Multiple <h1> elements

Rule h1.multiple · Headings · 2 occurrence(s)

notice Likely hero image lacks fetchpriority=high

Rule images.hero_no_fetchpriority · Performance · 41 occurrence(s)

  • https://www.trsgutters.com/ — the likely hero/LCP image (cropped-logo-revised.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.trsgutters.com/about-us/ — the likely hero/LCP image (cropped-logo-revised.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.trsgutters.com/about-us/our-process/ — the likely hero/LCP image (cropped-logo-revised.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.trsgutters.com/best-gutters-for-snow-and-ice-bc/ — the likely hero/LCP image (cropped-logo-revised.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.trsgutters.com/blog/ — the likely hero/LCP image (cropped-logo-revised.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.trsgutters.com/castlegar-bc-gutters/ — the likely hero/LCP image (cropped-logo-revised.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.trsgutters.com/contact/ — the likely hero/LCP image (cropped-logo-revised.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.trsgutters.com/exterior-home-improvement/ — the likely hero/LCP image (cropped-logo-revised.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.trsgutters.com/fascia-boards/ — the likely hero/LCP image (cropped-logo-revised.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.trsgutters.com/gallery/ — the likely hero/LCP image (cropped-logo-revised.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.trsgutters.com/gutter-replacements/ — the likely hero/LCP image (cropped-logo-revised.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.trsgutters.com/gutter-replacements/gutter-hangers/ — the likely hero/LCP image (cropped-logo-revised.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.trsgutters.com/home-2026/ — the likely hero/LCP image (cropped-logo-revised.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.trsgutters.com/home-improvement-resources/ — the likely hero/LCP image (cropped-logo-revised.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.trsgutters.com/nelson-bc-gutters/ — the likely hero/LCP image (cropped-logo-revised.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.trsgutters.com/rossland-bc-gutters/ — the likely hero/LCP image (cropped-logo-revised.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.trsgutters.com/signs-fascia-is-rotting-behind-gutters/ — the likely hero/LCP image (cropped-logo-revised.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.trsgutters.com/soffits/ — the likely hero/LCP image (cropped-logo-revised.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.trsgutters.com/trail-bc-gutters/ — the likely hero/LCP image (cropped-logo-revised.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.trsgutters.com/what-causes-ice-dams-on-roofs-bc/ — the likely hero/LCP image (cropped-logo-revised.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.trsgutters.com/what-heavy-snow-load-does-to-gutters/ — the likely hero/LCP image (cropped-logo-revised.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.trsgutters.com/why-cleaning-gutters-matters-bc/ — the likely hero/LCP image (cropped-logo-revised.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.trsgutters.com/why-gutters-pull-away-from-homes-kootenays/ — the likely hero/LCP image (cropped-logo-revised.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.trsgutters.com/why-metal-roofs-cause-gutter-problems/ — the likely hero/LCP image (cropped-logo-revised.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.trsgutters.com/why-soffit-ventilation-matters-in-winter/ — the likely hero/LCP image (cropped-logo-revised.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.

notice Images without width/height (layout shift / CLS)

Rule images.missing_dimensions · Images · 12 occurrence(s)

notice Internal link has no anchor text / accessible name

Rule links.no_anchor_text · Links · 10 occurrence(s)

  • https://www.trsgutters.com/ — 6 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://www.trsgutters.com/castlegar-bc-gutters/ — 6 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://www.trsgutters.com/fascia-boards/ — 6 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://www.trsgutters.com/gallery/ — 11 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://www.trsgutters.com/gutter-replacements/ — 6 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://www.trsgutters.com/home-2026/ — 6 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://www.trsgutters.com/nelson-bc-gutters/ — 6 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://www.trsgutters.com/rossland-bc-gutters/ — 6 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://www.trsgutters.com/soffits/ — 3 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://www.trsgutters.com/trail-bc-gutters/ — 6 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.

notice Meta description too long

Rule meta_desc.too_long · Meta Description · 4 occurrence(s)

notice Meta description too short

Rule meta_desc.too_short · Meta Description · 3 occurrence(s)

notice Legacy image format (jpg/png/gif) with no next-gen fallback

Rule perf.images_legacy_format · Performance · 41 occurrence(s)

notice No ETag header (no conditional GET for unchanged pages)

Rule perf.no_etag · Performance · 41 occurrence(s)

  • https://www.trsgutters.com/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.trsgutters.com/about-us/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.trsgutters.com/about-us/our-process/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.trsgutters.com/best-gutters-for-snow-and-ice-bc/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.trsgutters.com/blog/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.trsgutters.com/castlegar-bc-gutters/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.trsgutters.com/contact/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.trsgutters.com/exterior-home-improvement/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.trsgutters.com/fascia-boards/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.trsgutters.com/gallery/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.trsgutters.com/gutter-replacements/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.trsgutters.com/gutter-replacements/gutter-hangers/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.trsgutters.com/home-2026/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.trsgutters.com/home-improvement-resources/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.trsgutters.com/nelson-bc-gutters/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.trsgutters.com/rossland-bc-gutters/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.trsgutters.com/signs-fascia-is-rotting-behind-gutters/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.trsgutters.com/soffits/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.trsgutters.com/trail-bc-gutters/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.trsgutters.com/what-causes-ice-dams-on-roofs-bc/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.trsgutters.com/what-heavy-snow-load-does-to-gutters/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.trsgutters.com/why-cleaning-gutters-matters-bc/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.trsgutters.com/why-gutters-pull-away-from-homes-kootenays/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.trsgutters.com/why-metal-roofs-cause-gutter-problems/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.trsgutters.com/why-soffit-ventilation-matters-in-winter/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.

notice No Last-Modified header (no conditional GET for unchanged pages)

Rule perf.no_last_modified · Performance · 41 occurrence(s)

  • https://www.trsgutters.com/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.trsgutters.com/about-us/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.trsgutters.com/about-us/our-process/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.trsgutters.com/best-gutters-for-snow-and-ice-bc/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.trsgutters.com/blog/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.trsgutters.com/castlegar-bc-gutters/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.trsgutters.com/contact/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.trsgutters.com/exterior-home-improvement/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.trsgutters.com/fascia-boards/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.trsgutters.com/gallery/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.trsgutters.com/gutter-replacements/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.trsgutters.com/gutter-replacements/gutter-hangers/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.trsgutters.com/home-2026/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.trsgutters.com/home-improvement-resources/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.trsgutters.com/nelson-bc-gutters/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.trsgutters.com/rossland-bc-gutters/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.trsgutters.com/signs-fascia-is-rotting-behind-gutters/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.trsgutters.com/soffits/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.trsgutters.com/trail-bc-gutters/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.trsgutters.com/what-causes-ice-dams-on-roofs-bc/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.trsgutters.com/what-heavy-snow-load-does-to-gutters/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.trsgutters.com/why-cleaning-gutters-matters-bc/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.trsgutters.com/why-gutters-pull-away-from-homes-kootenays/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.trsgutters.com/why-metal-roofs-cause-gutter-problems/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.trsgutters.com/why-soffit-ventilation-matters-in-winter/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.

notice Deep page has no BreadcrumbList structured data

Rule schema.breadcrumb_missing · Structured Data · 3 occurrence(s)

notice Missing recommended security headers

Rule security.missing_headers · Security · 42 occurrence(s)

notice Indexable page not listed in sitemap

Rule sitemap.orphan_not_listed · Sitemap · 3 occurrence(s)

notice Title tag is identical to the H1 (missed keyword variation)

Rule title.same_as_h1 · Titles · 6 occurrence(s)

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://www.trsgutters.com/
Home Page - TRS Gutters | Kootenay Gutter Contractor
200 yes 493 42
https://www.trsgutters.com/about-us/
About Us - TRS Gutters | Kootenay Gutter Contractor
200 yes 448 42
https://www.trsgutters.com/about-us/our-process/
Our Process - TRS Gutters | Kootenay Gutter Contractor
200 yes 600 42
https://www.trsgutters.com/best-gutters-for-snow-and-ice-bc/
Best Gutters For Snow And Ice In BC Homes
200 yes 1787 42
https://www.trsgutters.com/blog/
TRS Gutters Blog | Gutter & Roofline Tips BC
200 yes 498 42
https://www.trsgutters.com/castlegar-bc-gutters/
Gutter Installation & Replacement in Castlegar, BC | TRS Gutters
200 yes 947 42
https://www.trsgutters.com/contact/
Contact - TRS Gutters | Kootenay Gutter Contractor
200 yes 258 42
https://www.trsgutters.com/exterior-home-improvement/
Products - TRS Gutters | Kootenay Gutter Contractor
200 yes 404 42
https://www.trsgutters.com/fascia-boards/
Fascia Repair & Replacement Castlegar, Trail, Nelson | TRS Gutters
200 yes 853 42
https://www.trsgutters.com/gallery/
Gallery - TRS Gutters | Kootenay Gutter Contractor
200 yes 224 42
https://www.trsgutters.com/gutter-replacements/
Gutter Replacement in Castlegar, Trail & Nelson | TRS Gutters
200 yes 874 42
https://www.trsgutters.com/gutter-replacements/gutter-hangers/
Alu-Rex Gutter Hanger Installations - TRS Gutters | Kootenay Gutter Contractor
200 yes 516 42
https://www.trsgutters.com/gutter-replacements/gutter-screens/
Gutter Screen Installation | Trail | Castlegar | Nelson
200 yes 771 42
https://www.trsgutters.com/nelson-bc-gutters/
Gutter Installation & Replacement in Nelson, BC | TRS Gutters
200 yes 856 42
https://www.trsgutters.com/our-warranty/
Our Warranty - TRS Gutters | Kootenay Gutter Contractor
200 yes 297 42
https://www.trsgutters.com/rossland-bc-gutters/
Gutter Installation & Replacement in Rossland, BC | TRS Gutters
200 yes 960 42
https://www.trsgutters.com/signs-fascia-is-rotting-behind-gutters/
Signs Your Fascia Is Rotting Behind Gutters
200 yes 1889 42
https://www.trsgutters.com/soffits/
Soffit Repair & Installation Castlegar, Trail, Nelson | TRS Gutters
200 yes 968 42
https://www.trsgutters.com/trail-bc-gutters/
Gutter Installation & Replacement in Trail, BC | TRS Gutters
200 yes 980 42
https://www.trsgutters.com/what-causes-ice-dams-on-roofs-bc/
What Causes Ice Dams On Roofs In BC
200 yes 1883 42
https://www.trsgutters.com/what-heavy-snow-load-does-to-gutters/
What Heavy Snow Load Does To Gutters
200 yes 1808 42
https://www.trsgutters.com/why-gutters-pull-away-from-homes-kootenays/
Why Gutters Pull Away From Homes In The Kootenays
200 yes 1591 42
https://www.trsgutters.com/author/trsgutter/
trsgutter - TRS Gutters | Kootenay Gutter Contractor
200 no 821 18
https://www.trsgutters.com/why-metal-roofs-cause-gutter-problems/
Why Metal Roofs Cause Gutter Problems
200 yes 1879 11
https://www.trsgutters.com/why-cleaning-gutters-matters-bc/
Why Cleaning Gutters Matters For BC Homes
200 yes 1738 9
https://www.trsgutters.com/category/gutters/
Gutters - TRS Gutters | Kootenay Gutter Contractor
200 yes 655 13
https://www.trsgutters.com/tag/gutters/
Gutters - TRS Gutters | Kootenay Gutter Contractor
200 no 655 6
https://www.trsgutters.com/why-soffit-ventilation-matters-in-winter/
Why Soffit Ventilation Matters In Winter
200 yes 1374 6
https://www.trsgutters.com/category/gutters-and-soffits-blog/
Our Blog - TRS Gutters | Kootenay Gutter Contractor
200 yes 254 3
https://www.trsgutters.com/tag/fascia-install/
Fascia Install - TRS Gutters | Kootenay Gutter Contractor
200 no 249 1
https://www.trsgutters.com/tag/ice-dams/
Ice Dams - TRS Gutters | Kootenay Gutter Contractor
200 no 249 1
https://www.trsgutters.com/tag/snow-load/
Snow Load - TRS Gutters | Kootenay Gutter Contractor
200 no 249 1
https://www.trsgutters.com/category/soffit/
Soffit - TRS Gutters | Kootenay Gutter Contractor
200 yes 246 4
https://www.trsgutters.com/tag/metal-roofs/
Metal Roofs - TRS Gutters | Kootenay Gutter Contractor
200 no 247 1
https://www.trsgutters.com/tag/soffit-installation/
Soffit Installation - TRS Gutters | Kootenay Gutter Contractor
200 no 247 1
https://www.trsgutters.com/clients/
Clients - TRS Gutters | Kootenay Gutter Contractor
200 yes 219 0
https://www.trsgutters.com/gutters-in-the-kootenays/
Kootenay Gutters - TRS Gutters | Kootenay Gutter Contractor
200 yes 840 0
https://www.trsgutters.com/home-2026/
Home 2026 - TRS Gutters | Kootenay Gutter Contractor
200 yes 496 0
https://www.trsgutters.com/home-improvement-resources/
Home Improvement Resources - TRS Gutters | Kootenay Gutter Contractor
200 yes 566 0
https://www.trsgutters.com/home/
Home - TRS Gutters | Kootenay Gutter Contractor
200 yes 217 0
https://www.trsgutters.com/thankyou/
thankyou - TRS Gutters | Kootenay Gutter Contractor
200 yes 236 0
https://www.trsgutters.com/gutter-replacements/5-continuous-gutters/
Page Not Found - TRS Gutters | Kootenay Gutter Contractor
404 no 188 7
https://www.trsgutters.com/wp-content/gallery/misc/aluminum-vented-soffits.jpg?t=1777768498 200 no 0 1
https://www.trsgutters.com/wp-content/uploads/2026/05/fascia-installation-west-kootneys-gallery.webp 200 no 0 1
https://www.trsgutters.com/wp-content/uploads/2026/05/gutter-contractor-1.webp 200 no 0 8
https://www.trsgutters.com/wp-content/uploads/2026/05/gutter-contractor-2.webp 200 no 0 8
https://www.trsgutters.com/wp-content/uploads/2026/05/gutter-contractor-4.webp 200 no 0 8
https://www.trsgutters.com/wp-content/uploads/2026/05/gutter-contractor-5.webp 200 no 0 7
https://www.trsgutters.com/wp-content/uploads/2026/05/gutter-contractor-7.webp 200 no 0 8
https://www.trsgutters.com/wp-content/uploads/2026/05/gutter-contractor-8.webp 200 no 0 8

Audit your own site — free

157 checks, internal PageRank, render-diff. No signup, results in ~30s.

Scan your site →