# Apex Sentinel — Waabigwan Monthly Audit

**URL:** https://waabigwan.com/
**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.

---

## Executive Summary

**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 |

---

## Top 10 Actions (Ranked)

If you only have time for ten things this month, do these — in this order.

1. **[P0] 🔴 DO FIRST Sensitive artifact exposed: /wp-login.php** — _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._
   Page: https://waabigwan.com/wp-login.php
   Effort: Moderate (1-3 hours)
2. **[P1] 🔴 DO FIRST A11y: Links must have discernible text (×2)** — _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._
   Page: https://waabigwan.com/
   Effort: Quick win (< 30 min)
3. **[P1] 🟠 HIGH A11y: All touch targets must be 24px large, or leave sufficient space (×4)** — _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._
   Page: https://waabigwan.com/
   Effort: Quick win (< 30 min)
4. **[P1] A11y: Elements must meet minimum color contrast ratio thresholds**
   Page: https://waabigwan.com/
5. **[P2] 🟠 HIGH No JSON-LD schema** — _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._
   Page: https://waabigwan.com/hello-world/
   Effort: Moderate (1-3 hours)
6. **[P2] 🟠 HIGH No JSON-LD schema** — _Missing schema data reduces organic search visibility and click-through rates for wellness and product-related blog content, directly limiting customer discovery._
   Page: https://waabigwan.com/blog-post-title-1/
   Effort: Moderate (1-3 hours)
7. **[P2] 🟠 HIGH 7 image(s) missing alt text** — _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._
   Page: https://waabigwan.com/blog-post-title-1/
   Effort: Quick win (< 30 min)
8. **[P2] 🟠 HIGH 7 image(s) missing alt text** — _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._
   Page: https://waabigwan.com/blog-post-title-4/
   Effort: Quick win (< 30 min)
9. **[P2] 🟠 HIGH 7 image(s) missing alt text** — _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._
   Page: https://waabigwan.com/blog-post-title-3/
   Effort: Quick win (< 30 min)
10. **[P2] 🟠 HIGH No JSON-LD schema** — _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._
   Page: https://waabigwan.com/blog-post-title-2/
   Effort: Moderate (1-3 hours)

---

## Findings by Severity

### P0 — 1 finding

### 1. Sensitive artifact exposed: /wp-login.php

- **Severity:** P0   |   **Priority:** 🔴 DO FIRST
- **Effort:** Moderate (1-3 hours)
- **Business category:** security
- **Page URL:** https://waabigwan.com/wp-login.php
- **Rule:** `tier5.exposed.artifact`

**What 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**

1. Contact your hosting provider and request they add a WAF (Web Application Firewall) rule to block or require IP whitelisting for /wp-login.php access
2. Install a WordPress security plugin (e.g., Wordfence, Sucuri) → activate Brute Force Protection → enable login attempt rate limiting to 5 failed attempts per 15 minutes
3. Rename the WordPress login URL: in your security plugin settings, change the login path from /wp-login.php to something like /admin-xyz123/ and disable access to the old path
4. Enable two-factor authentication (2FA) for all admin accounts via your security plugin to add a second verification step even if passwords are compromised
5. Review hosting control panel (cPanel/Plesk) for built-in IP blocking tools and block common attacking IP ranges, or use fail2ban if you have server access

---

### P1 — 3 findings

### 1. A11y: Links must have discernible text (×2)

- **Severity:** P1   |   **Priority:** 🔴 DO FIRST
- **Effort:** Quick win (< 30 min)
- **Business category:** compliance
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier9.a11y.link-name`

**What 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**

1. In WordPress admin, go to Pages → Home (or the affected page) and open it in Elementor (or your page builder).
2. Find the first affected link (selector .elementor-element-5f473bf) — it's likely a store navigation or CTA button — and add visible text inside it (e.g., 'Visit Our Store') or add an aria-label attribute with descriptive text via the element's accessibility panel.
3. For the second link (selector .elementor-element-0e5e5a3), which wraps a BudAuthority logo image, add descriptive alt text to the image (e.g., 'BudAuthority Partner Logo') or add aria-label='BudAuthority Partners' to the <a> tag itself.
4. In Elementor, select the image → Advanced → Accessibility and populate the aria-label field if the page builder supports it; otherwise, edit the HTML directly to add aria-label='BudAuthority Partners' to the link.
5. Publish the page and re-run your accessibility audit tool to confirm both links now have discernible names.
6. Consider installing the Accessibility Checker plugin (free) to catch similar issues before publishing.

### 2. A11y: All touch targets must be 24px large, or leave sufficient space (×4)

- **Severity:** P1   |   **Priority:** 🟠 HIGH
- **Effort:** Quick win (< 30 min)
- **Business category:** accessibility
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier9.a11y.target-size`

**What 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**

1. Log into WordPress admin → Elementor → edit the header section containing the main navigation menu
2. Select the menu widget → go to Style → Typography and increase Line Height to at least 1.5 (or to 24px minimum height)
3. In the same Style panel, add Padding (Top/Bottom) of at least 8px to increase clickable area vertically
4. Add Spacing (Margin) between menu items to at least 12–16px horizontally to create clear gaps
5. Test on mobile by previewing in Elementor's responsive view, then publish and verify with browser DevTools (Right-click → Inspect → toggle Device Toolbar)
6. Use axe DevTools browser extension to re-test and confirm all targets now meet 24×24px with safe spacing

### 3. A11y: Elements must meet minimum color contrast ratio thresholds

- **Severity:** P1
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier9.a11y.color-contrast`

**Detail**

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

---

### P2 — 85 findings

### 1. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/hello-world/
- **Rule:** `tier2.schema.none`

**What 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**

1. Add Organization schema to your homepage: insert a JSON-LD block with your business name, address, phone, email, and license number (if publicly displayable under state law) in the <head>.
2. Add LocalBusiness schema to pages targeting local search: include geo coordinates, service area, hours of operation, and license details.
3. Add Product schema to any product or strain listing pages: include name, description, THC/CBD percentages, price, and availability.
4. Test your schema using Google's Rich Results Test (search.google.com/test/rich-results): paste your URL and verify markup is valid and recognized.
5. Submit updated pages to Google Search Console (search.google.com/search-console) under 'Sitemaps' to re-crawl with new markup.
6. Monitor Search Console 'Enhancements' report monthly to catch any schema errors Google detects.

### 2. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/blog-post-title-1/
- **Rule:** `tier2.schema.none`

**What 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**

1. Audit your site platform: use a browser inspector (right-click → Inspect) and search the page source (Ctrl+F) for '<script type="application/ld+json">' — if absent, you have no schema
2. Add a BlogPosting schema block to every blog post: insert a JSON-LD script block in the <head> section that includes title, datePublished, author, and description
3. Add an Organization schema to your homepage <head> to establish your business identity: include name, logo URL, contact info, and sameAs links to your social profiles
4. For product/dispensary pages, add LocalBusiness or Store schema with address, phone, hours, and license number (if publicly displayable)
5. Use Google's Structured Data Testing Tool (search.google.com/test/rich-results) to validate each schema block after publishing
6. Install an SEO plugin if using WordPress (Yoast SEO or Rank Math) → Settings → Schema → enable BlogPosting and Organization auto-generation
7. If custom-coded, add a template snippet so schema is automatically generated for all future blog posts

### 3. 7 image(s) missing alt text

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Quick win (< 30 min)
- **Business category:** accessibility
- **Page URL:** https://waabigwan.com/blog-post-title-1/
- **Rule:** `tier2.a11y.img-missing-alt`

**What 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**

1. Log into your CMS admin and navigate to the blog post 'blog-post-title-1'
2. Click 'Edit' and scan the post for all embedded images
3. For each image, click it to open the media properties panel
4. In the 'Alt Text' or 'Alternative Text' field, write a 5–15 word description of what the image shows (e.g., 'cannabis plant with purple flowers in grow tent' not just 'image')
5. Repeat for all 7 images, ensuring each alt text is unique and descriptive
6. Save the post and reload the live page in your browser to confirm
7. Use a free browser tool like WAVE (wave.webaim.org) to re-scan the page and verify no alt-text warnings remain

### 4. 7 image(s) missing alt text

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Quick win (< 30 min)
- **Business category:** accessibility
- **Page URL:** https://waabigwan.com/blog-post-title-4/
- **Rule:** `tier2.a11y.img-missing-alt`

**What 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**

1. Log into your content management system and navigate to the blog post at /blog-post-title-4/
2. Open the post in edit mode and locate each image
3. For each of the 7 images, click the image and fill in the 'Alt Text' or 'Alternative Text' field with a short, descriptive phrase (e.g., 'Waabigwan wellness product on wooden surface' or 'Customer using Waabigwan treatment')
4. Ensure alt text is 5–15 words and describes what the image shows, not just 'image' or 'photo'
5. Save and publish the post
6. Run the page through WebAIM's WAVE tool (https://wave.webaim.org/) to confirm all images now have alt text

### 5. 7 image(s) missing alt text

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Quick win (< 30 min)
- **Business category:** accessibility
- **Page URL:** https://waabigwan.com/blog-post-title-3/
- **Rule:** `tier2.a11y.img-missing-alt`

**What 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**

1. Open the blog post in your CMS editor (WordPress, Shopify, etc.) and locate the Images section
2. Click each image and find the 'Alt Text' or 'Alternative Text' field in the image settings panel
3. Write concise, descriptive alt text for each image (e.g., 'Waabigwan wellness tincture bottle on white background' or 'Customer holding CBD product'); avoid redundant phrases like 'image of'
4. If using WordPress: install and activate the 'Alt Text' or 'SEO-friendly Images' plugin to add a compliance reminder on upload
5. Save changes and publish the post
6. Test with a screen reader tool like NVDA (free, Windows) or VoiceOver (built-in, Mac) to confirm alt text is read aloud

### 6. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/blog-post-title-2/
- **Rule:** `tier2.schema.none`

**What 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**

1. Identify your CMS platform (WordPress, custom, Shopify, etc.) by checking the HTML source: right-click page → 'View Page Source' → look for wp-content (WordPress), shopify-cdn (Shopify), or generator meta tag.
2. If WordPress: Install the Yoast SEO or Rank Math free plugin (Plugins → Add New → search 'Yoast SEO' → Install & Activate), then enable schema for Blog Posts (Settings → Blog Schema toggle).
3. If custom/unknown CMS: Add BlogPosting schema to your blog post template. Copy this template into your page header: <script type="application/ld+json">{"@context":"https://schema.org","@type":"BlogPosting","headline":"[POST TITLE]","datePublished":"[PUBLISH DATE]","author":{"@type":"Person","name":"[AUTHOR NAME]"}}</script>
4. Replace [POST TITLE], [PUBLISH DATE], and [AUTHOR NAME] with dynamic values from your CMS.
5. Test the fix: visit https://validator.schema.org/ → paste your blog post URL → verify BlogPosting schema appears with no errors.
6. Apply the same schema pattern to all blog posts or configure your CMS to auto-generate it site-wide.

### 7. 7 image(s) missing alt text

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Quick win (< 30 min)
- **Business category:** accessibility
- **Page URL:** https://waabigwan.com/blog-post-title-2/
- **Rule:** `tier2.a11y.img-missing-alt`

**What 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**

1. Open the affected blog post in your CMS editor (WordPress, Shopify, or other platform's admin panel).
2. Locate each image in the post and select it; look for an 'Alt Text', 'Image Description', or 'Accessibility' field in the properties panel.
3. For each image, write a concise, descriptive alt text (1–10 words) that describes what the image shows and its relevance to the post — e.g., 'Cannabis wellness product displayed on white background' or 'Customer reading product information label'.
4. Avoid keyword stuffing; alt text should sound natural and describe the image itself, not marketing language.
5. Save and republish the blog post.
6. Use a free browser tool like WAVE (wave.webaim.org) or Lighthouse (built into Chrome DevTools) to re-scan the page and confirm all images now have alt text.
7. Apply the same process to other blog posts and product pages across your site to prevent this pattern from recurring.

### 8. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/blog-post-title-6/
- **Rule:** `tier2.schema.none`

**What 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**

1. Identify your CMS or static site generator: check the page source (Ctrl+U) for comments or meta tags (e.g., 'Powered by WordPress', 'Next.js', 'Gatsby'). If unknown, ask your hosting provider or developer.
2. If WordPress: install Yoast SEO or Rank Math plugin. In the plugin settings, enable 'Schema Output' and configure Article schema for blog posts. Go to Blog post → Edit → Schema tab → toggle 'Article' on.
3. If custom HTML/static: add this schema block to each blog post template in the <head> or before </body>: <script type="application/ld+json">{"@context":"https://schema.org","@type":"BlogPosting","headline":"[Page Title]","datePublished":"[ISO date]","author":{"@type":"Organization","name":"Waabigwan"},"image":"[Feature image URL]"}</script>
4. If using a headless CMS (Contentful, Strapi, etc.): ask your developer to add schema output to the blog post component template.
5. Test implementation: paste your blog URL into Google's Rich Results Test (https://search.google.com/test/rich-results) and verify 'Article' schema is detected with no errors.
6. Add schema to homepage as 'Organization' schema: name, logo, contact info, address—this builds trust for local cannabis retail.
7. Audit all key pages (product/menu pages, about, contact) and add schema: Product schema for dispensary items, LocalBusiness schema for store info.

### 9. 7 image(s) missing alt text

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Quick win (< 30 min)
- **Business category:** accessibility
- **Page URL:** https://waabigwan.com/blog-post-title-6/
- **Rule:** `tier2.a11y.img-missing-alt`

**What 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**

1. Open https://waabigwan.com/blog-post-title-6/ in your browser and identify each image visually.
2. For each image, right-click it and select 'Inspect' (or use your page editor's image properties panel).
3. Look for the <img> tag and check if it has an 'alt=' attribute; if missing or empty, note the image URL.
4. Edit the post in your CMS (WordPress: Media Library or post editor; others: admin panel → edit post).
5. Click each image and open its properties/settings panel.
6. Add concise, descriptive alt text (e.g., 'Woman meditating in natural light' not 'image123.jpg'); aim for 5–15 words that describe what you see and its relevance to wellness.
7. Save and publish the post.
8. Verify the change by re-inspecting the page in-browser to confirm alt text now appears in the <img> tag.

### 10. 7 image(s) missing alt text

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Quick win (< 30 min)
- **Business category:** accessibility
- **Page URL:** https://waabigwan.com/blog-post-title-5/
- **Rule:** `tier2.a11y.img-missing-alt`

**What 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**

1. Log in to your WordPress admin (or CMS) and navigate to the blog post at /blog-post-title-5/
2. Switch to Edit mode and scroll through the post to locate each image
3. Click each image → click the Edit/Settings icon → fill in the 'Alt Text' field with a 1–2 sentence description of what the image shows (e.g., 'Waabigwan wellness product bottle on marble surface')
4. For product or lifestyle images, include relevant keywords naturally (e.g., 'organic hemp oil tincture on wooden table') to aid SEO
5. Save changes and republish the post
6. Use a free browser tool like WAVE or axe DevTools to re-scan the page and confirm all images now have alt text

### 11. 7 image(s) missing alt text

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Quick win (< 30 min)
- **Business category:** accessibility
- **Page URL:** https://waabigwan.com/blog-post-title-8/
- **Rule:** `tier2.a11y.img-missing-alt`

**What 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**

1. Log into your blog editing backend and open the affected post (https://waabigwan.com/blog-post-title-8/)
2. Click each image to open its properties panel or 'edit image' dialog
3. In the 'Alt Text' or 'Description' field, write a brief, plain-language description of what the image shows (e.g., 'CBD wellness product bottle on marble surface' or 'Customer enjoying herbal tea outdoors')
4. Repeat for all 7 images—aim for 8–125 characters per alt text
5. Save the post and refresh the front-end to verify images load correctly
6. Use a free accessibility checker like axe DevTools (browser extension) to re-scan the post and confirm all images now have alt text
7. Create an internal editorial checklist: before publishing any blog post, require alt text for every image

### 12. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/blog-post-title-7/
- **Rule:** `tier2.schema.none`

**What 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**

1. Install Yoast SEO or Rank Math plugin (if WordPress); both auto-generate Article and Organization schema
2. If not WordPress, add JSON-LD blocks to your blog post template: wrap Article, BreadcrumbList, and Organization schema in <script type="application/ld+json"> tags in the <head>
3. For the Organization schema, include: name ('Waabigwan'), logo URL, contact info, and license number (cannabis compliance requirement)
4. Test the output using Google's Rich Results Tester (https://search.google.com/test/rich-results) — paste your blog URL and verify Article schema is recognized
5. Ensure BreadcrumbList schema is present on blog posts to improve internal linking signals
6. Add FAQPage schema to any blog posts containing Q&A content

### 13. 7 image(s) missing alt text

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Quick win (< 30 min)
- **Business category:** accessibility
- **Page URL:** https://waabigwan.com/blog-post-title-7/
- **Rule:** `tier2.a11y.img-missing-alt`

**What 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**

1. Log into your website admin and navigate to the blog post at /blog-post-title-7/
2. Open each image in the editor (click the image, then 'Edit' or pencil icon) and locate the 'Alt Text' or 'Alternative Text' field
3. For each image, write a brief, descriptive alt text (1–8 words) that describes what the image shows and relates to your cannabis wellness content — e.g., 'CBD tincture bottle on wooden table' or 'Woman applying topical cannabis balm to arm'
4. Save each image edit and then publish/update the post
5. Optional: Install the free Yoast SEO or All in One SEO plugin (if WordPress) to add a dashboard reminder for missing alt text on future posts

### 14. 6 image(s) missing alt text

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Quick win (< 30 min)
- **Business category:** accessibility
- **Page URL:** https://waabigwan.com/blog-post-title-9/
- **Rule:** `tier2.a11y.img-missing-alt`

**What 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**

1. Log into your CMS and navigate to the blog post at /blog-post-title-9/
2. Open the page editor and locate each of the 6 images
3. For each image, click the image settings/properties icon and find the 'Alt Text' or 'Alternative Text' field
4. Write a concise, descriptive alt text for each image (e.g., 'Waabigwan cannabis flower in glass jar' or 'Customer holding Waabigwan product package'—avoid 'image' or 'photo'; be specific about what is shown)
5. Save and publish the page
6. Repeat this process for any other blog posts or product pages with images

### 15. Missing meta description

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Quick win (< 30 min)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/minnesota-native-grown-cannabis-hub/
- **Rule:** `tier2.meta.no-description`

**What 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**

1. Access your site's HTML source (right-click → View Page Source on the affected URL) and confirm no meta description tag exists in the <head> section.
2. Identify your CMS or site-builder platform (WordPress, Shopify, Webflow, custom code, etc.) by checking the page footer or HTML comments.
3. If WordPress: install Yoast SEO or Rank Math, navigate to the post/page editor, scroll to the SEO plugin panel, and add a description under 'Meta Description' (aim for 150–160 characters mentioning 'Minnesota-native cannabis' + benefit).
4. If Shopify: edit the product or page → scroll to 'Search engine listing' → paste your description into the 'Meta description' field.
5. If custom HTML/static site: open the page's HTML file, add <meta name="description" content="Your 150-160 character description here."> inside the <head> tag before </head>.
6. Write descriptions for all other pages missing them (run a site audit tool like Screaming Frog or Ahrefs to identify all missing descriptions).
7. Verify the change by waiting 24 hours, then searching your site in Google (site:waabigwan.com) to confirm the description appears in results.

### 16. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/minnesota-native-grown-cannabis-hub/
- **Rule:** `tier2.schema.none`

**What 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**

1. Identify your platform: check the page source (right-click → View Page Source) for CMS clues (Shopify, WordPress, Drupal, custom). Search for admin URLs like /wp-admin, /admin, or /manage.
2. For WordPress: install Yoast SEO or Rank Math (both free). Go to plugin settings → Schema → enable 'Organization' and 'LocalBusiness' schema, then map your business details (name, address, phone, license info if public).
3. For Shopify: install 'SEO Manager' or 'Plug in SEO' app. Enable product and local business schema in app settings.
4. For custom/unknown platform: add this snippet to your page <head>: <script type="application/ld+json">{"@context":"https://schema.org","@type":"LocalBusiness","name":"Waabigwan","url":"https://waabigwan.com","address":{"@type":"PostalAddress","streetAddress":"[YOUR ADDRESS]","addressLocality":"[CITY]","addressRegion":"MN","postalCode":"[ZIP]"},"telephone":"[PHONE]","license":"[LICENSE#]"}</script>
5. Test your schema: go to Google's Rich Results Test (google.com/test/rich-results), paste your URL, run the test, and fix any errors.
6. Repeat for all high-traffic pages (product/strain pages, about, contact).
7. Monitor: check Google Search Console (search.google.com/search-console) monthly to see if schema errors appear.

### 17. Missing meta description

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Quick win (< 30 min)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/contact/
- **Rule:** `tier2.meta.no-description`

**What 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**

1. Open https://waabigwan.com/contact/ in your browser and right-click → View Page Source, then search for '<meta name="description"' to confirm it's missing.
2. Identify your page management system (WordPress, Shopify, custom HTML, etc.) by checking the footer for clues or asking your hosting provider.
3. If WordPress: install Yoast SEO plugin → go to Waabigwan admin → Pages → Contact → Yoast SEO box → fill the 'Meta description' field with: 'Get in touch with Waabigwan. Send us a message or call to learn more about our wellness products and services.'
4. If Shopify: go to admin.shopify.com → Pages → Contact → scroll to 'Search engine listing preview' → click 'Edit website SEO' → paste description in 'Meta description' field.
5. If custom HTML/other: add this line inside the <head> tag: <meta name="description" content="Get in touch with Waabigwan. Send us a message or call to learn more about our wellness products and services.">
6. Save/publish and wait 10 seconds, then refresh the live page and re-check the source code to confirm the tag now appears.
7. Test in Google Search Console (search.google.com → your property → Pages) to see the updated preview within 24–48 hours.

### 18. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Quick win (< 30 min)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/contact/
- **Rule:** `tier2.schema.none`

**What 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**

1. Add Organization schema to your homepage footer or <head>: include your business name, address, phone, license number (if public-facing), and hours of operation.
2. Add LocalBusiness or Cannabis Dispensary schema to the contact page specifically, marking up your street address, phone, email, and hours.
3. If your site is WordPress, install Yoast SEO or Rank Math, go to Settings → Schema, and enable LocalBusiness schema with your details.
4. If your site is custom HTML, paste this minimal LocalBusiness block into your contact page's <head>: <script type="application/ld+json">{"@context":"https://schema.org","@type":"LocalBusiness","name":"Waabigwan","address":{"@type":"PostalAddress","streetAddress":"[YOUR ADDRESS]","addressLocality":"[CITY]","addressRegion":"[STATE]","postalCode":"[ZIP]"},"telephone":"[YOUR PHONE]","url":"https://waabigwan.com"}</script>
5. Test the schema using Google's Rich Results Test (search.google.com/test/rich-results) and paste your contact page URL.
6. Once validated, add the same schema to your homepage, product/menu pages, and anywhere you list hours or location.
7. Monitor Search Console (Google Search Console) under Enhancements → Structured Data to ensure no errors appear.

### 19. 6 image(s) missing alt text

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Quick win (< 30 min)
- **Business category:** accessibility
- **Page URL:** https://waabigwan.com/contact/
- **Rule:** `tier2.a11y.img-missing-alt`

**What 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**

1. Open https://waabigwan.com/contact/ in your browser and inspect each image (right-click → Inspect or press F12)
2. For each image's HTML, locate the <img> tag and check if it has an 'alt=""' attribute; if empty or missing, note the image
3. Add or edit the alt attribute for each image with a concise, descriptive phrase (e.g., alt="Waabigwan dispensary storefront" or alt="Cannabis product shelf") — avoid keyword stuffing
4. If using a page builder (WordPress Elementor, Divi, Webflow, Wix), edit each image block's alt text field directly in the visual editor
5. Save changes and re-test using WAVE (wave.webaim.org) or axe DevTools browser extension to confirm all 6 images now have alt text
6. Prioritize alt text for any product or location images; for decorative spacers, use alt="" (empty) to tell screen readers to skip

### 20. Missing meta description

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Quick win (< 30 min)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/services/
- **Rule:** `tier2.meta.no-description`

**What 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**

1. Open the HTML source of https://waabigwan.com/services/ (View Page Source in your browser).
2. Search for <meta name="description" in the <head> section.
3. If missing: add <meta name="description" content="Brief summary of your wellness services here (150–155 characters)."> before the closing </head> tag.
4. If present but empty: replace content="" with a clear, action-focused description like content="Discover our wellness cannabis services in [city]. Personalized consultations, premium products, and expert guidance."
5. Save the file and deploy to your server.
6. Wait 24–48 hours, then search "site:waabigwan.com/services/" in Google to verify the new description appears in results.

### 21. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/services/
- **Rule:** `tier2.schema.none`

**What 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**

1. Visit https://schema.org/LocalBusiness and https://schema.org/MedicalBusiness to review required fields (name, address, phone, license number if applicable).
2. Use Google's Structured Data Markup Helper (https://www.google.com/webmasters/markup-helper/) to generate JSON-LD for your services page, including LocalBusiness and/or Store schema.
3. Copy the generated JSON-LD block and paste it into the <head> section of your services page HTML (or have your developer do so).
4. Test the result with Google's Rich Results Test (https://search.google.com/test/rich-results) to confirm it's valid and recognized.
5. If you use WordPress, install Yoast SEO or RankMath plugin, go to Settings → JSON-LD, and enable LocalBusiness schema with your business info.
6. Add schema for your license/credentials: include a `sameAs` link to your state cannabis regulatory board listing (e.g., ACMPR for Canada) to strengthen authority.

### 22. Missing meta description

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Quick win (< 30 min)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/our-story/
- **Rule:** `tier2.meta.no-description`

**What 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**

1. Open https://waabigwan.com/our-story/ in your browser, right-click → Inspect → search the HTML for <meta name="description">
2. If missing entirely: add <meta name="description" content="Learn about Waabigwan's wellness mission, values, and commitment to quality cannabis products."> to the <head> section (adjust text to match your brand voice)
3. If blank or present but empty: edit the content attribute to include a compelling 50–160 character summary
4. Test the result: go to Google Search Console → Pages → search for this URL → check the 'Enhancements' tab to confirm description is now detected
5. Audit all other pages on waabigwan.com for the same issue; use Search Console 'Coverage' report → filter for pages with 'meta description' issues

### 23. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/our-story/
- **Rule:** `tier2.schema.none`

**What 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**

1. Identify your CMS or hosting platform (WordPress, Shopify, custom HTML, etc.) by checking the page source or asking your web host.
2. If WordPress: install Yoast SEO or Rank Math → Schema tab → enable Organization, LocalBusiness, and Product schemas as relevant.
3. If Shopify or custom platform: consult the platform's native schema documentation or ask your developer to add schema.org markup for LocalBusiness (name, address, phone, hours, license info) and Product (if selling items).
4. For the /our-story/ page specifically, add an Organization schema block including business name, logo, contact, and mission statement.
5. Validate your schema using Google's Rich Results Test (search.google.com/test/rich-results) and fix any errors reported.
6. Once live, submit the page to Google Search Console to signal indexing and monitoring.

### 24. Missing meta description

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Quick win (< 30 min)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/blog/
- **Rule:** `tier2.meta.no-description`

**What 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**

1. Log in to your site admin or CMS (WordPress, Shopify, custom platform, etc.) and navigate to the blog page settings or SEO plugin section.
2. Locate the meta description field (common names: 'SEO Description', 'Meta Description', 'Search Description').
3. Write a description 155–160 characters long that includes your main keyword (e.g., 'cannabis wellness', 'dispensary blog') and a clear value proposition (e.g., 'Read expert tips on cannabis wellness, strains, and responsible use.').
4. Save and publish the change.
5. Repeat this process for all other blog pages and key content pages (homepage, products, about).
6. Use Google Search Console (search.google.com) → Pages → check the 'blog' URL to confirm the new description is indexed within 48–72 hours.

### 25. 5 image(s) missing alt text

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Quick win (< 30 min)
- **Business category:** accessibility
- **Page URL:** https://waabigwan.com/blog/
- **Rule:** `tier2.a11y.img-missing-alt`

**What 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**

1. Log into your CMS and navigate to https://waabigwan.com/blog/ or your blog post editor
2. Identify each of the 5 images on that page
3. For each image, click Edit or Inspect to open image properties, and fill in the 'Alt Text' or 'Alt Attribute' field with a 5–15 word description (e.g., 'A jar of lavender-infused wellness oil with fresh lavender buds')
4. Ensure descriptions are specific and relevant to your wellness products, not generic ('image' or 'photo')
5. Save and publish each change, then do a hard refresh of the live page (Ctrl+Shift+R) to confirm
6. Use a free tool like WAVE (wave.webaim.org) to scan the blog page again and verify all 5 images now show alt text

### 26. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/ios-app-android-app/
- **Rule:** `tier2.schema.none`

**What 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**

1. Audit your highest-traffic pages (homepage, product pages, location/contact page) to identify which schema types are missing: LocalBusiness, MedicalBusiness, Product, BreadcrumbList, FAQPage, or Organization.
2. If using WordPress: install the Yoast SEO or Rank Math plugin → navigate to SEO settings → Schema tab → enable schema for your site type and configure Local Business details (address, phone, license #).
3. If using another CMS or custom HTML: add a JSON-LD block in your page template's <head> section following schema.org/LocalBusiness for dispensaries (include name, address, phone, image, opening hours, license info).
4. For product/inventory pages, add schema.org/Product or schema.org/Thing blocks with pricing, availability, and product name.
5. Validate all schema using Google's Rich Results Test (https://search.google.com/test/rich-results) — paste your URL and confirm no errors appear.
6. Submit updated sitemap to Google Search Console to re-crawl and index the new schema.

### 27. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier2.schema.none`

**What 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**

1. Identify your website platform (WordPress, Shopify, custom build, etc.) by inspecting the page source (right-click → View Page Source) and looking for CMS indicators like wp-content/ or Shopify liquid tags.
2. If WordPress: install Yoast SEO or RankMath plugin (both free versions support schema). Go to SEO → Search Appearance → Local Business, fill in business name, address, phone, hours, and license/credentials.
3. If Shopify: install Schema & Structured Data by PageFly or similar app from Shopify App Store, configure Organization and LocalBusiness schema.
4. If custom-built: add JSON-LD blocks to your page template for Organization (name, logo, contact, location) and LocalBusiness (address, phone, hours, license details). Use schema.org/LocalBusiness and schema.org/Organization.
5. Test the markup using Google's Structured Data Testing Tool (search.google.com/test/rich-results) to ensure it's valid.
6. Add schema for Product if you list any cannabis items (with compliance-safe descriptions—avoid prohibited claims).
7. Submit the updated sitemap to Google Search Console to re-crawl the homepage.

### 28. Missing meta description

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Quick win (< 30 min)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/our-grow/
- **Rule:** `tier2.meta.no-description`

**What 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**

1. Open the HTML source of https://waabigwan.com/our-grow/ and locate the <head> section.
2. Add this line: <meta name="description" content="Learn about Waabigwan's sustainable cannabis cultivation practices, grow methods, and commitment to quality."> (customize the text to match your actual grow story and include 1–2 relevant keywords like 'cannabis' or 'cultivation').
3. Keep the description between 50–160 characters for optimal display in Google results.
4. If your site uses a CMS (WordPress, Shopify, etc.), log into the page editor and look for a 'Meta Description' or 'SEO' field below the content editor, then paste the description there.
5. Save and publish the change.
6. Wait 1–2 weeks for Google to re-crawl and update the search snippet; verify by searching 'Waabigwan our grow' on Google and checking the preview text.

### 29. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/our-dispensaries/
- **Rule:** `tier2.schema.none`

**What 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**

1. Install a structured data plugin: if WordPress, use Yoast SEO or Rank Math (free versions include schema tools); log in to WordPress Admin → Plugins → Add New → search 'Yoast SEO' → Install & Activate.
2. Create LocalBusiness + Organization schema for your dispensary: In Yoast SEO, go Admin → Yoast SEO → Settings → Organization → fill in business name, address, phone, hours, and license number (required for cannabis).
3. Add a place/location schema block for each dispensary on the 'Our Dispensaries' page: In Yoast, go to each location post/page → Yoast settings panel → toggle 'Show breadcrumbs in snippet' and ensure Business Type is set to 'LocalBusiness.'
4. Manually verify the schema output: visit https://schema.org/validator and paste your page URL to see the generated JSON-LD blocks.
5. Test in Google Search Console: go to Google Search Console → Enhancements → Rich Results → look for 'Local Business' or 'Organization' errors and fix any warnings.

### 30. 10 image(s) missing alt text

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Quick win (< 30 min)
- **Business category:** accessibility
- **Page URL:** https://waabigwan.com/our-dispensaries/
- **Rule:** `tier2.a11y.img-missing-alt`

**What 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**

1. Log into your site's content management system or admin panel and navigate to the 'Our Dispensaries' page in edit mode.
2. Click on the first image; locate the 'Alt Text' or 'Alternative Text' field (usually near the image upload box or in image properties).
3. Enter a descriptive label, e.g., 'Waabigwan cannabis dispensary interior in Toronto' or 'Product display shelves at our Ottawa location'—be specific about location and what's shown.
4. Repeat for all 10 images on that page, ensuring each alt text is unique and describes the actual image content.
5. If your CMS doesn't expose alt fields in the UI, ask your hosting provider or developer to add alt attributes directly in the HTML img tags: `<img src="photo.jpg" alt="Your descriptive text here" />`.
6. Use a free accessibility checker (e.g., WAVE or Lighthouse in Chrome DevTools) to re-scan the page and confirm all images now have alt text.
7. Check other high-traffic pages (products, homepage) for the same issue and apply alt text there too.

### 31. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/our-products/
- **Rule:** `tier2.schema.none`

**What 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**

1. Audit your current CMS/platform by checking the page source (Ctrl+F / Cmd+F for '<script type="application/ld+json"') — if nothing appears, schema is missing.
2. Install a schema markup plugin: if WordPress, install Yoast SEO Free or Schema.org Plugin for WooCommerce (Admin → Plugins → Add New → search 'schema'); if Shopify, enable Yoast SEO or use Rich Snippets by Catalyst.
3. Add Product schema to all product pages: include name, description, image URL, price, currency, and availability (e.g., 'InStock'). If using Yoast, go Admin → Yoast SEO → Integrations and configure product schema auto-generation.
4. Add Organization schema to your homepage footer or header: include legal business name, phone, address, and license number (cannabis compliance).
5. Add LocalBusiness schema if you have a physical storefront: include name, address, phone, hours, and license info.
6. Test output using Google's Rich Results Test (https://search.google.com/test/rich-results) — paste your product page URL and verify schema blocks appear with no errors.
7. Submit updated pages to Google Search Console (GSC) to speed indexing: Admin → Google Search Console → URL Inspection → Request Indexing.

### 32. 17 image(s) missing alt text

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Moderate (1-3 hours)
- **Business category:** accessibility
- **Page URL:** https://waabigwan.com/our-products/
- **Rule:** `tier2.a11y.img-missing-alt`

**What 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**

1. Open https://waabigwan.com/our-products/ in your browser and take note of which CMS or HTML editor manages this page (WordPress, Shopify, custom, etc.).
2. If WordPress: Log in → go to Media Library, filter for images used on Products page, and click each image to add a short, descriptive alt text (e.g., 'Blue Dream cannabis flower in glass jar').
3. If Shopify: Go to Products → select each product → scroll to Images → click the image and fill in the 'Alt text' field with a clear, product-focused description.
4. If custom HTML: Open the page source (right-click → Inspect on the image), find each <img> tag, and add alt="[description]" (e.g., <img src="flower.jpg" alt="Premium cannabis flower strain">).
5. For each image, write alt text that names the product type and key visual or strain details (e.g., 'Waabigwan THC oil tincture with amber dropper bottle').
6. Test with a screen reader (free: NVDA on Windows, VoiceOver on Mac) by visiting the page and confirming alt text is read aloud.
7. Run the page through axe DevTools (free browser extension) to confirm all 17 images now have alt text.

### 33. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/about-waabigwan-mashkiki/
- **Rule:** `tier2.schema.none`

**What 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**

1. Install Yoast SEO (free tier) or Rank Math plugin if using WordPress; if using a different CMS or static HTML, proceed to step 2.
2. In Yoast SEO → General Settings → Organization, fill in: business name (Waabigwan), type (LocalBusiness or MedicalBusiness), street address, city, phone, email, and logo URL.
3. In Yoast SEO → Schema, enable schema types: LocalBusiness and Product (for cannabis SKUs if applicable).
4. For the /about-waabigwan-mashkiki/ page specifically, edit the Yoast meta box and ensure 'Organization' schema is toggled on.
5. If not using WordPress, manually add a JSON-LD block to your page template: <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "LocalBusiness", "name": "Waabigwan", "address": "[street]", "telephone": "[phone]", "url": "https://waabigwan.com" } </script>
6. Verify output using Google's Rich Results Test (https://search.google.com/test/rich-results) — paste your about page URL and confirm Organization and LocalBusiness schemas render without errors.
7. Submit the updated page to Google Search Console → URL Inspection to trigger a re-crawl.

### 34. Missing meta description

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Quick win (< 30 min)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/location/mahnomen/
- **Rule:** `tier2.meta.no-description`

**What 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**

1. Log in to your site admin/CMS dashboard and navigate to the Mahnomen location page editor.
2. Look for a 'Meta Description' or 'SEO' field (often below the main title or in an advanced/SEO panel).
3. Write a description under 160 characters that includes: location name + 'cannabis dispensary' + key detail (e.g., hours, specialty product, or neighborhood). Example: 'Waabigwan cannabis dispensary in Mahnomen, MN. Premium products, convenient hours, knowledgeable staff.'
4. Save and publish the page.
5. Repeat this for all other location pages on your site (search your sitemap for /location/ URLs).
6. After 1–2 weeks, check Google Search Console (search.google.com) → Pages to confirm the descriptions now appear in search results.

### 35. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/location/mahnomen/
- **Rule:** `tier2.schema.none`

**What 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**

1. Identify your platform: check the page source (Ctrl+U), look for mentions of WordPress, Shopify, custom framework, or static HTML in the <head> or footer comments.
2. If WordPress: install Yoast SEO or Schema Pro plugin → navigate to SEO > Schema → enable LocalBusiness and add your business name, address, phone, hours, and license ID for each location.
3. If Shopify or other hosted platform: check Settings > Online Store > Preferences for built-in schema tools, or use a third-party app like Structured Data app from Shopify App Store.
4. If custom/static HTML: manually add a LocalBusiness schema block to each location page's <head>; include '@type': 'LocalBusiness', 'name', 'address' (streetAddress, addressLocality, addressRegion, postalCode), 'telephone', 'openingHoursSpecification', and 'license' (as a text field referencing your state license number).
5. Validate your schema using Google's Rich Results Test (https://search.google.com/test/rich-results) — paste the location page URL and confirm no errors.
6. Submit each location page to Google Search Console (if not already done) so Google re-crawls and indexes the new schema.

### 36. Missing meta description

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Quick win (< 30 min)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/location/saint-cloud/
- **Rule:** `tier2.meta.no-description`

**What 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**

1. Open your Saint Cloud location page source (Ctrl+U / Cmd+U) and search for '<meta name="description"' — if it doesn't exist, proceed.
2. If your site is WordPress, install Yoast SEO or RankMath (both free versions work), go to that location page, find the 'Meta description' field, and write a 150–160 character description like: 'Waabigwan Cannabis Dispensary in Saint Cloud, MN. Premium flower, edibles, concentrates. Licensed retail. Hours: Mon–Sun 9am–9pm.'
3. If your site is static HTML or you manage it directly, add this line in the <head>: <meta name="description" content="Waabigwan Cannabis Dispensary in Saint Cloud, MN. Premium flower, edibles, concentrates. Licensed retail. Hours: Mon–Sun 9am–9pm.">
4. If your site is on Shopify, Wix, or Squarespace, log in → Pages → Saint Cloud → Meta Description field → paste your description.
5. Repeat this process for all other location pages (e.g., /location/minneapolis/, /location/duluth/) to ensure consistent local SEO.
6. Test the fix by searching Google for 'Waabigwan Saint Cloud' and verify your description now appears below the title.

### 37. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/location/saint-cloud/
- **Rule:** `tier2.schema.none`

**What 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**

1. Audit your site platform: check if you're on WordPress, Shopify, custom code, or a headless CMS by inspecting the page source (Ctrl+U) and looking for CMS signatures in HTML comments or meta tags.
2. If WordPress: install Yoast SEO or RankMath plugin → Schema → Local Business → fill in business name, address, phone, hours, and license number (cannabis compliance) → enable Local Business schema.
3. If Shopify: go to Sales Channels → Online Store → Preferences → enable JSON-LD output for products and business (some Shopify themes auto-generate this).
4. If custom/unknown platform: add a <script type="application/ld+json"> block in the <head> of your location template with LocalBusiness schema (Schema.org example: https://schema.org/LocalBusiness). Include name, address, telephone, openingHoursSpecification, and image.
5. For cannabis-specific compliance: include potentialAction with target URL pointing to age-gate or license verification page.
6. Test your schema using Google's Rich Results Test (https://search.google.com/test/rich-results) — paste the Saint-Cloud location URL and verify zero errors.
7. Deploy to production and request Google re-crawl via Search Console → Coverage → Discover → request indexing.

### 38. Missing meta description

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Quick win (< 30 min)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/location/moorhead/
- **Rule:** `tier2.meta.no-description`

**What 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**

1. Log into your CMS or hosting control panel and navigate to the Moorhead location page editor.
2. In the page settings (often labeled 'SEO' or 'Meta'), locate the 'Meta Description' field.
3. Write a 150-160 character description, e.g.: 'Visit Waabigwan's Moorhead cannabis dispensary. Licensed products, local pickup, and expert staff. Open daily.'
4. If your platform has no built-in meta description field, add this line manually to the page <head>: <meta name="description" content="Your text here">
5. Repeat this for all other location pages (check Google Search Console → Coverage → Not selected to find unpublished location pages).
6. Save and publish the page, then request a re-crawl in Google Search Console (URL Inspection tool).

### 39. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/location/moorhead/
- **Rule:** `tier2.schema.none`

**What 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**

1. Log into your CMS admin and navigate to the location page editor for /location/moorhead/
2. If using WordPress: install the free 'Yoast SEO' plugin → go to SEO → Local SEO → enable Local Business and fill in all fields (address, phone, hours, license info)
3. If not using WordPress: manually add a LocalBusiness schema JSON-LD block to the page source; use Google's Structured Data Helper (https://www.google.com/webmasters/markup-helper/) to generate the code, then paste it into your page template or editor
4. Include cannabis-specific fields: license number, license type, and hours of operation (crucial for compliance and customer trust)
5. Test the result using Google's Rich Results Test (https://search.google.com/test/rich-results) to confirm the schema is valid
6. Repeat for all other location pages (/location/*)in your site

### 40. Missing meta description

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Quick win (< 30 min)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/category/uncategorized/
- **Rule:** `tier2.meta.no-description`

**What 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**

1. Log into your site admin and navigate to the category management or SEO settings panel for the 'Uncategorized' category
2. If using WordPress, install Yoast SEO (free) or RankMath, then edit the Uncategorized category, scroll to the SEO section, and write a 155–160 character description like 'Browse our full selection of premium cannabis products and wellness offerings at Waabigwan'
3. If using a custom or unknown platform, ask your web host or developer to add this HTML tag to the category page template: <meta name="description" content="Your 160-char description here">
4. Test the change by searching 'site:waabigwan.com/category/uncategorized/' in Google and wait 3–7 days for the snippet to update
5. Once fixed, use Google Search Console (search.google.com) to request re-indexing of that URL to speed up the refresh

### 41. Missing meta description

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Quick win (< 30 min)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/category/blog/
- **Rule:** `tier2.meta.no-description`

**What 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**

1. Visit https://waabigwan.com/category/blog/ and inspect the page source (right-click → View Page Source) to confirm no meta description tag is present.
2. If using WordPress, install Yoast SEO (free) and activate it; go to Settings → Yoast SEO → General, then navigate to the blog category page in the WordPress editor, expand the Yoast snippet preview, and write a description like 'Waabigwan Blog — Cannabis wellness insights, product guides, and health tips.'
3. If not WordPress, add this line to the <head> section of your blog category template: <meta name="description" content="Waabigwan Blog — Cannabis wellness insights, product guides, and health tips.">
4. Keep the description 150-160 characters (including spaces), front-load your most important keywords, and make it a complete sentence.
5. After publishing, wait 2-3 weeks and check Google Search Console (google.com/webmasters) → Pages → filter by your blog URL to verify the description appears in search results.

### 42. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/author/slash/
- **Rule:** `tier2.schema.none`

**What 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**

1. Audit your site architecture: check if you use WordPress, Shopify, custom CMS, or static HTML. Visit your site's source code (right-click → View Page Source) and search for 'schema.org' or 'json-ld' to see if any markup exists elsewhere.
2. If WordPress: install Yoast SEO or RankMath plugin → navigate to the plugin settings → enable 'Schema' or 'Structured Data' → configure Organization schema with your business name, address, phone, and license number.
3. If Shopify: use the built-in Shopify SEO settings or a free app like SchemaApp to auto-generate product and LocalBusiness schema.
4. If custom/unknown platform: manually add JSON-LD blocks to your page template. At minimum, add Organization schema (business name, address, phone, image) and LocalBusiness schema (type: 'LocalBusiness' with geo coordinates if you have a physical location).
5. For a cannabis dispensary, also add schema for age-restricted content (if applicable) and link your state license or compliance badge in the markup.
6. Test your markup using Google's Rich Results Test (search.google.com/test/rich-results) and fix any validation errors.
7. Submit your sitemap to Google Search Console to ensure Google crawls and indexes the schema.

### 43. Missing meta description

- **Severity:** P2   |   **Priority:** 🟡 MEDIUM
- **Effort:** Quick win (< 30 min)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/hello-world/
- **Rule:** `tier2.meta.no-description`

**What 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**

1. Log in to your website admin or CMS
2. Open the hello-world/ post for editing
3. Find the 'Meta Description' or 'SEO' section (often below the main editor or in a sidebar)
4. Write a 150–160 character summary that includes a relevant keyword and explains what the post offers — e.g., 'Discover how [topic] supports wellness. Expert insights for [your audience].'
5. Save and republish the post
6. Check Google Search Console in 1–2 weeks to confirm the new description appears in search results

### 44. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟡 MEDIUM
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/blog-post-title-4/
- **Rule:** `tier2.schema.none`

**What 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**

1. Identify your site platform: inspect the page source (Ctrl+U or Cmd+U) and look for <meta name="generator"> tag or CMS indicators (WordPress, Shopify, custom code comments). Note the platform name.
2. If WordPress: install the Yoast SEO or Rank Math plugin. Go to plugin settings → Schema → enable 'Article' schema for blog posts. Publish and re-check.
3. If Shopify: enable 'Automatic structured data' in Settings → Online Store → Preferences (usually on by default; verify it's not disabled).
4. If custom-built or other platform: add JSON-LD schema manually. Copy this template into the blog post template file before </head>: <script type="application/ld+json">{"@context":"https://schema.org","@type":"BlogPosting","headline":"[PAGE_TITLE]","description":"[META_DESCRIPTION]","datePublished":"[PUBLISH_DATE]","author":{"@type":"Organization","name":"Waabigwan"}}</script>. Replace bracketed values with actual page data.
5. Test the fix: visit https://validator.schema.org/ and paste your blog post URL. Verify BlogPosting schema appears with no errors.
6. Repeat schema addition for all existing blog posts, or set up auto-generation in your CMS for future posts.

### 45. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟡 MEDIUM
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/blog-post-title-3/
- **Rule:** `tier2.schema.none`

**What 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**

1. Identify your site's platform/CMS by checking the page source (Ctrl+U) for generator meta tags or checking the admin login URL (e.g., /wp-admin for WordPress, /admin for Shopify)
2. If WordPress: install Yoast SEO or Rank Math plugin → Settings → enable schema markup → re-publish the blog post to trigger regeneration
3. If no CMS (static HTML or custom platform): manually add a BlogPosting schema block to each blog post template. Paste this into the <head> section: {"@context":"https://schema.org","@type":"BlogPosting","headline":"[Page Title]","datePublished":"[YYYY-MM-DD]","author":{"@type":"Person","name":"[Author Name]"},"description":"[Meta Description]"}
4. Test the schema by pasting the URL into Google's Rich Results Test (https://search.google.com/test/rich-results) and confirm no errors appear
5. Repeat for all blog post landing pages, not just this one

### 46. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟡 MEDIUM
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/blog-post-title-5/
- **Rule:** `tier2.schema.none`

**What 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**

1. Inspect the page source (Ctrl+Shift+I → Sources tab) and confirm there are no `<script type="application/ld+json">` blocks in the `<head>` section
2. Use Google's Schema.org reference to identify the correct schema type — likely 'Article' for blog posts (https://schema.org/Article)
3. Add a JSON-LD block in your page template's `<head>` section with Article schema including: headline, datePublished, author name, and description
4. If using WordPress: install Yoast SEO or All in One SEO Pack, enable schema features in settings, and verify Article schema is active for blog posts
5. If using a custom CMS/static site: add schema generation to your build process or page template directly
6. Test the markup using Google's Rich Results Test (https://search.google.com/test/rich-results) to confirm proper implementation
7. Monitor Search Console (Property Settings → Data Highlights) for schema-related errors over the next 30 days

### 47. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟡 MEDIUM
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/blog-post-title-8/
- **Rule:** `tier2.schema.none`

**What 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**

1. Open the blog post page in a browser, right-click → 'View Page Source' and search for '<script type="application/ld+json">' to confirm none exists.
2. Visit schema.org/Article and copy the recommended JSON-LD template for blog posts.
3. Paste a customized version into your page template (or single blog post file if editing directly), filling in: headline (post title), datePublished (publish date), author (author name), description (excerpt), and articleBody.
4. Test the result using Google's Rich Results Test (search.google.com/test/rich-results) and paste your URL or code.
5. If using a CMS (WordPress, etc.), install an SEO plugin like Yoast SEO or Rank Math, enable 'Blog Post' schema in settings, and re-test.
6. If using a static site generator, add schema.org markup to your blog post template file and rebuild.

### 48. Missing meta description

- **Severity:** P2   |   **Priority:** 🟡 MEDIUM
- **Effort:** Quick win (< 30 min)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/privacy-policy/
- **Rule:** `tier2.meta.no-description`

**What 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**

1. Open the privacy policy page HTML in your editor or CMS admin
2. Locate the <head> section and find or create a <meta name="description" content=""> tag
3. Write a 150-160 character description, e.g., 'Our privacy policy outlines how Waabigwan collects, uses, and protects your personal information in compliance with [jurisdiction] law.'
4. Save and publish the page
5. Verify the change: visit https://waabigwan.com/privacy-policy/ in a private browser, wait 48 hours, then search 'Waabigwan privacy policy' in Google and confirm the description appears in the snippet

### 49. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟡 MEDIUM
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/our-grow/
- **Rule:** `tier2.schema.none`

**What 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**

1. Audit your platform: Check if you're using WordPress, Shopify, custom HTML, or a headless CMS by inspecting the page source (right-click → View Page Source) and looking for telltale signs (wp-content, _next, etc.)
2. For WordPress: Install Yoast SEO or Rank Math plugin → navigate to their schema settings → enable 'Organization' schema and 'LocalBusiness' schema for your dispensary page
3. For Shopify: Go to Sales Channels → Online Store → Preferences → ensure 'Product recommendations' and 'Product schema' are enabled
4. For custom HTML/static sites: Add Organization schema.org JSON-LD block to every page header, at minimum including name, logo, contact, and license information (critical for cannabis compliance verification)
5. Test implementation using Google's Rich Results Test (search.google.com/test/rich-results) and paste your page URL to confirm schema is detected
6. Add Product schema to any pages listing cannabis products or strains, including product name, category, and legal disclaimers
7. Verify LocalBusiness schema on your homepage or 'Contact' page includes address, phone, hours, and license number if publicly shareable

### 50. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟡 MEDIUM
- **Effort:** Quick win (< 30 min)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/education/first-time-dispensary-visit/
- **Rule:** `tier2.schema.none`

**What 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**

1. Open https://waabigwan.com/education/first-time-dispensary-visit/ in a browser, right-click → View Page Source, and search for '<script type="application/ld+json">' — if absent, continue.
2. Determine your platform: look for /wp-admin (WordPress), /admin (Shopify/Squarespace), or ask your host. If WordPress, install the free Yoast SEO plugin or All in One SEO, enable it, navigate to the post editor, scroll to the schema section, and select 'HowTo' or 'FAQPage' from the dropdown.
3. If Shopify, use the native SEO fields: edit the page, scroll to 'Search engine listing preview,' and ensure Title and Description are filled; Shopify auto-generates basic schema.
4. If custom/static HTML, add this block in the <head>: <script type="application/ld+json">{"@context":"https://schema.org","@type":"HowTo","name":"First-Time Dispensary Visit","step":[{"@type":"HowToStep","text":"Bring ID"},{"@type":"HowToStep","text":"Check hours online"}]}</script> (adjust steps to match your content).
5. Test the result at https://validator.schema.org or Google's Rich Results Test (https://search.google.com/test/rich-results) and paste your page URL.
6. Repeat for other education/guide pages: /education/cannabis-basics/, /education/dosage-guides/, etc.

### 51. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟡 MEDIUM
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/education/
- **Rule:** `tier2.schema.none`

**What 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**

1. Audit your site's CMS: check if it's WordPress, Shopify, custom, or static HTML. Go to https://waabigwan.com/ home page source (Ctrl+U → search 'json-ld' or 'schema') to confirm whether ANY pages have schema markup.
2. If WordPress: install Rank Math SEO or Yoast SEO. In the plugin settings, enable 'Organization schema' and 'Knowledge Graph' setup, then visit the education page in the editor to auto-generate Article schema.
3. If Shopify or custom platform: manually add Organization schema to all pages (name, logo, contact, location) in the <head>, and Article schema to education pages (headline, author, datePublished, image, description).
4. For the education page specifically, add Article + FAQPage schema if it contains Q&A. Use Google's Schema Markup Helper (https://www.google.com/webmasters/markup-helper/) to generate valid JSON-LD, then paste into your page template.
5. Test the result using Google's Rich Results Tester (https://search.google.com/test/rich-results) to verify schema is valid and renders correctly.
6. Resubmit the education page URL to Google Search Console (Coverage → Excluded → request indexing) to refresh Google's understanding of the page.

### 52. Missing meta description

- **Severity:** P2   |   **Priority:** 🟡 MEDIUM
- **Effort:** Quick win (< 30 min)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/author/derek-leewaabigwan-com/
- **Rule:** `tier2.meta.no-description`

**What 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**

1. Log into your CMS admin panel and navigate to the author/staff page editor for Derek Lee's profile.
2. Locate the SEO or Meta Settings section (often a sidebar panel or below the content editor).
3. Enter a 150–160 character description, e.g.: 'Derek Lee, cannabis wellness specialist at Waabigwan. Expert guidance on wellness products and customer care.'
4. If no SEO field exists in your CMS, contact your hosting/platform provider to confirm meta description support; if using a static site, manually add <meta name="description" content="..."> to the page's HTML <head>.
5. Save and republish the page.
6. Wait 1–2 weeks for Google to recrawl and update the search snippet; verify the new description appears in Google Search Console.

### 53. Missing meta description

- **Severity:** P2   |   **Priority:** 🟡 MEDIUM
- **Effort:** Quick win (< 30 min)
- **Business category:** seo
- **Page URL:** https://waabigwan.com/author/slash/
- **Rule:** `tier2.meta.no-description`

**What 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**

1. Log into your CMS admin panel and navigate to the author page editor for 'slash' (likely at /wp-admin/user-edit.php?user_id=X if WordPress, or equivalent in your platform).
2. Look for a 'Bio', 'Author Description', or 'Meta Description' field; if not visible, enable it via screen options or SEO plugin settings.
3. Write a 150-155 character description that includes the author's expertise and relevance to cannabis wellness (e.g., 'Learn about cannabis wellness from [Author Name], our certified [credential/role] with [X] years of industry expertise.').
4. Save and publish the page.
5. Wait 24-48 hours, then search your author name + your brand name in Google to confirm the new snippet appears.

### 54. No JSON-LD schema

- **Severity:** P2
- **Page URL:** https://waabigwan.com/blog-post-title-9/
- **Rule:** `tier2.schema.none`

**Detail**

Page has no JSON-LD structured data blocks.

### 55. 10 image(s) missing alt text

- **Severity:** P2
- **Page URL:** https://waabigwan.com/our-story/
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 56. No JSON-LD schema

- **Severity:** P2
- **Page URL:** https://waabigwan.com/privacy-policy/
- **Rule:** `tier2.schema.none`

**Detail**

Page has no JSON-LD structured data blocks.

### 57. No JSON-LD schema

- **Severity:** P2
- **Page URL:** https://waabigwan.com/blog/
- **Rule:** `tier2.schema.none`

**Detail**

Page has no JSON-LD structured data blocks.

### 58. Missing meta description

- **Severity:** P2
- **Page URL:** https://waabigwan.com/ios-app-android-app/
- **Rule:** `tier2.meta.no-description`

**Detail**

Page has no meta description.

### 59. Missing meta description

- **Severity:** P2
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier2.meta.no-description`

**Detail**

Page has no meta description.

### 60. 24 image(s) missing alt text

- **Severity:** P2
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 61. 10 image(s) missing alt text

- **Severity:** P2
- **Page URL:** https://waabigwan.com/our-grow/
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 62. Missing meta description

- **Severity:** P2
- **Page URL:** https://waabigwan.com/our-dispensaries/
- **Rule:** `tier2.meta.no-description`

**Detail**

Page has no meta description.

### 63. Missing meta description

- **Severity:** P2
- **Page URL:** https://waabigwan.com/our-products/
- **Rule:** `tier2.meta.no-description`

**Detail**

Page has no meta description.

### 64. Missing meta description

- **Severity:** P2
- **Page URL:** https://waabigwan.com/education/first-time-dispensary-visit/
- **Rule:** `tier2.meta.no-description`

**Detail**

Page has no meta description.

### 65. 15 image(s) missing alt text

- **Severity:** P2
- **Page URL:** https://waabigwan.com/education/first-time-dispensary-visit/
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 66. 14 image(s) missing alt text

- **Severity:** P2
- **Page URL:** https://waabigwan.com/education/
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 67. 13 image(s) missing alt text

- **Severity:** P2
- **Page URL:** https://waabigwan.com/about-waabigwan-mashkiki/
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 68. No JSON-LD schema

- **Severity:** P2
- **Page URL:** https://waabigwan.com/category/uncategorized/
- **Rule:** `tier2.schema.none`

**Detail**

Page has no JSON-LD structured data blocks.

### 69. No JSON-LD schema

- **Severity:** P2
- **Page URL:** https://waabigwan.com/category/blog/
- **Rule:** `tier2.schema.none`

**Detail**

Page has no JSON-LD structured data blocks.

### 70. 5 image(s) missing alt text

- **Severity:** P2
- **Page URL:** https://waabigwan.com/category/blog/
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 71. No JSON-LD schema

- **Severity:** P2
- **Page URL:** https://waabigwan.com/author/derek-leewaabigwan-com/
- **Rule:** `tier2.schema.none`

**Detail**

Page has no JSON-LD structured data blocks.

### 72. 5 image(s) missing alt text

- **Severity:** P2
- **Page URL:** https://waabigwan.com/author/slash/
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 73. 3 broken internal link(s)

- **Severity:** P2
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier2.links.broken`

**Detail**

Broken internal links degrade UX + crawl equity.

### 74. Missing core schema types: Organization, LocalBusiness, WebSite

- **Severity:** P2
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier4.schema.missing-core`

**Detail**

Every site should emit Organization + LocalBusiness + WebSite JSON-LD.

### 75. Missing security header: strict-transport-security

- **Severity:** P2
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier5.header.strict-transport-security`

**Detail**

strict-transport-security not present on homepage response. Affects fortress score and CSP posture.

### 76. Missing security header: x-frame-options

- **Severity:** P2
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier5.header.x-frame-options`

**Detail**

x-frame-options not present on homepage response. Affects fortress score and CSP posture.

### 77. Missing security header: content-security-policy

- **Severity:** P2
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier5.header.content-security-policy`

**Detail**

content-security-policy not present on homepage response. Affects fortress score and CSP posture.

### 78. 29 tap targets under 44px at mobile-320

- **Severity:** P2
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier6.a11y.small-targets`

**Detail**

Interactive elements smaller than 44x44 fail WCAG 2.5.5 target size.

### 79. 30 tap targets under 44px at mobile-375

- **Severity:** P2
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier6.a11y.small-targets`

**Detail**

Interactive elements smaller than 44x44 fail WCAG 2.5.5 target size.

### 80. 30 tap targets under 44px at mobile-414

- **Severity:** P2
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier6.a11y.small-targets`

**Detail**

Interactive elements smaller than 44x44 fail WCAG 2.5.5 target size.

### 81. 31 tap targets under 44px at tablet-768

- **Severity:** P2
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier6.a11y.small-targets`

**Detail**

Interactive elements smaller than 44x44 fail WCAG 2.5.5 target size.

### 82. Lighthouse perf (mobile): 70/100

- **Severity:** P2
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier8.lighthouse.perf-mobile`

**Detail**

Score 70 is below target 85. See HTML report for details.

### 83. A11y: Document should have one main landmark

- **Severity:** P2
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier9.a11y.landmark-one-main`

**Detail**

Ensure the document has a main landmark
Impact: moderate
WCAG: 
Learn more: https://dequeuniversity.com/rules/axe/4.11/landmark-one-main?application=playwright

### 84. A11y: Page should contain a level-one heading

- **Severity:** P2
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier9.a11y.page-has-heading-one`

**Detail**

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

### 85. A11y: All page content should be contained by landmarks (×29)

- **Severity:** P2
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier9.a11y.region`

**Detail**

Ensure all page content is contained by landmarks
Impact: moderate
WCAG: 
Learn more: https://dequeuniversity.com/rules/axe/4.11/region?application=playwright

---

### P3 — 99 findings

### 1. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/hello-world/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 2. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/hello-world/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 3. 4 image(s) missing alt text

- **Severity:** P3
- **Page URL:** https://waabigwan.com/hello-world/
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 4. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/blog-post-title-1/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 5. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/blog-post-title-1/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 6. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/blog-post-title-4/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 7. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/blog-post-title-4/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 8. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/blog-post-title-3/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 9. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/blog-post-title-3/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 10. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/blog-post-title-2/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 11. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/blog-post-title-2/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 12. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/blog-post-title-6/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 13. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/blog-post-title-6/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 14. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/blog-post-title-5/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 15. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/blog-post-title-5/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 16. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/blog-post-title-8/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 17. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/blog-post-title-8/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 18. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/blog-post-title-7/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 19. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/blog-post-title-7/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 20. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/blog-post-title-9/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 21. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/blog-post-title-9/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 22. Title length 101 chars

- **Severity:** P3
- **Page URL:** https://waabigwan.com/minnesota-native-grown-cannabis-hub/
- **Rule:** `tier2.meta.title-length`

**Detail**

Title should be 20-65 chars. Got: "The Definitive Guide to Native-Grown Cannabis: The Waabigwan Mashkiki Difference - Waabigwan Mashkiki"

### 23. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/minnesota-native-grown-cannabis-hub/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 24. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/minnesota-native-grown-cannabis-hub/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 25. 4 image(s) missing alt text

- **Severity:** P3
- **Page URL:** https://waabigwan.com/minnesota-native-grown-cannabis-hub/
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 26. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/contact/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 27. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/contact/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 28. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/services/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 29. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/services/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 30. 3 image(s) missing alt text

- **Severity:** P3
- **Page URL:** https://waabigwan.com/services/
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 31. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/our-story/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 32. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/our-story/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 33. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/privacy-policy/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 34. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/privacy-policy/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 35. 3 image(s) missing alt text

- **Severity:** P3
- **Page URL:** https://waabigwan.com/privacy-policy/
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 36. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/blog/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 37. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/blog/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 38. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/ios-app-android-app/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 39. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/ios-app-android-app/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 40. 1 image(s) missing alt text

- **Severity:** P3
- **Page URL:** https://waabigwan.com/ios-app-android-app/
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 41. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 42. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 43. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/our-grow/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 44. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/our-grow/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 45. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/our-dispensaries/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 46. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/our-dispensaries/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 47. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/our-products/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 48. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/our-products/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 49. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/education/first-time-dispensary-visit/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 50. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/education/first-time-dispensary-visit/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 51. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/education/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 52. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/education/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 53. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/about-waabigwan-mashkiki/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 54. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/about-waabigwan-mashkiki/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 55. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/location/mahnomen/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 56. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/location/mahnomen/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 57. 4 image(s) missing alt text

- **Severity:** P3
- **Page URL:** https://waabigwan.com/location/mahnomen/
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 58. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/location/saint-cloud/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 59. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/location/saint-cloud/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 60. 4 image(s) missing alt text

- **Severity:** P3
- **Page URL:** https://waabigwan.com/location/saint-cloud/
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 61. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/location/moorhead/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 62. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/location/moorhead/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 63. 4 image(s) missing alt text

- **Severity:** P3
- **Page URL:** https://waabigwan.com/location/moorhead/
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 64. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/category/uncategorized/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 65. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/category/uncategorized/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 66. 3 image(s) missing alt text

- **Severity:** P3
- **Page URL:** https://waabigwan.com/category/uncategorized/
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 67. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/category/blog/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 68. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/category/blog/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 69. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/author/derek-leewaabigwan-com/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 70. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/author/derek-leewaabigwan-com/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 71. 3 image(s) missing alt text

- **Severity:** P3
- **Page URL:** https://waabigwan.com/author/derek-leewaabigwan-com/
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 72. Missing OpenGraph metadata

- **Severity:** P3
- **Page URL:** https://waabigwan.com/author/slash/
- **Rule:** `tier2.meta.no-og`

**Detail**

Page missing og:title and/or og:image.

### 73. Missing Twitter card

- **Severity:** P3
- **Page URL:** https://waabigwan.com/author/slash/
- **Rule:** `tier2.meta.no-twitter-card`

**Detail**

No twitter:card meta tag.

### 74. Heavy JS payload (mobile): 591KB

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier3.weight.js-mobile`

**Detail**

JavaScript transfer exceeds 250KB budget.

### 75. Heavy JS payload (desktop): 591KB

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier3.weight.js-desktop`

**Detail**

JavaScript transfer exceeds 250KB budget.

### 76. Missing security header: referrer-policy

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier5.header.referrer-policy`

**Detail**

referrer-policy not present on homepage response. Affects fortress score and CSP posture.

### 77. Missing security header: permissions-policy

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier5.header.permissions-policy`

**Detail**

permissions-policy not present on homepage response. Affects fortress score and CSP posture.

### 78. SSL Labs grade: unknown

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier5.fortress.ssl-grade`

**Detail**

Qualys SSL Labs: SSL Labs HTTP 400. Aim for A+ via strong TLS 1.3, HSTS, CAA, and preload.

### 79. DNSSEC not enabled

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier5.fortress.dnssec-missing`

**Detail**

DNSSEC adds cryptographic verification to DNS responses. Consider enabling via your registrar.

### 80. No CAA DNS records

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier5.fortress.caa-missing`

**Detail**

CAA records restrict which CAs may issue certs for your domain, preventing rogue issuance. Add CAA for letsencrypt.org / digicert.com / etc.

### 81. DMARC policy is p=none (monitoring only)

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier5.fortress.dmarc-weak`

**Detail**

DMARC published at p=none — monitoring mode only. After 2-4 weeks of clean reports, tighten to p=quarantine → p=reject.

### 82. No DKIM selectors found (standard selectors)

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier5.fortress.dkim-missing`

**Detail**

Tried selectors: google, default, selector1, selector2, s1, k1 — none matched at waabigwan.com. DKIM improves deliverability + anti-spoofing.

### 83. Lighthouse a11y (mobile): 88/100

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier8.lighthouse.a11y-mobile`

**Detail**

Score 88 is below target 95. See HTML report for details.

### 84. Lighthouse bestPractices (mobile): 79/100

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier8.lighthouse.bestPractices-mobile`

**Detail**

Score 79 is below target 90. See HTML report for details.

### 85. Lighthouse seo (mobile): 92/100

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier8.lighthouse.seo-mobile`

**Detail**

Score 92 is below target 95. See HTML report for details.

### 86. LH mobile: Preconnect to required origins (Est savings of 60 ms)

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier8.lh-opportunity.uses-rel-preconnect-mobile`

**Detail**

Consider adding `preconnect` or `dns-prefetch` resource hints to establish early connections to important third-party origins. [Learn how to preconnect to required origins](https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preconnect/).

### 87. LH mobile: Preload Largest Contentful Paint image

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier8.lh-opportunity.prioritize-lcp-image-mobile`

**Detail**

If the LCP element is dynamically added to the page, you should preload the image in order to improve LCP. [Learn more about preloading LCP elements](https://web.dev/articles/optimize-lcp#optimize_when_the_resource_is_discovered).

### 88. LH mobile: Eliminate render-blocking resources (Est savings of 330 ms)

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier8.lh-opportunity.render-blocking-resources-mobile`

**Detail**

Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).

### 89. LH mobile: Minify JavaScript (Est savings of 5 KiB)

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier8.lh-opportunity.unminified-javascript-mobile`

**Detail**

Minifying JavaScript files can reduce payload sizes and script parse time. [Learn how to minify JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unminified-javascript/).

### 90. LH mobile: Reduce unused CSS (Est savings of 10 KiB)

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier8.lh-opportunity.unused-css-rules-mobile`

**Detail**

Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).

### 91. Lighthouse a11y (desktop): 84/100

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier8.lighthouse.a11y-desktop`

**Detail**

Score 84 is below target 95. See HTML report for details.

### 92. Lighthouse bestPractices (desktop): 78/100

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier8.lighthouse.bestPractices-desktop`

**Detail**

Score 78 is below target 90. See HTML report for details.

### 93. Lighthouse seo (desktop): 92/100

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier8.lighthouse.seo-desktop`

**Detail**

Score 92 is below target 95. See HTML report for details.

### 94. LH desktop: Preconnect to required origins (Est savings of 70 ms)

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier8.lh-opportunity.uses-rel-preconnect-desktop`

**Detail**

Consider adding `preconnect` or `dns-prefetch` resource hints to establish early connections to important third-party origins. [Learn how to preconnect to required origins](https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preconnect/).

### 95. LH desktop: Preload Largest Contentful Paint image

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier8.lh-opportunity.prioritize-lcp-image-desktop`

**Detail**

If the LCP element is dynamically added to the page, you should preload the image in order to improve LCP. [Learn more about preloading LCP elements](https://web.dev/articles/optimize-lcp#optimize_when_the_resource_is_discovered).

### 96. LH desktop: Eliminate render-blocking resources (Est savings of 60 ms)

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier8.lh-opportunity.render-blocking-resources-desktop`

**Detail**

Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. [Learn how to eliminate render-blocking resources](https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/).

### 97. LH desktop: Minify JavaScript (Est savings of 5 KiB)

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier8.lh-opportunity.unminified-javascript-desktop`

**Detail**

Minifying JavaScript files can reduce payload sizes and script parse time. [Learn how to minify JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unminified-javascript/).

### 98. LH desktop: Reduce unused CSS (Est savings of 10 KiB)

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier8.lh-opportunity.unused-css-rules-desktop`

**Detail**

Reduce unused rules from stylesheets and defer CSS not used for above-the-fold content to decrease bytes consumed by network activity. [Learn how to reduce unused CSS](https://developer.chrome.com/docs/lighthouse/performance/unused-css-rules/).

### 99. Dutchie menu iframe not found on /, /menu, or /shop

- **Severity:** P3
- **Page URL:** https://waabigwan.com/
- **Rule:** `tier-revenue.dutchie.iframe-absent`

**Detail**

No Dutchie iframe detected. If this client uses a different menu provider, add it to clients.yaml dutchieSlug=null + we'll stop flagging.

---

## Findings by Page

Grouped by URL — useful when working through the site one page at a time.

### https://waabigwan.com/
_47 findings on this page_

- **[P1] A11y: Elements must meet minimum color contrast ratio thresholds** 
- **[P1] A11y: Links must have discernible text (×2)** 🔴 DO FIRST
  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
- **[P1] A11y: All touch targets must be 24px large, or leave sufficient space (×4)** 🟠 HIGH
  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
- **[P2] Missing meta description** 
- **[P2] No JSON-LD schema** 🟠 HIGH
  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
- **[P2] 24 image(s) missing alt text** 
- **[P2] 3 broken internal link(s)** 
- **[P2] Missing core schema types: Organization, LocalBusiness, WebSite** 
- **[P2] Missing security header: strict-transport-security** 
- **[P2] Missing security header: x-frame-options** 
- **[P2] Missing security header: content-security-policy** 
- **[P2] 29 tap targets under 44px at mobile-320** 
- **[P2] 30 tap targets under 44px at mobile-375** 
- **[P2] 30 tap targets under 44px at mobile-414** 
- **[P2] 31 tap targets under 44px at tablet-768** 
- **[P2] Lighthouse perf (mobile): 70/100** 
- **[P2] A11y: Document should have one main landmark** 
- **[P2] A11y: Page should contain a level-one heading** 
- **[P2] A11y: All page content should be contained by landmarks (×29)** 
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 
- **[P3] Heavy JS payload (mobile): 591KB** 
- **[P3] Heavy JS payload (desktop): 591KB** 
- **[P3] Missing security header: referrer-policy** 
- **[P3] Missing security header: permissions-policy** 
- **[P3] SSL Labs grade: unknown** 
- **[P3] DNSSEC not enabled** 
- **[P3] No CAA DNS records** 
- **[P3] DMARC policy is p=none (monitoring only)** 
- **[P3] No DKIM selectors found (standard selectors)** 
- **[P3] Lighthouse a11y (mobile): 88/100** 
- **[P3] Lighthouse bestPractices (mobile): 79/100** 
- **[P3] Lighthouse seo (mobile): 92/100** 
- **[P3] LH mobile: Preconnect to required origins (Est savings of 60 ms)** 
- **[P3] LH mobile: Preload Largest Contentful Paint image** 
- **[P3] LH mobile: Eliminate render-blocking resources (Est savings of 330 ms)** 
- **[P3] LH mobile: Minify JavaScript (Est savings of 5 KiB)** 
- **[P3] LH mobile: Reduce unused CSS (Est savings of 10 KiB)** 
- **[P3] Lighthouse a11y (desktop): 84/100** 
- **[P3] Lighthouse bestPractices (desktop): 78/100** 
- **[P3] Lighthouse seo (desktop): 92/100** 
- **[P3] LH desktop: Preconnect to required origins (Est savings of 70 ms)** 
- **[P3] LH desktop: Preload Largest Contentful Paint image** 
- **[P3] LH desktop: Eliminate render-blocking resources (Est savings of 60 ms)** 
- **[P3] LH desktop: Minify JavaScript (Est savings of 5 KiB)** 
- **[P3] LH desktop: Reduce unused CSS (Est savings of 10 KiB)** 
- **[P3] Dutchie menu iframe not found on /, /menu, or /shop** 

### https://waabigwan.com/minnesota-native-grown-cannabis-hub/
_6 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  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
- **[P2] No JSON-LD schema** 🟠 HIGH
  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 (
- **[P3] Title length 101 chars** 
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 
- **[P3] 4 image(s) missing alt text** 

### https://waabigwan.com/hello-world/
_5 findings on this page_

- **[P2] Missing meta description** 🟡 MEDIUM
  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
- **[P2] No JSON-LD schema** 🟠 HIGH
  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
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 
- **[P3] 4 image(s) missing alt text** 

### https://waabigwan.com/contact/
_5 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  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
- **[P2] No JSON-LD schema** 🟠 HIGH
  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
- **[P2] 6 image(s) missing alt text** 🟠 HIGH
  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 
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 

### https://waabigwan.com/services/
_5 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  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
- **[P2] No JSON-LD schema** 🟠 HIGH
  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
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 
- **[P3] 3 image(s) missing alt text** 

### https://waabigwan.com/our-story/
_5 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  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
- **[P2] No JSON-LD schema** 🟠 HIGH
  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
- **[P2] 10 image(s) missing alt text** 
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 

### https://waabigwan.com/privacy-policy/
_5 findings on this page_

- **[P2] Missing meta description** 🟡 MEDIUM
  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 
- **[P2] No JSON-LD schema** 
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 
- **[P3] 3 image(s) missing alt text** 

### https://waabigwan.com/blog/
_5 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  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
- **[P2] No JSON-LD schema** 
- **[P2] 5 image(s) missing alt text** 🟠 HIGH
  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
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 

### https://waabigwan.com/ios-app-android-app/
_5 findings on this page_

- **[P2] Missing meta description** 
- **[P2] No JSON-LD schema** 🟠 HIGH
  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
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 
- **[P3] 1 image(s) missing alt text** 

### https://waabigwan.com/our-grow/
_5 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  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
- **[P2] No JSON-LD schema** 🟡 MEDIUM
  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 
- **[P2] 10 image(s) missing alt text** 
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 

### https://waabigwan.com/our-dispensaries/
_5 findings on this page_

- **[P2] Missing meta description** 
- **[P2] No JSON-LD schema** 🟠 HIGH
  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
- **[P2] 10 image(s) missing alt text** 🟠 HIGH
  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
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 

### https://waabigwan.com/our-products/
_5 findings on this page_

- **[P2] Missing meta description** 
- **[P2] No JSON-LD schema** 🟠 HIGH
  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
- **[P2] 17 image(s) missing alt text** 🟠 HIGH
  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
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 

### https://waabigwan.com/education/first-time-dispensary-visit/
_5 findings on this page_

- **[P2] Missing meta description** 
- **[P2] No JSON-LD schema** 🟡 MEDIUM
  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 
- **[P2] 15 image(s) missing alt text** 
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 

### https://waabigwan.com/location/mahnomen/
_5 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  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
- **[P2] No JSON-LD schema** 🟠 HIGH
  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
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 
- **[P3] 4 image(s) missing alt text** 

### https://waabigwan.com/location/saint-cloud/
_5 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  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
- **[P2] No JSON-LD schema** 🟠 HIGH
  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 
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 
- **[P3] 4 image(s) missing alt text** 

### https://waabigwan.com/location/moorhead/
_5 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  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
- **[P2] No JSON-LD schema** 🟠 HIGH
  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
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 
- **[P3] 4 image(s) missing alt text** 

### https://waabigwan.com/category/uncategorized/
_5 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  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
- **[P2] No JSON-LD schema** 
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 
- **[P3] 3 image(s) missing alt text** 

### https://waabigwan.com/category/blog/
_5 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  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 
- **[P2] No JSON-LD schema** 
- **[P2] 5 image(s) missing alt text** 
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 

### https://waabigwan.com/author/derek-leewaabigwan-com/
_5 findings on this page_

- **[P2] Missing meta description** 🟡 MEDIUM
  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
- **[P2] No JSON-LD schema** 
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 
- **[P3] 3 image(s) missing alt text** 

### https://waabigwan.com/author/slash/
_5 findings on this page_

- **[P2] Missing meta description** 🟡 MEDIUM
  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
- **[P2] No JSON-LD schema** 🟠 HIGH
  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 
- **[P2] 5 image(s) missing alt text** 
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 

### https://waabigwan.com/blog-post-title-1/
_4 findings on this page_

- **[P2] No JSON-LD schema** 🟠 HIGH
  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
- **[P2] 7 image(s) missing alt text** 🟠 HIGH
  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
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 

### https://waabigwan.com/blog-post-title-4/
_4 findings on this page_

- **[P2] No JSON-LD schema** 🟡 MEDIUM
  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
- **[P2] 7 image(s) missing alt text** 🟠 HIGH
  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 
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 

### https://waabigwan.com/blog-post-title-3/
_4 findings on this page_

- **[P2] No JSON-LD schema** 🟡 MEDIUM
  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 
- **[P2] 7 image(s) missing alt text** 🟠 HIGH
  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
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 

### https://waabigwan.com/blog-post-title-2/
_4 findings on this page_

- **[P2] No JSON-LD schema** 🟠 HIGH
  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').
- **[P2] 7 image(s) missing alt text** 🟠 HIGH
  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
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 

### https://waabigwan.com/blog-post-title-6/
_4 findings on this page_

- **[P2] No JSON-LD schema** 🟠 HIGH
  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
- **[P2] 7 image(s) missing alt text** 🟠 HIGH
  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
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 

### https://waabigwan.com/blog-post-title-5/
_4 findings on this page_

- **[P2] No JSON-LD schema** 🟡 MEDIUM
  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
- **[P2] 7 image(s) missing alt text** 🟠 HIGH
  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
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 

### https://waabigwan.com/blog-post-title-8/
_4 findings on this page_

- **[P2] No JSON-LD schema** 🟡 MEDIUM
  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
- **[P2] 7 image(s) missing alt text** 🟠 HIGH
  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
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 

### https://waabigwan.com/blog-post-title-7/
_4 findings on this page_

- **[P2] No JSON-LD schema** 🟠 HIGH
  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
- **[P2] 7 image(s) missing alt text** 🟠 HIGH
  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
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 

### https://waabigwan.com/blog-post-title-9/
_4 findings on this page_

- **[P2] No JSON-LD schema** 
- **[P2] 6 image(s) missing alt text** 🟠 HIGH
  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
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 

### https://waabigwan.com/education/
_4 findings on this page_

- **[P2] No JSON-LD schema** 🟡 MEDIUM
  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
- **[P2] 14 image(s) missing alt text** 
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 

### https://waabigwan.com/about-waabigwan-mashkiki/
_4 findings on this page_

- **[P2] No JSON-LD schema** 🟠 HIGH
  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
- **[P2] 13 image(s) missing alt text** 
- **[P3] Missing OpenGraph metadata** 
- **[P3] Missing Twitter card** 

### https://waabigwan.com/wp-login.php
_1 finding on this page_

- **[P0] Sensitive artifact exposed: /wp-login.php** 🔴 DO FIRST
  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._