Manual technical scan of oleo.ie pulled across 14 surfaces (home, products, collections, pages, contact). Stack confirmed: Shopify Hydrogen, Cloudflare CDN, HSTS, HTTP/3, GSAP, Swiper, Weglot, Judge.me. The technical fundamentals are decent. What's missing is the schema layer, the meta layer, the alt-text discipline, and a clean route map for AI crawlers.
| URL | Status | Title len | Meta desc | Schema | H1 | Notes |
|---|---|---|---|---|---|---|
| / | 200 | 21 | Missing | None | Pioneers in Medical Cannabis Care | Hero stock image (smiling-docter) |
| /pages/about | 200 | 10 | Missing | None | About | Title too short for search |
| /about | 404 | - | - | - | - | Bare canonical 404; needs redirect |
| /pages/contact | 200 | 14 | Missing | None | Contact | Contact form only, no NAP |
| /contact | 404 | - | - | - | - | Bare canonical 404 |
| /pages/richard-creagh | 200 | 22 | Thin | None | Richard Creagh | No Person schema, no LinkedIn link |
| /pages/shirley-creagh | 200 | 22 | Thin | None | Shirley Creagh | Same as above |
| /products/oleo-panacea-dry-herb-vaporiser-inhaler | 404 (during scan) | - | - | - | - | Verify URL; long slug fragile |
| /products/oleo-panacea | 200 | - | Missing | None | Oleo Panacea Waterpipe Adaptor | No Product/MedicalDevice schema |
| /collections/all | 200 | - | Missing | None | Products | Standard Shopify collection |
| /cart | 200 | - | Default | Cart-only | Your Cart | Shopify default, fine |
| /account | 200 | - | Default | N/A | Account | Shopify default |
| /sitemap.xml | 200 | - | - | - | - | Shopify auto-generated, includes /pages/* and /products/* |
| /robots.txt | 200 | - | - | - | - | Standard Shopify; sitemap referenced |
Note: a Firecrawl deep-crawl would scan all linked pages including blog posts, search-result pages, and product variants. Counts of indexable URLs typically 30-60 on a Shopify storefront this size.
| Metric | Mobile (est) | Desktop (est) | Threshold (good) | Status |
|---|---|---|---|---|
| Largest Contentful Paint (LCP) | 2.4 - 3.1 s | 1.6 - 2.2 s | < 2.5 s | Mobile borderline |
| Interaction to Next Paint (INP) | 180 - 280 ms | 100 - 180 ms | < 200 ms | Mobile borderline |
| Cumulative Layout Shift (CLS) | 0.05 - 0.12 | 0.04 - 0.10 | < 0.1 | Borderline |
| First Contentful Paint (FCP) | 1.4 - 2.0 s | 0.8 - 1.4 s | < 1.8 s | Good |
| Time to First Byte (TTFB) | 220 - 380 ms | 180 - 280 ms | < 800 ms | Good |
| Total Blocking Time (TBT) | 240 - 380 ms | 120 - 220 ms | < 200 ms | Mobile fail |
Estimates based on Shopify Hydrogen + Cloudflare CDN typical performance for a content-and-commerce hybrid site. Actual Lighthouse / CrUX run will tighten these numbers. Mobile is the bottleneck; image optimisation + JS bundle trimming both help.
| Page type | Schema today | Schema needed | Priority |
|---|---|---|---|
| Home | None | Organization + MedicalBusiness + sameAs (LinkedIn + socials) + hasCredential (HPRA) | P0 |
| About | None | AboutPage + reuses Organization | P1 |
| Founder pages (Richard, Shirley) | None | Person + sameAs (LinkedIn) | P0 |
| Panacea + Panacea Flo + Waterpipe | None | Product + MedicalDevice (MDR class TBC) | P1 |
| Conditions (MS, chemo, epilepsy) when built | n/a | MedicalWebPage + MedicalCondition + reviewedBy named clinician | P1 |
| MCAP hub when built | n/a | FAQPage + MedicalProgram | P1 |
| OleoCare app page | None | MobileApplication + HealthApplication | P2 |
| All pages | None | BreadcrumbList | P2 |
Filename: smiling-docter-camera-clinic-background_837074-50015.webp
Numeric suffix is a stock-photo identifier (Freepik or similar). "docter" misspelled. Replacing with real Oleo product / Bedrocan-grade flower / Panacea device photography lifts both visual trust and image search.
Estimated ~38% of images carry descriptive alt text. The remainder are either empty or use the Shopify auto-generated value (filename slug). Default behaviour on Shopify themes.
Fix: alt-text pass site-wide (~2 hours). Medical imagery deserves descriptive accessibility-grade alt.
| # | Item | Effort | Lift |
|---|---|---|---|
| 1 | /about + /contact + /shop redirects to /pages/* canonicals | 15 min | SEO + UX |
| 2 | Organization + MedicalBusiness JSON-LD on home (theme.liquid) | 1 hr | AI visibility + KG anchor |
| 3 | Person schema on Richard + Shirley pages (sameAs LinkedIn) | 30 min | E-E-A-T |
| 4 | Meta descriptions on all 14 indexable pages | 45 min | SERP CTR |
| 5 | Product schema on 3 Panacea SKU pages (no MedicalDevice yet, pending MDR) | 45 min | Rich result eligibility |
| 6 | Replace stock hero with real Oleo product photo, fix filename + alt | 2 hr | Trust + image SEO |
| 7 | Site-wide alt-text pass | 2 hr | A11y + image SEO |
| 8 | BreadcrumbList JSON-LD via Liquid include | 1 hr | SERP rich results |
| 9 | Submit sitemap to GSC + Bing Webmaster, verify domains | 30 min | Indexing speed |
| 10 | Image compression + lazy-load review (Shopify defaults often miss) | 2 hr | LCP / mobile speed |
| 11 | JS bundle audit (deferred / async non-critical, GSAP / Swiper review) | 3 hr | TBT / INP |
| 12 | Hreflang verification across Weglot-served translations | 30 min | International SEO hygiene |
Total effort: ~14-15 hours. Realistic 2-week elapsed at 1-2 hr/day with photo-asset and address-confirmation dependencies.