SEOWebsiteTool
76Grade B

cpaskool.com

CPA Exam Tutoring Canada | Core 1 • Core 2 • CFE Mentoring

2 failed · 10 warnings · 17 passed

Audited Mon, 13 Jul 2026 07:30:42 GMT · https://cpaskool.com/

Meta & Head

18.1/25

Title, description, canonical, social tags — what search engines read first.

  • Open Graph tagsmedium impactlow effort

    No Open Graph tags found

    Open Graph tags control how your page looks when shared on Facebook, LinkedIn, Slack, WhatsApp, and most chat apps; without them, links render as a bare URL or with guessed text, and far fewer people click through. Add four meta tags to <head>: og:title, og:description, og:url, and og:image — an image around 1200x630 pixels works well across platforms. Use absolute https:// URLs for og:image and og:url; relative paths are the most common reason preview images silently fail to appear.

  • Meta descriptionhigh impactlow effort

    Meta description is "Master CPA Core 1, Core 2, Electives &amp; CFE with personalized one-on-one mentoring from a CPA &amp; MBA. Proven strategy, real-world insights, guaranteed results." (165 characters)

    Search engines truncate descriptions past roughly 160 characters, and very short ones waste the snippet space that persuades searchers to pick your listing over the next one. Rewrite it to 70–160 characters: state what the page offers, work the primary keyword in naturally (matching words get bolded in results), and end with a benefit or call to action. Don't cram in keywords — the description influences clicks, not rankings, so write it for humans.

  • Canonical URLmedium impactlow effort

    No <link rel="canonical"> found

    When the same page is reachable at several URLs — tracking parameters, trailing-slash variants, http vs https — search engines may split ranking signals across the duplicates. A canonical tag names the one version that should get all the credit. Add <link rel="canonical" href="https://www.example.com/page/"> to the <head>, pointing at the page's preferred absolute URL. Double-check it's self-referencing on the primary version: a canonical that points at the wrong page can quietly de-index the right one.

  • Twitter card taglow impactlow effort

    No twitter:card meta tag found

    X (Twitter) layers its own card markup on top of Open Graph, and without a twitter:card tag your shared links may render as plain text instead of a large image preview. Add <meta name="twitter:card" content="summary_large_image"> alongside your Open Graph tags; X will fill in the title, description, and picture from og:title, og:description, and og:image. Keep og:image an absolute URL — a relative or missing image is the usual reason cards show up without a picture.

5 passing checks
  • Title tag<title> is "CPA Exam Tutoring Canada | Core 1 • Core 2 • CFE Mentoring" (58 characters)
  • Viewport meta tagViewport is "width=device-width, initial-scale=1.0"
  • Character encoding declaredCharacter encoding is declared
  • FaviconA <link rel="icon"> is present
  • Page allows indexingrobots:

Content & Structure

16.4/25

Headings, copy depth, images, structured data, internal linking.

  • Image alt textmedium impactlow effort

    0 of 13 images have alt text

    Alt text is how search engines understand what an image shows — it feeds image-search rankings and is what screen readers announce to blind visitors. Add a short, specific alt attribute to every meaningful image, describing the content rather than listing keywords: alt="Golden retriever puppy playing in snow" beats alt="dog puppy pet animal". Give purely decorative images an empty alt="" instead of omitting the attribute, so assistive technology knows to skip them rather than reading out the filename.

  • Single H1 headinghigh impactlow effort

    10 h1 headings found: "CPA Canada Exam Mentoring", "Core 1 — Financial Reporting &amp; Fundamentals", "Master Core 1 with Clarity and Confidence."

    Multiple h1s split the page's main-topic signal, leaving search engines to guess which headline actually defines the page. Keep the one h1 that best states the primary topic and demote the rest to h2 or h3, so the outline reads as a single subject with subtopics. A frequent culprit is a site logo or blog title wrapped in an h1 inside the shared header template — change that to a <div> or <p> and reserve h1 for the page's own content.

  • Structured data (JSON-LD)medium impactmedium effort

    No JSON-LD structured data blocks found

    Structured data makes your listing eligible for rich results — star ratings, FAQs, breadcrumbs, product prices — which occupy more space on the results page and draw more clicks than plain blue links. Add a <script type="application/ld+json"> block with a schema.org type that matches the page: Organization or WebSite for a homepage, Article for posts, Product for product pages. Only mark up content actually visible on the page — markup for invisible content violates Google's guidelines and can earn a manual action.

  • Heading hierarchylow impactlow effort

    Heading level jumps from h3 ("Performance Management") to h5 ("Technical Materials")

    Headings form the page's outline; when levels jump (h2 straight to h4), search engines and screen readers get a broken table of contents and the relationship between sections turns ambiguous. Fix the jump by stepping down one level at a time — promote the deeper heading, or add the missing intermediate level. The usual cause is choosing heading tags for their default font size; set sizes in CSS instead and let the tags reflect actual document structure.

  • HTML lang attributelow impactlow effort

    No lang attribute on the <html> element

    The lang attribute tells search engines which language market the page belongs to and tells screen readers which pronunciation rules to use — without it, both are left guessing. Add it to the root element, e.g. <html lang="en">, or a regional variant like <html lang="pt-BR"> where the distinction matters. On multilingual sites, set it per page: hard-coding lang="en" in a shared template while serving German content actively misleads assistive technology and translation tools.

3 passing checks
  • Word count1187 words of visible text
  • JavaScript-dependent contentvisible text ~4937 chars in the initial HTML
  • Internal linking5 internal, 1 external links

Technical

22.7/25

HTTPS, redirects, robots, sitemap, speed, crawlability.

  • HTTP redirects to HTTPSmedium impactlow effort

    http:// version serves content without redirecting

    Your http:// URLs serve content instead of redirecting, so search engines can crawl and index two parallel copies of every page and split ranking signals between them. Add a permanent 301 redirect from http to https at the server or CDN level — in nginx, "return 301 https://$host$request_uri;" in the port-80 server block; in Apache, a RewriteRule in .htaccess; on Cloudflare, enable "Always Use HTTPS". Use a 301, not a 302 — temporary redirects don't consolidate ranking signals — and preserve the full path in the redirect target.

  • Response compression enabledlow impactlow effort

    no content-encoding header

    This HTML is served uncompressed, so every visitor downloads far more bytes than necessary — text compresses extremely well, and the savings directly speed up first render on slow connections. Enable Brotli or gzip on your server or CDN: in nginx it's "gzip on;" (or the brotli module), in Apache it's mod_deflate via .htaccess, and on most CDNs it's a single toggle. Make sure compression covers all text types (HTML, CSS, JS, JSON, SVG), but skip already-compressed images — recompressing them wastes CPU for no gain.

  • HTML5 doctypelow impactlow effort

    No doctype declaration found at the start of the document

    Without a doctype, browsers render in quirks mode — inconsistent layout, and validators flag the page. Add <!DOCTYPE html> as the very first line of the document, before the <html> tag. Watch out for whitespace, comments, or BOM characters sneaking in before it.

9 passing checks
  • Served over HTTPSfinal URL uses https://
  • No mixed content0 http:// subresource references
  • Short redirect chainno redirects; URL resolves directly
  • robots.txt present and permissiverobots.txt exists and allows crawling
  • XML sitemap availablesitemap.xml exists and is valid XML
  • Fast time to first byte287 ms
  • Reasonable HTML size64.6 KB
  • Missing pages return 404missing paths return HTTP 404/410
  • www and non-www resolve consistentlywww and non-www converge on the same host

Performance

Core Web Vitals scoring via Google PageSpeed is coming soon.

Share your score

Embed this live badge on your site — it updates whenever the audit is re-run.

SEO score badge for cpaskool.com

More “c” sitesRecent audits