Platform: unknown
Archetype: wellness
Run ID: 2026-04-19T06-18-18-831Z
Scanned: 2026-04-19T07:10:27.035Z
Duration: 848s
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 | 31 | Full sitemap + linked pages |
| P0 (critical) | 1 | Site-down or compliance-breaking |
| P1 (urgent) | 3 | Significant revenue / SEO / UX impact |
| P2 (high) | 85 | Quality / ranking / trust degradation |
| P3 (medium) | 99 | Polish + optimization |
| "Do first" items | 2 | AI-flagged top priorities |
| Quick wins (< 30 min) | 31 | Fastest ROI items |
If you only have time for ten things this month, do these — in this order.
Page: https://waabigwan.com/wp-login.php
Effort: Moderate (1-3 hours)
Page: https://waabigwan.com/
Effort: Quick win (< 30 min)
Page: https://waabigwan.com/
Effort: Quick win (< 30 min)
Page: https://waabigwan.com/
Page: https://waabigwan.com/hello-world/
Effort: Moderate (1-3 hours)
Page: https://waabigwan.com/blog-post-title-1/
Effort: Moderate (1-3 hours)
Page: https://waabigwan.com/blog-post-title-1/
Effort: Quick win (< 30 min)
Page: https://waabigwan.com/blog-post-title-4/
Effort: Quick win (< 30 min)
Page: https://waabigwan.com/blog-post-title-3/
Effort: Quick win (< 30 min)
Page: https://waabigwan.com/blog-post-title-2/
Effort: Moderate (1-3 hours)
tier5.exposed.artifactWhat it means (plain English)
Your WordPress admin login page (/wp-login.php) is publicly accessible and returns a successful response. This is a security vulnerability because attackers can attempt to guess administrator passwords without any barriers. While WordPress login pages are often found this way, best practice is to restrict or hide this path from public access.
Why it matters for your business: Exposed login pages make your site a target for automated brute-force attacks that could lock out legitimate staff, compromise customer data, and disrupt sales during peak hours.
Technical root cause: WordPress installations expose /wp-login.php by default, and no firewall rules or server configuration are blocking or rate-limiting access to this sensitive administrative path.
Recommended fix — step by step
tier9.a11y.link-nameWhat it means (plain English)
Your website has 2 links that lack descriptive text, making them invisible to screen readers and keyboard-only users. One is an empty link (likely a button or navigation element), and another wraps an image with no alt text. People using assistive technology won't know where these links go or what they do.
Why it matters for your business: This violates WCAG 2.1 Level A accessibility standards, exposing your dispensary to legal risk under the ADA, limiting your reach to disabled customers, and potentially harming your SEO since search engines struggle to index and rank pages with poor accessibility markup.
Technical root cause: The links lack visible text content, aria-label attributes, or title attributes that assistive technologies can read. The image link also has an empty alt attribute, providing no fallback text.
Recommended fix — step by step
tier9.a11y.target-sizeWhat it means (plain English)
Four navigation menu links in your header are too small or too close together for easy tapping on mobile devices. The links are only 18 pixels tall when they should be at least 24 pixels, and they don't have enough breathing room between them. This makes it frustratingly difficult for visitors on phones or tablets to tap the right link without accidentally hitting something else.
Why it matters for your business: Mobile visitors—who now represent 50%+ of dispensary traffic—will struggle to navigate to your Dispensaries, Grow, and Products pages, leading to bounce rates and lost customer engagement.
Technical root cause: The Elementor menu links have a line-height or padding value that keeps them under 24px, and they're positioned too close to neighboring links. This is typically a theme or Elementor widget configuration issue.
Recommended fix — step by step
tier9.a11y.color-contrastDetail
Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
Impact: serious
WCAG: wcag2aa, wcag143
Learn more: https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright
tier2.schema.noneWhat it means (plain English)
Your website doesn't include structured data — machine-readable information that search engines use to understand what your pages are about. This is like having a storefront with no signage telling Google whether you sell cannabis products, wellness services, or something else entirely.
Why it matters for your business: Without schema markup, search engines struggle to categorize your content correctly, which reduces your visibility in local search results and product listings — critical for a cannabis wellness retailer competing for local customer attention.
Technical root cause: The page is missing JSON-LD blocks in the <head> or <body> that define entity types (Organization, LocalBusiness, Product, etc.) and key properties (address, license, hours, cannabinoid content, etc.).
Recommended fix — step by step
tier2.schema.noneWhat it means (plain English)
Your blog post pages don't include JSON-LD structured data — machine-readable code that tells search engines what your content is about. Without it, Google can't easily understand that you're a cannabis wellness retailer, which means your content ranks lower and shows up less often in search results.
Why it matters for your business: Missing schema data reduces organic search visibility and click-through rates for wellness and product-related blog content, directly limiting customer discovery.
Technical root cause: The blog post template lacks JSON-LD markup blocks. Search engines rely on structured data to index content type, author, publish date, and business category — without it, they make educated guesses.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Seven images on your blog post page lack alternative text — descriptive labels that screen readers announce to visually impaired visitors, and that search engines use to understand image content. This makes the page harder to navigate for accessibility users and reduces the chance that image searches will direct people to your site.
Why it matters for your business: Missing alt text blocks a segment of potential customers from engaging with your content, and signals to Google that your site may not be fully accessible, which can lower your search ranking for competitive wellness keywords.
Technical root cause: Images were inserted into the blog post without alt attributes populated in the HTML <img> tag.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Every image on your blog post page lacks alternative text (alt text)—a short description that screen readers read aloud to blind or low-vision visitors, and that search engines use to understand what your images show. All 7 images on this page are missing this description.
Why it matters for your business: Missing alt text reduces your blog's search engine rankings for image-related queries, locks out a portion of potential customers using assistive technology, and creates legal accessibility risk in jurisdictions with strict ADA enforcement.
Technical root cause: Images were uploaded or embedded without filling in the alt text field during publication. This is common when content is migrated or published quickly without accessibility review.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
All 7 images on this blog post page are missing alt text — short descriptions that tell screen readers and search engines what each image shows. This makes the page inaccessible to visually impaired visitors and prevents search engines from understanding image content, which can reduce organic search visibility for related keywords.
Why it matters for your business: Visitors using screen readers cannot access your content (legal risk under accessibility laws), and Google may rank this page lower for image-based searches, reducing potential customer discovery.
Technical root cause: Images were added to the page without alt attributes in the HTML markup. This is common when using page builders or content management systems that don't enforce alt text during upload.
Recommended fix — step by step
tier2.schema.noneWhat it means (plain English)
Your blog post pages don't include JSON-LD structured data—machine-readable code that tells search engines what content is on the page (e.g., 'this is a blog article written by Jane Doe on March 15'). Without it, search engines have to guess the page purpose, which hurts your visibility in search results and voice search.
Why it matters for your business: Missing schema data reduces your organic search ranking potential and prevents rich results (like star ratings or publication dates) from appearing in Google Search, lowering click-through rates from search.
Technical root cause: The page HTML lacks <script type="application/ld+json"> blocks in the <head> or body. This is typically a content management system or theme configuration gap—the site template isn't generating or inserting schema markup for blog posts.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Seven images on your blog post page lack alt text — a short text description that screen readers use to describe images to visually impaired visitors, and that search engines use to understand image content. Without alt text, these images are invisible to both assistive technology users and search engine indexing, meaning you're losing potential SEO value and excluding customers from your content.
Why it matters for your business: Missing alt text reduces your blog's search visibility for image-related queries, limits accessibility to disabled customers (a legal and ethical issue), and weakens your content's ability to rank in Google Images — all channels that drive discovery traffic to wellness and cannabis retail sites.
Technical root cause: Images were inserted into the blog post without descriptive alt attributes being populated in the HTML img tag, likely because the content management system's editor didn't prompt or enforce alt text entry during upload.
Recommended fix — step by step
tier2.schema.noneWhat it means (plain English)
Your blog post pages don't include JSON-LD structured data—a machine-readable format that tells search engines what type of content you're publishing (article, product, organization, etc.). Without it, Google has to guess the meaning of your content, which reduces your chances of appearing in rich search results (snippets with ratings, dates, images) and can hurt your visibility in cannabis-related searches.
Why it matters for your business: Missing schema markup reduces your likelihood of earning rich snippets in search results, which are especially valuable for wellness and cannabis content where trust signals (author, publish date, fact-checks) drive click-through rates and customer confidence.
Technical root cause: The page HTML contains no <script type="application/ld+json">...</script> blocks. Schema.org structured data must be explicitly added to the page template or injected via a plugin/CMS mechanism.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
All 7 images on this blog post page are missing alt text—descriptive text that screen readers read aloud to visually impaired users, and that search engines use to understand image content. This blocks both accessibility (people using assistive technology cannot 'see' your images) and SEO (Google cannot index the images or associate them with your page topic).
Why it matters for your business: You're losing search visibility for image-based queries, and excluding users with vision impairments from your wellness content—a liability and a missed audience segment.
Technical root cause: Images were uploaded to the page without adding alt text in the image properties. The CMS or page editor allows images to be published without enforcing alt text as a required field.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Your blog post page has 7 images that lack alt text—descriptive text that explains what each image shows. Search engines and screen readers (used by people with visual impairments) rely on alt text to understand images. Without it, both accessibility and SEO suffer.
Why it matters for your business: Missing alt text limits your blog's discoverability in image search results and excludes visually impaired visitors from your content—both hurt reach and compliance with accessibility standards.
Technical root cause: Images were uploaded or embedded without filling in the alt text field during content creation, a common oversight in WordPress post editors or static HTML.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
This blog post has 7 images with no alternative text descriptions. Alt text is the text read aloud by screen readers for people with vision loss, and it also helps search engines understand what images show. Without it, visitors using assistive technology get no information from those images, and search engines can't index the visual content.
Why it matters for your business: Missing alt text reduces your blog's SEO ranking and excludes customers with visual disabilities—both shrinking your potential audience and exposing you to accessibility compliance risk.
Technical root cause: Images were inserted into the blog post without the alt attribute populated in the image HTML tag. This is typically a content editing oversight where the alt text field was left blank during publishing.
Recommended fix — step by step
tier2.schema.noneWhat it means (plain English)
Your blog post pages don't include structured data markup—hidden code that tells search engines what your content is about. Without it, Google can't confidently understand that you're a cannabis wellness resource, which means your content may rank lower for relevant searches and won't qualify for rich results (like star ratings or recipe cards, if applicable).
Why it matters for your business: Missing schema markup reduces your visibility in Google Search results and limits your ability to appear in specialized search features that drive qualified traffic to wellness and product content.
Technical root cause: The page HTML lacks JSON-LD blocks in the <head> or body. This is typically added via a plugin (WordPress), theme setting, or custom code insertion during page templating.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
All 7 images on this blog post page are missing alt text — a short text description that tells search engines and visitors using screen readers what the image shows. This is both an accessibility barrier and a missed SEO opportunity, since search engines can't understand image content without it.
Why it matters for your business: Users relying on screen readers cannot access your content, limiting your audience; Google also ranks pages with proper image descriptions higher, so this directly reduces organic search visibility for blog traffic.
Technical root cause: The images were uploaded or embedded without the alt attribute field being filled in. This is typically an oversight during content creation or migration.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
All 6 images on this blog post page lack alt text—descriptive labels that screen reader users depend on to understand image content, and that search engines use to index images. Without alt text, visually impaired visitors cannot access your content, and Google cannot rank your images in image search results.
Why it matters for your business: Missing alt text blocks accessibility for customers with vision loss, exposes you to ADA compliance risk, and eliminates opportunity for organic traffic from Google Images—a meaningful channel for wellness and product discovery.
Technical root cause: Images were uploaded or embedded without descriptive alt attributes populated in the HTML or CMS editor.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your page about Minnesota-native cannabis is missing a meta description — the 155-character summary that appears below your page title in Google search results. Search engines and users rely on this snippet to decide whether to click your link. Without it, Google generates a random excerpt, which often looks unprofessional and fails to highlight your key message.
Why it matters for your business: A missing meta description reduces click-through rate from search results, meaning fewer potential customers visit your site even when you rank well.
Technical root cause: The HTML <head> section lacks a <meta name="description" content="..."> tag. This is typically omitted during initial site setup or CMS configuration.
Recommended fix — step by step
tier2.schema.noneWhat it means (plain English)
Your site isn't using JSON-LD (a machine-readable format that tells search engines what your content is about). Search engines like Google use this to better understand your pages, show rich results (like star ratings or product details), and rank you higher for relevant searches. Without it, Google has to guess what your page is really about.
Why it matters for your business: Missing schema markup reduces your visibility in search results, especially for product pages and local business information — a critical channel for cannabis retail discovery and driving foot traffic or online orders.
Technical root cause: The page HTML does not contain any <script type="application/ld+json">...</script> blocks. This is typically a content management system configuration or template issue, not a server error.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your contact 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 snippet from your page content, which often looks unprofessional or doesn't clearly tell potential customers what the page is about.
Why it matters for your business: Fewer people will click your contact page from search results because the preview won't clearly communicate its purpose, reducing inquiries and customer acquisition.
Technical root cause: The HTML <head> section on /contact/ lacks a <meta name="description" content="..."> tag, so search engines have no curator-approved summary to display.
Recommended fix — step by step
tier2.schema.noneWhat it means (plain English)
Your contact page is missing JSON-LD schema—a machine-readable format that tells search engines what your page is about. Without it, Google can't reliably understand your business details (name, address, phone, hours) and may not display them in search results or maps. This is especially important for a cannabis retail business where local search visibility drives foot traffic.
Why it matters for your business: Missing schema reduces your chances of appearing in Google Local Pack results and knowledge panels, making it harder for nearby customers to find your dispensary's hours, location, and contact info when they search.
Technical root cause: The contact page HTML does not include any <script type="application/ld+json"> blocks. This is often overlooked on template-driven sites or those built without SEO plugins.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Your contact page has 6 images with no alternative text descriptions. Screen readers (tools blind and visually impaired users rely on) can't describe these images, and search engines can't understand what they show. This locks out a portion of your audience and wastes SEO opportunity.
Why it matters for your business: Visually impaired customers can't navigate your contact page effectively, and you're missing keyword signals that could improve organic search ranking for product/brand-related queries.
Technical root cause: Images were added to the page without the 'alt' HTML attribute, which provides text description for non-visual browsers and assistive technologies.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your /services/ 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 a snippet from your page content, which often looks choppy and may not convince people to click. This is one of the easiest SEO fixes with immediate payoff.
Why it matters for your business: A compelling meta description can increase click-through rate from search results by 5–10%, driving more qualified traffic to your services page without paying for ads.
Technical root cause: The page's HTML <head> section lacks a <meta name="description" content="..."> tag, or it exists but is empty.
Recommended fix — step by step
tier2.schema.noneWhat it means (plain English)
Your services page doesn't include structured data—a machine-readable format that tells search engines what your business offers, your location, hours, and credentials. Without it, Google and other search engines have to guess what your page is about, which hurts your visibility in local search results and knowledge panels.
Why it matters for your business: Cannabis retailers depend on local search visibility ("dispensaries near me") and trust signals like verified business info; missing schema reduces clicks from high-intent local customers and weakens your competitive position in maps/local pack results.
Technical root cause: The page HTML contains no JSON-LD blocks (the standard format search engines prefer). This is a template or CMS configuration issue—either the platform doesn't auto-generate schema, or it was disabled.
Recommended fix — step by step
sameAs link to your state cannabis regulatory board listing (e.g., ACMPR for Canada) to strengthen authority.tier2.meta.no-descriptionWhat it means (plain English)
Your 'Our Story' page is missing a meta description — the 50–160 character summary that appears below your page title in Google search results. Without it, search engines either show nothing or auto-generate clipped text, which looks unprofessional and reduces click-through rates.
Why it matters for your business: Missing meta descriptions lower click-through rates from search results, meaning fewer potential customers visit your site even when you rank well for relevant searches.
Technical root cause: The HTML <head> element on this page lacks a <meta name="description" content="..."> tag, or it is empty.
Recommended fix — step by step
tier2.schema.noneWhat it means (plain English)
Your website doesn't include JSON-LD structured data—a machine-readable format that tells Google and other search engines what your pages are about. For a wellness brand, this means search engines may not fully understand your content, products, or business details, which can hurt visibility in local search results and knowledge panels.
Why it matters for your business: Missing structured data reduces your chances of appearing in Google's local pack, product carousels, and rich snippets—all of which drive foot traffic and online credibility for wellness and retail businesses.
Technical root cause: The page HTML contains no <script type="application/ld+json"> blocks. This is often omitted on static HTML sites or content management systems that don't have schema plugins enabled.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your blog page is missing a meta description—the 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 doesn't tell potential customers what they'll find.
Why it matters for your business: A missing meta description reduces click-through rates from search results because users can't see a clear, compelling preview of your blog content before visiting.
Technical root cause: The HTML <head> section of the blog page lacks a <meta name="description" content="..."> tag, so search engines have no author-written summary to display.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Your blog page has 5 images that are missing alt text — short descriptive labels that explain what each image shows. Search engines and assistive technology (screen readers used by visually impaired visitors) can't understand images without these labels, so they see blank spaces instead of useful content.
Why it matters for your business: Missing alt text reduces your blog's ranking potential in Google Images and general search results, and makes your site inaccessible to customers using screen readers — both hurt discoverability and exclude potential buyers.
Technical root cause: Images were uploaded or embedded without alt attributes populated in the HTML code, likely because the CMS upload form didn't enforce this field or it was left blank during publication.
Recommended fix — step by step
tier2.schema.noneWhat it means (plain English)
Your website doesn't include JSON-LD structured data — machine-readable code that tells search engines what your pages are about. For a wellness/cannabis site, this means Google can't easily understand your product offerings, business location, or license information, making it harder for potential customers to find you in search results.
Why it matters for your business: Without structured data, your dispensary loses visibility in local search results and Google may not display your business information, hours, or products in rich snippets that drive clicks.
Technical root cause: The page template lacks JSON-LD markup blocks (typically placed in the <head> or at page close). Search engines rely on this standardized format to extract and validate business, product, and local information.
Recommended fix — step by step
tier2.schema.noneWhat it means (plain English)
Your website doesn't include JSON-LD structured data—a standardized code format that tells Google and other search engines what your business is, what products you sell, and other key details. Without it, search engines have to guess the meaning of your content, which can hurt how your site appears in search results and knowledge panels.
Why it matters for your business: Missing schema markup reduces your chances of appearing in local search results, Google Maps, and rich snippets (special formatted results) that drive foot traffic and online orders for cannabis retailers.
Technical root cause: No structured data blocks (JSON-LD) have been added to the page HTML. This is typically a development task—the code must be manually inserted into the page template or configured via a plugin/CMS.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your 'Our Grow' page is missing a meta description — the 50–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 loses the chance to persuade someone to click.
Why it matters for your business: Missing meta descriptions reduce click-through rates from search results; potential customers see a poor preview and may click a competitor's listing instead.
Technical root cause: The page HTML lacks a <meta name="description" content="..."> tag in the <head> section.
Recommended fix — step by step
tier2.schema.noneWhat it means (plain English)
Your dispensary listing page doesn't include structured data—a machine-readable format that tells search engines what information is on your page. Without it, Google can't easily understand that you're a cannabis retailer with specific locations, hours, and licensing info, which means your business won't appear in local search results or Google Maps as richly as competitors who have this.
Why it matters for your business: Missing schema data reduces your visibility in local search results and Google Maps, directly impacting foot traffic from customers searching for 'cannabis near me' or 'dispensaries open now.'
Technical root cause: The page HTML contains no JSON-LD blocks (a standard format for structured data). Search engines fall back to guessing your content type and details from plain text alone, which is unreliable for cannabis retail locations.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Every image on your 'Our Dispensaries' page is missing alt text—descriptive labels that explain what each image shows. Search engines and screen readers (used by people with vision loss) can't understand the images without these labels. This hurts both SEO rankings and accessibility compliance.
Why it matters for your business: Missing alt text reduces your search visibility for dispensary location pages, blocks customers using assistive technology, and creates legal risk under ADA/AODA accessibility standards.
Technical root cause: Images were uploaded to the page without alt attribute metadata being added during upload or in the HTML/content management system.
Recommended fix — step by step
<img src="photo.jpg" alt="Your descriptive text here" />.tier2.schema.noneWhat it means (plain English)
Your product pages are missing structured data — machine-readable code that tells search engines what your products are, their prices, and availability. Without it, Google and other search engines have to guess what information on your pages means, and they often get it wrong or ignore it entirely.
Why it matters for your business: Missing schema markup reduces your chances of appearing in rich search results (like product cards with prices and ratings), which lowers click-through rates from search and makes it harder for customers to find you online.
Technical root cause: The page HTML does not include JSON-LD blocks in the <head> or <body> that describe products, organization, or local business information using Schema.org vocabulary.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Every image on your Products page is missing alt text—a short description that screen readers announce to visitors who are blind or low-vision, and that search engines use to understand what the image shows. This means some of your visitors cannot see or understand your product photos, and Google has less information to rank those pages.
Why it matters for your business: You're blocking customers with visual impairments from browsing products, and you're losing SEO value because search engines cannot index what your product images depict.
Technical root cause: Images were added to the page without alt attributes (the HTML 'alt' property that describes each image). This is common when images are inserted via a CMS without deliberate alt-text entry.
Recommended fix — step by step
tier2.schema.noneWhat it means (plain English)
Your website doesn't include JSON-LD structured data — machine-readable code that tells Google what your business is, what you sell, and key facts like your location and hours. Without it, search engines have to guess at your content, which means they may not display your business information correctly in search results.
Why it matters for your business: Missing schema markup reduces the likelihood that Google will display your business name, cannabis license status, product categories, or customer reviews prominently in search results, directly lowering click-through rates from local and product searches.
Technical root cause: The page HTML lacks <script type="application/ld+json"> blocks. These are typically added either manually in the page template or via an SEO plugin that auto-generates them from page metadata.
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 your page title in Google search results. Without it, search engines generate a random excerpt from your page content, which often looks unprofessional and doesn't tell customers what your Mahnomen location offers. This hurts click-through rates from search results.
Why it matters for your business: Customers searching for cannabis near Mahnomen won't see a compelling reason to click your location page over competitors, reducing foot traffic and online visibility for that location.
Technical root cause: The page's HTML head section lacks a <meta name="description" content="..."> tag. This is either missing from the template or was never added during page creation.
Recommended fix — step by step
tier2.schema.noneWhat it means (plain English)
Your location pages don't include JSON-LD structured data — machine-readable code that tells Google what your business is, where it's located, and what services you offer. Without it, search engines have to guess at your content instead of reading it directly. This is especially important for cannabis retail, where location, licensing, and product info need to be crystal clear to search engines.
Why it matters for your business: Missing schema reduces your chances of appearing in Google Maps, local search results, and knowledge panels — all critical for driving foot traffic to your Mahnomen location.
Technical root cause: The page HTML contains no <script type="application/ld+json"> blocks. This is typically handled by your site platform (CMS, e-commerce tool, or custom code) and needs to be configured or added manually.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your Saint Cloud location page is missing a meta description — the 150–160 character summary that appears below 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 persuade people to click.
Why it matters for your business: Missing meta descriptions reduce click-through rates from local search results, directly costing you foot traffic and online orders at your Saint Cloud location.
Technical root cause: The HTML <head> section on this page lacks a <meta name="description" content="..."> tag. This is common when location pages are auto-generated without description templates.
Recommended fix — step by step
tier2.schema.noneWhat it means (plain English)
Your location pages lack JSON-LD structured data—a machine-readable format that tells Google what your business is, where it's located, and key details like hours and phone number. Without it, search engines have to guess at your information instead of reading it directly from your page code.
Why it matters for your business: Missing schema reduces your chances of appearing in Google Maps, local search results, and knowledge panels—critical for a dispensary where customers search by location and hours.
Technical root cause: The location page HTML does not contain <script type="application/ld+json"> blocks that define LocalBusiness, Place, or Organization entities. This is a code-level addition, not a content issue.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your Moorhead location page lacks a meta description—the 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 unprofessional and doesn't encourage clicks.
Why it matters for your business: Missing meta descriptions reduce click-through rates from search results, directly losing foot traffic to your Moorhead dispensary location page when customers search for local cannabis availability.
Technical root cause: The page HTML does not include a <meta name="description" content="..."> tag in the <head> section. This is often caused by incomplete page templates or content management system setup.
Recommended fix — step by step
tier2.schema.noneWhat it means (plain English)
Your location pages lack JSON-LD structured data—machine-readable code that tells Google what your business is, where it's located, and key details like hours and phone number. Without it, search engines have to guess at your information instead of reading it directly from your page.
Why it matters for your business: Missing structured data reduces your chances of appearing in Google Maps, local search results, and knowledge panels—critical for a cannabis dispensary where customers search by location and hours.
Technical root cause: The location pages (e.g., /location/moorhead/) do not contain JSON-LD blocks in the page source. These are typically added in the <head> or <body> via a plugin, theme feature, or custom code.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your category page doesn't have a meta description — the 160-character summary that appears below 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 tell potential customers what to expect.
Why it matters for your business: Missing meta descriptions reduce click-through rates from search results because users can't quickly understand what the page offers, directly costing you cannabis retail traffic.
Technical root cause: The page template or category archive doesn't include a meta description tag in the HTML <head> section, likely because the site generator (WordPress, custom CMS, or static build) wasn't configured to auto-generate one for category pages.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your blog category page (/category/blog/) is missing a meta description — a 150-160 character summary that tells search engines and users what the page is about. This summary appears in Google search results below your page title, influencing whether people click through to visit.
Why it matters for your business: Without a meta description, Google may auto-generate a snippet from your page content, which often looks incomplete or unprofessional and reduces click-through rate from search results.
Technical root cause: The HTML <head> section on this page lacks a <meta name="description" content="..."> tag, either because the CMS did not auto-generate one or it was left blank.
Recommended fix — step by step
tier2.schema.noneWhat it means (plain English)
Your website is not using JSON-LD structured data, which is a standardized way to tell Google what your content is about. Think of it like labeling boxes in a warehouse so Google's robots can quickly understand your products, business info, and reviews without having to guess. Without this, search engines may misunderstand or ignore key details about your dispensary.
Why it matters for your business: Missing structured data reduces your chances of appearing in Google's rich results (like product cards, reviews, and local business listings), which directly lowers click-through rates and traffic from organic search.
Technical root cause: The page (and likely your site) lacks JSON-LD markup blocks in the HTML head or body. This is often because the content management system or theme was not configured to output schema.org code, or the markup was never added.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your blog post page (hello-world/) is missing a meta description — the 155-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 tell visitors why they should click.
Why it matters for your business: Missing meta descriptions reduce click-through rates from search results, meaning fewer potential customers visit your site even when you rank well for relevant wellness and cannabis-related searches.
Technical root cause: The page's HTML <head> section contains no <meta name="description" content="..."> tag, likely because it was published without one or your CMS/page builder didn't auto-generate it.
Recommended fix — step by step
tier2.schema.noneWhat it means (plain English)
Your blog post pages don't have structured data — machine-readable labels that tell search engines what type of content you're publishing (article, product, organization, etc.). Without it, search engines have to guess the context of your content, which reduces the chance it appears in specialized search results like 'wellness products near me' or featured snippets.
Why it matters for your business: Missing schema data means your blog content is less likely to rank in Google search results for wellness and cannabis-related queries, directly reducing organic traffic and patient/customer discovery.
Technical root cause: The blog post HTML is missing JSON-LD blocks in the <head> or <body> section. Most modern site builders and WordPress plugins generate this automatically, but your site either doesn't have this enabled or uses a platform that requires manual implementation.
Recommended fix — step by step
tier2.schema.noneWhat it means (plain English)
Your blog post pages don't include JSON-LD structured data—invisible code that tells Google what your content is about (e.g., that a page is a blog post, who wrote it, when it was published). Without it, search engines have to guess your content's meaning, which can reduce how well your pages rank and how they appear in search results.
Why it matters for your business: Missing schema reduces your chances of appearing in Google's featured snippets and knowledge panels, limiting organic traffic to your wellness content and making it harder for potential customers to discover your blog posts through search.
Technical root cause: The page's HTML does not include a <script type="application/ld+json"> block. This is often missing on static HTML or sites built without an SEO plugin that auto-generates schema markup.
Recommended fix — step by step
tier2.schema.noneWhat it means (plain English)
Your blog post page doesn't include JSON-LD structured data — a standardized code format that tells search engines what your content is about. Without it, Google can't reliably understand that this is a wellness blog post, which limits how it appears in search results and voice assistant answers.
Why it matters for your business: Missing schema reduces organic search visibility and click-through rates, especially for featured snippets and rich results that drive traffic to wellness content.
Technical root cause: The page template lacks JSON-LD markup blocks (typically <script type="application/ld+json"> tags in the <head> section) that describe the article's title, publication date, author, and content type to search engines.
Recommended fix — step by step
<script type="application/ld+json"> blocks in the <head> section<head> section with Article schema including: headline, datePublished, author name, and descriptiontier2.schema.noneWhat it means (plain English)
Your blog post page doesn't include JSON-LD (a machine-readable format embedded in the page code that tells search engines what the content is about). Search engines use this data to better understand your content and display it more prominently in results—for example, showing author, publish date, and article type directly in search listings.
Why it matters for your business: Without schema markup, your blog posts are less likely to appear in Google's featured snippets or rich search results, reducing organic traffic and credibility signals that drive patient discovery.
Technical root cause: The page HTML lacks JSON-LD <script type="application/ld+json"> blocks that define article metadata (headline, author, datePublished, articleBody, etc.) in a structured format that search engines expect.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your privacy policy page is missing a meta description — the 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 incomplete or poorly formatted. This hurts click-through rates from search.
Why it matters for your business: Visitors searching for your privacy policy or compliance information see an unclear search result, reducing trust and legal defensibility; compliance-conscious customers may skip your site.
Technical root cause: The HTML <head> element on this page lacks a <meta name="description" content="..."> tag, or it is empty.
Recommended fix — step by step
tier2.schema.noneWhat it means (plain English)
Your website doesn't include structured data markup (JSON-LD), which is machine-readable code that tells search engines what your pages are about. For a cannabis wellness brand, this means Google and other search engines have to guess whether your content is about products, education, or compliance information instead of understanding it clearly.
Why it matters for your business: Without structured data, your pages are less likely to appear in rich search results (with ratings, images, or special formatting), which reduces click-through rates from organic search and makes it harder for customers to find you compared to competitors who have implemented this.
Technical root cause: The page is missing JSON-LD schema blocks in the HTML <head> or body. This is typically a development task—the platform (WordPress, custom CMS, static HTML) has not been configured to generate or insert these structured data blocks.
Recommended fix — step by step
tier2.schema.noneWhat it means (plain English)
Your education page about first-time dispensary visits has no structured data — metadata that search engines read to understand what your content is about. This is like having a book with no title or description on the spine; search engines have to guess. Adding JSON-LD schema (a machine-readable format) tells Google exactly what you're offering, which improves your chances of appearing in relevant search results and rich snippets.
Why it matters for your business: Without schema markup, you're invisible to search features like Google's FAQ or How-To snippets, which drive clicks from customers searching 'how to visit a cannabis dispensary for the first time' — a high-intent query you should own.
Technical root cause: The page is published without schema.org JSON-LD blocks in the HTML head or body. Most content management systems have plugins or native fields to auto-generate this; if absent, it was never added during page creation.
Recommended fix — step by step
tier2.schema.noneWhat it means (plain English)
Your education page doesn't include structured data—a machine-readable format (JSON-LD) that tells search engines what your content is about. This markup helps Google understand your page's topic, authorship, and purpose, which can improve how it appears in search results and enable special search features like rich snippets.
Why it matters for your business: Without schema markup, your educational content ranks lower in search results and misses opportunities to appear in featured snippets or knowledge panels, reducing organic traffic from people searching for cannabis wellness information.
Technical root cause: The page HTML lacks JSON-LD blocks in the <head> or <body> that define content type (e.g., Article, FAQPage, BreadcrumbList). This is typically a development oversight or incomplete CMS configuration.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your author page (Derek Lee's profile) is missing a meta description—the 160-character summary that appears under your page title in Google search results. Without it, Google generates a generic snippet from page content, which reduces click-through rates because potential customers see less relevant information upfront.
Why it matters for your business: Missing meta descriptions on author/staff pages reduce organic search traffic to these profile pages and weaken your brand authority signals; for a wellness dispensary, staff expertise builds customer trust and drives local search visibility.
Technical root cause: The author template or page content management system is not automatically populating or allowing manual entry of meta description tags in the HTML <head> section.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your author page (/author/slash/) is missing a meta description — the 155-character summary that appears under your page title in Google search results. Without it, search engines will auto-generate a snippet from your page text, which is often choppy and doesn't highlight what makes your content valuable. This reduces click-through rate from search.
Why it matters for your business: People searching for cannabis wellness content may skip your author page in search results if the preview looks generic or incomplete, costing you traffic and potential customers.
Technical root cause: The HTML <head> tag on this page lacks a <meta name="description" content="..."> element. This is commonly caused by incomplete setup in CMS author templates or page builders that don't auto-populate descriptions for archive/author pages.
Recommended fix — step by step
tier2.schema.noneDetail
Page has no JSON-LD structured data blocks.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.schema.noneDetail
Page has no JSON-LD structured data blocks.
tier2.schema.noneDetail
Page has no JSON-LD structured data blocks.
tier2.meta.no-descriptionDetail
Page has no meta description.
tier2.meta.no-descriptionDetail
Page has no meta description.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-descriptionDetail
Page has no meta description.
tier2.meta.no-descriptionDetail
Page has no meta description.
tier2.meta.no-descriptionDetail
Page has no meta description.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.schema.noneDetail
Page has no JSON-LD structured data blocks.
tier2.schema.noneDetail
Page has no JSON-LD structured data blocks.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.schema.noneDetail
Page has no JSON-LD structured data blocks.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.links.brokenDetail
Broken internal links degrade UX + crawl equity.
tier4.schema.missing-coreDetail
Every site should emit Organization + LocalBusiness + WebSite JSON-LD.
tier5.header.strict-transport-securityDetail
strict-transport-security not present on homepage response. Affects fortress score and CSP posture.
tier5.header.x-frame-optionsDetail
x-frame-options not present on homepage response. Affects fortress score and CSP posture.
tier5.header.content-security-policyDetail
content-security-policy not present on homepage response. Affects fortress score and CSP posture.
tier6.a11y.small-targetsDetail
Interactive elements smaller than 44x44 fail WCAG 2.5.5 target size.
tier6.a11y.small-targetsDetail
Interactive elements smaller than 44x44 fail WCAG 2.5.5 target size.
tier6.a11y.small-targetsDetail
Interactive elements smaller than 44x44 fail WCAG 2.5.5 target size.
tier6.a11y.small-targetsDetail
Interactive elements smaller than 44x44 fail WCAG 2.5.5 target size.
tier8.lighthouse.perf-mobileDetail
Score 70 is below target 85. See HTML report for details.
tier9.a11y.landmark-one-mainDetail
Ensure the document has a main landmark
Impact: moderate
WCAG:
Learn more: https://dequeuniversity.com/rules/axe/4.11/landmark-one-main?application=playwright
tier9.a11y.page-has-heading-oneDetail
Ensure that the page, or at least one of its frames contains a level-one heading
Impact: moderate
WCAG:
Learn more: https://dequeuniversity.com/rules/axe/4.11/page-has-heading-one?application=playwright
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.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.
tier2.meta.title-lengthDetail
Title should be 20-65 chars. Got: "The Definitive Guide to Native-Grown Cannabis: The Waabigwan Mashkiki Difference - Waabigwan Mashkiki"
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.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.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.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.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.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.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.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.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.
tier3.weight.js-mobileDetail
JavaScript transfer exceeds 250KB budget.
tier3.weight.js-desktopDetail
JavaScript transfer exceeds 250KB budget.
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 waabigwan.com. DKIM improves deliverability + anti-spoofing.
tier8.lighthouse.a11y-mobileDetail
Score 88 is below target 95. See HTML report for details.
tier8.lighthouse.bestPractices-mobileDetail
Score 79 is below target 90. 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.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-css-rules-mobileDetail
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.
tier8.lighthouse.a11y-desktopDetail
Score 84 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-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.
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.
_47 findings on this page_
Your website has 2 links that lack descriptive text, making them invisible to screen readers and keyboard-only users. One is an empty link (likely a button or navigation element), and another wraps an
Four navigation menu links in your header are too small or too close together for easy tapping on mobile devices. The links are only 18 pixels tall when they should be at least 24 pixels, and they don
Your website doesn't include JSON-LD structured data—a standardized code format that tells Google and other search engines what your business is, what products you sell, and other key details. Without
_6 findings on this page_
Your page about Minnesota-native cannabis is missing a meta description — the 155-character summary that appears below your page title in Google search results. Search engines and users rely on this s
Your site isn't using JSON-LD (a machine-readable format that tells search engines what your content is about). Search engines like Google use this to better understand your pages, show rich results (
_5 findings on this page_
Your blog post page (hello-world/) is missing a meta description — the 155-character summary that appears under your link in Google search results. Without it, Google generates a random snippet from y
Your website doesn't include structured data — machine-readable information that search engines use to understand what your pages are about. This is like having a storefront with no signage telling Go
_5 findings on this page_
Your contact 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 snippet from your page c
Your contact page is missing JSON-LD schema—a machine-readable format that tells search engines what your page is about. Without it, Google can't reliably understand your business details (name, addre
Your contact page has 6 images with no alternative text descriptions. Screen readers (tools blind and visually impaired users rely on) can't describe these images, and search engines can't understand
_5 findings on this page_
Your /services/ 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 a snippet from your page
Your services page doesn't include structured data—a machine-readable format that tells search engines what your business offers, your location, hours, and credentials. Without it, Google and other se
_5 findings on this page_
Your 'Our Story' page is missing a meta description — the 50–160 character summary that appears below your page title in Google search results. Without it, search engines either show nothing or auto-g
Your website doesn't include JSON-LD structured data—a machine-readable format that tells Google and other search engines what your pages are about. For a wellness brand, this means search engines may
_5 findings on this page_
Your privacy policy page is missing a meta description — the 150-160 character summary that appears below your page title in Google search results. Without it, Google may auto-generate a snippet from
_5 findings on this page_
Your blog page is missing a meta description—the 160-character summary that appears below your page title in Google search results. Without it, Google generates a random snippet from your page content
Your blog page has 5 images that are missing alt text — short descriptive labels that explain what each image shows. Search engines and assistive technology (screen readers used by visually impaired v
_5 findings on this page_
Your website doesn't include JSON-LD structured data — machine-readable code that tells search engines what your pages are about. For a wellness/cannabis site, this means Google can't easily understan
_5 findings on this page_
Your 'Our Grow' page is missing a meta description — the 50–160 character summary that appears under your page title in Google search results. Without it, Google generates a random snippet from your p
Your website doesn't include structured data markup (JSON-LD), which is machine-readable code that tells search engines what your pages are about. For a cannabis wellness brand, this means Google and
_5 findings on this page_
Your dispensary listing page doesn't include structured data—a machine-readable format that tells search engines what information is on your page. Without it, Google can't easily understand that you'r
Every image on your 'Our Dispensaries' page is missing alt text—descriptive labels that explain what each image shows. Search engines and screen readers (used by people with vision loss) can't underst
_5 findings on this page_
Your product pages are missing structured data — machine-readable code that tells search engines what your products are, their prices, and availability. Without it, Google and other search engines hav
Every image on your Products page is missing alt text—a short description that screen readers announce to visitors who are blind or low-vision, and that search engines use to understand what the image
_5 findings on this page_
Your education page about first-time dispensary visits has no structured data — metadata that search engines read to understand what your content is about. This is like having a book with no title or
_5 findings on this page_
This page is missing a meta description—the 155-character summary that appears below your page title in Google search results. Without it, search engines generate a random excerpt from your page conte
Your location pages don't include JSON-LD structured data — machine-readable code that tells Google what your business is, where it's located, and what services you offer. Without it, search engines h
_5 findings on this page_
Your Saint Cloud location page is missing a meta description — the 150–160 character summary that appears below your page title in Google search results. Without it, search engines generate a random s
Your location pages lack JSON-LD structured data—a machine-readable format that tells Google what your business is, where it's located, and key details like hours and phone number. Without it, search
_5 findings on this page_
Your Moorhead location page lacks a meta description—the 155-character summary that appears under your page title in Google search results. Without it, Google generates a random snippet from your page
Your location pages lack JSON-LD structured data—machine-readable code that tells Google what your business is, where it's located, and key details like hours and phone number. Without it, search engi
_5 findings on this page_
Your category page doesn't have a meta description — the 160-character summary that appears below your page title in Google search results. Without it, search engines generate a random snippet from yo
_5 findings on this page_
Your blog category page (/category/blog/) is missing a meta description — a 150-160 character summary that tells search engines and users what the page is about. This summary appears in Google search
_5 findings on this page_
Your author page (Derek Lee's profile) is missing a meta description—the 160-character summary that appears under your page title in Google search results. Without it, Google generates a generic snipp
_5 findings on this page_
Your author page (/author/slash/) is missing a meta description — the 155-character summary that appears under your page title in Google search results. Without it, search engines will auto-generate a
Your website is not using JSON-LD structured data, which is a standardized way to tell Google what your content is about. Think of it like labeling boxes in a warehouse so Google's robots can quickly
_4 findings on this page_
Your blog post pages don't include JSON-LD structured data — machine-readable code that tells search engines what your content is about. Without it, Google can't easily understand that you're a cannab
Seven images on your blog post page lack alternative text — descriptive labels that screen readers announce to visually impaired visitors, and that search engines use to understand image content. This
_4 findings on this page_
Your blog post pages don't have structured data — machine-readable labels that tell search engines what type of content you're publishing (article, product, organization, etc.). Without it, search eng
Every image on your blog post page lacks alternative text (alt text)—a short description that screen readers read aloud to blind or low-vision visitors, and that search engines use to understand what
_4 findings on this page_
Your blog post pages don't include JSON-LD structured data—invisible code that tells Google what your content is about (e.g., that a page is a blog post, who wrote it, when it was published). Without
All 7 images on this blog post page are missing alt text — short descriptions that tell screen readers and search engines what each image shows. This makes the page inaccessible to visually impaired v
_4 findings on this page_
Your blog post pages don't include JSON-LD structured data—machine-readable code that tells search engines what content is on the page (e.g., 'this is a blog article written by Jane Doe on March 15').
Seven images on your blog post page lack alt text — a short text description that screen readers use to describe images to visually impaired visitors, and that search engines use to understand image c
_4 findings on this page_
Your blog post pages don't include JSON-LD structured data—a machine-readable format that tells search engines what type of content you're publishing (article, product, organization, etc.). Without it
All 7 images on this blog post page are missing alt text—descriptive text that screen readers read aloud to visually impaired users, and that search engines use to understand image content. This block
_4 findings on this page_
Your blog post page doesn't include JSON-LD structured data — a standardized code format that tells search engines what your content is about. Without it, Google can't reliably understand that this is
Your blog post page has 7 images that lack alt text—descriptive text that explains what each image shows. Search engines and screen readers (used by people with visual impairments) rely on alt text to
_4 findings on this page_
Your blog post page doesn't include JSON-LD (a machine-readable format embedded in the page code that tells search engines what the content is about). Search engines use this data to better understand
This blog post has 7 images with no alternative text descriptions. Alt text is the text read aloud by screen readers for people with vision loss, and it also helps search engines understand what image
_4 findings on this page_
Your blog post pages don't include structured data markup—hidden code that tells search engines what your content is about. Without it, Google can't confidently understand that you're a cannabis welln
All 7 images on this blog post page are missing alt text — a short text description that tells search engines and visitors using screen readers what the image shows. This is both an accessibility barr
_4 findings on this page_
All 6 images on this blog post page lack alt text—descriptive labels that screen reader users depend on to understand image content, and that search engines use to index images. Without alt text, visu
_4 findings on this page_
Your education page doesn't include structured data—a machine-readable format (JSON-LD) that tells search engines what your content is about. This markup helps Google understand your page's topic, aut
_4 findings on this page_
Your website doesn't include JSON-LD structured data — machine-readable code that tells Google what your business is, what you sell, and key facts like your location and hours. Without it, search engi
_1 finding on this page_
Your WordPress admin login page (/wp-login.php) is publicly accessible and returns a successful response. This is a security vulnerability because attackers can attempt to guess administrator password
_Generated by Apex Sentinel Monthly Audit · 2026-04-19T07:24:34.968Z · Powered by Bud Authority._
Generated by Apex Sentinel · © 2026 Bud Authority