SEO report

SEO report for whitespark.ca

https://whitespark.ca/ · checked Sun, 01 Nov 2026 17:14 GMT

✓ 29 Passed! 4 Warnings✗ 15 FailedAI readiness 50%Built with WordPress

Fix these first

Your site is built with WordPress. The steps below say where each setting is, and our WordPress SEO guide walks through the rest.

  1. Title tagcritical

    “Local SEO Tools, Software, & Citation Services - Drive More Local Business with Whitespark”

    Fix: Write a unique title of roughly 50–60 characters with the main search phrase first.

    On WordPress: Edit the page and scroll to the Yoast SEO or Rank Math box (install one of these free plugins if you have neither), then fill in the SEO title.

    See the details

  2. LocalBusiness markuphigh

    No LocalBusiness structured data.

    Fix: Add LocalBusiness JSON-LD with address or areaServed, telephone, geo, opening hours and url.

    On WordPress: Make the code with our free schema generator, then paste it into your site header with a free plugin such as WPCode.

    Also fixes: Entity clarity

    See the details

  3. Render-blocking resourceshigh

    2 blocking script(s) and 21 stylesheet(s) in <head>.

    Fix: Add defer to scripts, inline critical CSS and load the rest asynchronously.

    See the details

  4. H1 headingcritical

    13 H1 headings – one clear H1 is best practice.

    Fix: Use one H1 that states the page topic with its main keyword.

    On WordPress: Most themes show the page title as the H1. In the editor, make sure no other block uses Heading 1 – use Heading 2 for sections.

    See the details

  5. Heading structuremedium

    60 headings for 860 words – a lot for the amount of text.

    Fix: Use H2s for main sections and H3s inside them, without skipping levels.

    See the details

  6. Question-led contentmedium

    No headings phrased as questions.

    Fix: Add headings that match real questions ("How much does…?") followed by a direct one- or two-sentence answer – an easy format for search and AI answers to quote.

    See the details

  7. Freshness signalsmedium

    No published/updated date found.

    Fix: Show a 'last updated' date and add dateModified to your structured data.

    See the details

  8. Anchor text qualitymedium

    Same text used for different pages: “learn more”.

    Fix: Make every link text describe its destination, e.g. “logo design prices” instead of “click here”.

    See the details

Check the whole website

This report covers one page. The full-site audit crawls up to 250 pages to find broken links, duplicate titles, orphan pages and more.

Run a full-site audit

Monitor this site weekly

We'll re-check it every week and track the score, with a history graph and a list of anything that breaks.

Compare with competitors

See how this page scores against up to two competitors, side by side, and where they beat you.

Compare sites

Real-world speed Google PageSpeed

Loading Core Web Vitals from Google… this can take up to 30 seconds.

Authority & backlinks

Looking up which websites link to whitespark.ca…

Indexing & crawling 100%

Can search engines reach, read and index this page?

  • ✓

    Status codecritical

    The page returned HTTP 200.

  • ✓

    Indexablecritical

    No noindex instruction – the page can appear in search.

  • ✓

    robots.txthigh

    robots.txt found.

    Googlebot is allowed to crawl this page.

  • ✓

    XML sitemaphigh

    Sitemap index found at https://whitespark.ca/sitemaps.xml listing 3 sitemaps.

    Declared in robots.txt.

    Most recent lastmod: 2026-10-30T11:43:14-06:00.

  • ✓

    Canonical URLhigh

    Canonical: https://whitespark.ca/

    Points to this page (self-referencing).

  • ✓

    Redirectshigh

    Loads directly with no redirects.

  • ✓

    www / non-wwwmedium

    www.whitespark.ca redirects to whitespark.ca.

Search snippet & sharing 58%

How the page looks in Google results and when shared.

  • ✗

    Title tagcritical

    “Local SEO Tools, Software, & Citation Services - Drive More Local Business with Whitespark”

    About 823px of Google's ~580px desktop width – it will probably be cut off.

    Repeated words: local.

    Fix: Write a unique title of roughly 50–60 characters with the main search phrase first.

    On WordPress: Edit the page and scroll to the Yoast SEO or Rank Math box (install one of these free plugins if you have neither), then fill in the SEO title.

  • ✓

    Meta descriptionhigh

    97 characters, ~618px of ~990px.

    Good length.

    Google sometimes rewrites descriptions to match the search; a good one is still used most often.

  • ✓

    Open Graph & social cardsmedium

    Open Graph title and image set.

    Twitter/X card: summary.

  • ✓

    Faviconlow

    Favicon linked (Google shows it next to results).

  • ✓

    Languagelow

    lang="en-US"

Content quality 60%

Is there enough clear, useful text that matches what the page targets?

  • ✓

    Word countmedium

    860 words of main content (menus and footer excluded).

    Google has no minimum word count – this is a rough guide to whether the page answers the question in full.

  • !

    Readabilitymedium

    Flesch reading ease 47 (fairly difficult), about 9 words per sentence.

    Fix: Use shorter sentences and everyday words – aim for a score of 50+ for customer-facing pages.

  • ✓

    Topic focushigh

    9 of 9 title keywords appear in the main content.

  • !

    H1 headingcritical

    13 H1 headings – one clear H1 is best practice.

    Fix: Use one H1 that states the page topic with its main keyword.

    On WordPress: Most themes show the page title as the H1. In the editor, make sure no other block uses Heading 1 – use Heading 2 for sections.

  • ✗

    Heading structuremedium

    60 headings for 860 words – a lot for the amount of text.

    2 skipped level(s), e.g. H2 → H4.

    Fix: Use H2s for main sections and H3s inside them, without skipping levels.

  • !

    Text-to-code ratiolow

    6% of the HTML is visible text.

    Fix: Trim unused markup, inline scripts and builder bloat.

AI search readiness 50%

Can ChatGPT, Claude, Perplexity and Google AI Overviews read, understand and cite this site?

  • ✓

    AI crawler accesshigh

    Search and AI-search crawlers (Googlebot, Bingbot, OAI-SearchBot, Claude-SearchBot, PerplexityBot…) can read this page.

  • ✓

    Snippet controlshigh

    No snippet restrictions – search and AI answers can quote this page.

  • ✓

    llms.txtlow

    /llms.txt found.

  • ✗

    Question-led contentmedium

    No headings phrased as questions.

    Fix: Add headings that match real questions ("How much does…?") followed by a direct one- or two-sentence answer – an easy format for search and AI answers to quote.

  • ✗

    Entity clarityhigh

    No Organization / LocalBusiness structured data – search engines and AI have to guess who runs this site.

    Fix: Add Organization or LocalBusiness JSON-LD with name, url, logo, contact details and sameAs links to your official profiles.

  • ✗

    Freshness signalsmedium

    No published/updated date found.

    Fix: Show a 'last updated' date and add dateModified to your structured data.

  • !

    Trust pages (E-E-A-T)medium

    Links found to about and privacy; missing contact.

    Fix: Link to About, Contact and Privacy pages from every page – they help visitors, Google and AI tools see who stands behind the content.

Structured data 100%

Machine-readable facts for rich results and AI.

  • ✓

    JSON-LD present & validhigh

    1 JSON-LD block(s): WebSite.

    All blocks parse correctly.

  • ✓

    Required propertiesmedium

    Key types include Google's required properties.

  • i

    Breadcrumbslow

    Home page – breadcrumbs not needed.

Performance 46%

Speed signals from the HTML and server. Real-user Core Web Vitals load below.

  • ✓

    Server response (TTFB)high

    18 ms until the first response from our checker, including connection setup (Google rates TTFB good under 0.8 s, poor over 1.8 s).

  • ✓

    HTML sizemedium

    119 kB of HTML.

  • i

    Compressionmedium

    Couldn't be measured from our server (our fetch decodes compressed pages before we see them). Check in your browser's developer tools that HTML is sent with br or gzip.

  • ✗

    Render-blocking resourceshigh

    2 blocking script(s) and 21 stylesheet(s) in <head>.

    Fix: Add defer to scripts, inline critical CSS and load the rest asynchronously.

  • ✗

    Scripts & third partiesmedium

    35 script tag(s); files loaded from 7 other domain(s): fonts.googleapis.com, cdn.jsdelivr.net, news.google.com, embeds.beehiiv.com, google.com, unpkg.com….

    Fix: Remove unused tracking and widget scripts; every third party adds connection time.

  • ✗

    Imagesmedium

    43 image(s).

    34 without width/height – can cause layout shift (CLS).

    15 image(s) after the first three aren't lazy-loaded.

    31 use WebP/AVIF or responsive srcset.

    Fix: Give every image width and height, lazy-load images below the fold (but not the main image) and serve WebP/AVIF.

    On WordPress: Install a free image optimiser plugin (such as EWWW Image Optimizer or Smush) to shrink images and serve WebP.

  • ✓

    Cachinglow

    Cache-Control: public, max-age=0, s-maxage=86400

  • i

    HTTP/3low

    Couldn't be confirmed from our server – the alt-svc header that advertises HTTP/3 isn't always visible to it. Your site is on Cloudflare, which offers HTTP/3 under Network settings.

Security 75%

Visitor safety signals that browsers and Google check.

  • ✓

    HTTPScritical

    Secure HTTPS with no mixed content.

  • ✓

    HTTP → HTTPS redirecthigh

    http:// redirects to https://.

  • ✗

    HSTSmedium

    No Strict-Transport-Security header.

    Fix: Add Strict-Transport-Security: max-age=63072000; includeSubDomains.

  • ✗

    Security headerslow

    Present: nosniff.

    Fix: Add X-Content-Type-Options, Referrer-Policy, Permissions-Policy and X-Frame-Options (or a CSP).

  • ✓

    Server fingerprintlow

    No X-Powered-By header (server: cloudflare).

Mobile & accessibility 70%

Usable on phones and by everyone – Google indexes the mobile version.

  • ✓

    Mobile viewportcritical

    viewport: width=device-width, initial-scale=1

  • ✗

    Image alt textmedium

    43 of 43 images have no alt attribute.

    Fix: Describe each meaningful image in its alt attribute (use alt="" for decorative ones).

    On WordPress: Media → Library: click each image and fill in Alternative Text. For images already on a page, select the image block and fill in Alternative text in the sidebar.

  • ✓

    Tap-to-contactmedium

    One-tap contact: phone and email.

Local SEO 33%

Signals that help you appear in Google Maps and 'near me' searches.

  • ✗

    LocalBusiness markuphigh

    No LocalBusiness structured data.

    Fix: Add LocalBusiness JSON-LD with address or areaServed, telephone, geo, opening hours and url.

    On WordPress: Make the code with our free schema generator, then paste it into your site header with a free plugin such as WPCode.

  • ✓

    Contact details on pagemedium

    A UK phone number is shown.

    No postcode found (fine for service-area businesses).

    An email link is shown.

  • ✗

    Map & directionslow

    No map or directions link.

    Fix: Add a Google Maps directions link so customers can find you.

This report checks one page. Scores are a guide, not a guarantee of rankings. Check another page · Print or save as PDF

Want these fixed for you? XKey is made by IceWork, a Blackpool web studio. IceWork builds fast websites that pass every check here – a 3-page site with domain and a year's hosting is £350 all in.