Catalog / to-the-top.ca
65

SEO audit for to-the-top.ca

Calgary SEO Company To-The-TOP! - 19+ years of SEO expertise

corporateWordPress

Health 65/100 (fair) · 50 pages crawled · generated 2026-07-29

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

Calgary SEO company since 2007. Solo expert-led, White Hat only. Work with a senior strategist to outrank competitors. Request a free quote.

Screenshot of to-the-top.ca
50
pages crawled
50
indexable pages
0
errors
61
warnings
588
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Performance 65 0 58 179
AI Content 99 0 1 0
Structured Data 99 0 1 95
Titles 99 0 1 23
Agent Readiness 100 0 0 55
Content 100 0 0 7
Images 100 0 0 93
Meta Description 100 0 0 12
Mobile 100 0 0 50
Security 100 0 0 50
Social 100 0 0 24
Findings

Warnings (5 rules)

warning Unfilled template or prompt-leak text

Rule ai.prompt_leak · AI Content · 1 occurrence(s)

warning Hero/LCP image is lazy-loaded (loading=lazy delays LCP)

Rule images.no_lazy_lcp_candidate · Performance · 8 occurrence(s)

  • https://to-the-top.ca/how-important-is-page-speed-for-seo-calgary/ — the likely hero/LCP image (hero-how-important-is-page-speed-for-seo.jpg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://to-the-top.ca/how-to-become-an-seo-specialist/ — the likely hero/LCP image (hero-how-to-become-an-seo-specialist.jpg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://to-the-top.ca/how-to-find-niche-keywords-calgary/ — the likely hero/LCP image (hero-how-to-find-niche-keywords.jpg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://to-the-top.ca/how-to-write-alt-text-for-images-for-seo/ — the likely hero/LCP image (hero-how-to-write-alt-text-for-images-for-seo.jpg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://to-the-top.ca/what-are-adwords-keywords-calgary/ — the likely hero/LCP image (hero-what-are-adwords-keywords.jpg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://to-the-top.ca/what-are-negative-keywords-a-plain-guide-for-google-ads/ — the likely hero/LCP image (hero-what-are-negative-keywords-a-plain-guide-for-google-ads.jpg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://to-the-top.ca/what-is-geo-vs-seo-the-calgary-guide-for-2026/ — the likely hero/LCP image (hero-what-is-geo-vs-seo-the-calgary-guide-for-2026.jpg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://to-the-top.ca/what-is-local-seo-a-practical-guide-for-calgary/ — the likely hero/LCP image (hero-what-is-local-seo-a-practical-guide-for-calgary-businesses.jpg) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.

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

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

warning BreadcrumbList present but structurally incomplete

Rule schema.breadcrumb_incomplete · Structured Data · 1 occurrence(s)

  • https://to-the-top.ca/ — a BreadcrumbList is present but structurally incomplete — missing required itemListElement. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.

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 · 5 occurrence(s)

notice No main landmark for AI agents

Rule agent.no_main_landmark · Agent Readiness · 50 occurrence(s)

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

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

  • https://to-the-top.ca/do-nofollow-links-help-seo/ — this page reads as difficult (Flesch Reading Ease 43, 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://to-the-top.ca/general-changes-seo-2014/ — this page reads as difficult (Flesch Reading Ease 48, 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://to-the-top.ca/how-content-marketing-helps-seo/ — this page reads as difficult (Flesch Reading Ease 49, 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://to-the-top.ca/seo-consulting-explained-what-to-expect-and-how-to-choose/ — this page reads as difficult (Flesch Reading Ease 42, 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://to-the-top.ca/what-are-backlinks-in-seo-how-links-build-rankings/ — this page reads as difficult (Flesch Reading Ease 46, 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://to-the-top.ca/what-is-google-search-console-free-seo-monitoring-from-google/ — this page reads as difficult (Flesch Reading Ease 47, 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://to-the-top.ca/what-is-local-seo-a-practical-guide-for-calgary/ — this page reads as difficult (Flesch Reading Ease 48, 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 Image alt text is keyword-stuffed (repetition / low variety)

Rule images.alt_stuffed · Images · 20 occurrence(s)

notice Image alt text is very long (possible keyword stuffing)

Rule images.alt_too_long · Images · 23 occurrence(s)

notice Likely hero image lacks fetchpriority=high

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

  • https://to-the-top.ca/ — the likely hero/LCP image (logo.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://to-the-top.ca/6-internet-marketing-tools-you-will-need-to-start-your-business/ — the likely hero/LCP image (logo.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://to-the-top.ca/ask-hiring-seo-firm/ — the likely hero/LCP image (what-do-you-ask-your-next-seo-agency.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://to-the-top.ca/black-hat-seo-dont-want/ — the likely hero/LCP image (logo.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://to-the-top.ca/conversion-rates-important/ — the likely hero/LCP image (what-are-conversion-rates.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://to-the-top.ca/do-not-need-seo/ — the likely hero/LCP image (you-do-not-need-seo.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://to-the-top.ca/how-content-marketing-helps-seo/ — the likely hero/LCP image (hero-how-content-marketing-helps-seo.jpg) 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://to-the-top.ca/how-much-are-google-ads-costs-bids-and-budgets-explained/ — the likely hero/LCP image (hero-how-much-are-google-ads.jpg) 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://to-the-top.ca/how-to-choose-the-right-seo-company/ — the likely hero/LCP image (hero-how-to-choose-the-right-seo-company.jpg) 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://to-the-top.ca/link-building/ — the likely hero/LCP image (link-building.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://to-the-top.ca/monitor-calibration-color-tool/ — the likely hero/LCP image (red-eyes-color-colibration.jpg) 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://to-the-top.ca/optimization-tips-organic-search-engines/ — the likely hero/LCP image (seo-tips.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://to-the-top.ca/practical-approach-better-blog-posts/ — the likely hero/LCP image (a-practical-approach-to-better-blog-posts.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://to-the-top.ca/quality-content-king-seo-google-penguin/ — the likely hero/LCP image (google-penguin.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://to-the-top.ca/search-engine-ranking/ — the likely hero/LCP image (search-engine-ranking-and-consequential-matters-200.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://to-the-top.ca/seo-consultant-business-outsource-seo/ — the likely hero/LCP image (why-a-business-should-outsource-its-seo.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://to-the-top.ca/seo-consulting-explained-what-to-expect-and-how-to-choose/ — the likely hero/LCP image (hero-what-is-seo-consulting-expert-guidance-for-your-search-strategy.jpg) 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://to-the-top.ca/seo-web-design-and-internet-marketing-packages/ — the likely hero/LCP image (seo-web-design-120x90.jpg) 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://to-the-top.ca/what-are-backlinks-in-seo-how-links-build-rankings/ — the likely hero/LCP image (hero-what-are-backlinks-in-seo-how-links-build-authority-and-rankings.jpg) 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://to-the-top.ca/what-is-an-seo-title-title-tags-explained/ — the likely hero/LCP image (hero-what-is-an-seo-title.jpg) 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://to-the-top.ca/what-is-google-search-console-free-seo-monitoring-from-google/ — the likely hero/LCP image (hero-what-is-google-search-console-free-seo-monitoring-from-google.jpg) 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://to-the-top.ca/what-is-on-page-seo-elements-factors-and-how-to-apply-them/ — the likely hero/LCP image (hero-what-is-on-page-seo-elements-factors-and-how-to-apply-them.jpg) 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://to-the-top.ca/what-is-ppc-pay-per-click-explained-for-calgary/ — the likely hero/LCP image (hero-what-is-ppc-a-plain-language-guide-for-calgary-businesses.jpg) 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://to-the-top.ca/what-is-seo-sem-marketing/ — the likely hero/LCP image (hero-what-is-seo-sem-marketing.jpg) 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://to-the-top.ca/what-is-youtube-seo/ — the likely hero/LCP image (hero-what-is-youtube-seo.jpg) 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 · 50 occurrence(s)

notice Missing Open Graph tags

Rule og.missing · Social · 24 occurrence(s)

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

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

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

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

  • https://to-the-top.ca/ — 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://to-the-top.ca/6-internet-marketing-tools-you-will-need-to-start-your-business/ — 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://to-the-top.ca/ask-hiring-seo-firm/ — 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://to-the-top.ca/black-hat-seo-dont-want/ — 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://to-the-top.ca/buy-seo-services/ — 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://to-the-top.ca/calgary-seo-company/ — 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://to-the-top.ca/choosing-domain-name/ — 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://to-the-top.ca/conversion-rates-important/ — 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://to-the-top.ca/do-not-need-seo/ — 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://to-the-top.ca/google-panda-fast-seo/ — 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://to-the-top.ca/guide-develop-popular-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://to-the-top.ca/how-to-choose-an-seo-expert/ — 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://to-the-top.ca/link-building/ — 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://to-the-top.ca/monitor-calibration-color-tool/ — 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://to-the-top.ca/practical-approach-better-blog-posts/ — 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://to-the-top.ca/quality-content-king-seo-google-penguin/ — 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://to-the-top.ca/search-engine-ranking/ — 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://to-the-top.ca/seo-backlinks/ — 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://to-the-top.ca/seo-consultant-business-outsource-seo/ — 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://to-the-top.ca/seo-faq-to-the-top/ — 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://to-the-top.ca/seo-on-page-optimization/ — 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://to-the-top.ca/seo-web-design-and-internet-marketing-packages/ — 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://to-the-top.ca/shopify-dropshipping-store-launched-2020/ — 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://to-the-top.ca/website-submission-seo-promotion/ — 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://to-the-top.ca/write-quality-content/ — 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 · 50 occurrence(s)

  • https://to-the-top.ca/ — 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://to-the-top.ca/6-internet-marketing-tools-you-will-need-to-start-your-business/ — 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://to-the-top.ca/ask-hiring-seo-firm/ — 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://to-the-top.ca/black-hat-seo-dont-want/ — 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://to-the-top.ca/buy-seo-services/ — 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://to-the-top.ca/calgary-seo-company/ — 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://to-the-top.ca/choosing-domain-name/ — 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://to-the-top.ca/conversion-rates-important/ — 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://to-the-top.ca/do-not-need-seo/ — 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://to-the-top.ca/google-panda-fast-seo/ — 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://to-the-top.ca/guide-develop-popular-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://to-the-top.ca/how-to-choose-an-seo-expert/ — 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://to-the-top.ca/link-building/ — 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://to-the-top.ca/monitor-calibration-color-tool/ — 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://to-the-top.ca/practical-approach-better-blog-posts/ — 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://to-the-top.ca/quality-content-king-seo-google-penguin/ — 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://to-the-top.ca/search-engine-ranking/ — 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://to-the-top.ca/seo-backlinks/ — 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://to-the-top.ca/seo-consultant-business-outsource-seo/ — 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://to-the-top.ca/seo-faq-to-the-top/ — 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://to-the-top.ca/seo-on-page-optimization/ — 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://to-the-top.ca/seo-web-design-and-internet-marketing-packages/ — 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://to-the-top.ca/shopify-dropshipping-store-launched-2020/ — 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://to-the-top.ca/website-submission-seo-promotion/ — 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://to-the-top.ca/write-quality-content/ — 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 Slow server response

Rule perf.slow_response · Performance · 2 occurrence(s)

notice Article schema missing recommended properties (Top Stories / image carousel)

Rule schema.article_incomplete · Structured Data · 23 occurrence(s)

notice Deprecated schema type with no Google rich result

Rule schema.deprecated_type · Structured Data · 50 occurrence(s)

notice FAQPage structured data (rich result removed May 2026)

Rule schema.faq_deprecated · Structured Data · 22 occurrence(s)

notice Missing recommended security headers

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

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

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

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://to-the-top.ca/
Calgary SEO Company To-The-TOP! - 19+ years of SEO expertise
200 yes 5815 50
https://to-the-top.ca/search-engine-ranking/
Search Engine Ranking, over-optimization and recovery methods.
200 yes 596 8
https://to-the-top.ca/quality-content-king-seo-google-penguin/
Content is King - Quality SEO content and Google Penguin Reality.
200 yes 1081 8
https://to-the-top.ca/write-quality-content/
How To Write Quality Content. Need Some Help Writing Quality Content?
200 yes 636 7
https://to-the-top.ca/what-is-local-seo-a-practical-guide-for-calgary/
What Is Local SEO? A Practical Guide for Calgary
200 yes 2258 3
https://to-the-top.ca/seo-web-design-and-internet-marketing-packages/
SEO Web Design and Internet Marketing Packages in Calgary, Alberta
200 yes 952 4
https://to-the-top.ca/seo-backlinks/
Why SEO Backlinks Don't Work? The Future of Backlinks & SEO
200 yes 535 4
https://to-the-top.ca/what-is-ppc-pay-per-click-explained-for-calgary/
What Is PPC? Pay-Per-Click Explained for Calgary
200 yes 1870 4
https://to-the-top.ca/website-submission-seo-promotion/
Website submission and SEO Promotion. Tips: How to gain site rank
200 yes 953 3
https://to-the-top.ca/what-are-backlinks-in-seo-how-links-build-rankings/
What Are Backlinks in SEO? How Links Build Rankings
200 yes 2235 3
https://to-the-top.ca/what-is-on-page-seo-elements-factors-and-how-to-apply-them/
What Is On-Page SEO? Elements, Factors, and How to Apply Them
200 yes 2262 3
https://to-the-top.ca/how-does-google-ads-work-the-auction-quality-score-and-ad-rank/
How Does Google Ads Work? The Auction, Quality Score, and Ad Rank
200 yes 1254 4
https://to-the-top.ca/general-changes-seo-2014/
What changed in SEO 2014?
200 yes 999 1
https://to-the-top.ca/what-is-geo-vs-seo-the-calgary-guide-for-2026/
What Is GEO vs SEO? The Calgary Guide for 2026
200 yes 1466 1
https://to-the-top.ca/what-is-google-search-console-free-seo-monitoring-from-google/
What Is Google Search Console? Free SEO Monitoring from Google
200 yes 1118 1
https://to-the-top.ca/link-building/
Linkbuilding and SEO: How to create successful Link Building Campaign?
200 yes 1094 1
https://to-the-top.ca/how-to-become-an-seo-specialist/
How to Become an SEO Specialist
200 yes 2002 1
https://to-the-top.ca/how-to-choose-the-right-seo-company/
How to Choose the Right SEO Company
200 yes 1436 1
https://to-the-top.ca/monitor-calibration-color-tool/
Monitor calibration for fatigue, headaches and ensuring healthy eyes!
200 yes 848 1
https://to-the-top.ca/what-is-an-seo-title-title-tags-explained/
What Is an SEO Title? Title Tags Explained
200 yes 1392 1
https://to-the-top.ca/how-to-use-seo-copywriting-to-succeed/
SEO Copywriting for humans - how to use it to succeed in both directions
200 yes 557 1
https://to-the-top.ca/what-are-adwords-keywords-calgary/
What Are AdWords Keywords? | Calgary
200 yes 1663 1
https://to-the-top.ca/what-is-seo-sem-marketing/
What Is SEO SEM Marketing
200 yes 1363 1
https://to-the-top.ca/conversion-rates-important/
What Are Conversion Rates? How Important are Conversion Rates
200 yes 448 2
https://to-the-top.ca/seo-faq-to-the-top/
TO-THE-TOP: SEO can be complicated and confusing - FAQ of SEO
200 yes 741 1
https://to-the-top.ca/ask-hiring-seo-firm/
What to Ask Hiring an SEO Firm? How to hire your next SEO consultant?
200 yes 507 2
https://to-the-top.ca/google-panda-fast-seo/
Panda from Google and Fast SEO - Stay Away At ALL COSTS
200 yes 480 1
https://to-the-top.ca/guide-develop-popular-blog/
Step-By-Step Guide On The best way to Develop A Popular Blog
200 yes 889 1
https://to-the-top.ca/6-internet-marketing-tools-you-will-need-to-start-your-business/
6 Internet Marketing Tools You Will Need to Start Your Business - SEO Company To-The-TOP! - 19 years of expertise in SEO Services
200 yes 1371 0
https://to-the-top.ca/black-hat-seo-dont-want/
What you don't want to do in SEO (Black Hat SEO)
200 yes 524 0
https://to-the-top.ca/buy-seo-services/
How To Buy SEO Services? WARNING! You Can’t Buy SEO!
200 yes 654 0
https://to-the-top.ca/calgary-seo-company/
Hiring a Calgary SEO Company, What To Ask? Advice for SEO
200 yes 427 0
https://to-the-top.ca/choosing-domain-name/
Choosing The Right Domain Name. Keywords in the domain name
200 yes 642 0
https://to-the-top.ca/do-nofollow-links-help-seo/
Do Nofollow Links Help SEO
200 yes 1502 0
https://to-the-top.ca/do-not-need-seo/
Three Reasons Why You Do not Need SEO (Search Engine Optimization)
200 yes 684 0
https://to-the-top.ca/how-content-marketing-helps-seo/
How Content Marketing Helps SEO
200 yes 1574 0
https://to-the-top.ca/how-important-is-page-speed-for-seo-calgary/
How Important Is Page Speed for SEO? | Calgary
200 yes 1726 0
https://to-the-top.ca/how-much-are-google-ads-costs-bids-and-budgets-explained/
How Much Are Google Ads? Costs, Bids, and Budgets Explained
200 yes 1270 0
https://to-the-top.ca/how-to-choose-an-seo-expert/
How To Choose the right SEO Expert? Freelancer or SEO Company?
200 yes 1225 0
https://to-the-top.ca/how-to-find-niche-keywords-calgary/
How to Find Niche Keywords | Calgary
200 yes 1539 0
https://to-the-top.ca/how-to-write-alt-text-for-images-for-seo/
How to Write Alt Text for Images for SEO
200 yes 1830 0
https://to-the-top.ca/ipv4-vs-ipv6-in-canada/
IPv4 vs IPv6 in Canada: SEO, Business Impact & Transition Tips
200 yes 3180 0
https://to-the-top.ca/optimization-tips-organic-search-engines/
Search Engines prefer useful websites and helpful content
200 yes 746 0
https://to-the-top.ca/practical-approach-better-blog-posts/
A Practical Approach to Better Blog Posts - content and SEO
200 yes 1288 0
https://to-the-top.ca/seo-consultant-business-outsource-seo/
SEO consultant Top Reasons Why A Business Should Outsource Its SEO
200 yes 1092 0
https://to-the-top.ca/seo-consulting-explained-what-to-expect-and-how-to-choose/
SEO Consulting Explained: What to Expect and How to Choose
200 yes 1305 0
https://to-the-top.ca/seo-on-page-optimization/
On-Page Optimization Secrets. Utilize these 10 On Page Optimization Tips
200 yes 567 0
https://to-the-top.ca/shopify-dropshipping-store-launched-2020/
Shopify's store launched in 2020: 15 steps to get your first sales
200 yes 1453 0
https://to-the-top.ca/what-are-negative-keywords-a-plain-guide-for-google-ads/
What Are Negative Keywords? A Plain Guide for Google Ads
200 yes 1916 0
https://to-the-top.ca/what-is-youtube-seo/
What Is YouTube SEO
200 yes 1652 0

Audit your own site — free

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

Scan your site →