URL: https://balagancannabis.com/
Platform: wordpress
Archetype: wellness
Run ID: 2026-04-19T06-18-18-831Z
Scanned: 2026-04-19T07:09:54.143Z
Duration: 811s
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 | 58 | Full sitemap + linked pages |
| P0 (critical) | 2 | Site-down or compliance-breaking |
| P1 (urgent) | 4 | Significant revenue / SEO / UX impact |
| P2 (high) | 45 | Quality / ranking / trust degradation |
| P3 (medium) | 154 | Polish + optimization |
| "Do first" items | 6 | AI-flagged top priorities |
| Quick wins (< 30 min) | 55 | Fastest ROI items |
If you only have time for ten things this month, do these — in this order.
Page: https://balagancannabis.com/wp-config.php
Effort: Quick win (< 30 min)
Page: https://balagancannabis.com/wp-login.php
Effort: Quick win (< 30 min)
Page: https://balagancannabis.com/
Effort: Quick win (< 30 min)
Page: https://balagancannabis.com/
Effort: Moderate (1-3 hours)
Page: https://balagancannabis.com/
Effort: Quick win (< 30 min)
Page: https://balagancannabis.com/
Effort: Quick win (< 30 min)
Page: https://balagancannabis.com/
Effort: Quick win (< 30 min)
Page: https://balagancannabis.com/directions/
Effort: Quick win (< 30 min)
Page: https://balagancannabis.com/faqs/
Effort: Quick win (< 30 min)
Page: https://balagancannabis.com/contact/
Effort: Quick win (< 30 min)
tier5.exposed.artifactWhat it means (plain English)
Your WordPress configuration file (wp-config.php) is publicly accessible on the internet. This file contains database passwords, security keys, and other sensitive credentials that should never be visible to anyone. An attacker could use this information to compromise your entire website and customer data.
Why it matters for your business: Exposure of wp-config.php can lead to unauthorized access to your customer database, payment information, and ability to deface or shut down your dispensary's online ordering and compliance documentation.
Technical root cause: WordPress server is not configured to block direct HTTP requests to wp-config.php. This file should be protected at the web server (Apache/Nginx) or hosting level, but your current setup allows it to be downloaded as plain text.
Recommended fix — step by step
tier5.exposed.artifactWhat it means (plain English)
Your WordPress admin login page (/wp-login.php) is publicly accessible on the internet. While this is standard WordPress behavior, it creates a security risk because attackers can repeatedly try to guess passwords at this known location. This is one of the first places bad actors look when targeting WordPress sites.
Why it matters for your business: Unauthorized access to your WordPress admin panel could allow someone to modify product listings, pricing, compliance information, customer data, or inject malicious code—directly threatening revenue, customer trust, and legal compliance.
Technical root cause: WordPress publishes /wp-login.php by default, and no firewall rule or .htaccess restriction is currently blocking or redirecting this path. The login page responds with HTTP 200 (success) instead of 403 (forbidden) or 404 (not found).
Recommended fix — step by step
tier9.a11y.aria-dialog-nameWhat it means (plain English)
Your age-gate dialog (the popup that appears when visitors first arrive) doesn't have a proper accessible name. Screen readers—software that reads web pages aloud for blind and low-vision users—can't announce what this dialog is for. This means users relying on assistive technology won't understand that they're being asked to verify their age before entering the site.
Why it matters for your business: Cannabis retailers must comply with ADA accessibility standards to avoid legal liability, and an unlabeled age-gate dialog creates a barrier that locks out disabled customers entirely, reducing addressable market and increasing litigation risk.
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. Screen readers require one of these attributes to announce the dialog's purpose.
Recommended fix — step by step
tier9.a11y.color-contrastWhat it means (plain English)
Seven elements on your site use white text (#ffffff) on a green background (#0b9544) that doesn't meet accessibility standards. The contrast ratio is 3.89:1, but WCAG AA requires 4.5:1 minimum. This makes text hard to read for people with low vision or color blindness, and fails legal accessibility compliance in most jurisdictions.
Why it matters for your business: Inaccessible sites risk ADA litigation, exclude customers with vision disabilities, and may trigger search engine penalties for poor user experience compliance.
Technical root cause: The brand green color (#0b9544) is too dark relative to white text. The specific affected elements are promotional banners, buttons, and call-to-action links that use this color combination.
Recommended fix — step by step
tier9.a11y.image-altWhat it means (plain English)
Seven images on your homepage lack alternative text (alt attributes), which means screen readers used by blind and low-vision visitors cannot describe what those images show. This creates a barrier for people with disabilities trying to understand your product offerings and brand.
Why it matters for your business: Inaccessible sites expose you to legal liability under the ADA, damage your reputation with inclusive consumers, and reduce organic search ranking signals—Google rewards accessible sites.
Technical root cause: The images are likely added via a page builder (Beaver Builder, Elementor, etc.) or WordPress block editor without alt text being filled in during upload or insertion. The lazy-loading data attributes (data-src) suggest a performance plugin that doesn't auto-preserve alt metadata.
Recommended fix — step by step
tier9.a11y.link-nameWhat it means (plain English)
Your website has 3 links that don't have any readable text or labels. Screen readers (used by people with vision loss) can't tell users what these links do — they might be icon-only buttons or invisible elements. This makes the site unusable for disabled visitors and violates accessibility law.
Why it matters for your business: Cannabis retailers must comply with accessibility standards or face legal risk; moreover, customers with disabilities can't navigate your site to find products or hours, directly reducing sales and excluding a market segment.
Technical root cause: The links use only CSS classes or icon fonts without accompanying text, aria-label attributes, or title attributes. Screen readers have no content to announce, so they can't convey the link's purpose.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your homepage doesn't have a meta description — the 160-character summary that appears below your site title in Google search results. Without it, Google will auto-generate a snippet from your page content, which often looks unprofessional and doesn't control your messaging. This is a quick fix that has immediate SEO payoff.
Why it matters for your business: A compelling meta description increases click-through rate from search results; missing one means potential customers see a generic auto-generated excerpt instead of your value proposition, reducing organic traffic to your site.
Technical root cause: The homepage HTML is missing a <meta name="description" content="..."> tag in the document head, or it's empty.
Recommended fix — step by step
<meta name="description" in the HTML to confirm the tag now appearstier2.meta.no-descriptionWhat it means (plain English)
The /directions/ page is missing a meta description—the short text (155–160 characters) that appears below your page title in Google search results. Without it, Google may auto-generate a snippet from your page content, which often looks unprofessional and may not highlight what makes your dispensary unique. This is a quick fix that applies to any page missing this tag.
Why it matters for your business: Customers searching for 'cannabis near me' or 'dispensary directions' are less likely to click your result if the preview text looks generic or irrelevant; a clear, compelling meta description can lift click-through rate by 5–10%.
Technical root cause: The WordPress page or post template for /directions/ does not include a meta description field, or the field was left blank when the page was created. Most WordPress themes require explicit input or a plugin to auto-generate these tags.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your FAQ page is missing a meta description—the 160-character summary that appears under your link in Google search results. Without it, Google generates a random snippet from your page content, which often looks unprofessional and doesn't encourage clicks. This is a quick fix that directly impacts how your listing appears to potential customers searching for cannabis FAQs.
Why it matters for your business: A compelling meta description increases click-through rate from search results; missing descriptions lose 5–15% of potential traffic to competitors with better listings, directly reducing foot traffic and online orders.
Technical root cause: The FAQ page template in WordPress is either not setting the description field, or the field exists but wasn't filled in when the page was created. Most WordPress themes require explicit input or a plugin (like Yoast SEO or Rank Math) to auto-populate this field.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your contact page is missing a meta description — the 150-160 character summary that appears below your page title in Google search results. Without it, Google generates one automatically (often poorly), which can make your listing look incomplete or unappealing to potential customers deciding whether to click.
Why it matters for your business: A missing meta description reduces click-through rate from search results, meaning fewer people visit your contact page even if it ranks — directly reducing inquiries and foot traffic.
Technical root cause: The page either has no meta description tag in the HTML head, or the WordPress theme/plugin is not outputting one automatically for that page.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
The sign-up page is missing a meta description — a 150–160 character summary that appears below your page title in Google search results. Without it, Google may auto-generate a snippet from your page content, which often looks unprofessional and doesn't encourage clicks.
Why it matters for your business: Potential sign-ups are lost when searchers see a vague or auto-generated description instead of a clear, compelling call-to-action in search results.
Technical root cause: The WordPress page or template for /sign-up/ does not have a meta description tag set in the page head, or the SEO plugin (if installed) is not configured to generate one.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your /areas/ page is missing a meta description — the 155-character summary that appears below your page title in Google search results. Without it, Google generates a random snippet from your page content, which often looks unprofessional and doesn't tell customers what to expect. This is a quick fix in WordPress.
Why it matters for your business: Customers scanning search results are less likely to click your /areas/ page if the preview looks generic or irrelevant, directly reducing foot traffic to your dispensary location information.
Technical root cause: The meta description tag is not populated in the WordPress page editor for this page, so the theme's default (usually blank) is being served.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
This page is missing a meta description—the 160-character summary that appears under your page title in Google search results. Without it, Google generates a random snippet from your page content, which often looks unprofessional and doesn't encourage clicks. For a cannabis dispensary competing locally, a strong description is your chance to highlight location, products, or trust signals directly in search.
Why it matters for your business: Missing meta descriptions reduce click-through rate from local search results; potential customers see a generic excerpt instead of your marketing message, and competitors with descriptions outrank you perceptually even if you rank higher.
Technical root cause: The Easthampton location page was likely created without filling in the meta description field in WordPress. WordPress doesn't auto-generate descriptions—they must be manually entered or set via SEO plugins.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
This page is missing a meta description — a 150–160 character summary that appears below the page title in Google search results. Without it, search engines may auto-generate a snippet from your page content, which often looks unprofessional or doesn't highlight your key selling points.
Why it matters for your business: A missing or poor meta description reduces click-through rates from search results, which directly lowers foot traffic to your Amherst location page and hurts local SEO performance.
Technical root cause: The WordPress page or post does not have a meta description field filled in, either because the SEO plugin (Yoast, Rank Math, etc.) was not configured for this page, or the field was left blank during content creation.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
This page is missing a meta description—the 150–160 character summary that appears below the page title in Google search results. Without it, Google may auto-generate a snippet from your page content, which often looks incomplete or irrelevant to users deciding whether to click.
Why it matters for your business: A missing or poorly generated snippet reduces click-through rate from search results, meaning fewer visitors discover your Leeds dispensary location even if the page ranks.
Technical root cause: The WordPress page or post template does not include a meta description tag in the <head> section, either because it was never added or the SEO plugin (if installed) was not configured for this page.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
This page is missing a meta description—the 155-character summary that appears below the page title in Google search results. Without it, Google generates a random snippet from your page content, which often looks unprofessional and fails to explain why someone should click your link.
Why it matters for your business: Missing descriptions reduce click-through rates from search results, directly hurting foot traffic to your Florence dispensary location page and lowering overall search visibility for local cannabis customers.
Technical root cause: The page template or individual page settings in WordPress don't have a meta description field filled in. WordPress doesn't add one automatically, so it must be manually entered or added via an SEO plugin.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
The /about/ page is missing a meta description — a 150–160 character summary that appears below your page title in Google search results. Without it, search engines may auto-generate a snippet from your page content, which often looks truncated or irrelevant. This reduces click-through rates from organic search.
Why it matters for your business: Dispensary customers searching for 'cannabis near me' or your brand name are less likely to click your About page link in Google results, losing potential foot traffic and brand trust opportunities.
Technical root cause: The page's HTML head tag does not include a <meta name="description" content="..."> tag. WordPress may have a missing or disabled meta description field in the page editor.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
This page is missing a meta description — a short text snippet (160 characters) that summarizes the page content and appears below the page title in search results. Without it, Google shows a generic or auto-generated snippet, which loses the chance to convince potential customers to click through from search.
Why it matters for your business: Missing meta descriptions reduce click-through rate from Google search results, directly lowering foot traffic to your Northampton location page and nearby dispensary visibility.
Technical root cause: The WordPress page or post for the Northampton dispensary location was published without filling in the SEO meta description field, either in Yoast SEO, Rank Math, or native WordPress excerpt.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
The craft flower menu page is missing a meta description — the 160-character text snippet that appears below the page title in Google search results. Without it, Google generates a random excerpt from your page content, which may not highlight your best selling points or include relevant keywords.
Why it matters for your business: Potential customers searching for craft flower in Northampton see a weak or irrelevant preview in search results, reducing click-through rate and losing traffic to competitors with optimized descriptions.
Technical root cause: The WordPress page or post object does not have the meta description field populated in the post editor, or the theme is not outputting the meta description tag in the HTML head.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your blog post about Smith College dispensary options has no meta description—that's the short summary (150–160 characters) that appears under your page title in Google search results. Without it, Google generates a random snippet from your page content, which may not highlight your key selling points or include your location/offers.
Why it matters for your business: Missing meta descriptions reduce click-through rates from search results; potential customers see a generic excerpt instead of a compelling reason to visit your site, directly affecting foot traffic and online inquiries.
Technical root cause: The WordPress page or post was published without filling in the meta description field in your SEO plugin (Yoast, Rank Math, or All in One SEO), or the plugin is not installed.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
This page is missing a meta description — the 160-character summary that appears under your page title in Google search results. Without it, Google generates a random snippet from your page content, which often looks unprofessional and doesn't tell customers what they'll find.
Why it matters for your business: Missing meta descriptions reduce click-through rates from search results; potential customers see a jumbled text preview instead of a clear call-to-action, causing them to choose a competitor's listing instead.
Technical root cause: The WordPress page or post for the South Hadley dispensary location was created without filling in the meta description field, which most SEO plugins (Yoast, Rank Math, etc.) make available in the post editor.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
This page is missing a meta description — a short text summary (160 characters) that appears below the page title in Google search results. Without it, Google will auto-generate a snippet from the page body, which often looks fragmented and fails to persuade clicks.
Why it matters for your business: Lower click-through rates from search results for local dispensary queries, directly reducing foot traffic and online orders.
Technical root cause: The page was likely published without filling in the meta description field in WordPress, or the theme/plugin does not default to writing descriptions for location pages.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
The cannabis education category page is missing a meta description — a 160-character summary that appears below your page title in Google search results. Without it, Google shows a generic snippet instead, which hurts click-through rates from search. This is a straightforward fix.
Why it matters for your business: Missing meta descriptions reduce click-through rate from search results, directly lowering organic traffic to your educational content and brand authority in the cannabis space.
Technical root cause: The WordPress theme or page template for category archives does not have a meta description field populated or configured, so the tag is absent from the HTML head.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your dispensary products category page lacks a meta description — the 150-160 character summary that appears under your page title in Google search results. Without it, search engines generate a random snippet from your page content, which often looks unprofessional and doesn't encourage clicks.
Why it matters for your business: Missing meta descriptions reduce click-through rates from search results; potential customers see a generic excerpt instead of your value proposition, directly harming traffic to a high-intent product page.
Technical root cause: WordPress doesn't auto-generate meta descriptions for category pages by default. The page needs either manual entry or a plugin setting to create one.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Search engines like Google use meta descriptions — a 160-character summary — to preview your page in search results. Without one, Google will auto-generate a snippet, which may cut off mid-sentence or show irrelevant text. For a category page about local cannabis guides, this means potential customers won't see a compelling reason to click your link.
Why it matters for your business: A missing meta description reduces click-through rate from search results, directly lowering qualified traffic to your local guide content and missed opportunities to convert browsers into customers.
Technical root cause: WordPress category pages do not auto-populate meta descriptions by default. The page was created without manually adding a description in the page/category editing interface or via an SEO plugin.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your category archive page for 'seasonal-trends' is missing a meta description — the 50–160 character summary that appears below your page title in Google search results. Without it, Google may auto-generate a choppy snippet from your page text, making your listing look incomplete and less likely to be clicked.
Why it matters for your business: Missing descriptions reduce click-through rates from search results, which means fewer visitors discovering your seasonal product guides and educational content — directly affecting traffic and product awareness.
Technical root cause: WordPress category pages often lack auto-generated or manually-set meta descriptions by default. If you're using an SEO plugin like Yoast or RankMath, the description field was left blank for this archive page.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your tag page for 'pre-rolls' is missing a meta description—the 50–160 character summary that appears below your page title in Google search results. Without it, Google may auto-generate a snippet, which often looks incomplete or irrelevant to searchers. This reduces click-through rates from search.
Why it matters for your business: Missing meta descriptions on tag pages mean fewer clicks from customers searching for pre-rolls, directly lowering organic traffic and sales.
Technical root cause: WordPress tag archives don't auto-populate meta descriptions by default. If you're using an SEO plugin like Yoast or Rank Math, the plugin hasn't been configured to generate descriptions for tag pages, or the plugin setting is disabled for that archive type.
Recommended fix — step by step
tier3.cwv.cls-desktopWhat it means (plain English)
Your homepage is experiencing unexpected visual jumps as it loads—images, text, or buttons shift position after the user sees them. This is measured as Cumulative Layout Shift (CLS), and yours scores 0.130 when Google's ideal target is 0.05 or lower. Users may click the wrong button or feel the page is unstable.
Why it matters for your business: Layout shifts frustrate visitors during checkout or age verification, increasing cart abandonment and reducing conversions on your cannabis retail site.
Technical root cause: Images and embedded content (likely product photos, ads, or hero images) are loading without reserved space, causing the browser to reflow the page. You have 341 KB of images loading asynchronously without width/height attributes.
Recommended fix — step by step
tier4.schema.missing-coreWhat it means (plain English)
Your site includes some structured data (Organization, WebSite) that helps search engines understand your business, but is missing LocalBusiness markup. LocalBusiness tells Google key details like your physical address, phone number, hours, and that you operate a retail location—critical for a dispensary to appear in local search results and Google Maps.
Why it matters for your business: Without LocalBusiness schema, your dispensary is less likely to appear when customers search 'cannabis near me' or 'dispensary [city name]', directly reducing foot traffic and online visibility in your local market.
Technical root cause: Your WordPress site's schema plugin (likely Yoast SEO or Rank Math) is generating Organization and WebSite markup but not triggering the LocalBusiness schema type. This is typically a configuration gap in the plugin settings.
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 encrypted HTTPS connections to your domain. Without it, visitors could accidentally connect via unencrypted HTTP, exposing sensitive data like login credentials or product orders. This is particularly important for a cannabis retailer handling age verification and payment information.
Why it matters for your business: Missing HSTS weakens trust signals for payment processing, compliance audits, and SEO rankings—browsers increasingly penalize sites without this header, and cannabis retailers face extra scrutiny on security practices.
Technical root cause: Your WordPress host (Flywheel) is not automatically injecting the HSTS header into response headers. This must be configured either at the hosting control panel level or via a WordPress plugin/configuration file.
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 displayed inside an iframe (a frame within another webpage). Without this header, malicious actors could embed your site in a fake frame to trick visitors into entering credentials or making unintended purchases—a technique called clickjacking. This header is a standard security practice for any site handling sensitive user interactions.
Why it matters for your business: Missing this header increases your vulnerability to clickjacking attacks, which could compromise customer data, undermine trust, and expose you to compliance gaps in security posture audits or insurance requirements.
Technical root cause: Your WordPress hosting environment (Flywheel) is not configured to send the X-Frame-Options header in HTTP responses. This is typically set at the server or through WordPress security plugins, not at the code level.
Recommended fix — step by step
tier5.header.content-security-policyWhat it means (plain English)
Your website is missing a Content Security Policy (CSP) header, which is a security instruction that tells browsers what content sources (scripts, images, fonts, etc.) are allowed to load. This is like not having a bouncer at the door checking IDs — anyone can try to slip malicious code in. Without it, your site is more vulnerable to code injection attacks that could steal customer data or payment information.
Why it matters for your business: A successful attack could expose customer payment details, medical records (if you collect them), or cannabis license information, leading to PCI compliance violations, legal liability, and destroyed customer trust—especially critical for a regulated cannabis business.
Technical root cause: The WordPress site is hosted on Flywheel but has not implemented a Content Security Policy header in the server configuration or via a security plugin. The response headers show other security headers (X-Content-Type-Options, X-XSS-Protection) are present, but CSP is absent.
Recommended fix — step by step
tier5.fortress.dmarc-missingWhat it means (plain English)
DMARC is an email authentication standard that tells receiving mail servers how to handle emails claiming to come from your domain. Without it, scammers can more easily send fake emails that appear to come from balagancannabis.com, damaging your reputation and potentially tricking customers. You already have SPF and DKIM in place (the underlying authentication methods), so adding DMARC is the final step.
Why it matters for your business: Without DMARC, legitimate marketing and transactional emails from your domain are more likely to land in spam folders, and customers may receive convincing phishing emails impersonating your dispensary—eroding trust and potentially exposing you to liability.
Technical root cause: No DMARC DNS record exists at _dmarc.balagancannabis.com. DMARC requires an explicit TXT record in DNS to function; its absence means mail servers have no policy to consult.
Recommended fix — step by step
tier6.a11y.small-targetsWhat it means (plain English)
Your site has 26 buttons, links, and form fields that are smaller than 44×44 pixels when viewed on a mobile phone (375px wide). This makes them hard to tap accurately — especially for people with larger fingers, tremors, or vision challenges. WCAG 2.5.5 is an accessibility standard that requires interactive elements to be at least 44×44 pixels.
Why it matters for your business: Visitors on mobile devices — which is likely 60–70% of your cannabis dispensary traffic — will struggle to complete purchases, navigate menus, or confirm age verification, leading to abandoned carts and lost sales.
Technical root cause: CSS padding and sizing on buttons, links, and form inputs are insufficient. Many WordPress themes use default button sizes (often 24–32px) that are optimized for desktop but fail on mobile without responsive padding adjustments.
Recommended fix — step by step
tier6.a11y.small-targetsWhat it means (plain English)
Your website has 28 buttons, links, and other clickable elements that are smaller than 44×44 pixels on mobile devices. This makes them hard to tap accurately, especially for people with limited hand control or vision. Even sighted users will struggle to hit small targets on phones.
Why it matters for your business: Mobile visitors—likely your largest customer segment for age-gating and product browsing—will experience friction and frustration, leading to abandoned visits and lost sales.
Technical root cause: Interactive elements were designed for desktop viewing and not resized or padded for mobile screens. WordPress themes often inherit desktop-sized buttons and links without responsive touch-friendly spacing.
Recommended fix — step by step
tier6.a11y.small-targetsWhat it means (plain English)
Your website has 30 buttons, links, and clickable elements that are smaller than 44×44 pixels when viewed on a tablet. This makes them hard to tap accurately, especially for people with motor difficulties or those using touch screens. WCAG 2.5.5 is an accessibility standard that requires interactive elements to be at least 44×44 pixels to ensure everyone can use your site.
Why it matters for your business: Visitors on tablets and mobile devices—including older customers or those with arthritis—will struggle to tap menu items, product filters, or checkout buttons, leading to abandoned sales and lower conversion rates.
Technical root cause: The site likely uses CSS padding or sizing that works on desktop but compresses too much on tablet viewports. This is common when spacing rules aren't adjusted for smaller screens or when buttons are sized in fixed pixels without responsive scaling.
Recommended fix — step by step
button, a.btn, input[type="button"], .menu-link { min-width: 44px; min-height: 44px; padding: 12px 16px !important; } to set a floor size.tier8.lighthouse.perf-mobileWhat it means (plain English)
Your mobile site takes nearly 7 seconds to fully load the main content (Largest Contentful Paint), and has noticeable layout shift as elements move around after loading (Cumulative Layout Shift of 0.238). These delays frustrate visitors trying to browse products or find your dispensary info on phones—the majority of your traffic. Your mobile performance score of 58 out of 100 signals critical slowness.
Why it matters for your business: Slow mobile load times increase bounce rate (visitors leave before seeing your menu or age gate), reduce conversion on product pages, and hurt your Google search ranking for mobile queries—where most cannabis customers search.
Technical root cause: Large unoptimized images, render-blocking JavaScript, missing lazy-loading on below-fold content, or unminified CSS/JS files are likely delaying the display of your main page content. Layout shift typically stems from late-loading images or ads without reserved space.
Recommended fix — step by step
loading="lazy" to img tags if your theme doesn't auto-apply it (check Lighthouse report HTML for which images lack it).tier2.meta.no-descriptionWhat it means (plain English)
Your Terms of Use page is missing a meta description — the 155-character summary that appears below your page title in Google search results. Without it, Google will auto-generate one, which is often choppy or incomplete. This reduces click-through rates because potential customers see a poor preview before visiting.
Why it matters for your business: Lower search click-through rate on this page means fewer visitors discovering your dispensary, and weaker first impression for compliance-conscious customers researching your policies.
Technical root cause: The <meta name="description" content="..."> tag is absent from the page's HTML <head>. WordPress doesn't auto-populate this for terms pages unless you explicitly set it via an SEO plugin or manually edit the theme.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your blog index page (/blog/) doesn't have a meta description — the 150–160 character summary that appears below your page title in Google search results. Without one, Google generates a random snippet from your page content, which often looks unprofessional and misses the chance to tell customers what to expect.
Why it matters for your business: Missing meta descriptions reduce click-through rates from search results; potential customers see a confusing or truncated excerpt instead of a clear reason to visit your blog, hurting organic traffic and engagement.
Technical root cause: WordPress doesn't add meta descriptions automatically. Either your theme lacks SEO fields, or they haven't been filled in for this page.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
The privacy policy page is missing a meta description — a 150–160 character summary that search engines display below your page title in results. Without it, Google may auto-generate text that doesn't represent your page well, or show nothing at all, reducing click-through rates.
Why it matters for your business: A poorly summarized privacy policy in search results looks unprofessional and may reduce organic traffic to compliance pages, which are important for customer trust and SEO authority.
Technical root cause: The WordPress page or post object for /privacy-policy/ has no meta description field populated, likely because it was created without filling in the SEO plugin's description field.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your menu page (/menu-full/) is missing a meta description—a 160-character summary that appears below your page title in Google search results. Without it, Google generates a random snippet from your page content, which often looks unprofessional and may not tell customers what they're looking at. This one-time fix takes minutes.
Why it matters for your business: Missing meta descriptions reduce click-through rates from search results; potential customers see a vague excerpt instead of a clear call-to-action about your full menu, directly impacting foot traffic from organic search.
Technical root cause: The /menu-full/ page either has no meta description tag in its HTML head, or the Yoast SEO / All in One SEO plugin (if installed) is not configured to generate one for this page.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
This blog post page doesn't have a meta description — the 155-character summary that appears below the page title in Google search results. Without it, Google generates a random snippet from your content, which often looks incomplete or doesn't tell customers what the page is about.
Why it matters for your business: Incomplete or irrelevant search snippets reduce click-through rates from Google, meaning fewer potential customers visit your blog content and discover your dispensary.
Technical root cause: The WordPress post or page object is missing the meta description field in the page head, likely because the SEO plugin (Yoast, Rank Math, etc.) was not configured or the field was left blank during publication.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
This page doesn't have a meta description — the 155-character summary that appears under your page title in Google search results. Search engines will auto-generate one from page content, which is often fragmented and less compelling. A well-written description acts like a storefront sign, telling customers what to expect before they click.
Why it matters for your business: Without a custom description, Google may show an awkward snippet instead, reducing click-through rate from local search traffic — critical for a dispensary driving foot traffic to the Hadley location.
Technical root cause: The WordPress page template or Yoast SEO / Rank Math plugin is not outputting an SEO meta description tag in the page head. Either the field was left blank during page creation, or the plugin settings are disabled for this post type.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your category archive page (uncategorized posts) is missing a meta description — the 160-character summary that appears below your page title in Google search results. Without it, Google may auto-generate a poor summary, and visitors won't see a compelling reason to click your link.
Why it matters for your business: Missing meta descriptions reduce click-through rates from search results, directly lowering traffic to your site and potential customer inquiries.
Technical root cause: WordPress doesn't auto-generate meta descriptions for archive pages; they must be set manually via an SEO plugin or in the page template.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your /category/dispensary-highlights/ page is missing a meta description — the 150-160 character summary that appears below your page title in Google search results. Without one, Google will auto-generate a snippet from your page content, which often looks truncated or irrelevant. This reduces click-through rates from search.
Why it matters for your business: Missing meta descriptions on category pages lower your organic click-through rate, meaning fewer potential customers visit your site even when you rank well in search results.
Technical root cause: WordPress category pages do not auto-generate meta descriptions by default. Most SEO plugins (Yoast, Rank Math, etc.) allow you to set them per-page, but this category archive was likely created without manually adding one.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your tag page for 'vegan-edibles' doesn't have a meta description — a 155-character summary that appears under your page title in Google search results. Without it, Google generates a random snippet from your page content, which often looks incomplete or unprofessional to potential customers browsing search results.
Why it matters for your business: Missing meta descriptions reduce click-through rates from search results; potential customers see a poorly formatted preview and may click a competitor's listing instead.
Technical root cause: WordPress tag pages don't auto-generate meta descriptions by default. Most SEO plugins (Yoast, Rank Math, All in One SEO) exclude tag archives by default, requiring manual configuration or individual description entry.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your /tag/edibles/ page is missing a meta description—the 160-character summary that appears below your page title in Google search results. Without it, Google may auto-generate a description from your page text, which often results in an incomplete or irrelevant snippet that doesn't encourage clicks.
Why it matters for your business: A weak or missing meta description lowers click-through rate from search results, meaning fewer customers discover your edibles inventory even if the page ranks well.
Technical root cause: Tag archive pages in WordPress typically inherit no default meta description. The page was created without one being manually added, and no SEO plugin is generating them automatically for taxonomy pages.
Recommended fix — step by step
tier2.links.brokenWhat it means (plain English)
Your Directions page contains a link pointing to /testimonials, but that page no longer exists (returns a 404 error). Visitors clicking that link hit a dead end, and search engines waste crawl budget trying to follow a broken path.
Why it matters for your business: Broken links hurt user trust and reduce time-on-site; they also signal to Google that your site may be poorly maintained, which can lower your rankings for local cannabis searches.
Technical root cause: The testimonials page was likely deleted or moved without updating the internal link on the directions page. WordPress doesn't automatically catch these when you remove a page.
Recommended fix — step by step
tier8.lighthouse.bestPractices-mobileWhat it means (plain English)
Your site's mobile version scored 75/100 on Google's Best Practices audit, which measures security, browser compatibility, and user experience standards. The target is 90+. Common issues at this level include outdated libraries, missing security headers, or third-party script problems. This is a health check, not an emergency, but addressing it strengthens trust and reduces visitor friction.
Why it matters for your business: Lower Best Practices scores can trigger browser warnings, slow perceived load times, and reduce customer confidence in a regulated industry where trust is critical for conversions.
Technical root cause: WordPress sites often accumulate outdated plugins, unpatched JavaScript libraries, or missing HTTP security headers (like Content Security Policy). The mobile score lag suggests responsive design or touch-interaction issues may also be present.
Recommended fix — step by step
tier6.a11y.small-targetsDetail
Interactive elements smaller than 44x44 fail WCAG 2.5.5 target size.
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
tier2.robots.no-sitemapWhat it means (plain English)
Your robots.txt file (a small text file that tells search engines which pages to crawl) doesn't include a link to your XML sitemap. A sitemap is like a directory of all your important pages. Without this link, Google has to find your pages the hard way—by following links on your site. For a cannabis dispensary, this can slow down how quickly search engines discover product pages, menu updates, and compliance information.
Why it matters for your business: Missing sitemap reference delays Google's ability to index new products, menu changes, and educational content, which can cost you weeks of lost search visibility and customer traffic.
Technical root cause: The robots.txt file was either created manually without a Sitemap directive, or a WordPress SEO plugin (like Yoast SEO or Rank Math) hasn't been configured to auto-insert the sitemap URL into robots.txt.
Recommended fix — step by step
tier2.meta.no-ogWhat it means (plain English)
OpenGraph tags are HTML snippets that tell social media platforms (Facebook, Instagram, LinkedIn, Pinterest) how to display your website when someone shares a link. Without them, your posts appear bland—no custom title, no preview image—which reduces clicks and engagement.
Why it matters for your business: When customers share your dispensary's product pages or promotions on social media, missing preview images and titles result in lower engagement and fewer visits from social referrals, directly reducing foot traffic and online orders.
Technical root cause: The WordPress theme or SEO plugin (if installed) is not generating or inserting og:title, og:image, og:description, and og:url meta tags into the page <head> section.
Recommended fix — step by step
tier2.meta.no-ogWhat it means (plain English)
OpenGraph 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 posts appear as plain text links instead of rich cards with your logo, headline, and image. This hurts click-through rates on social.
Why it matters for your business: When customers share your product pages on social media, missing OpenGraph metadata results in ugly, low-engagement shares that don't drive traffic back to your dispensary.
Technical root cause: The page is missing the og:title and og:image meta tags in the <head> section. WordPress doesn't add these automatically; they require a plugin or manual configuration.
Recommended fix — step by step
tier2.meta.no-twitter-cardWhat it means (plain English)
Your product pages are missing Twitter Card metadata — a small code snippet that tells Twitter (now X) how to display your content when someone shares a link on that platform. Without it, shares appear generic and less engaging, reducing click-through rates from social traffic.
Why it matters for your business: Customers sharing your winter cannabis flavors or other products on X won't see an appealing preview image or description, leading to fewer clicks back to your site and weaker social amplification of your inventory.
Technical root cause: The WordPress site lacks the necessary <meta name="twitter:card" content="summary_large_image"> tag and related Open Graph tags (og:image, og:title, og:description) in the page head, which both WordPress plugins and manual theme configuration can provide.
Recommended fix — step by step
tier2.meta.no-ogWhat it means (plain English)
OpenGraph tags are HTML snippets that tell social platforms (Facebook, Instagram, Pinterest) what image and text to display when someone shares your page. Without them, social shares look plain and generic, which reduces click-through rates from social traffic.
Why it matters for your business: Cannabis product pages shared on social media without proper OpenGraph tags get fewer clicks and lower engagement because the preview looks unprofessional or incomplete—costing you foot traffic and online orders.
Technical root cause: The WordPress theme or SEO plugin is not generating or outputting og:title and og:image meta tags in the page <head> section for product pages.
Recommended fix — step by step
tier2.meta.no-ogWhat it means (plain English)
OpenGraph metadata tells social media platforms (Facebook, Instagram, LinkedIn) how to display your page when someone shares a link. Without og:title and og:image, shared links show generic or broken previews, which looks unprofessional and discourages clicks.
Why it matters for your business: When customers share your product pages or educational content on social media, missing preview images and titles reduce click-through rates and hurt your social credibility—especially important for a wellness dispensary building trust.
Technical root cause: The page's HTML head section is missing <meta property="og:title"> and <meta property="og:image"> tags. WordPress themes often include these by default, but they may be disabled in theme settings or the theme lacks full OpenGraph support.
Recommended fix — step by step
tier2.meta.no-ogWhat it means (plain English)
OpenGraph tags are hidden metadata that tell social media platforms (Facebook, Instagram, LinkedIn) how to display your page when someone shares it. Without them, your posts appear as plain text links instead of rich cards with images and formatted titles — making shares look unprofessional and reducing click-through rates.
Why it matters for your business: Cannabis education content shared on social media without proper OpenGraph tags generates fewer clicks and conversions because the preview looks generic instead of branded and compelling.
Technical root cause: The WordPress theme or SEO plugin (likely Yoast, All in One SEO, or Rank Math) is not configured to auto-generate og:title and og:image tags, or the page is missing featured image assignment.
Recommended fix — step by step
tier2.meta.no-ogWhat it means (plain English)
Your product pages are missing OpenGraph tags — special code that tells social media platforms (Facebook, Instagram, Pinterest) how to display your content when someone shares a link. Without these tags, your posts appear plain and unlabeled, making them less visually appealing when shared.
Why it matters for your business: When customers share your edible products on social media, the post won't show a product image or custom title — it'll display a generic preview, reducing click-through rates and lost organic traffic from social referrals.
Technical root cause: WordPress SEO plugins (like Yoast, Rank Math, or All in One SEO) either aren't installed, aren't activated for this post type, or haven't been configured to auto-generate og:title and og:image tags from your post content.
Recommended fix — step by step
tier2.meta.no-ogWhat it means (plain English)
OpenGraph tags are snippets of code that control how your pages appear when shared on social media platforms like Facebook, Instagram, and LinkedIn. Without them, social shares show a generic preview instead of your chosen title, description, and image — making your content look unprofessional and less clickable.
Why it matters for your business: Shared product pages and educational content generate fewer clicks and engagement on social platforms, directly reducing referral traffic and brand visibility for a dispensary that relies on community word-of-mouth and social discovery.
Technical root cause: WordPress is not automatically inserting og:title and og:image meta tags in the <head> section of this page. This typically happens when an SEO plugin is not configured, or the specific page template is missing OpenGraph output.
Recommended fix — step by step
tier2.meta.no-ogWhat it means (plain English)
When your product pages are shared on social media (Facebook, Instagram, LinkedIn), those platforms use special metadata tags called OpenGraph to pull in a preview image and headline. Without these tags, the preview looks broken or generic—just a plain link with no image. This is especially important for cannabis retail, where visual appeal and product imagery drive social sharing and traffic.
Why it matters for your business: Missing social preview metadata reduces click-through rates from social media shares by 30–50%, directly cutting referral traffic and customer discovery during word-of-mouth promotion.
Technical root cause: The page's HTML head section lacks og:title and og:image meta tags. WordPress doesn't add these automatically; they require either a plugin (like Yoast SEO, Rank Math, or All in One SEO) or manual code insertion in the theme.
Recommended fix — step by step
tier2.meta.no-ogWhat it means (plain English)
Your blog post about cannabis and anxiety is missing OpenGraph tags — special metadata that tells Facebook, Instagram, LinkedIn, and other social platforms what image and title to display when someone shares the link. Without them, the social preview looks unprofessional and defaults to whatever the platform guesses, which is often wrong.
Why it matters for your business: When customers share your educational content on social media, a missing or broken preview reduces click-through rates and makes your brand look less polished; for a wellness dispensary, this undermines trust and referral traffic.
Technical root cause: The WordPress page template or post content is not including og:title and og:image meta tags in the HTML head section. This is usually handled by an SEO plugin like Yoast or Rank Math, but either the plugin is not installed, not configured for this post type, or these specific fields were left blank.
Recommended fix — step by step
tier2.meta.no-ogWhat it means (plain English)
OpenGraph tags are HTML snippets that tell social media platforms (Facebook, Instagram, LinkedIn) how to display your page when someone shares it. Without them, your content appears as a plain text link with no image or formatted title — making it much less likely someone will click through from social media.
Why it matters for your business: Cannabis education content is shareable and builds brand authority; missing OpenGraph metadata means your blog posts won't display attractively on social platforms, reducing click-through rates and organic referral traffic.
Technical root cause: The education page lacks og:title and og:image meta tags in the HTML <head> section. WordPress doesn't add these automatically unless an SEO plugin is installed and configured to generate them.
Recommended fix — step by step
tier2.meta.no-ogWhat it means (plain English)
OpenGraph tags are snippets of code that tell social media platforms (Facebook, Instagram, LinkedIn) how to display your page when someone shares it. Without them, your posts will show a generic preview instead of an attractive custom image and headline. This is purely cosmetic on the page itself, but it affects how your link looks when customers share it on social media.
Why it matters for your business: Weak social sharing appearance reduces click-through rates when your products are shared by customers or your own marketing team on social platforms, limiting organic reach and repeat traffic.
Technical root cause: The page template or post is missing og:title and og:image meta tags in the <head> section. WordPress SEO plugins (like Yoast or Rank Math) can auto-generate these, but they must be enabled and configured.
Recommended fix — step by step
tier2.meta.no-twitter-cardWhat it means (plain English)
Your product pages are missing Twitter Card tags—metadata that tells Twitter (now X) how to display your links when someone shares them on that platform. Without these tags, shared links appear as plain text instead of rich preview cards with images and descriptions, making them less visually appealing and clickable.
Why it matters for your business: Reduced click-through rates on social shares of your product pages, which means fewer visitors discovering your high-THC strains and other inventory through organic social traffic.
Technical root cause: The Yoast SEO plugin (or your current SEO plugin) is not configured to auto-generate Twitter Card meta tags, or they were never manually added to the page template.
Recommended fix — step by step
tier2.meta.no-twitter-cardWhat it means (plain English)
Your product pages are missing a Twitter Card meta tag, which is a snippet of code that tells Twitter (now X) how to display your content when someone shares a link on that platform. Without it, shared links appear plain and unoptimized, reducing click-through rates and visual appeal.
Why it matters for your business: When customers share your pre-roll or product pages on Twitter/X, the posts won't include product images or compelling previews, leading to fewer clicks and lower visibility for your brand on social platforms.
Technical root cause: The WordPress theme or SEO plugin (if installed) has not been configured to output the twitter:card meta tag. This is typically a simple addition to the site's header or a setting in an SEO plugin like Yoast or Rank Math.
Recommended fix — step by step
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.title-lengthDetail
Title should be 20-65 chars. Got: "5 Vegan Edibles That Will Have Your Mouth Watering! | Balagan Cannabis"
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.title-lengthDetail
Title should be 20-65 chars. Got: "Can Cannabis Mellow You Out and Help With Anxiety? | Balagan Cannabis"
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
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.title-lengthDetail
Title should be 20-65 chars. Got: "What Makes Our Recreational Dispensary Different? | Balagan Cannabis"
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.title-lengthDetail
Title should be 20-65 chars. Got: "Downtown Northampton Cannabis Dispensary & Local Guide | Balagan Cannabis"
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.title-lengthDetail
Title should be 20-65 chars. Got: "The Ultimate Guide to 420 in Northampton: Deals, Events & Local Culture | Balagan Cannabis"
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.title-lengthDetail
Title should be 20-65 chars. Got: "Cozy Cannabis Products for Winter Relaxation: The Ultimate Guide | Balagan Cannabis"
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.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
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.title-lengthDetail
Title should be 20-65 chars. Got: "The Only Dispensary on Main Street: Your Downtown Northampton Cannabis Guide | Balagan Cannabis"
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.title-lengthDetail
Title should be 20-65 chars. Got: "The Curator’s Choice: Craft Cannabis Flower & Small Batch Strains | Balagan Cannabis"
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.title-lengthDetail
Title should be 20-65 chars. Got: "The Northampton Ritual: Craft Coffee, Cannabis & Cafe Culture | Balagan Cannabis"
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.title-lengthDetail
Title should be 20-65 chars. Got: "The Dispensary Near Smith College: Convenience, Safety & Community | Balagan Cannabis"
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.title-lengthDetail
Title should be 20-65 chars. Got: "Best Recreational Weed Dispensary Near South Hadley MA | Balagan Cannabis"
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.title-lengthDetail
Title should be 20-65 chars. Got: "Premium Recreational Weed Dispensary Near Holyoke MA | Balagan Cannabis"
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.title-lengthDetail
Title should be 20-65 chars. Got: "Premium Recreational Dispensary Near Hadley, MA | Balagan Cannabis"
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
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.
tier4.h1.multipleDetail
Only one H1 per page.
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.
tier8.lighthouse.a11y-mobileDetail
Score 82 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.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.lh-opportunity.unused-javascript-mobileDetail
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/" target="_blank" rel="noreferrer">Learn how to reduce unused JavaScript.
tier8.lh-opportunity.legacy-javascript-mobileDetail
Polyfills and transforms enable legacy browsers to use new JavaScript features. However, many aren't necessary for modern browsers. Consider modifying your JavaScript build process to not transpile https://web.dev/baseline" target="_blank" rel="noreferrer">Baseline features, unless you know you must support legacy browsers. https://philipwalton.com/articles/the-state-of-es5-on-the-web/" target="_blank" rel="noreferrer">Learn why most sites can deploy ES6+ code without transpiling
tier8.lighthouse.perf-desktopDetail
Score 87 is below target 90. See HTML report for details.
tier8.lighthouse.a11y-desktopDetail
Score 82 is below target 95. See HTML report for details.
tier8.lighthouse.bestPractices-desktopDetail
Score 78 is below target 90. 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.prioritize-lcp-image-desktopDetail
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.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-javascript-desktopDetail
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/" target="_blank" rel="noreferrer">Learn how to reduce unused JavaScript.
tier-revenue.dutchie.iframe-absentDetail
No Dutchie iframe detected. If this client uses a different menu provider, add it to clients.yaml dutchieSlug=null + we'll stop flagging.
Grouped by URL — useful when working through the site one page at a time.
_43 findings on this page_
Your age-gate dialog (the popup that appears when visitors first arrive) doesn't have a proper accessible name. Screen readers—software that reads web pages aloud for blind and low-vision users—can't
Seven elements on your site use white text (#ffffff) on a green background (#0b9544) that doesn't meet accessibility standards. The contrast ratio is 3.89:1, but WCAG AA requires 4.5:1 minimum. This m
Seven images on your homepage lack alternative text (alt attributes), which means screen readers used by blind and low-vision visitors cannot describe what those images show. This creates a barrier fo
Your website has 3 links that don't have any readable text or labels. Screen readers (used by people with vision loss) can't tell users what these links do — they might be icon-only buttons or invisib
Your homepage doesn't have a meta description — the 160-character summary that appears below your site title in Google search results. Without it, Google will auto-generate a snippet from your page co
Your Directions page contains a link pointing to /testimonials, but that page no longer exists (returns a 404 error). Visitors clicking that link hit a dead end, and search engines waste crawl budget
Your homepage is experiencing unexpected visual jumps as it loads—images, text, or buttons shift position after the user sees them. This is measured as Cumulative Layout Shift (CLS), and yours scores
Your site includes some structured data (Organization, WebSite) that helps search engines understand your business, but is missing LocalBusiness markup. LocalBusiness tells Google key details like you
Your site is missing the Strict-Transport-Security (HSTS) header, which tells browsers to always use encrypted HTTPS connections to your domain. Without it, visitors could accidentally connect via une
Your website is missing the X-Frame-Options security header, which tells browsers whether your site can be displayed inside an iframe (a frame within another webpage). Without this header, malicious a
Your website is missing a Content Security Policy (CSP) header, which is a security instruction that tells browsers what content sources (scripts, images, fonts, etc.) are allowed to load. This is lik
DMARC is an email authentication standard that tells receiving mail servers how to handle emails claiming to come from your domain. Without it, scammers can more easily send fake emails that appear to
Your site has 26 buttons, links, and form fields that are smaller than 44×44 pixels when viewed on a mobile phone (375px wide). This makes them hard to tap accurately — especially for people with larg
Your website has 28 buttons, links, and other clickable elements that are smaller than 44×44 pixels on mobile devices. This makes them hard to tap accurately, especially for people with limited hand c
Your website has 30 buttons, links, and clickable elements that are smaller than 44×44 pixels when viewed on a tablet. This makes them hard to tap accurately, especially for people with motor difficul
Your mobile site takes nearly 7 seconds to fully load the main content (Largest Contentful Paint), and has noticeable layout shift as elements move around after loading (Cumulative Layout Shift of 0.2
Your site's mobile version scored 75/100 on Google's Best Practices audit, which measures security, browser compatibility, and user experience standards. The target is 90+. Common issues at this level
OpenGraph tags are HTML snippets that tell social media platforms (Facebook, Instagram, LinkedIn, Pinterest) how to display your website when someone shares a link. Without them, your posts appear bla
_5 findings on this page_
This page doesn't have a meta description — the 155-character summary that appears under your page title in Google search results. Search engines will auto-generate one from page content, which is oft
_4 findings on this page_
The sign-up page is missing a meta description — a 150–160 character summary that appears below your page title in Google search results. Without it, Google may auto-generate a snippet from your page
_4 findings on this page_
This page is missing a meta description — a short text snippet (160 characters) that summarizes the page content and appears below the page title in search results. Without it, Google shows a generic
_4 findings on this page_
The craft flower menu page is missing a meta description — the 160-character text snippet that appears below the page title in Google search results. Without it, Google generates a random excerpt from
_4 findings on this page_
This blog post page doesn't have a meta description — the 155-character summary that appears below the page title in Google search results. Without it, Google generates a random snippet from your cont
_4 findings on this page_
Your blog post about Smith College dispensary options has no meta description—that's the short summary (150–160 characters) that appears under your page title in Google search results. Without it, Goo
_4 findings on this page_
This page is missing a meta description — the 160-character summary that appears under your page title in Google search results. Without it, Google generates a random snippet from your page content, w
_4 findings on this page_
This page is missing a meta description — a short text summary (160 characters) that appears below the page title in Google search results. Without it, Google will auto-generate a snippet from the pag
_3 findings on this page_
Your product pages are missing OpenGraph tags — special code that tells social media platforms (Facebook, Instagram, Pinterest) how to display your content when someone shares a link. Without these ta
_3 findings on this page_
Your blog post about cannabis and anxiety is missing OpenGraph tags — special metadata that tells Facebook, Instagram, LinkedIn, and other social platforms what image and title to display when someone
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
Your Terms of Use page is missing a meta description — the 155-character summary that appears below your page title in Google search results. Without it, Google will auto-generate one, which is often
_3 findings on this page_
Your blog index page (/blog/) doesn't have a meta description — the 150–160 character summary that appears below your page title in Google search results. Without one, Google generates a random snippe
_3 findings on this page_
The privacy policy page is missing a meta description — a 150–160 character summary that search engines display below your page title in results. Without it, Google may auto-generate text that doesn't
_3 findings on this page_
The /directions/ page is missing a meta description—the short text (155–160 characters) that appears below your page title in Google search results. Without it, Google may auto-generate a snippet from
_3 findings on this page_
Your FAQ page is missing a meta description—the 160-character summary that appears under your link in Google search results. Without it, Google generates a random snippet from your page content, which
_3 findings on this page_
Your contact page is missing a meta description — the 150-160 character summary that appears below your page title in Google search results. Without it, Google generates one automatically (often poorl
_3 findings on this page_
Your menu page (/menu-full/) is missing a meta description—a 160-character summary that appears below your page title in Google search results. Without it, Google generates a random snippet from your
_3 findings on this page_
Your /areas/ page is missing a meta description — the 155-character summary that appears below your page title in Google search results. Without it, Google generates a random snippet from your page co
_3 findings on this page_
This page is missing a meta description—the 160-character summary that appears under your page title in Google search results. Without it, Google generates a random snippet from your page content, whi
_3 findings on this page_
This page is missing a meta description — a 150–160 character summary that appears below the page title in Google search results. Without it, search engines may auto-generate a snippet from your page
_3 findings on this page_
This page is missing a meta description—the 150–160 character summary that appears below the page title in Google search results. Without it, Google may auto-generate a snippet from your page content,
_3 findings on this page_
This page is missing a meta description—the 155-character summary that appears below the page title in Google search results. Without it, Google generates a random snippet from your page content, whic
_3 findings on this page_
The /about/ page is missing a meta description — a 150–160 character summary that appears below your page title in Google search results. Without it, search engines may auto-generate a snippet from yo
_3 findings on this page_
Your category archive page (uncategorized posts) is missing a meta description — the 160-character summary that appears below your page title in Google search results. Without it, Google may auto-gene
_3 findings on this page_
The cannabis education category page is missing a meta description — a 160-character summary that appears below your page title in Google search results. Without it, Google shows a generic snippet ins
_3 findings on this page_
Your dispensary products category page lacks a meta description — the 150-160 character summary that appears under your page title in Google search results. Without it, search engines generate a rando
_3 findings on this page_
Your /category/dispensary-highlights/ page is missing a meta description — the 150-160 character summary that appears below your page title in Google search results. Without one, Google will auto-gene
_3 findings on this page_
Search engines like Google use meta descriptions — a 160-character summary — to preview your page in search results. Without one, Google will auto-generate a snippet, which may cut off mid-sentence or
_3 findings on this page_
Your category archive page for 'seasonal-trends' is missing a meta description — the 50–160 character summary that appears below your page title in Google search results. Without it, Google may auto-g
_3 findings on this page_
Your tag page for 'vegan-edibles' doesn't have a meta description — a 155-character summary that appears under your page title in Google search results. Without it, Google generates a random snippet f
_3 findings on this page_
Your tag page for 'pre-rolls' is missing a meta description—the 50–160 character summary that appears below your page title in Google search results. Without it, Google may auto-generate a snippet, wh
_3 findings on this page_
Your /tag/edibles/ page is missing a meta description—the 160-character summary that appears below your page title in Google search results. Without it, Google may auto-generate a description from you
_2 findings on this page_
OpenGraph 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 posts appear as plain text lin
_2 findings on this page_
OpenGraph tags are snippets of code that tell social media platforms (Facebook, Instagram, LinkedIn) how to display your page when someone shares it. Without them, your posts will show a generic previ
Your product pages are missing Twitter Card metadata — a small code snippet that tells Twitter (now X) how to display your content when someone shares a link on that platform. Without it, shares appea
_2 findings on this page_
OpenGraph tags are HTML snippets that tell social platforms (Facebook, Instagram, Pinterest) what image and text to display when someone shares your page. Without them, social shares look plain and ge
Your product pages are missing Twitter Card tags—metadata that tells Twitter (now X) how to display your links when someone shares them on that platform. Without these tags, shared links appear as pla
_2 findings on this page_
OpenGraph metadata tells social media platforms (Facebook, Instagram, LinkedIn) how to display your page when someone shares a link. Without og:title and og:image, shared links show generic or broken
_2 findings on this page_
OpenGraph tags are hidden metadata that tell social media platforms (Facebook, Instagram, LinkedIn) how to display your page when someone shares it. Without them, your posts appear as plain text links
_2 findings on this page_
OpenGraph tags are snippets of code that control how your pages appear when shared on social media platforms like Facebook, Instagram, and LinkedIn. Without them, social shares show a generic preview
Your product pages are missing a Twitter Card meta tag, which is a snippet of code that tells Twitter (now X) how to display your content when someone shares a link on that platform. Without it, share
_2 findings on this page_
When your product pages are shared on social media (Facebook, Instagram, LinkedIn), those platforms use special metadata tags called OpenGraph to pull in a preview image and headline. Without these ta
_2 findings on this page_
OpenGraph tags are HTML snippets that tell social media platforms (Facebook, Instagram, LinkedIn) how to display your page when someone shares it. Without them, your content appears as a plain text li
_2 findings on this page_
_2 findings on this page_
_2 findings on this page_
_2 findings on this page_
_2 findings on this page_
_2 findings on this page_
_2 findings on this page_
_2 findings on this page_
_2 findings on this page_
_2 findings on this page_
_2 findings on this page_
_2 findings on this page_
_2 findings on this page_
_1 finding on this page_
Your robots.txt file (a small text file that tells search engines which pages to crawl) doesn't include a link to your XML sitemap. A sitemap is like a directory of all your important pages. Without t
_1 finding on this page_
Your WordPress configuration file (wp-config.php) is publicly accessible on the internet. This file contains database passwords, security keys, and other sensitive credentials that should never be vis
_1 finding on this page_
Your WordPress admin login page (/wp-login.php) is publicly accessible on the internet. While this is standard WordPress behavior, it creates a security risk because attackers can repeatedly try to gu
_Generated by Apex Sentinel Monthly Audit · 2026-04-19T07:23:24.755Z · Powered by Bud Authority._
Generated by Apex Sentinel · © 2026 Bud Authority