Technical Health
How Cassian™ audits your store's technical foundation — the layer that matters most to your Cassian Score™.
Technical Health
Technical Health is the first and most heavily weighted layer of your Cassian Score™, accounting for 30% of the total. Cassian™ crawls every accessible page on your store and runs deterministic checks against the technical fundamentals that affect your store's search visibility, user experience, and reliability. These checks are instant, rules-based analysis — not AI-powered — which makes them fast, free, and completely consistent between scans.
A store can have beautiful design and excellent copy, and still have a low Technical Health score if the underlying structure is broken. This is the layer most likely to surface problems your customers are already experiencing — they just aren't telling you.
What Cassian checks
Broken links
Cassian follows every internal link on every crawled page and verifies it returns a valid response. Links returning 4xx errors (most commonly 404 — page not found) or 5xx errors (server errors) are flagged.
Broken links hurt customers (they click to a dead end), search engines (broken links are treated as low-quality signals), and your score. A high count of broken internal links is one of the most common reasons for a low Technical Health score.
Where to fix: In Shopify, set up URL redirects at Online Store → Navigation → URL Redirects. For deleted pages or products, point the old URL to the most relevant active page.
Meta titles
Every page should have a unique, descriptive meta title. Cassian flags:
- Missing meta title — The page has no title tag at all.
- Too short — Titles under 30 characters don't use the available space to describe the page.
- Too long — Titles over 60 characters are truncated in search results, which can make them misleading.
- Duplicate titles — Multiple pages sharing the same title confuse search engines about which page to rank.
Where to fix: In Shopify, the meta title for each page, product, or collection is set in the SEO section of the page editor. Look for the "Page title" field in the Search engine listing preview section.
Meta descriptions
Cassian applies the same logic to meta descriptions:
- Missing — No description tag present.
- Too short — Under 70 characters.
- Too long — Over 160 characters (will be truncated in search results).
- Duplicates — Shared descriptions across pages.
Meta descriptions don't directly affect search rankings, but they affect click-through rate significantly. A well-written, unique description is one of the cheapest conversion improvements available.
Where to fix: In Shopify, set the meta description in the same SEO section as the meta title (Search engine listing preview → Description).
Schema markup
Structured data tells search engines — and increasingly AI shopping assistants — what's on your page in a machine-readable format. Cassian checks for the presence and validity of:
- Product schema — Every product page should have Product structured data, including name, description, image, price, and availability. This enables rich product results in search.
- Breadcrumb schema — Helps search engines understand your site hierarchy and enables breadcrumb display in search results.
- FAQ schema — If a page has FAQ content, FAQPage schema makes that content eligible for FAQ rich results and AI-powered answer surfaces.
- Organisation schema — Brand and business information that helps AI systems and search engines understand who you are.
Where to fix: Most Shopify themes include Product schema by default. Check by viewing page source and searching for "@type": "Product". If it's missing, add it via a theme customisation or a structured data app. FAQ schema typically needs to be added manually.
Image alt text
Every image on your site should have a descriptive alt text attribute. Cassian flags images with empty or missing alt text.
Alt text matters for two reasons: accessibility (screen readers use it to describe images to visually impaired users) and SEO (search engines use it to understand what an image shows, which is increasingly important for visual search).
Where to fix: In Shopify, add alt text to product images by clicking the image on the product edit page and selecting "Edit alt text". For theme images, edit via the theme customiser.
SSL and HTTPS
Cassian checks for page-level SSL issues — specifically mixed content, where an HTTPS page loads resources (images, scripts, stylesheets) over unencrypted HTTP. Mixed content triggers browser security warnings and can cause resources to fail loading entirely in modern browsers.
Where to fix: Check your theme for any hardcoded HTTP URLs in image src attributes or script tags. Third-party apps can also introduce mixed content — check your browser's developer console for mixed content warnings.
Canonical tags
A canonical tag tells search engines which version of a URL is the "official" one. Cassian flags:
- Missing canonicals — Pages with no canonical tag, which can cause duplicate content issues if the same page is accessible at multiple URLs.
- Incorrect canonicals — A page that canonicalises to a different page inappropriately, which can suppress the original page from search results.
Where to fix: Shopify automatically generates canonical tags for most page types. Custom themes or URL restructuring can introduce issues. Review the affected URLs listed in the Issues panel.
Redirect chains
A redirect chain occurs when URL A redirects to URL B, which redirects to URL C. Each hop adds latency, and excessive chains can cause search engines to stop following the redirects entirely.
Cassian flags chains of two or more redirects and identifies the starting URL.
Where to fix: In Shopify, review your URL Redirects list (Online Store → Navigation → URL Redirects) and update any redirects that point to another redirect, making them point directly to the final destination.
robots.txt
Cassian validates your robots.txt file and checks that it isn't accidentally blocking important pages from being crawled by search engines. Common mistakes include overly broad Disallow rules that block product or collection pages.
Where to fix: In Shopify, the robots.txt file is managed via your theme (Shopify allows customisation via the robots.txt.liquid template). Review the Disallow rules and ensure they only block pages you genuinely want excluded (such as /admin, /checkout, /cart).
XML sitemap
Your XML sitemap is a roadmap for search engines — it tells them which pages exist and should be indexed. Cassian checks that:
- A sitemap exists (typically at yourstore.com/sitemap.xml)
- The sitemap is valid XML
- Your key page types are represented (products, collections, pages, blogs)
Where to fix: Shopify automatically generates a sitemap. If pages are missing, check that they're published (not draft status). Shopify's sitemap is at /sitemap.xml and cannot be customised directly, but unpublished content is excluded automatically.
llms.txt
llms.txt is an emerging standard — a plain-text file at your store's root that tells AI shopping assistants what your store sells, your brand identity, and how to interpret your catalogue. Think of it as robots.txt for AI systems.
Cassian flags a missing llms.txt as a Technical Health issue (it also contributes to LLM Readiness). This is one of the quickest wins available: the file takes minutes to write and deploy.
Where to fix: See the LLM Readiness feature page for the format specification. In Shopify, deploy it via your theme editor or a custom file app.
Core Web Vitals signals
During the crawl, Cassian notes performance signals observed on each page. These aren't the same as a full Lighthouse audit — for detailed daily performance scores including LCP, CLS, and INP, see the PageSpeed page.
Core Web Vitals signals in Technical Health are crawl-time observations. The PageSpeed feature (available on all plans) runs daily Lighthouse audits and provides the definitive performance data for your store.
How many pages does Cassian check?
The number of pages crawled per scan depends on your plan:
| Plan | Pages per scan |
|---|---|
| Inspector | Up to 10 pages |
| Analyst | Up to 500 pages |
| Protector | Up to 2,000 pages |
| Guardian | Up to 5,000 pages |
| Prime | Unlimited |
| Enterprise | Unlimited (custom) |
Cassian starts from your XML sitemap and homepage, then follows links to discover additional pages — up to your tier limit. Pages are prioritised by importance: product pages and collection pages are crawled before blog posts and secondary pages.
If your store has more pages than your tier limit, Cassian won't have visibility into the uncrawled pages. Upgrading your plan increases the crawl depth and may surface issues that weren't previously detected.
Where to see Technical Health results
- Issues page → filter by "Technical" category. All technical issues listed by severity.
- Scans page → click any scan → Technical Health section shows your score for that layer and the issues found.
- Dashboard overview → the Technical Health card shows your current layer score.
Common questions
Does Cassian check every page on my store? It starts from your sitemap and homepage, crawling linked pages up to your tier's page limit. It prioritises the most important page types (products, collections) before less critical ones.
My store has tens of thousands of pages — will Cassian catch everything? Prime and Enterprise plans cover unlimited pages. On Analyst, Protector, and Guardian plans, Cassian focuses on the most important pages. For comprehensive coverage of a very large catalogue, Prime is the appropriate tier.
What exactly is llms.txt and why does it matter? llms.txt is a plain-text file that tells AI shopping assistants — like the ones built into search engines, browsers, and voice assistants — what your store sells and how to describe it. As AI-powered shopping becomes more prevalent, stores with a well-formed llms.txt are better positioned to appear in AI-generated recommendations. Creating one is a 30-minute task with potentially significant long-term impact.
Cassian flagged my robots.txt as blocking something — but my store works fine. What's happening? "Works fine" for customers and "correctly configured for search engine crawlers" are different things. A misconfigured robots.txt can block search engines from important pages without any visible customer impact. Check the specific Disallow rules flagged in the Issues panel.
I fixed a broken link but it's still showing in Issues. The Issues page reflects the state of your store at the most recent scan. Trigger a manual scan (Sites → Scan Now) to get a fresh reading. If the issue was genuinely fixed, it will be gone from the next scan's results.