URL: https://olswell.com/
Platform: unknown
Archetype: fun
Run ID: 2026-04-19T06-18-18-831Z
Scanned: 2026-04-19T06:53:46.293Z
Duration: 883s
This is a monthly deep audit. The crawler performed a full-site scan including
Lighthouse performance, axe-core accessibility (WCAG 2.2 AA), cross-browser compatibility,
security headers, schema markup validation, and SEO best-practice checks.
Because this site is not a repository we control, Apex Sentinel **cannot automatically
apply fixes** — instead, each finding below includes an AI-generated plain-English
explanation + step-by-step recommended fix you can hand to a developer or execute
in your CMS directly.
Overall grade: F
| Dimension | Count | Meaning |
|---|---|---|
| Pages crawled | 26 | Full sitemap + linked pages |
| P0 (critical) | 1 | Site-down or compliance-breaking |
| P1 (urgent) | 6 | Significant revenue / SEO / UX impact |
| P2 (high) | 39 | Quality / ranking / trust degradation |
| P3 (medium) | 80 | Polish + optimization |
| "Do first" items | 5 | AI-flagged top priorities |
| Quick wins (< 30 min) | 24 | Fastest ROI items |
If you only have time for ten things this month, do these — in this order.
Page: https://olswell.com/wp-login.php
Effort: Moderate (1-3 hours)
Page: https://olswell.com/
Effort: Developer required (half-day+)
Page: https://olswell.com/
Effort: Quick win (< 30 min)
Page: https://olswell.com/
Effort: Moderate (1-3 hours)
Page: https://olswell.com/
Effort: Moderate (1-3 hours)
Page: https://olswell.com/
Effort: Moderate (1-3 hours)
Page: https://olswell.com/
Effort: Moderate (1-3 hours)
Page: https://olswell.com/
Effort: Moderate (1-3 hours)
Page: https://olswell.com/olswell-cannabis-co-toy-drive/
Effort: Moderate (1-3 hours)
Page: https://olswell.com/olswell-cannabis-co-toy-drive-2/
Effort: Moderate (1-3 hours)
tier5.exposed.artifactWhat it means (plain English)
Your WordPress admin login page is publicly accessible at /wp-login.php, which means anyone on the internet can find and attempt to access your site's backend. This is a common attack vector where bots and hackers try to guess passwords to break into your site. You should restrict access to this page so only you (and authorized staff) can reach it.
Why it matters for your business: An attacker gaining admin access could deface your site, steal customer data, inject malware, or take your dispensary offline—directly harming customer trust and revenue.
Technical root cause: WordPress login pages are not blocked by default. The site is either running WordPress without access restrictions, or firewall/edge security rules were not configured to block or require authentication for /wp-login.php.
Recommended fix — step by step
tier8.lighthouse.perf-mobileWhat it means (plain English)
Your mobile site takes nearly 24 seconds for visitors to see your main content (Largest Contentful Paint), and the browser is unresponsive for over 4 seconds while processing JavaScript (Total Blocking Time). This means customers on phones are sitting on a blank or partial page, unable to click or scroll, before your site becomes usable. Lighthouse rates this performance a 28/100—critically slow.
Why it matters for your business: Visitors abandon slow sites: studies show 40% of users leave if a page takes more than 3 seconds to load. For a cannabis retailer, this directly kills online orders, menu views, and age-gate conversions, costing revenue per visitor.
Technical root cause: The site is likely loading large unoptimized images, render-blocking JavaScript, or excessive third-party scripts before the page becomes interactive. The 4+ second blocking time suggests JavaScript is running synchronously on the main thread instead of deferring non-critical work.
Recommended fix — step by step
tier9.a11y.aria-dialog-nameWhat it means (plain English)
Your age-verification popup (the dialog box that appears when visitors enter the site) doesn't have a proper accessible name — meaning screen reader users can't tell what it is or what action it's asking them to take. This is a WCAG accessibility violation that affects compliance and user experience for disabled visitors.
Why it matters for your business: Inaccessible age gates expose you to ADA litigation risk and exclude disabled customers; it also signals poor compliance practices to regulators monitoring cannabis retail sites.
Technical root cause: The dialog element with id='baag3-gate' has role='dialog' and aria-modal='true' but is missing an aria-label, aria-labelledby, or title attribute that would announce its purpose to assistive technology.
Recommended fix — step by step
tier9.a11y.link-nameWhat it means (plain English)
Your website has 10 links that don't have any visible or hidden text describing where they go. Screen reader users (people who are blind or visually impaired) hear nothing when they encounter these links, making navigation impossible. This includes your logo link and several product category buttons.
Why it matters for your business: You're excluding customers with disabilities from browsing your products, reducing potential sales and exposing yourself to ADA accessibility lawsuits—a growing risk in the cannabis retail space.
Technical root cause: Links are either image-only without alt text, or have no text content and no aria-label attributes. The Elementor page builder elements lack accessible naming.
Recommended fix — step by step
tier10.journey.failedWhat it means (plain English)
Your homepage is trying to load JavaScript modules (code files that extend functionality) but the server is returning HTML instead of the correct JavaScript format. This is a strict security rule enforced by modern browsers. The age gate and menu are likely not functioning properly because the code they depend on failed to load.
Why it matters for your business: Visitors cannot proceed past the age gate to view your menu and products, directly blocking revenue and preventing compliance verification.
Technical root cause: One or more <script type="module"> or import statements are pointing to files (or endpoints) that return HTML content instead of valid JavaScript. This often happens when a build process failed, a CDN is misconfigured, or a file path is wrong.
Recommended fix — step by step
<head> and <body> tags) for any <script type="module"> tags; verify each src attribute points to a valid .js file, not an HTML page or dynamic endpoint.npm run build or equivalent, then redeploy to ensure all JavaScript files are generated and in the correct location.application/javascript MIME type, not text/html.tier8.lighthouse.perf-desktopWhat it means (plain English)
Your desktop site takes about 3.2 seconds for the main content to appear on screen, and the browser's main thread is blocked for ~473 milliseconds while processing JavaScript. Lighthouse scores performance at 60/100, well below industry standard of 90+. This means visitors on desktop are waiting noticeably longer than competitors before they can see and interact with your product listings and checkout.
Why it matters for your business: Slow load times increase bounce rates and reduce conversion — cannabis shoppers comparing multiple dispensaries will abandon your site if it feels sluggish, especially on mobile or slower connections in rural areas.
Technical root cause: Large unoptimized images, render-blocking JavaScript (likely analytics, ads, or third-party scripts), and possible inefficient CSS are delaying the browser's ability to paint content and respond to user input.
Recommended fix — step by step
tier8.lighthouse.bestPractices-desktopWhat it means (plain English)
Your site's Lighthouse Best Practices score is 59/100, which means there are security, code quality, and user trust issues detected by Google's audit tool. This score sits well below the industry benchmark of 90+. Common culprits in this range include outdated libraries, missing security headers, broken console errors, or third-party scripts causing warnings.
Why it matters for your business: A low Best Practices score signals to search engines and visitors that your site may not be trustworthy or secure, which erodes customer confidence—especially critical for a cannabis retailer where age verification and compliance are paramount.
Technical root cause: Lighthouse has flagged one or more issues in security, browser compatibility, or code quality. Without the detailed HTML report, the exact cause is unclear, but common reasons include: unpatched npm dependencies, missing Content Security Policy headers, deprecated APIs, or console errors from ad/tracking scripts.
Recommended fix — step by step
npm audit in your project root, review the output, and run npm audit fix to patch dependencies; test the site after.tier2.a11y.img-missing-altWhat it means (plain English)
Every image on your homepage is missing alt text — a short text description that appears if the image fails to load and helps screen readers describe what's in the image to visitors who are blind or low-vision. This affects both accessibility (a legal compliance area) and search engine ability to understand your visual content.
Why it matters for your business: Missing alt text blocks visually impaired customers from understanding your product offerings, limits SEO ranking for image-based searches, and creates potential ADA compliance liability for a cannabis retailer.
Technical root cause: Images are included in HTML without the alt attribute populated. This is commonly an oversight during site build or CMS setup where alt text fields are left blank.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Every image on your Toy Drive page is missing alt text — short descriptions that screen readers use to tell blind/low-vision visitors what an image shows, and that search engines use to understand your content. Right now, visitors using assistive technology hear nothing, and Google can't index what your photos depict.
Why it matters for your business: Missing alt text blocks both accessibility compliance (legal risk in some jurisdictions) and SEO: Google can't rank your Toy Drive initiative or product shots, reducing organic traffic and community visibility.
Technical root cause: Images were uploaded or embedded without filling in the alt text field during content creation. The HTML lacks the alt attribute entirely on <img> tags.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Every image on your site should have descriptive alt text — a short text label that describes what the image shows. This text is read aloud to visitors using screen readers (accessibility software) and also helps search engines understand your images. Right now, 15 images on your toy drive page have no alt text at all.
Why it matters for your business: Missing alt text locks out customers who are blind or low-vision, reducing your potential customer base; it also signals to Google that your content is incomplete, which can lower your search rankings for cannabis dispensary searches in your area.
Technical root cause: Images were uploaded or embedded without alt attributes populated in the HTML markup. This is common when using media upload interfaces without a required field for alt text.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Every image on your toy drive post is missing alt text — descriptive text that explains what the image shows to people using screen readers and to search engines. This means visually impaired customers can't understand your content, and Google can't fully index your images for search results.
Why it matters for your business: Missing alt text reduces your search visibility for product images and brand content, and excludes customers using accessibility tools from engaging with your cannabis product photography and promotional material.
Technical root cause: Images were uploaded or embedded without filling in the alt text field during publishing. This is commonly overlooked in content management systems when images are added quickly.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Every image on your trends page is missing alt text—a short text description that screen readers use to describe images to blind and low-vision visitors. This also prevents search engines from understanding what your images show, which weakens your SEO ranking for image search.
Why it matters for your business: You're losing accessibility compliance points (which can expose you to legal risk), and search engines are ignoring 15 image opportunities that could drive traffic and boost your ranking for cannabis-related visual searches.
Technical root cause: Images were uploaded to the page without the alt attribute being filled in during content creation. The CMS (or HTML) is rendering <img> tags with no alt= property, leaving the field blank.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Every image on your Live Resin Concentrates page lacks alt text—a description that screen readers use to tell visually-impaired visitors what the image shows. This also prevents search engines from understanding your product images, which means they can't help Google rank these photos or display them in image search results.
Why it matters for your business: Missing alt text reduces your visibility in Google Images (a source of product discovery traffic) and makes your site inaccessible to customers using screen readers, limiting your addressable market and exposing you to accessibility compliance risk.
Technical root cause: Images were uploaded and embedded in the page without descriptive alt attributes. This is typically a content management oversight—either images were added without alt text fields being filled in, or the CMS/template doesn't enforce alt text as a required field.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Every image on your site should have alt text — a brief description that screen readers read aloud to blind visitors and search engines use to understand what the image shows. Your ounces page has 15 images with no alt text, meaning those visitors and search engines see nothing but a broken icon or blank space.
Why it matters for your business: Missing alt text reduces your search visibility for image-based queries (e.g., 'cannabis flower strains'), locks out visually impaired customers who use screen readers, and creates legal accessibility liability under ADA/WCAG standards.
Technical root cause: Images were likely uploaded without an alt attribute filled in during page creation. If using a CMS, the alt field was left blank; if raw HTML, the img tags have no alt="..." attribute.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Every image on your Pre-Rolls page is missing alt text—a text description that screen readers announce to visually impaired visitors. This breaks accessibility for a segment of your audience and also causes search engines to ignore those images entirely, missing an opportunity to rank for visual product searches.
Why it matters for your business: You're losing potential customers who use screen readers, and you're forfeiting SEO value from product imagery that could drive organic traffic to your pre-roll category pages.
Technical root cause: Images were inserted into the page without the HTML alt attribute populated. This is a common oversight during content creation, especially if images were bulk-uploaded without accompanying metadata.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
All 15 images on your cartridges page lack alt text—descriptive labels that screen readers read aloud to blind/low-vision visitors, and that search engines use to understand image content. Without alt text, these images are invisible to both assistive technology users and search crawlers, making your product photos inaccessible and unhelpful for SEO.
Why it matters for your business: Customers using screen readers cannot identify your cartridge products, reducing conversions from disabled visitors; search engines cannot index these product images, limiting your visibility in image search results where cannabis consumers often browse.
Technical root cause: Images are embedded without alt attributes in the HTML. This is either a template/CMS issue where the alt field was left blank during image upload, or images are added via inline HTML/CSS without accessible markup.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Every image on your Gummies & Chocolates page is missing alt text—the hidden description that screen readers use to help visually impaired customers understand what they're looking at. This also tells Google what each image shows, which helps your product pages rank better in image search results.
Why it matters for your business: Customers using assistive technology can't understand your product photos, creating an accessibility barrier that may trigger compliance complaints; you're also missing SEO value from Google Images, a traffic source many shoppers use to discover cannabis products.
Technical root cause: The images on that page were added to the HTML without the 'alt' attribute populated. This is common when using visual builders or uploading images without filling in the description field.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
All 15 images on this product page lack alt text — descriptive text that screen readers read aloud and search engines use to understand image content. This makes the page inaccessible to visually impaired customers and invisible to search engines, which can't index what the images show.
Why it matters for your business: Visually impaired customers can't navigate your rosin product page, reducing traffic from that audience; search engines also rank image-rich pages lower when alt text is missing, hurting your visibility for 'rosin concentrates' searches.
Technical root cause: Images were uploaded without alt text attributes (the HTML alt="" field). This is commonly overlooked when bulk-uploading product photos or using page builders that don't prompt for alt text during image insertion.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
All 16 images on your FAQ page are missing alt text — descriptive labels that explain what each image shows. This hurts both accessibility (visitors using screen readers can't understand your images) and search engine ranking (Google uses alt text to understand image content and can rank you higher when it's present).
Why it matters for your business: You're losing SEO value on a high-traffic page and excluding customers with visual disabilities who use assistive technology — both reduce discoverability and potential sales.
Technical root cause: Images were added to the page without alt attributes in the HTML code. This is commonly overlooked during content updates or CMS publishing.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Every image on your Cannabis Education Hub page is missing alt text—a brief description that search engines and screen readers use to understand what the image shows. This means visually impaired visitors can't tell what your images depict, and Google can't index them for image search or use them to understand your page's topic.
Why it matters for your business: Missing alt text reduces your page's search ranking potential, blocks visually impaired customers from accessing your educational content (a legal compliance risk), and loses image search traffic that could drive discovery.
Technical root cause: Images were added to the page without alt attributes (the HTML property that provides text descriptions). This is often an oversight during content creation or if using a visual builder without deliberate alt-text entry.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Every image on your Contact Us page lacks alternative text (alt text) — a short description that appears if the image doesn't load and is read aloud by screen readers for visually impaired visitors. This affects both accessibility compliance and search engine ability to understand your images.
Why it matters for your business: Missing alt text reduces your site's SEO ranking for image searches, blocks customers using accessibility tools, and puts you at risk of ADA compliance complaints — increasingly common in retail.
Technical root cause: Images are deployed without HTML alt attributes. Search engines and assistive technology cannot interpret what the images show.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Every image on your in-store pickup page is missing alt text — descriptive labels that screen readers use to tell blind and low-vision visitors what an image shows. Search engines also use alt text to understand your content, which affects how you rank in image search results.
Why it matters for your business: You're losing potential customers who use screen readers, and Google can't fully index your images, which reduces your visibility in Google Images and organic search.
Technical root cause: Images were likely added to the page without alt attributes being populated during upload or template creation.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Every image on your loyalty program page is missing alt text — descriptive labels that screen readers (used by people with vision loss) read aloud, and that search engines use to understand what images contain. All 22 images on that page lack these labels, making the page inaccessible and invisible to search crawlers.
Why it matters for your business: You're locking out customers with disabilities from understanding your loyalty program, risking legal exposure under accessibility law; plus Google cannot index or rank these images, weakening your SEO and reducing discoverability for visual search.
Technical root cause: Images were added to the page without the HTML alt attribute populated. This is typically a content entry or template oversight — alt text is not being filled in during image upload or page build.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Every image on your Adrian, MI dispensary page is missing alt text — a short description that screen readers read aloud and search engines use to understand the image. This blocks people with vision disabilities from using your site and signals to Google that your images aren't optimized.
Why it matters for your business: Customers using assistive technology can't browse your product photos or dispensary info, and you're losing SEO value that could drive local search traffic in your market.
Technical root cause: Images were uploaded or embedded without alt attributes in the HTML. This is typically a CMS content entry issue or a template that doesn't enforce alt-text fields during image upload.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Every image on your Grand Rapids page is missing alt text — descriptive text that explains what the image shows. This hurts both accessibility (screen reader users can't understand your images) and search engine visibility (Google can't index what the images contain). Since all 21 images lack alt text, this is a site-wide issue, not just one page.
Why it matters for your business: Customers using screen readers or those with visual impairments can't browse your product images, reducing sales and excluding a legally-protected audience. Search engines also rank product pages lower when images lack alt text, hurting your organic traffic for product searches.
Technical root cause: Images were uploaded or inserted into the page without alt attributes in the HTML. This is typically a CMS issue where the image upload form doesn't enforce or prompt for alt text entry.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Every image on your Kalkaska, MI page is missing alt text — descriptive labels that explain what the image shows. Search engines and screen readers (used by people with vision loss) can't understand unlabeled images, so they're invisible to both bots and accessibility tools. This means you're losing potential search traffic and excluding customers who rely on assistive technology.
Why it matters for your business: Missing alt text reduces your page's SEO ranking for product images and cannabis strains, and makes your site inaccessible to disabled customers — both legal and revenue risks.
Technical root cause: Images were added to the page without accompanying alt attribute text in the HTML code. This is typically a content management or theme issue where the CMS doesn't enforce alt text entry, or images were bulk-uploaded without descriptions.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Every image on your Traverse City page lacks alternative text (alt text)—a short description that screen readers speak aloud to visually impaired visitors and that search engines use to understand image content. This affects both accessibility (making your site unusable for some customers) and SEO (Google cannot index what it cannot read).
Why it matters for your business: Visitors using screen readers cannot browse your product photos or location details, shrinking your addressable audience and potentially violating disability access laws; Google also ranks pages with proper image descriptions higher in search results, so missing alt text costs organic traffic and local search visibility.
Technical root cause: Images were added to the page without alt attributes in the HTML. This is typically a content management system upload oversight or a template that doesn't enforce alt-text entry.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
All 30 images on your site are missing alt text—descriptions that appear when images don't load and that screen readers (used by people with vision disabilities) read aloud. This makes your site unusable for disabled visitors and signals to Google that your images aren't indexed or understood, hurting search visibility.
Why it matters for your business: You're excluding disabled customers from browsing your product catalog, risking legal exposure under accessibility laws (ADA), and losing SEO credit for product imagery—especially important for a cannabis retailer where visual product presentation drives sales.
Technical root cause: Images are likely inserted via Elementor (your page builder) without the alt-text field being populated during upload. Elementor stores alt text in image metadata, but empty fields mean no accessibility or SEO benefit.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Every image on your site should have alt text — a short text description that appears if the image doesn't load and is read aloud by screen readers used by people who are blind or have low vision. Right now, all 30 images on your site are missing this description. Search engines also use alt text to understand what images show, which helps them rank your pages correctly.
Why it matters for your business: Missing alt text reduces your search visibility for image-based queries, blocks access for customers using assistive technology, and may expose you to accessibility complaints or legal risk in regulated markets.
Technical root cause: Images were likely inserted via Elementor's page builder without filling in the alt text field, or alt attributes were not added during initial image upload to the media library.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Your website has 30 images without alt text — short descriptions that explain what each image shows. Search engines and screen readers (used by people with vision disabilities) can't understand images without these descriptions. This hurts both accessibility compliance and your ability to rank in image search results.
Why it matters for your business: Missing alt text reduces your organic search visibility for image-based queries, limits your reach to visually impaired customers, and creates potential ADA compliance liability for a retail business.
Technical root cause: Images were likely added via Elementor (a page builder) or inserted into pages without the alt field being filled in during upload or content creation.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Every image on your site should have a short text description (called "alt text") that describes what the image shows. Right now, 30 images are missing these descriptions. Search engines can't read images, so they rely on alt text to understand what's on your page. Visitors using screen readers (software that reads web pages aloud) also depend on alt text to know what images contain.
Why it matters for your business: Missing alt text costs you both SEO rankings (Google ranks pages with properly described images higher) and excludes customers with visual disabilities from fully experiencing your product showcase, which is critical for a visually-driven cannabis retail site.
Technical root cause: Images were added to the site without alt text attributes filled in. This is common when using page builders like Elementor—the alt field is optional by default, so images publish without it.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Every image on your site needs a text description (called 'alt text') that describes what the image shows. Right now, all 30 images are missing these descriptions. Search engines use alt text to understand your images, and visitors using screen readers (assistive technology for people with visual disabilities) cannot access your content without it.
Why it matters for your business: Missing alt text reduces your search ranking for image-related queries, limits your reach to customers with disabilities (a legal and market consideration), and signals poor site quality to Google.
Technical root cause: Images are embedded in your Elementor page builder templates without descriptive alt attributes assigned. Elementor defaults to empty alt fields unless explicitly filled in by the content editor.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Every image on your blog page is missing alt text—a short description that screen readers use to explain what the image shows, and that search engines use to understand your content. All 18 images on that page are affected. This hurts both accessibility (people using screen readers get no context) and SEO (Google can't index the images or understand the page topic as well).
Why it matters for your business: Visitors using assistive technology can't engage with your visual content, and you're losing search rankings for image-based queries—important for a visually-driven industry like cannabis retail.
Technical root cause: The blog post template or individual blog entries don't populate the alt attribute on img tags. This is typically a content authoring issue (missing alt field in the post editor) or a theme/template that doesn't expose an alt field.
Recommended fix — step by step
tier3.perf.mobile-failWhat it means (plain English)
Our automated performance testing tool couldn't load your homepage on mobile within 60 seconds. This typically means the page is either very slow to respond, has resources that won't load, or the server isn't responding reliably to mobile requests.
Why it matters for your business: If your site times out for testing tools, it's likely timing out for real visitors on slower connections—causing lost traffic, abandoned shopping carts, and lower search rankings.
Technical root cause: The server or page resources (images, scripts, stylesheets) are taking too long to deliver, or there's a connectivity issue between the test environment and your hosting. Mobile networks are slower than desktop, so mobile-specific bottlenecks surface here.
Recommended fix — step by step
tier4.schema.missing-coreWhat it means (plain English)
Your site includes structured data (code snippets that tell search engines about your business) for Organization and WebSite, but is missing LocalBusiness markup. For a cannabis dispensary, LocalBusiness schema is how Google understands your physical location, hours, phone number, and licensing information—critical for local search results and map visibility.
Why it matters for your business: Without LocalBusiness schema, your dispensary is less likely to appear in Google Maps, local search results, and 'near me' queries—directly reducing foot traffic and online orders from customers searching for nearby cannabis retailers.
Technical root cause: The site's JSON-LD schema is incomplete. LocalBusiness is a standard schema type that wraps location-specific details (address, phone, hours, license number) that search engines expect for retail businesses.
Recommended fix — step by step
tier5.header.strict-transport-securityWhat it means (plain English)
Your site is missing the Strict-Transport-Security (HSTS) header, which tells browsers to always use HTTPS when visiting your domain. Without it, users could accidentally connect via unencrypted HTTP, exposing sensitive data like login credentials or payment info. This is especially critical for a cannabis retailer handling age verification and customer data.
Why it matters for your business: Missing HSTS exposes customer data and payment information to interception attacks, creates compliance risk, and signals poor security posture to search engines and payment processors.
Technical root cause: The server response headers do not include the Strict-Transport-Security directive. While you're using Cloudflare and WP Engine (both capable of adding this header), it has not been configured.
Recommended fix — step by step
tier5.header.x-frame-optionsWhat it means (plain English)
Your website is missing the X-Frame-Options security header, which tells browsers whether your site can be embedded inside another website's frame or iframe. Without it, attackers could potentially embed your site in a malicious page to trick users or steal data. This is a standard security practice that should be in place.
Why it matters for your business: Missing this header weakens your site's security posture and could expose customer data to clickjacking attacks, damaging trust and potentially creating compliance liability for a regulated cannabis retailer.
Technical root cause: The server (WP Engine hosting + Cloudflare) is not configured to return the X-Frame-Options header in HTTP responses. This is typically a hosting or CDN configuration that needs to be explicitly set.
Recommended fix — step by step
tier5.header.content-security-policyWhat it means (plain English)
Your site is missing a Content Security Policy (CSP) header — a security instruction that tells browsers which sources (scripts, images, styles) are safe to load. Without it, attackers can more easily inject malicious code. Since you're hosted on WP Engine (a managed WordPress host), they likely support CSP, but it isn't enabled yet.
Why it matters for your business: A cannabis retailer without CSP is at higher risk of payment-card theft, customer data compromise, or malware injection — any of which could trigger payment processor fines, legal liability, or loss of trust.
Technical root cause: The HTTP response headers do not include a Content-Security-Policy directive. WP Engine and Cloudflare (your CDN) both support CSP headers, but the policy must be explicitly configured and deployed.
Recommended fix — step by step
tier6.a11y.small-targetsWhat it means (plain English)
Your website has 45 buttons, links, and other clickable elements that are smaller than 44×44 pixels when viewed on mobile phones. These tiny targets are hard for people to tap accurately—especially customers with vision loss, tremors, or arthritis, and anyone using a phone one-handed. This violates the Web Content Accessibility Guidelines (WCAG), a legal standard many states now enforce for retail sites.
Why it matters for your business: Small tap targets frustrate mobile shoppers, increase cart abandonment, and expose you to accessibility lawsuits; they also signal poor UX to search engines, which can lower your ranking in mobile search results where most cannabis consumers browse.
Technical root cause: Interactive elements on the page are styled with padding, font sizes, or button dimensions that fall below the 44×44-pixel minimum at 320px viewport width. This often stems from responsive CSS that doesn't account for mobile constraints, or from legacy designs not audited for touch-friendly sizing.
Recommended fix — step by step
tier6.a11y.small-targetsWhat it means (plain English)
Your website has 49 clickable elements (buttons, links, menu items) that are smaller than 44×44 pixels on mobile phones. This makes them hard to tap accurately, especially for people with limited dexterity, older users, or anyone on a moving vehicle. WCAG 2.5.5 is an accessibility standard that requires interactive elements to meet this minimum size.
Why it matters for your business: Small tap targets frustrate mobile visitors and may cause accidental clicks, reducing conversion rates and increasing bounce rate—particularly damaging for a retail site where mobile purchases and menu browsing are critical.
Technical root cause: The site likely uses CSS styling that sets buttons, links, or navigation items to padding and font sizes too small for comfortable mobile interaction. This is common when desktop designs are scaled down for mobile without proper responsive adjustments.
Recommended fix — step by step
padding: 8px 12px to padding: 12px 16px or higher to meet 44px minimum in both dimensions.tier6.a11y.small-targetsWhat it means (plain English)
Your homepage has 49 interactive buttons, links, and other clickable elements that are smaller than 44×44 pixels on mobile phones. This makes them hard to tap accurately—especially for people with limited dexterity, vision impairments, or those using older devices. It's a WCAG accessibility standard that also reduces accidental mis-taps on mobile.
Why it matters for your business: Small tap targets frustrate mobile users (who may be browsing your product menu or age gate), increase cart abandonment, and expose you to accessibility lawsuits—particularly relevant in cannabis retail where compliance is already scrutinized.
Technical root cause: Interactive elements (buttons, links, form inputs, product tiles) are sized below the 44×44px minimum, likely due to tight spacing in the original design or CSS sizing that doesn't account for touch targets on smaller viewports.
Recommended fix — step by step
min-width: 44px; min-height: 44px; to your button and .touch-target classes, and ensure line-height is ≥ 44px for text links.padding or a transparent border (border: 8px solid transparent) to expand the touch zone without changing visual layout.tier6.a11y.small-targetsWhat it means (plain English)
Your website has 31 interactive elements (buttons, links, menu items) that are smaller than 44×44 pixels when viewed on a tablet. This makes them difficult to tap accurately, especially for people with motor disabilities or those using touch screens. The Web Content Accessibility Guidelines (WCAG) require a minimum touch target size of 44×44 pixels to ensure usability for all visitors.
Why it matters for your business: Small tap targets frustrate tablet users—including customers browsing your menu or age-verification flow—leading to abandoned visits and lost sales. Non-compliance also creates legal exposure under accessibility lawsuits common in the cannabis retail space.
Technical root cause: Interactive elements are styled with padding, font sizes, or click areas below the 44px minimum. This often happens when designs optimized for desktop are not properly scaled or when legacy CSS uses tight spacing on buttons, links, or form inputs.
Recommended fix — step by step
tier8.lighthouse.bestPractices-mobileWhat it means (plain English)
Lighthouse, Google's performance audit tool, gave your mobile site a Best Practices score of 61 out of 100—well below the healthy target of 90. Best Practices flags issues like outdated browser APIs, insecure third-party scripts, or broken image formats that erode user trust and can trigger warnings in browsers. The underlying report shows specific violations (e.g., deprecated code patterns, unoptimized libraries, or missing security headers) that are dragging down this score.
Why it matters for your business: A low Best Practices score signals to search engines and users that your site may have quality or security issues, which can reduce organic traffic and increase cart abandonment—especially critical for cannabis retail where trust and compliance perception matter.
Technical root cause: The site is likely using older JavaScript libraries, third-party integrations (ad networks, analytics, payment processors), or browser APIs that Lighthouse flags as risky or outdated. Without access to the full HTML report, common culprits include unpatched npm dependencies, legacy payment gateways, or tracking scripts that lack modern security practices.
Recommended fix — step by step
npm audit (if using Node.js) or equivalent dependency scanner for your framework; upgrade any flagged packages and redeploy.<picture> elements or srcset attributes.document.write, outdated geolocation patterns, or synchronous XMLHttpRequest; refactor to modern Promise-based or async/await patterns.tier9.a11y.heading-orderWhat it means (plain English)
Your site jumps from an H4 heading directly to an H6 heading in two places, skipping H5. Screen readers and search engines expect headings to increase in size one level at a time (H1 → H2 → H3, etc.). This breaks the logical structure of your content and makes it harder for visitors using assistive technology to navigate.
Why it matters for your business: Visitors using screen readers may struggle to understand your site's layout, reducing accessibility for disabled customers and potentially violating ADA compliance expectations for e-commerce.
Technical root cause: The Elementor page builder is applying inconsistent heading tags (H4 and H6) to similar content blocks without respecting heading hierarchy. This typically happens when templates or widgets use fixed heading sizes instead of following semantic structure.
Recommended fix — step by step
tier9.a11y.regionDetail
Ensure all page content is contained by landmarks
Impact: moderate
WCAG:
Learn more: https://dequeuniversity.com/rules/axe/4.11/region?application=playwright
tier9.a11y.skip-linkDetail
Ensure all skip links have a focusable target
Impact: moderate
WCAG:
Learn more: https://dequeuniversity.com/rules/axe/4.11/skip-link?application=playwright
tier2.robots.no-sitemapWhat it means (plain English)
Your robots.txt file (a text file that tells search engines where to look on your site) doesn't include a pointer to your sitemap—an organized list of every page you want indexed. Without this pointer, search engines may take longer to discover all your product pages and content, or miss new pages entirely.
Why it matters for your business: Missing the sitemap reference delays how quickly Google and other search engines index your product catalog and promotional pages, which can slow traffic growth and reduce visibility for product searches.
Technical root cause: The robots.txt file exists but lacks a 'Sitemap:' directive. Most CMS platforms generate sitemaps automatically, but robots.txt must be manually configured (or via CMS settings) to announce where that sitemap lives.
Recommended fix — step by step
tier2.meta.no-ogWhat it means (plain English)
Your site's homepage doesn't include OpenGraph metadata—special HTML tags that control how your page looks when shared on social media (Facebook, Instagram, LinkedIn). Without these tags, social platforms display generic or broken previews, making your content look unprofessional and reducing click-through rates from shares.
Why it matters for your business: Cannabis retailers rely on social proof and word-of-mouth; poor social preview images reduce engagement when customers share your site or when you run paid social campaigns, directly impacting traffic and brand credibility.
Technical root cause: The homepage HTML is missing <meta property="og:title"> and <meta property="og:image"> tags in the <head> section. Without these, platforms like Facebook and Instagram cannot display branded preview cards when users share the URL.
Recommended fix — step by step
<meta property="og: to confirm OpenGraph tags are missing.<head> section of your homepage HTML: <meta property="og:title" content="[Your Dispensary Name & Tagline]">, <meta property="og:image" content="[full URL to a 1200x630px branded image]">, and <meta property="og:url" content="https://olswell.com/">. (Use a high-quality product photo or logo/storefront image.)<meta name="twitter:card" content="summary_large_image"> and <meta name="twitter:image" content="[same image URL]"> for Twitter/X compatibility.tier2.meta.no-ogWhat it means (plain English)
Your page is missing OpenGraph tags — code snippets that tell social media platforms (Facebook, Instagram, LinkedIn) how to display your content when someone shares a link. Without these tags, social shares show as plain text with a generic thumbnail instead of your branded image and headline.
Why it matters for your business: Missing OpenGraph metadata reduces click-through rates on social shares, making your cannabis content less visually compelling and less likely to drive traffic back to your site.
Technical root cause: The page HTML does not include <meta property="og:title"> and <meta property="og:image"> tags in the document head, so social platforms cannot extract preview information.
Recommended fix — step by step
tier2.meta.no-ogWhat it means (plain English)
When people share your pages on Facebook, Instagram, or other social platforms, those platforms look for special metadata tags (called OpenGraph tags) to know what title and image to display. Without these tags, sharing looks unprofessional — it may show a broken image or generic text instead of your intended preview.
Why it matters for your business: Poor social media previews reduce click-through rates when customers share your content, limiting organic reach and brand visibility in a competitive market.
Technical root cause: The page is missing og:title and og:image meta tags in the HTML head section, so social platforms cannot fetch a branded preview when the URL is shared.
Recommended fix — step by step
tier2.meta.no-twitter-cardWhat it means (plain English)
Your site is missing Twitter Card metadata, which is a snippet of code that tells Twitter (now X) how to display your content when someone shares a link to your site on that platform. Without it, Twitter shows only a plain link with no image or description, making your content less eye-catching and less likely to be clicked.
Why it matters for your business: Missing Twitter Cards reduce engagement and click-through rates on social media, meaning fewer potential customers see your cannabis products and promotions when staff or customers share links.
Technical root cause: The page lacks the <meta name="twitter:card"> tag and related Twitter Card meta tags (title, description, image) in the HTML head section.
Recommended fix — step by step
tier2.meta.no-ogWhat it means (plain English)
This page is missing OpenGraph tags—special metadata that tells social platforms like Facebook and Instagram what image and title to display when someone shares the link. Without them, the share preview looks generic or broken, which reduces click-through rates from social traffic.
Why it matters for your business: When customers share your product pages or events on social media, a missing image and title result in a poor preview that discourages their friends from clicking through, directly reducing referral traffic and brand visibility.
Technical root cause: The page HTML lacks og:title and og:image meta tags in the <head> section. Social platforms fall back to generic page data when these tags are absent, producing unprofessional share previews.
Recommended fix — step by step
tier2.meta.no-twitter-cardWhat it means (plain English)
Your blog post pages are missing Twitter Card meta tags — these are small code snippets that tell Twitter (now X) how to display your content when someone shares a link on the platform. Without them, Twitter shows a plain, unattractive preview, which reduces click-through rates and brand perception.
Why it matters for your business: Missing Twitter Cards mean fewer clicks and less engagement when customers or advocates share your content on social media, directly reducing traffic and brand awareness.
Technical root cause: The page HTML lacks the <meta name="twitter:card" content="summary_large_image"> tag and related Twitter-specific meta tags (twitter:title, twitter:description, twitter:image) in the document head.
Recommended fix — step by step
<meta name="twitter:card" content="summary_large_image">, <meta name="twitter:title" content="Your Title">, <meta name="twitter:description" content="Your Description">, <meta name="twitter:image" content="https://yoursite.com/image.jpg">.tier2.meta.no-ogWhat it means (plain English)
Your article page doesn't include Open Graph tags — special HTML codes that tell social media platforms (Facebook, Instagram, LinkedIn) what image and title to display when someone shares your link. Without these, social shares look plain and generic, which reduces click-through rates when customers see your content in their feeds.
Why it matters for your business: Social sharing is a key driver of traffic for cannabis content; missing OG tags means fewer clicks from Facebook and Instagram shares, directly reducing referral traffic and brand visibility among potential customers.
Technical root cause: The page's HTML <head> section is missing <meta property="og:title"> and <meta property="og:image"> tags, which social platforms rely on to render rich previews.
Recommended fix — step by step
tier2.meta.no-twitter-cardWhat it means (plain English)
Your article pages are missing Twitter Card meta tags — small snippets of code that tell Twitter how to display your content when someone shares a link on that platform. Without them, Twitter shows a plain text preview instead of a rich preview with your headline, description, and image, which reduces click-through rates from social traffic.
Why it matters for your business: Missing Twitter Cards mean fewer clicks from Twitter shares, reducing referral traffic and social amplification of your cannabis education content.
Technical root cause: The page lacks the twitter:card, twitter:title, twitter:description, and twitter:image meta tags in the document head. These are not automatically generated and must be explicitly added.
Recommended fix — step by step
<meta name="twitter:card" content="summary_large_image">, <meta name="twitter:title" content="[page headline]">, <meta name="twitter:description" content="[page excerpt, max 200 chars]">, <meta name="twitter:image" content="[URL to hero image, min 300×157px]">, and optionally <meta name="twitter:site" content="@olswell"> if you have a Twitter account.tier2.meta.no-ogWhat it means (plain English)
Your product pages are missing Open Graph tags — special metadata that tells Facebook, Instagram, and other social platforms what image and title to display when someone shares your links. Without these tags, social shares look bland and may not include your product photo, which reduces click-throughs from social traffic.
Why it matters for your business: When customers share your live resin concentrate page on Instagram or Facebook, it won't show your product image or a compelling headline, making people less likely to click through and visit your site.
Technical root cause: The page HTML is missing <meta property="og:title"> and <meta property="og:image"> tags in the <head> section. Social platforms rely on these tags to preview content before a user visits.
Recommended fix — step by step
<meta property="og:title" content="Live Resin Concentrates at Olswell"> before the </head> tag<meta property="og:image" content="https://olswell.com/path-to-product-image.jpg"> (use your actual product photo URL)<meta property="og:url" content="https://olswell.com/live-resin-concentrates-at-olswell/"> to specify the canonical URLtier2.meta.no-twitter-cardWhat it means (plain English)
Your product pages are missing Twitter Card metadata—special tags that control how links look when shared on X (formerly Twitter). When someone shares your live resin concentrate page on X, the platform won't have a custom image, title, or description to display, so it defaults to a bland, generic preview. This reduces click-through rates from social traffic.
Why it matters for your business: Lost social traffic and engagement; shared product links appear less professional and less clickable on X, directly reducing referral visits from social platforms where cannabis enthusiasts gather.
Technical root cause: The page's HTML is missing <meta name="twitter:card" content="summary_large_image"> and related Open Graph tags (og:image, og:title, og:description) that X uses to render rich previews.
Recommended fix — step by step
tier2.meta.description-lengthWhat it means (plain English)
Your page description (the text that appears under your page title in Google search results) is 161 characters long—one character over the recommended 80–160 range. Google will likely truncate it, cutting off important information that could convince someone to click your link.
Why it matters for your business: Truncated descriptions lose persuasive real estate in search results, reducing click-through rates from potential customers searching for ounces or bulk purchases.
Technical root cause: The meta description tag in the page's HTML head contains slightly too many characters. Most descriptions in this range are written too verbosely or include unnecessary qualifiers.
Recommended fix — step by step
tier2.meta.no-twitter-cardWhat it means (plain English)
Your product pages don't include Twitter Card meta tags — small code snippets that control how your links look when shared on Twitter/X. Without them, Twitter shows a generic preview instead of your custom image, headline, and description, making your posts less eye-catching and clickable.
Why it matters for your business: Shared product links (especially ounces deals) get lower engagement on Twitter/X, reducing organic traffic and social proof for your dispensary.
Technical root cause: The page's HTML header is missing the <meta name="twitter:card"> tag and related open graph metadata (og:image, og:title, og:description) that Twitter reads to generate rich previews.
Recommended fix — step by step
<meta name="twitter:card" content="summary_large_image">, <meta name="twitter:image" content="[your-product-image-url]">, <meta property="og:title" content="[product-name]">, and <meta property="og:description" content="[product-description]"tier2.meta.no-ogWhat it means (plain English)
When someone shares a link to your pre-rolls page on social media (Facebook, LinkedIn, etc.), those platforms pull information from special metadata tags called OpenGraph tags to create a preview card. Without og:title and og:image, the preview looks generic or broken, which reduces clicks and shares.
Why it matters for your business: Poor social sharing appearance directly reduces traffic from social referrals—a key discovery channel for cannabis retailers—and makes your product pages look unprofessional when customers share them.
Technical root cause: The page's HTML <head> section is missing <meta property="og:title"> and <meta property="og:image"> tags. These tags don't affect search engines but are read by social platforms to build shareable previews.
Recommended fix — step by step
tier2.meta.no-twitter-cardWhat it means (plain English)
Your product pages (like the pre-rolls page) are missing a Twitter card meta tag. This is a snippet of code that tells Twitter how to display your content when someone shares a link to your site on Twitter/X — without it, Twitter shows a plain, generic preview instead of your product image and description.
Why it matters for your business: Missing Twitter cards reduce click-through rates on social shares and make your products look less professional, which hurts traffic from Twitter/X referrals and brand perception.
Technical root cause: The page HTML is missing the <meta name="twitter:card" content="summary_large_image"> tag (and related og: Open Graph tags) in the <head> section.
Recommended fix — step by step
<head> section of the page: <meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Pre-Rolls at Olswell"><meta name="twitter:description" content="[Your product description]"><meta name="twitter:image" content="[URL to product image]"><meta property="og:title" content="Pre-Rolls at Olswell"><meta property="og:description" content="..."><meta property="og:image" content="...">tier2.meta.no-ogWhat it means (plain English)
Open Graph tags are snippets of code that tell social media platforms (Facebook, Instagram, Pinterest) how to display your page when someone shares it. Without them, your links appear bland—just a URL with no image or custom title. For a cannabis brand, this matters because social sharing is how you reach new customers, and a polished share card builds trust.
Why it matters for your business: Poor social previews reduce click-through rates on shared links, shrinking organic reach and customer acquisition on platforms where cannabis dispensaries actively engage their audience.
Technical root cause: The page's HTML <head> section is missing og:title, og:image, and likely og:description meta tags. Without these, platforms fall back to auto-parsing, which often produces ugly or misleading previews.
Recommended fix — step by step
tier2.meta.no-twitter-cardWhat it means (plain English)
Your product pages are missing Twitter Card tags—special metadata that tells Twitter (now X) how to display your content when someone shares a link on that platform. Without them, shares appear as plain text links instead of rich preview cards with product images and descriptions.
Why it matters for your business: Shared product links get less engagement and click-through on social media, reducing referral traffic and brand visibility in a competitive cannabis retail space.
Technical root cause: The page's HTML head section lacks the <meta name="twitter:card"> and related tags (twitter:title, twitter:description, twitter:image) that X/Twitter's crawler reads when indexing shared URLs.
Recommended fix — step by step
<meta name="twitter:card" content="summary_large_image">, <meta name="twitter:title" content="[product name]">, <meta name="twitter:description" content="[product description, max 200 chars]">, <meta name="twitter:image" content="[full URL to product image, min 300x157px]"> (reuse og:image URL if identical).tier2.meta.no-ogWhat it means (plain English)
When people share your product pages on social media (Facebook, Instagram, LinkedIn), those platforms need special metadata tags to display a nice preview with your product name and image. Without these tags, your posts look bare and unprofessional—just a plain URL with no context.
Why it matters for your business: Poor social shares reduce click-through rates from social traffic, which is critical for a cannabis retailer where word-of-mouth and community sharing drive customer acquisition.
Technical root cause: The page is missing og:title and og:image meta tags in the HTML <head> section, so social platforms cannot extract preview information.
Recommended fix — step by step
tier2.meta.no-twitter-cardWhat it means (plain English)
Your product pages are missing Twitter Card metadata—a snippet of code that tells Twitter how to display your content when someone shares a link. Without it, Twitter shows a plain, generic preview instead of your product image, name, and description. This makes shared links less appealing and less likely to drive clicks.
Why it matters for your business: Missing Twitter Cards reduce click-through rates when customers or influencers share your rosin and concentrate products on social media, directly hurting traffic and brand visibility.
Technical root cause: The page lacks the <meta name="twitter:card" content="summary_large_image"> tag and related Twitter meta tags (twitter:title, twitter:description, twitter:image) in the HTML head section.
Recommended fix — step by step
<meta name="twitter:card" content="summary_large_image"> to the <head> of your product pages (e.g., rosin-concentrates-at-olswell)<meta name="twitter:title" content="Your Product Name"> with the actual product name<meta name="twitter:description" content="Brief product description"> (max 200 characters)<meta name="twitter:image" content="https://olswell.com/path-to-product-image.jpg"> pointing to a high-quality product photo (1200×630px minimum)tier2.meta.no-twitter-cardWhat it means (plain English)
Your homepage is missing a Twitter Card meta tag—a snippet of code that tells Twitter (now X) how to display your content when someone shares a link to your site. Without it, Twitter uses generic defaults instead of custom images, descriptions, and branding, making your link less eye-catching in feeds.
Why it matters for your business: Shared links to your site appear less professional and clickable on Twitter/X, reducing traffic from social referrals and weakening brand presence in a key platform where cannabis retailers and consumers engage.
Technical root cause: The <meta name="twitter:card" content="summary_large_image"> tag is not present in the page's <head> section.
Recommended fix — step by step
tier2.meta.no-twitter-cardWhat it means (plain English)
Your page is missing a Twitter card meta tag, which tells Twitter how to display a preview when someone shares your link on that platform. Without it, Twitter shows a generic preview instead of your custom image, headline, and description—making your content less visually appealing and less likely to get clicks.
Why it matters for your business: Reduced social media engagement and click-through rates from Twitter shares, which limits brand awareness and traffic to your product pages and content.
Technical root cause: The page's HTML head section lacks the <meta name="twitter:card" content="summary_large_image"> tag and related Open Graph / Twitter-specific meta tags that instruct social platforms how to render previews.
Recommended fix — step by step
tier2.meta.no-twitter-cardWhat it means (plain English)
Your FAQ page is missing a Twitter Card meta tag — a snippet of code that tells Twitter how to display your page when someone shares the link. Without it, Twitter shows a generic preview instead of a custom image, headline, and description that you control.
Why it matters for your business: Missed opportunity to drive traffic from social sharing; a poorly formatted Twitter preview reduces click-through rates when customers or industry partners share your content.
Technical root cause: The page lacks the <meta name="twitter:card" content="summary_large_image"> tag (and related twitter:image, twitter:title, twitter:description tags) in the HTML head section.
Recommended fix — step by step
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.description-lengthDetail
Description should be 80-160 chars.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.description-lengthDetail
Description should be 80-160 chars.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier3.perf.desktop-failDetail
page.goto: Timeout 60000ms exceeded.
Call log:
tier5.header.x-content-type-optionsDetail
x-content-type-options not present on homepage response. Affects fortress score and CSP posture.
tier5.header.referrer-policyDetail
referrer-policy not present on homepage response. Affects fortress score and CSP posture.
tier5.header.permissions-policyDetail
permissions-policy not present on homepage response. Affects fortress score and CSP posture.
tier5.fortress.ssl-gradeDetail
Qualys SSL Labs: SSL Labs HTTP 400. Aim for A+ via strong TLS 1.3, HSTS, CAA, and preload.
tier5.fortress.dnssec-missingDetail
DNSSEC adds cryptographic verification to DNS responses. Consider enabling via your registrar.
tier5.fortress.caa-missingDetail
CAA records restrict which CAs may issue certs for your domain, preventing rogue issuance. Add CAA for letsencrypt.org / digicert.com / etc.
tier5.fortress.dmarc-weakDetail
DMARC published at p=none — monitoring mode only. After 2-4 weeks of clean reports, tighten to p=quarantine → p=reject.
tier5.fortress.dkim-missingDetail
Tried selectors: google, default, selector1, selector2, s1, k1 — none matched at olswell.com. DKIM improves deliverability + anti-spoofing.
tier8.lighthouse.a11y-mobileDetail
Score 90 is below target 95. See HTML report for details.
tier8.lighthouse.seo-mobileDetail
Score 92 is below target 95. See HTML report for details.
tier8.lh-opportunity.uses-rel-preconnect-mobileDetail
Consider adding preconnect or dns-prefetch resource hints to establish early connections to important third-party origins. https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preconnect/" target="_blank" rel="noreferrer">Learn how to preconnect to required origins.
tier8.lh-opportunity.prioritize-lcp-image-mobileDetail
If the LCP element is dynamically added to the page, you should preload the image in order to improve LCP. https://web.dev/articles/optimize-lcp#optimize_when_the_resource_is_discovered" target="_blank" rel="noreferrer">Learn more about preloading LCP elements.
tier8.lh-opportunity.offscreen-images-mobileDetail
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/" target="_blank" rel="noreferrer">Learn how to defer offscreen images.
tier8.lh-opportunity.render-blocking-resources-mobileDetail
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/" target="_blank" rel="noreferrer">Learn how to eliminate render-blocking resources.
tier8.lh-opportunity.unminified-javascript-mobileDetail
Minifying JavaScript files can reduce payload sizes and script parse time. https://developer.chrome.com/docs/lighthouse/performance/unminified-javascript/" target="_blank" rel="noreferrer">Learn how to minify JavaScript.
tier8.lighthouse.a11y-desktopDetail
Score 90 is below target 95. See HTML report for details.
tier8.lighthouse.seo-desktopDetail
Score 92 is below target 95. See HTML report for details.
tier8.lh-opportunity.uses-rel-preconnect-desktopDetail
Consider adding preconnect or dns-prefetch resource hints to establish early connections to important third-party origins. https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preconnect/" target="_blank" rel="noreferrer">Learn how to preconnect to required origins.
tier8.lh-opportunity.offscreen-images-desktopDetail
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/" target="_blank" rel="noreferrer">Learn how to defer offscreen images.
tier8.lh-opportunity.render-blocking-resources-desktopDetail
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/" target="_blank" rel="noreferrer">Learn how to eliminate render-blocking resources.
tier8.lh-opportunity.unminified-javascript-desktopDetail
Minifying JavaScript files can reduce payload sizes and script parse time. https://developer.chrome.com/docs/lighthouse/performance/unminified-javascript/" target="_blank" rel="noreferrer">Learn how to minify JavaScript.
tier8.lh-opportunity.unused-css-rules-desktopDetail
Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/" target="_blank" rel="noreferrer">Learn how to reduce unused CSS.
tier9.a11y.aria-allowed-roleDetail
Ensure role attribute has an appropriate value for the element
Impact: minor
WCAG:
Learn more: https://dequeuniversity.com/rules/axe/4.11/aria-allowed-role?application=playwright
Grouped by URL — useful when working through the site one page at a time.
_46 findings on this page_
Your mobile site takes nearly 24 seconds for visitors to see your main content (Largest Contentful Paint), and the browser is unresponsive for over 4 seconds while processing JavaScript (Total Blockin
Your desktop site takes about 3.2 seconds for the main content to appear on screen, and the browser's main thread is blocked for ~473 milliseconds while processing JavaScript. Lighthouse scores perfor
Your site's Lighthouse Best Practices score is 59/100, which means there are security, code quality, and user trust issues detected by Google's audit tool. This score sits well below the industry benc
Your age-verification popup (the dialog box that appears when visitors enter the site) doesn't have a proper accessible name — meaning screen reader users can't tell what it is or what action it's ask
Your website has 10 links that don't have any visible or hidden text describing where they go. Screen reader users (people who are blind or visually impaired) hear nothing when they encounter these li
Your homepage is trying to load JavaScript modules (code files that extend functionality) but the server is returning HTML instead of the correct JavaScript format. This is a strict security rule enfo
Every image on your homepage is missing alt text — a short text description that appears if the image fails to load and helps screen readers describe what's in the image to visitors who are blind or l
Our automated performance testing tool couldn't load your homepage on mobile within 60 seconds. This typically means the page is either very slow to respond, has resources that won't load, or the serv
Your site includes structured data (code snippets that tell search engines about your business) for Organization and WebSite, but is missing LocalBusiness markup. For a cannabis dispensary, LocalBusin
Your site is missing the Strict-Transport-Security (HSTS) header, which tells browsers to always use HTTPS when visiting your domain. Without it, users could accidentally connect via unencrypted HTTP,
Your website is missing the X-Frame-Options security header, which tells browsers whether your site can be embedded inside another website's frame or iframe. Without it, attackers could potentially em
Your site is missing a Content Security Policy (CSP) header — a security instruction that tells browsers which sources (scripts, images, styles) are safe to load. Without it, attackers can more easily
Your website has 45 buttons, links, and other clickable elements that are smaller than 44×44 pixels when viewed on mobile phones. These tiny targets are hard for people to tap accurately—especially cu
Your website has 49 clickable elements (buttons, links, menu items) that are smaller than 44×44 pixels on mobile phones. This makes them hard to tap accurately, especially for people with limited dext
Your homepage has 49 interactive buttons, links, and other clickable elements that are smaller than 44×44 pixels on mobile phones. This makes them hard to tap accurately—especially for people with lim
Your website has 31 interactive elements (buttons, links, menu items) that are smaller than 44×44 pixels when viewed on a tablet. This makes them difficult to tap accurately, especially for people wit
Lighthouse, Google's performance audit tool, gave your mobile site a Best Practices score of 61 out of 100—well below the healthy target of 90. Best Practices flags issues like outdated browser APIs,
Your site jumps from an H4 heading directly to an H6 heading in two places, skipping H5. Screen readers and search engines expect headings to increase in size one level at a time (H1 → H2 → H3, etc.).
Your site's homepage doesn't include OpenGraph metadata—special HTML tags that control how your page looks when shared on social media (Facebook, Instagram, LinkedIn). Without these tags, social platf
Your homepage is missing a Twitter Card meta tag—a snippet of code that tells Twitter (now X) how to display your content when someone shares a link to your site. Without it, Twitter uses generic defa
_4 findings on this page_
Every image on your site should have alt text — a brief description that screen readers read aloud to blind visitors and search engines use to understand what the image shows. Your ounces page has 15
Your page description (the text that appears under your page title in Google search results) is 161 characters long—one character over the recommended 80–160 range. Google will likely truncate it, cut
Your product pages don't include Twitter Card meta tags — small code snippets that control how your links look when shared on Twitter/X. Without them, Twitter shows a generic preview instead of your c
_4 findings on this page_
All 15 images on your cartridges page lack alt text—descriptive labels that screen readers read aloud to blind/low-vision visitors, and that search engines use to understand image content. Without alt
Open Graph tags are snippets of code that tell social media platforms (Facebook, Instagram, Pinterest) how to display your page when someone shares it. Without them, your links appear bland—just a URL
Your product pages are missing Twitter Card tags—special metadata that tells Twitter (now X) how to display your content when someone shares a link on that platform. Without them, shares appear as pla
_4 findings on this page_
Every image on your blog page is missing alt text—a short description that screen readers use to explain what the image shows, and that search engines use to understand your content. All 18 images on
_3 findings on this page_
Every image on your Toy Drive page is missing alt text — short descriptions that screen readers use to tell blind/low-vision visitors what an image shows, and that search engines use to understand you
Your page is missing OpenGraph tags — code snippets that tell social media platforms (Facebook, Instagram, LinkedIn) how to display your content when someone shares a link. Without these tags, social
Your page is missing a Twitter card meta tag, which tells Twitter how to display a preview when someone shares your link on that platform. Without it, Twitter shows a generic preview instead of your c
_3 findings on this page_
Every image on your site should have descriptive alt text — a short text label that describes what the image shows. This text is read aloud to visitors using screen readers (accessibility software) an
When people share your pages on Facebook, Instagram, or other social platforms, those platforms look for special metadata tags (called OpenGraph tags) to know what title and image to display. Without
Your site is missing Twitter Card metadata, which is a snippet of code that tells Twitter (now X) how to display your content when someone shares a link to your site on that platform. Without it, Twit
_3 findings on this page_
Every image on your toy drive post is missing alt text — descriptive text that explains what the image shows to people using screen readers and to search engines. This means visually impaired customer
This page is missing OpenGraph tags—special metadata that tells social platforms like Facebook and Instagram what image and title to display when someone shares the link. Without them, the share previ
Your blog post pages are missing Twitter Card meta tags — these are small code snippets that tell Twitter (now X) how to display your content when someone shares a link on the platform. Without them,
_3 findings on this page_
Every image on your trends page is missing alt text—a short text description that screen readers use to describe images to blind and low-vision visitors. This also prevents search engines from underst
Your article page doesn't include Open Graph tags — special HTML codes that tell social media platforms (Facebook, Instagram, LinkedIn) what image and title to display when someone shares your link. W
Your article pages are missing Twitter Card meta tags — small snippets of code that tell Twitter how to display your content when someone shares a link on that platform. Without them, Twitter shows a
_3 findings on this page_
Every image on your Live Resin Concentrates page lacks alt text—a description that screen readers use to tell visually-impaired visitors what the image shows. This also prevents search engines from un
Your product pages are missing Open Graph tags — special metadata that tells Facebook, Instagram, and other social platforms what image and title to display when someone shares your links. Without the
Your product pages are missing Twitter Card metadata—special tags that control how links look when shared on X (formerly Twitter). When someone shares your live resin concentrate page on X, the platfo
_3 findings on this page_
Every image on your Pre-Rolls page is missing alt text—a text description that screen readers announce to visually impaired visitors. This breaks accessibility for a segment of your audience and also
When someone shares a link to your pre-rolls page on social media (Facebook, LinkedIn, etc.), those platforms pull information from special metadata tags called OpenGraph tags to create a preview card
Your product pages (like the pre-rolls page) are missing a Twitter card meta tag. This is a snippet of code that tells Twitter how to display your content when someone shares a link to your site on Tw
_3 findings on this page_
Every image on your Gummies & Chocolates page is missing alt text—the hidden description that screen readers use to help visually impaired customers understand what they're looking at. This also tells
_3 findings on this page_
All 15 images on this product page lack alt text — descriptive text that screen readers read aloud and search engines use to understand image content. This makes the page inaccessible to visually impa
When people share your product pages on social media (Facebook, Instagram, LinkedIn), those platforms need special metadata tags to display a nice preview with your product name and image. Without the
Your product pages are missing Twitter Card metadata—a snippet of code that tells Twitter how to display your content when someone shares a link. Without it, Twitter shows a plain, generic preview ins
_3 findings on this page_
All 16 images on your FAQ page are missing alt text — descriptive labels that explain what each image shows. This hurts both accessibility (visitors using screen readers can't understand your images)
Your FAQ page is missing a Twitter Card meta tag — a snippet of code that tells Twitter how to display your page when someone shares the link. Without it, Twitter shows a generic preview instead of a
_3 findings on this page_
Every image on your Cannabis Education Hub page is missing alt text—a brief description that search engines and screen readers use to understand what the image shows. This means visually impaired visi
_3 findings on this page_
Every image on your Contact Us page lacks alternative text (alt text) — a short description that appears if the image doesn't load and is read aloud by screen readers for visually impaired visitors. T
_3 findings on this page_
Every image on your in-store pickup page is missing alt text — descriptive labels that screen readers use to tell blind and low-vision visitors what an image shows. Search engines also use alt text to
_3 findings on this page_
Every image on your loyalty program page is missing alt text — descriptive labels that screen readers (used by people with vision loss) read aloud, and that search engines use to understand what image
_3 findings on this page_
Every image on your Adrian, MI dispensary page is missing alt text — a short description that screen readers read aloud and search engines use to understand the image. This blocks people with vision d
_3 findings on this page_
Every image on your Grand Rapids page is missing alt text — descriptive text that explains what the image shows. This hurts both accessibility (screen reader users can't understand your images) and se
_3 findings on this page_
Every image on your Kalkaska, MI page is missing alt text — descriptive labels that explain what the image shows. Search engines and screen readers (used by people with vision loss) can't understand u
_3 findings on this page_
Every image on your Traverse City page lacks alternative text (alt text)—a short description that screen readers speak aloud to visually impaired visitors and that search engines use to understand ima
_3 findings on this page_
All 30 images on your site are missing alt text—descriptions that appear when images don't load and that screen readers (used by people with vision disabilities) read aloud. This makes your site unusa
_3 findings on this page_
Every image on your site should have alt text — a short text description that appears if the image doesn't load and is read aloud by screen readers used by people who are blind or have low vision. Rig
_3 findings on this page_
Your website has 30 images without alt text — short descriptions that explain what each image shows. Search engines and screen readers (used by people with vision disabilities) can't understand images
_3 findings on this page_
Every image on your site should have a short text description (called "alt text") that describes what the image shows. Right now, 30 images are missing these descriptions. Search engines can't read im
_3 findings on this page_
Every image on your site needs a text description (called 'alt text') that describes what the image shows. Right now, all 30 images are missing these descriptions. Search engines use alt text to under
_1 finding on this page_
Your robots.txt file (a text file that tells search engines where to look on your site) doesn't include a pointer to your sitemap—an organized list of every page you want indexed. Without this pointer
_1 finding on this page_
Your WordPress admin login page is publicly accessible at /wp-login.php, which means anyone on the internet can find and attempt to access your site's backend. This is a common attack vector where bot
_Generated by Apex Sentinel Monthly Audit · 2026-04-19T07:08:28.996Z · Powered by Bud Authority._
Generated by Apex Sentinel · © 2026 Bud Authority