# Apex Sentinel — The Lab NA Monthly Audit

**URL:** https://thelabna.com/
**Platform:** wordpress
**Archetype:** community
**Run ID:** 2026-04-19T06-18-18-831Z
**Scanned:** 2026-04-19T07:13:09.730Z
**Duration:** 812s

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 | 54 | Full sitemap + linked pages |
| P0 (critical) | 2 | Site-down or compliance-breaking |
| P1 (urgent) | 7 | Significant revenue / SEO / UX impact |
| P2 (high) | 87 | Quality / ranking / trust degradation |
| P3 (medium) | 75 | Polish + optimization |
| "Do first" items | 6 | AI-flagged top priorities |
| Quick wins (< 30 min) | 35 | 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: /.env** — _Exposure of database credentials or payment processing keys could lead to data theft, customer information compromise, financial fraud, or complete website takeover—catastrophic for a licensed cannabis retailer._
   Page: https://thelabna.com/.env
   Effort: Quick win (< 30 min)
2. **[P0] 🔴 DO FIRST Sensitive artifact exposed: /.DS_Store** — _Attackers can map your directory structure to find hidden admin pages, backup files, or other sensitive locations, increasing the risk of unauthorized access to your dispensary's customer data or inventory systems._
   Page: https://thelabna.com/.DS_Store
   Effort: Quick win (< 30 min)
3. **[P1] 🔴 DO FIRST Age gate not detected** — _Operating without an age gate exposes you to regulatory fines, payment processor account suspension, and potential loss of advertising eligibility—any of which can shut down online sales._
   Page: https://thelabna.com/
   Effort: Quick win (< 30 min)
4. **[P1] 🔴 DO FIRST 1 mixed-content references (http://)** — _Visitors may see broken images or security warnings, reducing confidence in your site and potentially causing cart abandonment or compliance audit failures._
   Page: https://thelabna.com/
   Effort: Quick win (< 30 min)
5. **[P1] 🔴 DO FIRST Lighthouse perf (mobile): 44/100** — _Slow mobile performance directly reduces foot traffic from search results and increases cart abandonment, especially problematic for customers searching for nearby dispensaries on phones._
   Page: https://thelabna.com/
   Effort: Moderate (1-3 hours)
6. **[P1] 🔴 DO FIRST A11y: <svg> elements with an img role must have alternative text (×9)** — _Customers using assistive technology (screen readers) cannot complete purchases because they don't know which payment options are available, directly blocking revenue and exposing you to ADA compliance risk._
   Page: https://thelabna.com/
   Effort: Moderate (1-3 hours)
7. **[P1] 🟠 HIGH Lighthouse bestPractices (mobile): 57/100** — _Visitors, especially on mobile, see warnings in their browser or search results about your site's trustworthiness. This erodes confidence in your dispensary's legitimacy and can suppress organic search ranking, directly reducing foot traffic and online orders._
   Page: https://thelabna.com/
   Effort: Moderate (1-3 hours)
8. **[P1] 🟠 HIGH Lighthouse bestPractices (desktop): 56/100** — _A low best practices score signals to search engines and visitors that your site may be unreliable or unsafe, which directly hurts your ability to rank for cannabis-related searches and can increase bounce rates from customers trying to verify your legitimacy and license compliance._
   Page: https://thelabna.com/
   Effort: Moderate (1-3 hours)
9. **[P1] A11y: Images must have alternative text**
   Page: https://thelabna.com/
10. **[P2] 🟠 HIGH No JSON-LD schema** — _Missing schema markup reduces your chances of appearing in Google's local pack (the map + business listings at the top of search results), which drives foot traffic and online orders for dispensaries._
   Page: https://thelabna.com/
   Effort: Moderate (1-3 hours)

---

## Findings by Severity

### P0 — 2 findings

### 1. Sensitive artifact exposed: /.env

- **Severity:** P0   |   **Priority:** 🔴 DO FIRST
- **Effort:** Quick win (< 30 min)
- **Business category:** security
- **Page URL:** https://thelabna.com/.env
- **Rule:** `tier5.exposed.artifact`

**What it means (plain English)**

Your website is exposing a sensitive configuration file called .env at thelabna.com/.env. This file typically contains database passwords, API keys, and other secrets that should never be publicly accessible. Anyone can currently download this file and gain unauthorized access to your systems.

**Why it matters for your business:** Exposure of database credentials or payment processing keys could lead to data theft, customer information compromise, financial fraud, or complete website takeover—catastrophic for a licensed cannabis retailer.

**Technical root cause:** The .env file was not blocked by your web server or WordPress security configuration. WordPress and most hosting environments should automatically deny access to dotfiles (files starting with a period), but misconfiguration or missing server rules allow it to be served as a plain-text download.

**Recommended fix — step by step**

1. Log into your hosting control panel (cPanel, Plesk, etc.) and verify that your .htaccess file in the root directory contains: <FilesMatch "^\."> Order allow,deny Deny from all </FilesMatch>
2. If .htaccess is not present or disabled, contact your hosting provider to confirm mod_rewrite is enabled and persistent dotfile blocking is active
3. Immediately rotate all credentials in your .env file (database password, API keys, payment tokens) since they are now compromised
4. Consider using a WordPress security plugin like Wordfence or iThemes Security, which includes built-in rules to block .env and other sensitive files
5. Test the fix by visiting https://thelabna.com/.env in a browser—you should see a 403 Forbidden error, not a file download

### 2. Sensitive artifact exposed: /.DS_Store

- **Severity:** P0   |   **Priority:** 🔴 DO FIRST
- **Effort:** Quick win (< 30 min)
- **Business category:** security
- **Page URL:** https://thelabna.com/.DS_Store
- **Rule:** `tier5.exposed.artifact`

**What it means (plain English)**

Your web server is exposing a macOS system file (.DS_Store) that should never be publicly accessible. This file contains metadata about your folder structure and can reveal information about your site's organization that you don't intend to share publicly.

**Why it matters for your business:** Attackers can map your directory structure to find hidden admin pages, backup files, or other sensitive locations, increasing the risk of unauthorized access to your dispensary's customer data or inventory systems.

**Technical root cause:** The WordPress hosting server is not configured to block access to system files like .DS_Store. This typically happens when macOS developers commit these files to the repository or when the server lacks a blanket rule to deny them.

**Recommended fix — step by step**

1. Log in to your WordPress hosting control panel (cPanel, Plesk, or your host's dashboard) and locate the File Manager or htaccess Editor
2. Open the .htaccess file in your site root directory (usually public_html or www)
3. Add these lines near the top: <FilesMatch "^\.(DS_Store|htaccess|htpasswds|git|env)"> Deny from all </FilesMatch>
4. Save and test by visiting https://thelabna.com/.DS_Store in your browser — it should now return a 403 Forbidden error, not 200
5. If you don't have direct .htaccess access, contact your hosting provider and request they block access to .DS_Store, .env, and other system files at the server level
6. Search your entire WordPress site for other .DS_Store files: use File Manager to check root, /wp-content, /wp-admin directories, and delete any found locally

---

### P1 — 7 findings

### 1. Age gate not detected

- **Severity:** P1   |   **Priority:** 🔴 DO FIRST
- **Effort:** Quick win (< 30 min)
- **Business category:** compliance
- **Page URL:** https://thelabna.com/
- **Rule:** `tier1.compliance.age-gate-missing`

**What it means (plain English)**

Your homepage does not display an age verification gate asking visitors to confirm they are 21 or older before accessing content. Cannabis retailers are legally required in most U.S. jurisdictions to gate access to their site behind age verification. Without this, you risk violating state advertising and sales laws, and your site could be flagged by payment processors or ad networks.

**Why it matters for your business:** Operating without an age gate exposes you to regulatory fines, payment processor account suspension, and potential loss of advertising eligibility—any of which can shut down online sales.

**Technical root cause:** The WordPress site either lacks an age-gate plugin, or the plugin is not active/configured to display on the homepage. Cannabis-specific compliance plugins (like Leafwire or custom age-gate implementations) must be explicitly installed and set to trigger on first visit.

**Recommended fix — step by step**

1. Install a WordPress age-gate plugin: Go to WordPress Admin → Plugins → Add New, search 'age gate cannabis' or 'age verification', and install a reputable option (e.g., 'Age Gate' by Timely, or 'WP Age Gate Pro').
2. Activate the plugin and configure it: Set the minimum age to 21, choose 'Decline' action (typically redirect to an exit page or third-party resource), and set it to display on homepage/all pages.
3. Set the gate to appear on first render: In the plugin settings, ensure 'Show on first visit' and 'HomePage' are enabled, and disable cookie bypass or set a short cookie duration (e.g., 30 days).
4. Create a decline/exit landing page: Go to Pages → Add New, create a page (e.g., 'Age Verification Failed'), add a link to an external resource (e.g., NORML or state health authority), and set it as the decline destination in the plugin.
5. Test incognito mode: Open your homepage in a private/incognito browser window to confirm the age gate appears before any other content loads.
6. Document compliance: Save screenshots of the age gate and plugin configuration in case of regulatory audit or payment processor review.

### 2. 1 mixed-content references (http://)

- **Severity:** P1   |   **Priority:** 🔴 DO FIRST
- **Effort:** Quick win (< 30 min)
- **Business category:** security
- **Page URL:** https://thelabna.com/
- **Rule:** `tier5.mixed-content`

**What it means (plain English)**

Your website is loaded over HTTPS (secure), but one image file is being loaded from HTTP (insecure). Modern browsers will either block this image or show a security warning to visitors, which degrades trust and can hurt conversion rates. This is a compliance risk for a regulated industry like cannabis.

**Why it matters for your business:** Visitors may see broken images or security warnings, reducing confidence in your site and potentially causing cart abandonment or compliance audit failures.

**Technical root cause:** The image URL in your media library or theme code contains an http:// prefix instead of https://, likely from a manual entry or a theme/plugin that wasn't updated when the site moved to HTTPS.

**Recommended fix — step by step**

1. Log into WordPress admin → Media Library, search for 'lab_green_black.png', and check the file URL in the attachment details—it should begin with https://, not http://
2. If the file URL is correct in Media Library, go to Appearance → Customize (or your page builder if using Elementor/Divi) and search for any hardcoded http://thelabna.com/cdn links; replace with https://
3. Use the WordPress Search & Replace plugin (install from Plugins → Add New, search 'Better Search Replace') to find all instances of http://thelabna.com and replace with https://thelabna.com; test on staging first
4. Check Settings → General and ensure WordPress Address (URL) and Site Address (URL) both start with https://
5. Run a full site crawl using a free tool like Screaming Frog (or the Yoast SEO audit) to confirm no other http:// resources remain

### 3. Lighthouse perf (mobile): 44/100

- **Severity:** P1   |   **Priority:** 🔴 DO FIRST
- **Effort:** Moderate (1-3 hours)
- **Business category:** revenue
- **Page URL:** https://thelabna.com/
- **Rule:** `tier8.lighthouse.perf-mobile`

**What it means (plain English)**

Your mobile site takes about 14 seconds for the main image/headline to appear, and users experience layout shifts as content loads (like buttons moving around). These delays frustrate visitors and often cause them to leave before exploring your menu or products. Google also penalizes slow mobile sites in search rankings.

**Why it matters for your business:** Slow mobile performance directly reduces foot traffic from search results and increases cart abandonment, especially problematic for customers searching for nearby dispensaries on phones.

**Technical root cause:** Large unoptimized images, render-blocking JavaScript, and possibly excessive third-party scripts (tracking, chat widgets) are delaying when visitors see your content. The Cumulative Layout Shift (0.31) suggests images or ads lack defined dimensions, causing reflow.

**Recommended fix — step by step**

1. Install ShortPixel Image Optimizer plugin (WordPress → Plugins → Add New → search 'ShortPixel' → activate) and enable lossless compression + WebP conversion for all images on homepage and product pages
2. Enable GZIP compression in your hosting control panel (cPanel/Plesk → Compression or similar) or ask your host to enable mod_deflate
3. Defer non-critical JavaScript: use Async JavaScript plugin (WordPress → Plugins → Add New → 'Async JavaScript' → configure to defer chat/tracking scripts below the fold)
4. Set explicit width/height attributes on all <img> tags on homepage; in WordPress editor, click image → edit → set dimensions in 'Size' dropdown before publishing
5. Disable or defer WooCommerce checkout/related product scripts on non-checkout pages via WP Control plugin (Plugins → Add New → 'WP Control' → Script Manager)
6. Review third-party integrations (age-gate service, loyalty plugin, chat widget) in WordPress → Installed Plugins; test disabling each temporarily via Lighthouse to identify the worst performer
7. Set up Google PageSpeed Insights alerts in WordPress: install MonsterInsights (free tier) → connect Google Search Console → enable performance monitoring
8. Enable browser caching via WP Super Cache (WordPress → Plugins → Add New → 'WP Super Cache' → Settings → Cache Timeout = 3600 seconds)

### 4. A11y: <svg> elements with an img role must have alternative text (×9)

- **Severity:** P1   |   **Priority:** 🔴 DO FIRST
- **Effort:** Moderate (1-3 hours)
- **Business category:** compliance
- **Page URL:** https://thelabna.com/
- **Rule:** `tier9.a11y.svg-img-alt`

**What it means (plain English)**

Your website has 9 SVG images (small graphics) that screen readers can't identify. These are payment method icons (American Express, Apple Pay, Diners Club, etc.) that lack descriptive labels. Screen reader users will hear "image" with no context about what payment methods you accept, creating confusion at checkout.

**Why it matters for your business:** Customers using assistive technology (screen readers) cannot complete purchases because they don't know which payment options are available, directly blocking revenue and exposing you to ADA compliance risk.

**Technical root cause:** The SVG elements have role="img" but are missing one of four required accessibility methods: a <title> child element, an aria-label attribute, a valid aria-labelledby reference, or a title attribute. The current aria-labelledby references (e.g., "pi-american_express") point to elements that either don't exist or are empty.

**Recommended fix — step by step**

1. In WordPress admin, install the "SVG Support" plugin (if not already active) to allow native SVG editing
2. Identify the payment icon SVG code: go to your theme's functions.php or check which plugin renders payment icons (likely WooCommerce Payments, Stripe, or similar)
3. For each SVG, add a <title> element as the first child: <svg...><title>American Express</title>...
4. Alternatively, add aria-label directly to each SVG: <svg... aria-label="American Express">
5. If using a payment gateway plugin (Stripe, Square, etc.), check plugin settings for accessibility options or contact vendor support to enable alt-text on their SVGs
6. Test the fix using WAVE browser extension (free) or axe DevTools to confirm screen readers now read the payment method names
7. Verify on mobile and desktop that visual appearance hasn't changed

### 5. Lighthouse bestPractices (mobile): 57/100

- **Severity:** P1   |   **Priority:** 🟠 HIGH
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://thelabna.com/
- **Rule:** `tier8.lighthouse.bestPractices-mobile`

**What it means (plain English)**

Your mobile site scores 57/100 on Lighthouse Best Practices — well below the industry standard of 90. Best Practices measures browser security, code quality, and user trust signals. A low score here signals to search engines and visitors that your site may have reliability or security issues, even if it technically works.

**Why it matters for your business:** Visitors, especially on mobile, see warnings in their browser or search results about your site's trustworthiness. This erodes confidence in your dispensary's legitimacy and can suppress organic search ranking, directly reducing foot traffic and online orders.

**Technical root cause:** The Lighthouse report identifies specific issues (likely outdated dependencies, missing security headers, or third-party script problems). Without the detailed HTML report, the exact causes are unclear, but common culprits on WordPress cannabis sites include unvetted age-gate plugins, outdated payment integrations, or mixed HTTP/HTTPS content.

**Recommended fix — step by step**

1. Download and review the full Lighthouse HTML report from your audit folder (/Users/markwallace/BKH/apex-sentinel/runs/2026-04-19T06-18-18-831Z/lighthouse/the-lab-na/lighthouse-mobile.html) — it lists each failing audit with explanations.
2. In WordPress admin, go to Plugins → Installed Plugins and check for outdated or inactive plugins; update or remove any not actively used (especially third-party age-gate, payment, or analytics plugins).
3. Ensure your SSL certificate is valid and all resources (images, CSS, JS) load over HTTPS only; use a tool like SSL Labs (ssllabs.com) to audit your domain.
4. Check Settings → General in WordPress: confirm both Site URL and WordPress URL use https:// (not http://).
5. Review any custom JavaScript or third-party embeds (chat widgets, age-gate code, payment forms) and confirm they are from trusted vendors; disable or replace any with unresolved security warnings.
6. Run Lighthouse again in Chrome DevTools (F12 → Lighthouse → Generate report) after each fix to track improvement.

### 6. Lighthouse bestPractices (desktop): 56/100

- **Severity:** P1   |   **Priority:** 🟠 HIGH
- **Effort:** Moderate (1-3 hours)
- **Business category:** security
- **Page URL:** https://thelabna.com/
- **Rule:** `tier8.lighthouse.bestPractices-desktop`

**What it means (plain English)**

Your site's Lighthouse best practices score is 56 out of 100—well below the healthy threshold of 90. This means the site has multiple issues that could undermine visitor trust, slow down the user experience, or expose it to security and compatibility problems. The detailed HTML report shows exactly which practices are failing.

**Why it matters for your business:** A low best practices score signals to search engines and visitors that your site may be unreliable or unsafe, which directly hurts your ability to rank for cannabis-related searches and can increase bounce rates from customers trying to verify your legitimacy and license compliance.

**Technical root cause:** The WordPress site is likely missing security headers, has outdated or problematic plugins, uses deprecated APIs, or lacks proper HTTPS/cookie handling. The Lighthouse report will pinpoint the exact violations (e.g., 'missing X-Content-Type-Options header', 'insecure third-party scripts', 'passive event listeners', etc.).

**Recommended fix — step by step**

1. Download the full Lighthouse HTML report from the path shown in evidence and open it in a browser to see the specific failures listed under 'Best Practices'
2. If you see 'Missing security headers' warnings, log in to WordPress → Settings → check if you're using a security plugin like Wordfence or All In One WP Security; if not, install Wordfence Free and enable 'Security Headers' in Firewall settings
3. Check WordPress → Plugins → look for outdated or suspicious plugins and update all to latest versions; remove any unused plugins
4. If the report mentions 'insecure third-party scripts' or third-party cookies, review WordPress → Settings → Plugins to identify which plugin is loading them; consider switching to privacy-respecting alternatives or ask your hosting provider to add Content-Security-Policy headers
5. Log in to your hosting control panel (cPanel, Kinsta, WP Engine, etc.) and verify that HTTPS is enforced site-wide and HTTP Strict Transport Security (HSTS) is enabled
6. Test the site again in Lighthouse (Chrome DevTools → Lighthouse → Analyze page load) after fixes to confirm score improvement

### 7. A11y: Images must have alternative text

- **Severity:** P1
- **Page URL:** https://thelabna.com/
- **Rule:** `tier9.a11y.image-alt`

**Detail**

Ensure <img> elements have alternative text or a role of none or presentation
Impact: critical
WCAG: wcag2a, wcag111
Learn more: https://dequeuniversity.com/rules/axe/4.11/image-alt?application=playwright

---

### P2 — 87 findings

### 1. No JSON-LD schema

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

**What it means (plain English)**

Your homepage doesn't include JSON-LD schema markup—machine-readable code that tells Google what type of business you are, your hours, location, and products. Without it, search engines have to guess your business details instead of reading them directly from your site.

**Why it matters for your business:** Missing schema markup reduces your chances of appearing in Google's local pack (the map + business listings at the top of search results), which drives foot traffic and online orders for dispensaries.

**Technical root cause:** WordPress doesn't auto-generate schema.org markup; it requires a plugin (like Yoast SEO, RankMath, or Schema Pro) or manual code insertion in the page header.

**Recommended fix — step by step**

1. Install and activate the Yoast SEO plugin (free version is sufficient): WordPress admin → Plugins → Add New → search 'Yoast SEO' → Install Now → Activate
2. Go to Yoast SEO → Site Connections → verify Google Search Console is linked; if not, paste your Search Console verification code
3. Navigate to Yoast SEO → Settings → Organization → fill in: business name (The Lab NA), address, phone, hours of operation, and logo URL
4. On the homepage, edit the page and scroll to Yoast SEO metabox → ensure the focus keyphrase includes your main service (e.g., 'cannabis dispensary near [city]')
5. Check the 'Schema' tab in Yoast SEO settings → enable LocalBusiness schema and ensure all fields are populated
6. Publish/update the page, then test at Google's Rich Results Test (https://search.google.com/test/rich-results) and paste your homepage URL to verify schema is detected

### 2. No JSON-LD schema

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

**What it means (plain English)**

Your website is missing JSON-LD structured data—machine-readable code that tells search engines and other tools what your pages contain. Without it, search engines have to guess what your content is about, which can hurt your visibility in search results and reduce the chances that your site appears in rich results (like star ratings or product information panels).

**Why it matters for your business:** Missing schema markup reduces your chances of appearing in Google's rich snippets and featured sections, which directly impacts click-through rates from search results and discovery of your dispensary location, hours, and reviews.

**Technical root cause:** The page lacks JSON-LD blocks in the page source. WordPress does not automatically generate schema markup; it must be added via a plugin, custom code, or theme feature.

**Recommended fix — step by step**

1. Install the free Yoast SEO plugin: WordPress admin → Plugins → Add New → search 'Yoast SEO' → click Install Now → Activate.
2. Go to Yoast SEO → Settings → Titles & Metas → check 'Add schema output' is enabled (default is on).
3. Go to Yoast SEO → Settings → Site connections → Organization and set your dispensary name, logo, and contact details.
4. Manually add Organization, LocalBusiness, and/or OpeningHoursSpecification schema for your cannabis dispensary location (Yoast will auto-generate some, but verify completeness).
5. Install the Rank Math SEO plugin as an alternative (WordPress admin → Plugins → Add New → search 'Rank Math SEO' → Install and Activate) if you prefer; it has stronger default schema support for local businesses.
6. Visit Google Search Console → URL Inspection tool → paste the affected URL → check 'Enhancements' section to confirm schema is now detected.
7. Test schema output at https://validator.schema.org/ or https://search.google.com/test/rich-results — paste your page URL and verify Organization and LocalBusiness blocks render without errors.

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

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

**What it means (plain English)**

Seven images on your Data Sharing Opt-Out page don't have alt text—descriptive labels that screen readers use to help visually impaired visitors understand images, and that search engines use to index image content. This affects both accessibility (visitors using assistive technology) and SEO (Google can't understand what those images show).

**Why it matters for your business:** Visitors using screen readers cannot navigate or understand key content on that page, creating legal accessibility risk; additionally, missing alt text reduces the page's relevance signal to Google for image-based search queries.

**Technical root cause:** Images were added to the page without filling in the 'Alt Text' field in the WordPress media uploader, or the alt attributes were left empty in the HTML.

**Recommended fix — step by step**

1. Log into WordPress admin → go to Pages → edit 'Data Sharing Opt-Out'
2. For each image in the page editor, click the image to select it, then open the Image settings panel (gear icon or right-side panel)
3. Fill the 'Alt Text' field with a brief, descriptive phrase (10–15 words max) that describes what the image shows or its purpose—e.g. 'Checkbox for opting out of data sharing' or 'QR code linking to privacy form'
4. Repeat for all 7 images, then click 'Update' to save the page
5. Test the page with a free tool like axe DevTools (browser extension) to confirm alt text is now present

### 4. No JSON-LD schema

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

**What it means (plain English)**

Your Services page doesn't include structured data—machine-readable information that tells Google and other search engines what your page is about. Without it, search engines have to guess whether your page describes cannabis products, testing services, education, or something else entirely. This is especially important for a dispensary, where clarity about service types (lab testing, consulting, retail) directly affects whether you appear in relevant searches.

**Why it matters for your business:** Missing schema markup reduces your visibility in Google Search results for service-related queries and may prevent your business information from appearing in Knowledge Panels or local search results, directly limiting customer discovery.

**Technical root cause:** The page HTML does not contain any JSON-LD schema blocks (the structured data format Google prefers). WordPress doesn't add schema automatically for custom page types unless explicitly configured via an SEO plugin or manual code.

**Recommended fix — step by step**

1. Install the free Yoast SEO plugin if not already active: Dashboard → Plugins → Add New → search 'Yoast SEO' → Install and Activate.
2. Go to Dashboard → Yoast SEO → Settings → Search Appearance and enable 'Schema' if not already on.
3. Navigate to the Services page (Pages → Services → Edit).
4. In the Yoast SEO meta box at the bottom of the editor, find the 'Schema' tab or section and select 'Service' as the schema type.
5. Fill in the schema fields: Service Name ('Lab Services' or similar), Description, and Image (your logo or service image).
6. Publish/Update the page and wait 24 hours, then test at https://schema.org/validator or Google's Rich Results Test to confirm the schema appears.
7. Repeat for any other service pages (Products, Testing, etc.) using 'Product' or 'Service' schema types as appropriate.

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

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

**What it means (plain English)**

Your Services page has 8 images without alt text — a short description that screen readers read aloud and search engines use to understand images. This blocks people using assistive technology (like screen readers for visual impairments) from understanding your content, and it also means Google can't index those images for image search traffic.

**Why it matters for your business:** Missing alt text reduces your visibility in Google Images, prevents accessibility for customers with disabilities (a legal risk under ADA), and signals to search engines that your page may not be fully optimized — which can lower your ranking in organic search.

**Technical root cause:** Images were uploaded to WordPress without alt text filled in during the upload or editing process. WordPress doesn't require alt text, so they were left blank.

**Recommended fix — step by step**

1. Go to WordPress admin → Pages → Services
2. Click Edit in the Block Editor
3. Scan the page for image blocks; click each one
4. In the right sidebar under 'Image settings,' fill the 'Alt text' field with 2–8 word descriptions of what each image shows (e.g., 'Cannabis flower display in retail case' or 'Staff member assisting customer')
5. For product/strain images, include the product name and key visual detail (e.g., 'Sativa strain with dense green buds')
6. Click Update to save changes
7. Use a free tool like WAVE (wave.webaim.org) to scan the page again and confirm all images now have alt text

### 6. No JSON-LD schema

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

**What it means (plain English)**

Your B2B page doesn't include structured data—metadata that search engines use to understand what your page is about. Without it, Google has to guess whether you're describing a product, a business location, or something else entirely. This is especially important for cannabis businesses, where clear, machine-readable business identity helps search engines match you to the right queries.

**Why it matters for your business:** Without schema markup, search engines are less likely to display rich snippets (like your business name, hours, or license info) in search results, reducing click-through rates and making it harder for B2B partners to find and verify you.

**Technical root cause:** The WordPress theme or page builder is not outputting schema.org JSON-LD blocks in the page head or body. This often happens when the theme lacks built-in schema support and no SEO plugin is configured to generate it.

**Recommended fix — step by step**

1. Install and activate the Yoast SEO plugin (free version is sufficient) via WordPress Admin → Plugins → Add New, search 'Yoast SEO', click Install Now then Activate.
2. Go to Yoast SEO → Site Connections → click 'Google Search Console' and authenticate your Search Console account to let Yoast see what queries bring traffic.
3. Navigate to the B2B page and scroll down in the Yoast metabox (below the editor). Under the 'Schema' tab, ensure 'Organization' or 'LocalBusiness' is selected (LocalBusiness is better for a dispensary with a physical location).
4. Fill in the Yoast schema fields: business name, business type, phone number, and physical address if applicable.
5. Publish/update the page. Use Google's Rich Results Test (https://search.google.com/test/rich-results) to paste the URL and confirm the schema is now present and valid.
6. Repeat steps 3–5 for your homepage and any other key pages (product pages, locations, licensing pages).

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

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

**What it means (plain English)**

Six images on your B2B page lack alt text—descriptive labels that screen readers use to explain images to visually impaired visitors, and that search engines use to understand image content. This makes your page less accessible and slightly weakens SEO for those images.

**Why it matters for your business:** Visitors using screen readers cannot understand what your B2B product or service images show, reducing inclusivity and potential B2B partnership inquiries; search engines also rank image-rich pages lower when alt text is missing.

**Technical root cause:** Images were uploaded to WordPress without filling the 'Alt Text' field in the media library or image block settings.

**Recommended fix — step by step**

1. Log into WordPress admin → Pages → B2B (Business-to-Business) → Edit with block editor
2. Scroll to each image block → click the image → look for 'Alt text' field in the right sidebar (or click three-dot menu → Image settings)
3. For product/service images, write 1–10 word descriptions: e.g., 'CBD oil bottles on white background' or 'Team members in lab coats testing samples'
4. For logos or decorative images that don't add meaning, type 'Decorative' or leave blank (mark as decorative via checkbox if available)
5. Click 'Update' to save the page
6. Run a quick recheck using a free tool like WAVE (wave.webaim.org) to confirm all 6 images now show alt text

### 8. Missing meta description

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

**What it means (plain English)**

Your About Us page is missing a meta description — the 155-character summary that appears below your page title in Google search results. Without it, search engines may auto-generate a snippet from your page content, which often looks truncated or irrelevant. This reduces click-through rates from organic search.

**Why it matters for your business:** Potential customers searching for information about your dispensary may skip your About Us page in search results if the snippet looks unprofessional or uninformative, directly costing you foot traffic and credibility.

**Technical root cause:** The WordPress page editor did not populate the meta description field (usually managed by an SEO plugin like Yoast SEO or Rank Math), or the field was left blank during page creation.

**Recommended fix — step by step**

1. Log into WordPress admin → Pages → About Us
2. Scroll to the Yoast SEO or Rank Math box at the bottom of the editor (if installed); if not visible, install Yoast SEO plugin first
3. Click 'Edit snippet' or the meta description field
4. Write a 155-character description emphasizing what makes your dispensary unique (e.g., 'Award-winning cannabis dispensary serving [City]. Lab-tested products, knowledgeable staff, and community-focused service.')
5. Ensure the description includes your city/region for local SEO
6. Click Save or Update
7. Repeat this process for all other pages missing meta descriptions (check via Google Search Console → Pages → Performance, sorting by pages with no description)

### 9. No JSON-LD schema

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

**What it means (plain English)**

Your About Us page is missing JSON-LD structured data—machine-readable code that tells Google what content is on the page (e.g., 'this is an Organization with a name, address, and phone'). Without it, search engines have to guess the meaning of your content, which reduces the chance they'll show you in local results or knowledge panels.

**Why it matters for your business:** Missing schema means you're invisible to Google's local pack and featured snippets, costing dispensary traffic from people searching 'cannabis near me' or 'dispensary hours.'

**Technical root cause:** WordPress is not automatically injecting Organization, LocalBusiness, or BreadcrumbList schema.org JSON-LD blocks into your page head. This is typically handled by an SEO plugin or custom theme setup.

**Recommended fix — step by step**

1. Install the free Yoast SEO plugin if not already active: WordPress Admin → Plugins → Add New → search 'Yoast SEO' → Install and Activate.
2. Go to Yoast SEO → General → Organization and fill in: Organization name, logo URL, social profiles, and address (critical for local cannabis compliance).
3. In Yoast SEO → Search Appearance → Organization, ensure 'Show organization schema' is enabled.
4. Edit the About Us page: Yoast SEO metabox → toggle 'Schema' tab → verify that 'Organization' schema is selected in the dropdown.
5. If you want LocalBusiness schema (showing hours, phone, license info): Yoast → General → Organization Type → select 'Local Business' and fill in phone and address fields.
6. Publish/update the page and wait 10 seconds, then paste https://thelabna.com/pages/about-us into Google's Rich Results Test (search.google.com/test/rich-results) to confirm JSON-LD is rendering.

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

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

**What it means (plain English)**

Every image on your About Us page lacks alt text—a brief description that screen readers read aloud to visually impaired visitors, and that search engines use to understand image content. This locks out both users and search ranking signals.

**Why it matters for your business:** You're invisible to customers using assistive technology and losing SEO credit for 19 images that could rank for cannabis-related searches.

**Technical root cause:** Images were uploaded to WordPress without filling in the Alt Text field in the media library or image block editor. WordPress doesn't auto-generate alt text.

**Recommended fix — step by step**

1. Log in to WordPress → Pages → About Us → Edit with Block Editor
2. Click the first image block → in the right sidebar, scroll to 'Alt text' field and enter a descriptive phrase (e.g., 'Team members in laboratory setting' or 'Cannabis testing equipment')
3. Repeat for all 19 images on that page—aim for 5–10 words per alt text
4. Alternatively, use the Media Library: go to WordPress → Media → Library → click each image → fill 'Alt Text' field → Update
5. After editing all images, click Publish/Update on the page
6. Test with a screen reader (free option: NVDA on Windows, built-in VoiceOver on Mac) to confirm alt text reads naturally

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

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

**What it means (plain English)**

Your website has 14 images without alt text (descriptive labels that screen readers announce to visually impaired visitors). Alt text also helps search engines understand what your images show, which improves SEO ranking. On the Ceramic Coatings page specifically, nearly all images are missing these labels.

**Why it matters for your business:** Visitors using screen readers cannot understand your product images, blocking accessibility compliance and excluding a customer segment; search engines also rank pages lower when images lack context.

**Technical root cause:** Images were inserted into WordPress without filling the Alt Text field during upload or in the image block settings, leaving the alt attribute empty.

**Recommended fix — step by step**

1. In WordPress admin, go to Media Library and filter by 'Ceramic Coatings' or navigate directly to that page in the editor.
2. For each image, click it to open the block inspector on the right sidebar, find the 'Alt text' field, and write 1–2 sentences describing what the image shows (e.g., 'White ceramic-coated vehicle hood with water beading on surface').
3. Ensure alt text includes relevant keywords naturally (e.g., product name, finish type) without keyword stuffing.
4. For decorative images (e.g., dividers or backgrounds) that do not convey information, leave alt text empty but mark the image as 'Decorative' in the block settings if available.
5. Once all images on the Ceramic Coatings page are updated, check other high-traffic pages (home, product galleries) for the same issue using a free tool like WAVE (wave.webaim.org).
6. Save and republish the page, then submit a recrawl request in Google Search Console to accelerate SEO re-indexing.

### 12. 26 image(s) missing alt text

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

**What it means (plain English)**

Your site has 26 images without alt text (descriptive labels that screen readers read aloud and search engines use to understand images). This makes your site harder to use for people with vision impairments and makes Google less able to index what your images show. On the vinyl-wrap page specifically, 26 out of 27 images are missing these labels.

**Why it matters for your business:** Google ranks sites with complete alt text higher in image search results, which drives discovery; people using screen readers (including older customers) may leave your site frustrated, reducing conversions and loyalty.

**Technical root cause:** Images were likely uploaded and inserted into WordPress without filling in the alt text field in the media library, which is optional by default and often skipped during bulk uploads or when using older gallery plugins.

**Recommended fix — step by step**

1. Log into WordPress admin → Media Library → filter by 'Unattached' or browse the Vinyl Wrap page directly.
2. Open each image in the media library, scroll down to the 'Alt Text' field, and write a 5-15 word description (e.g., 'Red vinyl wrap application on white van door' instead of just 'image123').
3. For batch edits, use the free Bulk Image Alt Text plugin (WordPress.org) to add alt text via CSV import or inline editing.
4. If you used a gallery plugin, ensure its settings auto-populate alt from image filename or title—check the plugin's documentation.
5. After updating, test using a free tool like WAVE (wave.webaim.org) by pasting your URL to confirm alt text is now present.
6. Set a recurring reminder (quarterly) to audit new image uploads using WordPress's built-in alt text reminder (enable in Settings → Media if available in your theme).

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

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Moderate (1-3 hours)
- **Business category:** accessibility
- **Page URL:** https://thelabna.com/pages/colored-paint-protection-film-ppf
- **Rule:** `tier2.a11y.img-missing-alt`

**What it means (plain English)**

Your website has 12 images without alt text (descriptive labels that screen readers read aloud). These invisible labels help both people using screen readers and search engines understand what's in each image. Without them, you're losing SEO value and excluding visitors who rely on accessibility technology.

**Why it matters for your business:** Missing alt text hurts your Google ranking for image searches, reduces time-on-page for accessibility users (who may leave frustrated), and exposes you to ADA compliance risk if your site serves customers in the US.

**Technical root cause:** Images were uploaded to WordPress without filling in the Alt Text field in the image block or media library, leaving the alt attribute blank in the HTML.

**Recommended fix — step by step**

1. Log into WordPress admin and go to Media Library.
2. Filter or search for images used on /pages/colored-paint-protection-film-ppf.
3. Click each image and scroll to the Alt Text field on the right panel.
4. Write concise, descriptive alt text (e.g., 'Clear protective film applied to car hood' not just 'image' or 'photo').
5. Repeat for all 12 images on that page, then audit other pages for the same issue.
6. Install the plugin 'WP Accessibility' (free) to highlight missing alt text across your entire site going forward.
7. Add a WordPress editor note in your team docs: 'Always fill Alt Text before publishing images.'

### 14. Missing meta description

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

**What it means (plain English)**

Your Windshield Protection Film page is missing a meta description — the 150–160 character summary that appears under your page title in Google search results. Without it, Google may auto-generate one from your page content, which often looks choppy or irrelevant to potential customers deciding whether to click.

**Why it matters for your business:** Missing meta descriptions reduce click-through rates from search results, directly lowering organic traffic and revenue even if your page ranks well.

**Technical root cause:** The page was likely created without filling in the meta description field in WordPress, or the theme doesn't expose the meta description control in the editor by default.

**Recommended fix — step by step**

1. Log into WordPress admin → Pages → find 'Windshield Protection Film'
2. Scroll to the Yoast SEO or Rank Math plugin box at the bottom of the editor (if installed; if not, install Yoast SEO via Plugins → Add New)
3. Click the plugin's meta description field and write a 155–160 character summary, e.g., 'Professional windshield protection film installation in [your city]. Protect your windshield from damage. Schedule today.'
4. Include a relevant keyword naturally (e.g., 'windshield protection film' or your service area)
5. Click 'Update' to save the page
6. Repeat for any other pages missing descriptions — prioritize high-traffic or revenue-driving pages first

### 15. No JSON-LD schema

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

**What it means (plain English)**

Your website isn't telling search engines what your pages are about using structured data — a machine-readable format (JSON-LD) that helps Google understand your content type, location, hours, and products. Without it, search results can't display rich snippets (like star ratings, pricing, or availability) and you miss opportunities to appear in specialized search results.

**Why it matters for your business:** Missing schema markup reduces your visibility in local cannabis searches and prevents Google from displaying key dispensary information (hours, license status, product categories) in search results, directly lowering click-through rates from qualified customers.

**Technical root cause:** WordPress sites don't automatically output JSON-LD schema unless a plugin is configured to do so, or custom code is added to the theme. This page has no schema block markup at all.

**Recommended fix — step by step**

1. Install and activate the 'Yoast SEO' plugin (free version is sufficient) via WordPress Dashboard → Plugins → Add New → search 'Yoast SEO' → Install Now → Activate.
2. Go to Yoast SEO → Integrations → Google Search Console and connect your GSC account to let Yoast read your site structure.
3. Visit Yoast SEO → Settings → Site connections and ensure 'Organization' is set to your business name, license number, and location (required for cannabis compliance signaling).
4. For the specific windshield protection film page, edit it in WordPress → open the Yoast SEO metabox at bottom → under 'Schema' tab, select 'Product' from the dropdown and fill in: Name, Description, Price, Availability.
5. Go to Yoast SEO → Tools → Bulk Editor and bulk-assign schema types to all product/service pages (set Product pages to 'Product', service pages to 'LocalBusiness').
6. Test your output: paste https://thelabna.com/pages/windshield-protection-film into Google's Rich Results Test (search.google.com/test/rich-results) and verify JSON-LD blocks appear.

### 16. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://thelabna.com/pages/tesla-paint-protection-film
- **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 pages are about. This code lives in the page HTML but is invisible to visitors. Without it, search engines have to guess whether a page is a product, article, business location, or something else.

**Why it matters for your business:** Search engines may fail to understand your dispensary location, hours, products, and reviews, reducing your visibility in local search results and Google Maps where cannabis customers actively search.

**Technical root cause:** The page has no structured data markup. WordPress doesn't automatically generate JSON-LD; it requires a plugin (like Yoast SEO, Rank Math, or All in One SEO) or manual code addition to the theme template.

**Recommended fix — step by step**

1. Install a WordPress SEO plugin: Go to WordPress Admin → Plugins → Add New, search 'Yoast SEO' or 'Rank Math', click Install, then Activate.
2. Configure the plugin's schema settings: Navigate to the plugin's Settings panel (usually found in left sidebar), select 'Schema' or 'Structured Data', and enable schema for Pages.
3. Add business schema: Go to the plugin's Business Profile section and fill in your dispensary name, address, phone, hours, and license number.
4. Test the schema: Visit Google's Rich Results Test (https://search.google.com/test/rich-results), paste your page URL, and confirm JSON-LD blocks appear in the output.
5. Add local business + organization schema to your homepage specifically: Use the plugin to designate your homepage as a LocalBusiness (dispensary) with your license info.
6. Submit the updated pages to Google Search Console: Go to Admin → URL Inspection, paste your homepage URL, and click 'Request Indexing' to force re-crawl.

### 17. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟠 HIGH
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://thelabna.com/pages/tesla-model-3-paint-protection-film
- **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 pages are about. For a dispensary, this means search engines can't automatically understand your product listings, business location, hours, or license information. Adding this code helps Google display rich results (star ratings, prices, availability) in search results.

**Why it matters for your business:** Missing schema reduces click-through rate from search results and prevents Google from displaying your hours, address, and license details prominently — critical for driving foot traffic and building trust with new customers.

**Technical root cause:** The WordPress theme or plugins in use do not output JSON-LD schema blocks in the page head or body. This is common in older or minimal themes that rely only on meta tags.

**Recommended fix — step by step**

1. Install Yoast SEO plugin (free version): WordPress Admin → Plugins → Add New → search 'Yoast SEO' → Install Now → Activate.
2. Go to Yoast SEO → Settings → XML Sitemaps → toggle 'Enable XML sitemaps' ON to auto-generate schema for key content.
3. Go to Yoast SEO → Site Connections → Google Search Console → paste your Search Console property ID to link your site.
4. Create a dedicated schema block for your dispensary business: Yoast SEO → Settings → Schema → Organization → fill in Business Name, Address, Phone, Hours, License Number.
5. For product/strain pages: edit each page in WordPress → Yoast SEO block → set Content Type dropdown to 'Product' → fill in Price and Availability fields.
6. Test the schema output: Go to https://schema.org/validator → paste your homepage URL → confirm LocalBusiness + Organization schema appears.
7. Submit updated sitemap to Google Search Console: GSC → Sitemaps → paste https://thelabna.com/sitemap_index.xml → Request indexing.

### 18. Missing meta description

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

**What it means (plain English)**

Meta descriptions are the 155-character summaries that appear below your page title in Google search results. This page is missing that summary, so Google will auto-generate one from your content—which often looks choppy and doesn't sell your offering. For a cannabis retailer, a crisp description drives click-through from search results.

**Why it matters for your business:** Missing meta descriptions reduce click-through rate from Google search, lowering foot traffic and online sales from organic search—especially damaging for product/content pages that rank but don't convert.

**Technical root cause:** The WordPress page template or post editor is not populating the meta description field. This is typically managed by an SEO plugin (Yoast, Rank Math, etc.) or manual entry in the page settings, and it appears to be blank for this Tesla Cybertruck page.

**Recommended fix — step by step**

1. Log into WordPress admin → Pages → find 'Tesla Cybertruck' page
2. Check if you have Yoast SEO or Rank Math installed; if so, scroll to the SEO plugin panel at the bottom of the editor
3. In the meta description field, write a 150–155 character summary (e.g., 'Explore the Tesla Cybertruck with The Lab NA. Learn specs, pricing, and availability at our cannabis dispensary.')
4. If no SEO plugin is active, install Yoast SEO (free tier) from Plugins → Add New, activate it, and repeat step 3
5. Click Publish/Update and verify the description appears in Google's cache (search 'cache:thelabna.com/pages/tesla-cybertruck' in Google)

### 19. No JSON-LD schema

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

**What it means (plain English)**

Your product page doesn't include JSON-LD structured data — a standardized format that tells search engines what your page contains (product name, price, availability, etc.). Without it, Google can't easily understand your page's content and may rank it lower or display it less attractively in search results.

**Why it matters for your business:** Missing schema data reduces your visibility in Google search results and product listings, making it harder for customers to find your dispensary and products when searching online.

**Technical root cause:** The WordPress theme or page builder being used does not automatically generate JSON-LD schema markup for product pages. This requires either a plugin, manual code insertion, or theme configuration.

**Recommended fix — step by step**

1. Install the Yoast SEO plugin (free version) if not already active: WordPress Admin → Plugins → Add New → search 'Yoast SEO' → Install & Activate
2. Navigate to the Tesla Cybertruck product page and edit it; scroll to the Yoast SEO metabox at the bottom
3. In Yoast SEO settings, ensure the page is set to 'Product' content type under the Schema tab
4. Verify that essential fields (product name, price, stock status) are filled in the page content or product custom fields
5. If using WooCommerce: confirm the product is published with a price, image, and stock quantity — WooCommerce automatically outputs product schema
6. If not using WooCommerce, use the All in One Schema Rich Snippets plugin (free) as a fallback: WordPress Admin → Plugins → Add New → search 'All in One Schema' → Install & Activate → configure for Product type
7. After saving, test the page using Google's Rich Results Test (https://search.google.com/test/rich-results) to confirm schema is now detected

### 20. Missing meta description

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

**What it means (plain English)**

The page at /pages/ppf-v1 is missing a meta description — a 155-160 character summary that appears below the page title in search results. Without it, Google may auto-generate a snippet from page content, which often looks incomplete or unappealing. This reduces click-through rate from search results.

**Why it matters for your business:** Missing meta descriptions lower your click-through rate from search results, meaning fewer customers find you even when your page ranks well for relevant searches.

**Technical root cause:** The page was likely created without manually entering a meta description in WordPress SEO settings, or the theme does not auto-generate one from page content.

**Recommended fix — step by step**

1. Log in to WordPress admin dashboard → Pages → find 'ppf-v1' and click Edit
2. Scroll to the SEO plugin section (Yoast SEO, Rank Math, or All in One SEO — whichever is installed)
3. Locate the 'Meta description' field and write a unique 155–160 character summary: e.g., 'Explore The Lab NA's premium cannabis products, lab testing results, and member benefits. Safe, compliant, community-focused.'
4. Click Publish or Update to save
5. Repeat this process for any other pages flagged in your SEO audit with missing descriptions

### 21. 12 image(s) missing alt text

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

**What it means (plain English)**

All 12 images on this page are missing alt text — a short text description that tells screen readers (used by people who are blind or low-vision) what the image shows, and helps search engines understand your content. Without it, visitors using assistive technology can't see what you're displaying, and Google has less information to index your page.

**Why it matters for your business:** You're excluding customers with visual disabilities from accessing your product information, and you're losing SEO value on a page that could rank for product-related searches.

**Technical root cause:** The images were likely inserted into WordPress without filling in the 'Alt Text' field in the image block settings, which is optional by default and easy to skip.

**Recommended fix — step by step**

1. Log in to WordPress admin → click Pages → edit 'PPF v1'
2. For each image, click it in the editor and open the image settings panel (right sidebar, or click the image block cog icon)
3. Fill in the 'Alt Text' field with a clear, specific description (e.g., 'Lab testing certificate for Strain Name, batch 2024-001' or 'Product packaging front label')
4. Keep alt text under 125 characters; be descriptive but concise
5. Publish/update the page
6. Optionally: Install the Accessibility Checker plugin (free) to catch future missing alt text before publishing

### 22. Missing meta description

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

**What it means (plain English)**

Your page at /pages/ppf-v2 is missing a meta description — a 160-character summary that Google displays below your page title in search results. Without it, Google may auto-generate a description from your page text, 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, meaning fewer potential customers visit your site even when you rank well for relevant searches.

**Technical root cause:** The WordPress page was created or edited without filling in the SEO meta description field, likely because no SEO plugin was configured or the field was left blank during publishing.

**Recommended fix — step by step**

1. Install Yoast SEO (free version) from Plugins → Add New, search 'Yoast SEO', click Install Now → Activate
2. Go to Pages → All Pages, find 'PPF v2', click Edit
3. Scroll to the Yoast SEO meta box at the bottom of the page (below the editor)
4. In the 'Snippet editor' section, click the meta description field and write 160 characters or less describing this page (e.g., 'Learn about our PPF v2 program and how it benefits our community members.')
5. Click Publish or Update
6. Repeat for any other pages missing descriptions by checking Yoast's admin dashboard (left sidebar) → Dashboard → Issues → 'Missing meta descriptions'

### 23. No JSON-LD schema

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

**What it means (plain English)**

Your pages don't include JSON-LD structured data — machine-readable code that tells Google what your content is about (a product, article, location, etc.). Without it, search engines have to guess; with it, they understand your content instantly and can display it better in search results.

**Why it matters for your business:** Missing schema data reduces your chances of appearing in Google's rich snippets, Knowledge Panels, and specialty search features — all of which drive clicks and credibility for a cannabis retailer competing locally.

**Technical root cause:** WordPress theme and plugins aren't automatically injecting schema.org JSON-LD blocks into page HTML. This is common when a theme doesn't bundle SEO schema generation or when no schema plugin is active.

**Recommended fix — step by step**

1. Install Yoast SEO plugin (free version includes schema) or RankMath (both are cannabis-friendly and widely used): go to WordPress Admin → Plugins → Add New → search 'Yoast SEO' → Install and Activate.
2. Once activated, go to the plugin settings (Yoast SEO → General → Features) and enable 'Schema' if it's toggled off.
3. Visit Settings → Reading and ensure 'Visibility to search engines' is set to 'Allow search engines to index this site'.
4. Edit the page /pages/ppf-v2 (Pages → All Pages → PPF V2 → Edit) and scroll to the Yoast/RankMath box at the bottom — confirm a schema type is selected (e.g., 'Article', 'Product', or 'Web Page').
5. Check the page preview in Google Search Console (or use Google's Rich Results Test: https://search.google.com/test/rich-results) to verify schema is now present.
6. Repeat this schema setup for your high-priority pages (product pages, location/about page, FAQ sections).

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

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

**What it means (plain English)**

Every image on your pages is missing alt text—a short description that screen readers read aloud and search engines use to understand what the image shows. This means visitors using screen readers (e.g., people with vision impairment) can't tell what your product photos or cannabis strains are, and Google can't index them for image search.

**Why it matters for your business:** You're losing traffic from image search (Google Images, Pinterest) and excluding customers with disabilities who use assistive technology—both hurt revenue and create legal liability under WCAG/ADA standards.

**Technical root cause:** Images were uploaded to WordPress without filling in the 'Alt Text' field in the media uploader, or the theme is rendering images without calling the WordPress alt function.

**Recommended fix — step by step**

1. Log into WordPress → Media Library → filter by the /ppf-v2 page (or bulk-edit all images).
2. For each image, click Edit → scroll to 'Alt Text' field → write a brief, descriptive phrase (e.g., 'Purple Haze cannabis flower close-up' or 'Lab testing certificate with cannabinoid percentages').
3. If you're using a page builder (Elementum, Gutenberg, etc.), select each image block → check the 'Alt' field in the sidebar and fill it.
4. Run a free alt-text audit tool like WAVE (wave.webaim.org) on https://thelabna.com/pages/ppf-v2 to verify all 12 images now have text.
5. Set a process: brief the content team that every image upload must include alt text before publishing.

### 25. Missing meta description

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

**What it means (plain English)**

The careers 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 text, which often looks incomplete and unprofessional. This reduces click-through rates from search results.

**Why it matters for your business:** Prospective employees searching for jobs at your dispensary may skip your careers page in favor of competitors with clearer, more compelling search results snippets.

**Technical root cause:** WordPress pages don't auto-generate meta descriptions; they must be manually added via the page editor's SEO plugin (likely Yoast SEO, Rank Math, or All in One SEO). This page was published without filling in that field.

**Recommended fix — step by step**

1. Log in to WordPress admin → Pages → Careers
2. Scroll to the SEO plugin section at the bottom of the editor (check for Yoast, Rank Math, or All in One SEO panels)
3. Find the 'Meta Description' field and write: 'Join The Lab NA team. Explore careers in cannabis retail, budtending, and management. Apply now.'
4. Ensure the description is 150–160 characters (the plugin will show a character counter)
5. Click Update to save
6. Wait 24–48 hours, then search 'site:thelabna.com careers' in Google to verify the new snippet appears

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

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

**What it means (plain English)**

Your careers page has 5 images without alt text — descriptive text that screen readers use to explain images to visually impaired visitors, and that search engines use to understand image content. This creates a barrier for accessibility and misses an SEO opportunity.

**Why it matters for your business:** Visitors using screen readers cannot understand what these images show, potentially excluding them from your careers content. Google also uses alt text to index images, so missing alt text weakens your search visibility for image-based searches.

**Technical root cause:** Images were uploaded to WordPress without filling in the alt text field during upload, or the WordPress image block/media library wasn't configured to require alt text on publish.

**Recommended fix — step by step**

1. Log into WordPress admin → go to Pages → edit the Careers page
2. Identify each of the 5 images in the page editor (they should show as visual blocks or within the legacy editor)
3. For each image block: click the image → in the right sidebar (or popup), find the 'Alt Text' field and write 2–5 words describing what the image shows (e.g., 'Team member at lab workstation' or 'Cannabis testing equipment')
4. For any images in text content: click the image in the editor → 'Edit' or image settings → enter alt text
5. Click 'Update' to save the page
6. Optional: install the 'WP Accessibility' plugin (free) → Settings → enable 'Require alt text on images' to prevent this in future uploads

### 27. Missing meta description

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

**What it means (plain English)**

Your page about Ford Bronco support is missing a meta description — a 150–160 character summary that appears below your page title in Google search results. Without it, Google may auto-generate a snippet from your page text, which often looks unprofessional or irrelevant. This hurts click-through rates from search.

**Why it matters for your business:** Potential customers searching for Ford Bronco support may see a poorly written or confusing preview in Google, causing them to click a competitor's result instead of yours.

**Technical root cause:** The page lacks a meta description tag in the HTML head. WordPress doesn't auto-generate these; you must add it manually or via an SEO plugin.

**Recommended fix — step by step**

1. Log in to WordPress admin → Pages → search for 'Ford Bronco Support'
2. If using Yoast SEO plugin: scroll to 'Yoast SEO' box at bottom of editor → 'SEO' tab → fill 'Meta description' field with a 150–160 character summary (e.g., 'Expert Ford Bronco support & maintenance tips. Learn how to care for your vehicle with our comprehensive guides.')
3. If not using Yoast, install Yoast SEO (free version) from WordPress.org, then repeat step 2
4. Click 'Update' to save the page
5. Repeat for all other pages missing meta descriptions (audit should show the full list)

### 28. Missing meta description

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

**What it means (plain English)**

Your ceramic coat landing page is missing a meta description — the 155-character summary that appears below your page title in Google search results. Without it, Google generates a random snippet from your page, which rarely matches what you want customers to see. This is especially problematic for a product-focused page where you control the messaging.

**Why it matters for your business:** A missing meta description reduces click-through rates from search results because potential customers see auto-generated, often irrelevant text instead of your compelling product pitch.

**Technical root cause:** The page was likely created without filling in the SEO meta description field in WordPress, or the theme's header template is not configured to output the description tag.

**Recommended fix — step by step**

1. Log into WordPress admin → Pages → Ceramic Coat Landing V1
2. Scroll to the bottom and locate the 'Yoast SEO' or theme SEO panel (or look for a 'Meta Description' field if using another SEO plugin)
3. If using Yoast: click the Yoast panel, then paste a 150–160 character description like 'Premium ceramic coating protection for [your product]. Durable finish, UV-resistant. Shop now at The Lab NA.'
4. If no SEO plugin is active, install Yoast SEO (free version) → activate it → go back to the page and fill the description field
5. Click Update/Publish to save
6. Wait 24–48 hours, then check Google Search Console (Google.com/search/console) to verify the description appears in search results

### 29. Missing meta description

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

**What it means (plain English)**

Your page about ceramic coating doesn't have 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 may not accurately represent what you offer or include your key selling points.

**Why it matters for your business:** Potential customers browsing search results can't see a compelling preview of your ceramic coating service, leading to lower click-through rates and lost visits from qualified traffic.

**Technical root cause:** The WordPress page editor did not have a meta description field filled in, or the active SEO plugin (if any) is not configured to display one for this page type.

**Recommended fix — step by step**

1. Log in to WordPress and open the 'Ceramic Coating Landing V2' page for editing.
2. Scroll to the bottom and locate the 'Yoast SEO' or 'Rank Math' panel (or equivalent SEO plugin). If you don't see one, install Yoast SEO via Plugins → Add New.
3. In the SEO panel, find the 'Meta description' field and enter a 150–160 character description that includes your primary keyword and a benefit (e.g., 'Professional ceramic coating in [city]. Protect your paint for years. Book a free quote today.').
4. Click 'Save' or 'Update' the page.
5. Repeat this process for any other pages missing descriptions by checking Google Search Console (Search Results → Pages → filter by 'Missing meta description').

### 30. No JSON-LD schema

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

**What it means (plain English)**

Your website is missing JSON-LD structured data—machine-readable code that tells Google what your pages are about. Without it, search engines have to guess whether a page is a product listing, an article, a local business, or something else. This is especially important for cannabis retailers, where clear, structured information about products, licenses, and location helps search engines understand and rank your content correctly.

**Why it matters for your business:** Missing schema markup reduces your visibility in Google Search results, local maps, and product listings—directly impacting customer discovery and foot traffic to your dispensary.

**Technical root cause:** The page lacks any JSON-LD blocks in the <head> or <body>. WordPress does not automatically generate schema markup; it must be added manually via a plugin, theme settings, or custom code.

**Recommended fix — step by step**

1. Install and activate the Yoast SEO plugin (free version includes schema support) from WordPress admin → Plugins → Add New, search 'Yoast SEO', install, then activate.
2. Go to WordPress admin → Yoast SEO → Search Appearance → Content Types and enable schema for Posts and Pages.
3. For the ceramic-coating-landing-v2 page, edit it in WordPress and confirm Yoast is analyzing it; add a clear page title and meta description in the Yoast meta box below the editor.
4. If this is a product or dispensary listing page, install Yoast SEO Premium or use the free 'Schema' tab in Yoast to manually select 'LocalBusiness' or 'Product' schema type.
5. Verify the schema is live by visiting https://thelabna.com/pages/ceramic-coating-landing-v2 and pasting the URL into Google's Rich Results Test (https://search.google.com/test/rich-results).
6. Repeat schema setup for all key landing pages (product pages, license/compliance pages, location pages) to maximize search visibility.

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

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

**What it means (plain English)**

Nine images on your ceramic coating landing page don't have alt text—descriptive text that explains what each image shows. This hurts two groups: people using screen readers (assistive technology for vision impairment) can't understand those images, and search engines can't index what's in them, which weakens your SEO.

**Why it matters for your business:** Missing alt text reduces your page's ranking potential for image search and makes your site inaccessible to customers with disabilities, which is both a legal compliance risk and a lost customer segment.

**Technical root cause:** Images were likely uploaded to WordPress without alt text filled in during upload, or the page template doesn't enforce alt text as a required field.

**Recommended fix — step by step**

1. Go to WordPress admin → Pages → Ceramic Coating Landing V2 → Edit page
2. Identify each image block on the page (you'll see thumbnail previews)
3. Click each image block, then click the image itself to open the image settings panel on the right
4. Fill in the 'Alt Text' field with a short, accurate description (e.g., 'ceramic coating applied to car hood' not just 'image')
5. Repeat for all 9 images lacking alt text
6. Install the plugin 'Alt Text Missing' from WordPress.org plugin directory to get warnings before publishing pages without alt text in the future
7. Click Update/Publish when complete

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

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

**What it means (plain English)**

Eight images on your Powder Coat landing page lack alt text — descriptive labels that screen readers use to tell blind/low-vision visitors what an image shows. Without alt text, these visitors can't understand the content, and search engines can't index the images either. This is both an accessibility issue and a missed SEO opportunity.

**Why it matters for your business:** Visitors using screen readers will have a degraded experience on a key landing page, increasing bounce rate and reducing conversion potential; you're also losing search visibility for image-based queries related to your products.

**Technical root cause:** Images were uploaded to WordPress without alt text filled in during the media upload process, or the page template does not enforce alt text as a required field.

**Recommended fix — step by step**

1. Log into WordPress admin → go to Media Library → filter for images used on the Powder Coat landing page
2. For each of the 8 images missing alt text, click the image, scroll to 'Alt Text' field, and write a short, descriptive phrase (e.g., 'Blue powder coat finish on metal surface' or 'Powder coating application equipment')
3. In WordPress admin → Pages → Powder Coat Landing V1 → check the page editor for any images; verify each image block has alt text filled in the block settings (right panel)
4. Consider installing the free Yoast SEO plugin (or if already installed, enable its media alt text check) to flag missing alt text on future uploads
5. Test the page with a screen reader (free tool: NVDA for Windows or VoiceOver on Mac) to confirm alt text reads naturally

### 33. Missing meta description

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

**What it means (plain English)**

Your page at /pages/ppf-lp has no meta description—the 155-character summary that appears below your page title in Google search results. Without it, Google generates a random excerpt from your page content, which often looks unprofessional and may not highlight what matters to customers.

**Why it matters for your business:** Missing meta descriptions reduce click-through rates from search results; potential customers see a confusing snippet instead of your value proposition, hurting traffic and conversions.

**Technical root cause:** The page was created or updated without filling in WordPress's meta description field (typically managed via Yoast SEO or All in One SEO plugin), or no SEO plugin is active on this site.

**Recommended fix — step by step**

1. Log in to WordPress admin → Pages → find and edit the 'PPF LP' page
2. If you use Yoast SEO: scroll down to the Yoast SEO meta box → click 'Edit snippet' → write a 150–160 character description that includes your main keyword and a call-to-action (e.g., 'Shop premium flower at The Lab NA. Hand-curated cannabis products from local growers.')
3. If you use All in One SEO: find the 'AIOSEO Settings' box on the page editor → fill the 'Meta Description' field with the same text
4. If no SEO plugin is installed, install Yoast SEO (free version sufficient) via Plugins → Add New → search 'Yoast SEO' → Install Now → Activate, then repeat step 2
5. Click Update/Publish on the page
6. Wait 1–2 weeks, then check Google Search Console → Performance → verify the description appears in search results

### 34. 36 image(s) missing alt text

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

**What it means (plain English)**

Your site has 36 images without alt text — descriptive labels that screen readers use to tell visitors what an image shows, and that search engines use to understand your content. This means people using screen readers (often customers with vision loss) and search engines can't 'see' those images, making your pages less accessible and less discoverable.

**Why it matters for your business:** Missing alt text reduces your SEO ranking for image search (where cannabis product photos drive discovery), locks out customers with disabilities (a legal and market issue), and signals to Google that your site has accessibility debt — which can suppress organic ranking.

**Technical root cause:** Images were uploaded to WordPress without filling in the 'Alt Text' field in the media library, or inserted via shortcodes/blocks that don't include the alt attribute.

**Recommended fix — step by step**

1. Log into WordPress admin → Media Library → filter by 'Unattached' or search affected images from /pages/ppf-lp
2. Click each image and fill in the 'Alt Text' field with a concise, descriptive phrase (e.g., 'Lab-tested cannabis flower in sealed jar' not 'image123')
3. For product images, include product name + key attribute: 'Sour Diesel strain, pre-rolled joint, 0.7g'
4. If images are inserted via Gutenberg blocks, edit the page, select each image block, and add alt text in the 'Advanced' panel on the right sidebar
5. If using a plugin like ACF (Advanced Custom Fields) for repeating image galleries, add 'alt' parameter to the image field in the field group settings
6. After updating, run a re-index in Google Search Console (Settings → Crawl → Request Indexing) to refresh pages
7. Test with a screen reader (free: NVDA or JAWS trial) or use Lighthouse (Chrome DevTools → Lighthouse → Accessibility) to verify fixes

### 35. Missing meta description

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

**What it means (plain English)**

This page is missing a meta description — the 160-character summary that appears under your page title in Google search results. Without it, Google generates a random snippet from your page content, which often looks unprofessional and loses the chance to persuade people to click.

**Why it matters for your business:** A missing meta description reduces click-through rate from search results; potential customers see a jumbled preview instead of your intended message, hurting foot traffic to your dispensary.

**Technical root cause:** The WordPress page editor did not populate the meta description field (typically in the Yoast SEO or All in One SEO plugin panel), or no SEO plugin is active to generate one automatically.

**Recommended fix — step by step**

1. Log in to WordPress admin → Pages → Window Tint LP → scroll to Yoast SEO (or All in One SEO) meta box below the editor
2. In the 'Meta description' field, write a 150–160 character description: e.g., 'Professional window tinting for cannabis retail. UV-blocking films, privacy solutions, and custom designs for dispensaries in [your region].'
3. Click 'Update' to save
4. Search Google for 'site:thelabna.com window tint' within 2–3 days to verify the description appears in results
5. Repeat for any other affected pages identified in your audit report

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

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

**What it means (plain English)**

Your website has 25 images without alt text—descriptions that tell screen readers and search engines what each image shows. This blocks visually-impaired visitors from understanding your content and reduces your visibility in Google Images search results.

**Why it matters for your business:** Missing alt text hurts SEO rankings for image-heavy pages, locks out a segment of potential customers using assistive technology, and creates legal exposure under accessibility compliance standards.

**Technical root cause:** Images were likely uploaded to WordPress without filling in the Alt Text field during media insertion, or inserted via HTML/block editor without the alt attribute populated.

**Recommended fix — step by step**

1. Log into WordPress Dashboard → Media Library → filter by 'Unattached' or view all media; identify images used on /pages/window-tint-lp
2. Click each image → Edit → scroll to Alt Text field → write descriptive alt text (e.g., 'Professional window tint installation on storefront' not just 'window tint')
3. Alternatively, install the free plugin Bulk Alt Text & Meta SEO (search plugins for 'bulk alt' in WordPress) to bulk-edit missing alt attributes
4. On the window-tint-lp page, check blocks containing images → click each image block → in sidebar, ensure Alt Text field is filled
5. Verify fix using WordPress SEO plugin (e.g., Yoast SEO) → go to page analysis → check 'Images' section shows all alt text populated
6. Test with free online tool: Wave.webaim.org → paste URL → run scan → confirm 'Missing alt text' count drops to 0 or 1 (decorative images may be exempt)

### 37. Missing meta description

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

**What it means (plain English)**

This page doesn't have a meta description — a short text summary (160 characters) that appears below your page title in Google search results. Without it, Google may auto-generate something poor, or show nothing, which reduces click-through rates from search.

**Why it matters for your business:** A missing meta description on a product or informational page means fewer people click through from Google search results, directly reducing store traffic and potential customers.

**Technical root cause:** The WordPress page template or this specific post/page was created without filling in the SEO meta description field, which may be empty or not configured in your theme.

**Recommended fix — step by step**

1. Log in to WordPress admin → Pages or Posts → find 'Vinyl Wrap LP' page
2. Scroll to the SEO or Yoast SEO section (usually below the editor); if you use Yoast, look for the 'Snippet' panel
3. Fill the 'Meta description' field with a clear, benefit-driven summary: e.g., 'Premium vinyl wraps for record collections. Custom designs, durable finishes, same-day service at The Lab NA.'
4. Ensure the description is 150–160 characters (Yoast shows a green light when correct)
5. Click Update/Publish
6. Repeat this for all product pages and key category pages (at minimum: home, shop, about, contact)

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

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

**What it means (plain English)**

Your site has 35 images without alt text (alternative text descriptions). Alt text is hidden text that describes what an image shows — it helps people using screen readers understand your content, and it also tells search engines what your images are about. Without alt text, both visitors with vision impairments and Google are left guessing what these images contain.

**Why it matters for your business:** Missing alt text reduces your search ranking for image-based queries (product photos, strain imagery, etc.), blocks accessibility for ~15% of web users, and creates legal risk under ADA/AODA compliance standards that cannabis retailers are increasingly held to.

**Technical root cause:** Images were uploaded to WordPress without alt text filled in during the media upload process, or images were inserted via HTML/page builder without the alt attribute populated in the image tag.

**Recommended fix — step by step**

1. Go to WordPress Admin → Media Library; filter by 'Images' and sort by those with empty alt text.
2. Click each image and open its 'Attachment Details' panel; fill the 'Alt Text' field with a clear, specific 2–8 word description (e.g., 'Lemon Haze flower strain in glass jar' not just 'product').
3. For product images, include strain name + form (flower, edible, concentrate) + brief descriptor so image search drives relevant traffic.
4. Install the plugin 'WP Migrate DB Pro' or use 'Yoast SEO' → 'Tools' → 'Import & Export' to audit and bulk-edit alt text across pages.
5. For the vinyl-wrap-lp page specifically, review each of the 35 images and add context-appropriate alt text (e.g., 'Vinyl LP sleeve mockup with The Lab branding', 'Tour dates promotional graphic').
6. Set a recurring task: every time you upload media, fill alt text before saving. In WordPress, make it a team standard by adding a note in your media upload checklist.
7. Use Lighthouse (built into Chrome DevTools) → Accessibility tab to re-audit the page after updating to confirm the issue is resolved.

### 39. Missing meta description

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

**What it means (plain English)**

Your product page for powder coating 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 encourage clicks.

**Why it matters for your business:** Missing meta descriptions reduce click-through rates from search results, directly lowering traffic to pages that could drive product interest and inquiries.

**Technical root cause:** The WordPress page was created without filling in the meta description field (typically in the Yoast SEO or All in One SEO plugin section below the editor), so no description tag was written to the page's HTML head.

**Recommended fix — step by step**

1. Log in to WordPress admin → Pages → find 'Powder Coating LP'
2. Scroll to the Yoast SEO or All in One SEO box below the editor (whichever plugin you use)
3. Click 'Edit snippet' or similar, then write a 150–160 character description that includes the product name and a benefit (e.g., 'Professional powder coating for metal parts and equipment. Durable, corrosion-resistant finishes for industrial and commercial clients.')
4. Click 'Save' or 'Update' to apply the change
5. Repeat this process for any other product or service pages missing descriptions
6. Submit the updated page URL to Google Search Console → URL Inspection → Request Indexing to refresh Google's view

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

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

**What it means (plain English)**

Your website has 22 images without alt text (descriptive text that appears if an image fails to load). This affects both accessibility—users with screen readers can't understand what those images show—and SEO, since search engines rely on alt text to index image content.

**Why it matters for your business:** Missing alt text reduces your visibility in image search results for products and services, and excludes customers using assistive technology from engaging with your visual content.

**Technical root cause:** Images were likely uploaded to WordPress without filling in the alt text field during upload, or the theme/page builder doesn't enforce alt text as a required field.

**Recommended fix — step by step**

1. Log in to WordPress admin → Media Library → filter by 'Attached to posts' and sort by upload date to find recent images
2. Click each image missing alt text and fill the 'Alt Text' field with a brief, descriptive phrase (e.g., 'Lab powder coating equipment in operation' or 'Cannabis product tincture bottle on shelf')
3. For product images, use the product name + key attribute (e.g., 'Premium flower strain—Lemon Haze' or 'Edible gummies 10mg per piece')
4. Install the free plugin 'WP Accessibility' (Plugins → Add New → search 'WP Accessibility') → enable 'Images' alt text checker to flag missing alt on future uploads
5. Consider enabling 'Require Alt Text' in your page builder settings if using Elementor/Gutenberg to prevent new images from being added without alt text
6. Audit the /pages/powder-coating-lp page specifically: edit it in WordPress → review all images in that section and add alt text to all 22 missing ones

### 41. 29 image(s) missing alt text

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

**What it means (plain English)**

Your website has 29 images missing alt text—descriptions that screen readers use to tell blind or low-vision visitors what an image shows. This also means search engines can't understand what those images depict, so they won't rank for image-related searches and your content is less discoverable. On a product/service page like your ceramic coating landing page, this is a significant gap.

**Why it matters for your business:** Missing alt text reduces your visibility in Google Images search, loses potential customers who use assistive technology, and creates legal accessibility risk under the ADA—particularly serious for cannabis retail where compliance scrutiny is high.

**Technical root cause:** Images were uploaded to WordPress without alt text filled in during media library upload, or images were added via page builder/shortcodes without alt attributes specified in the block settings.

**Recommended fix — step by step**

1. Log into WordPress admin → Media Library, filter by 'Unattached' or review recently added images, and click each one to add descriptive alt text (e.g., 'ceramic coating application on car hood' not just 'image1')
2. Install and activate the free plugin Webi SEO or SEMrush SEO Writing Assistant—both flag missing alt text as you edit pages
3. Open the ceramic-coating-lp page in WordPress editor (or page builder if used) and systematically add alt text to all images: click each image → Alt Text field → write 5–10 words describing what the image shows and its purpose
4. For images in image galleries or sliders, check your gallery plugin settings (e.g., Elementor, Divi, or WPBakery) and ensure alt text fields are visible and required for each slide
5. Set a team rule: before publishing any post or page, do a final accessibility check using the free browser plugin WAVE (wave.webaim.org) and confirm zero missing alt text alerts
6. Consider installing WP Accessibility Plugin (free) to add a dashboard widget that reminds editors to fill alt text during content creation

### 42. Missing meta description

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

**What it means (plain English)**

This page doesn't have a meta description — the 155-character summary that appears below your page title in Google search results. Without it, Google generates a random excerpt from your page content, which often looks unprofessional and doesn't encourage clicks.

**Why it matters for your business:** Missing meta descriptions reduce click-through rates from search results; potential customers see a poorly formatted snippet instead of your selling message, lowering traffic to this page.

**Technical root cause:** The WordPress page was created or edited without filling in the meta description field, which is typically managed by an SEO plugin like Yoast SEO or All in One SEO.

**Recommended fix — step by step**

1. Log into WordPress admin → Pages → find 'Remote Starters' page → edit it.
2. Scroll to the SEO plugin section (usually labeled 'Yoast SEO' or 'All in One SEO' at the bottom of the editor).
3. Locate the 'Meta Description' field and enter a description of 150–160 characters describing this page's content (e.g., 'Explore our remote starter kits and cannabis products available for delivery. Order online from The Lab NA.').
4. Save or update the page.
5. Repeat this process for any other pages flagged in the audit showing 'no meta description'.

### 43. 8 image(s) missing alt text

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

**What it means (plain English)**

Eight images on your Remote Starters page have no alt text—alternative text that describes what's in the picture. Search engines can't read images, so they rely on alt text to understand what your pages show. Screen readers used by people with vision impairments also can't see images without this text.

**Why it matters for your business:** Missing alt text hurts your search ranking for image-based queries (like 'cannabis starter kits'), limits your reach to customers using accessibility tools, and may trigger compliance issues if you serve customers in regions with strict digital accessibility laws.

**Technical root cause:** Images were uploaded to WordPress without filling in the Alt Text field in the image block or media library. WordPress doesn't auto-generate alt text; it must be added manually or via a plugin.

**Recommended fix — step by step**

1. Log into WordPress admin → go to Media Library → search for images used on /pages/remote-starters
2. For each of the 8 images, click Edit, scroll to the Alt Text field, and write a 5–10 word description (e.g., 'Blue glass cannabis bong with ice catcher' or 'Portable dry herb vaporizer in black finish')
3. Install the free plugin 'WP Accessibility' (Plugins → Add New → search 'WP Accessibility' → Activate) to add a reminder prompt when uploading images without alt text
4. Alternatively, use 'Alt Text' plugin for bulk editing: Plugins → Add New → search 'Alt Text' → Install & Activate → use the bulk interface to add alt text to remaining images
5. After adding alt text, run your page through a free accessibility checker (WebAIM WAVE at wave.webaim.org) to confirm all images now have descriptions

### 44. Missing meta description

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

**What it means (plain English)**

Your gallery page is missing a meta description — the 150–160 character summary that appears below your page title in Google search results. Without it, Google generates one automatically, which is often less compelling and may not include your most important keywords or calls-to-action.

**Why it matters for your business:** Potential click-through rate loss from search results; users may skip your gallery page for competitors with clearer, keyword-rich descriptions that stand out in search listings.

**Technical root cause:** The WordPress page editor for /pages/gallery-1 has no meta description field filled in, or the theme's SEO plugin (Yoast, Rank Math, etc.) is not active or not configured to enforce descriptions.

**Recommended fix — step by step**

1. Log into WordPress admin → Pages → Gallery 1 (edit).
2. Scroll down to the SEO/meta section (usually labeled 'Yoast SEO' or similar) — if missing, install Yoast SEO or Rank Math plugin from WordPress Plugins directory.
3. In the meta description field, write 150–160 characters that include a primary keyword (e.g., 'Cannabis community gallery | The Lab NA') plus a benefit (e.g., 'Browse member photos, events & grow spotlights.').
4. Repeat for all other pages missing descriptions (use WordPress plugin search feature 'All in One SEO' or Yoast bulk editor to find & fix in batch).
5. Save and publish; wait 1–2 weeks for Google to re-crawl and display the new description in search results.

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

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

**What it means (plain English)**

Seven images on your gallery page don't have alt text — descriptive labels that screen readers read aloud to blind/low-vision visitors and that search engines use to understand image content. This blocks accessibility compliance and costs you SEO ranking for image searches.

**Why it matters for your business:** You're excluding customers with visual disabilities from your gallery, violating ADA accessibility standards; you're also missing SEO traffic from image search results where potential customers might discover your products.

**Technical root cause:** Images were likely uploaded to WordPress without filling in the 'Alt Text' field during media library upload, or they were added via HTML/shortcodes without alt attributes.

**Recommended fix — step by step**

1. Log into WordPress admin → Media Library → locate each image on the gallery-1 page.
2. For each of the 7 images missing alt text, click the image → Edit → scroll to 'Alt Text' field → write a 5–10 word description (e.g., 'Cannabis flower close-up under grow lights' or 'The Lab team in storefront').
3. If images were added via a gallery plugin (e.g., Elementor, WPBakery), open the page in edit mode → click each image block → look for 'Alt' or 'Accessibility' tab → fill in descriptions.
4. Test by installing the WAVE Accessibility Checker browser extension → run it on /pages/gallery-1 → verify all 7 images now show alt text.
5. Document the alt text in a spreadsheet for future uploads to ensure consistency.

### 46. Missing meta description

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

**What it means (plain English)**

Your vinyl wrap gallery page doesn't have a meta description — the 155-character summary that appears below the page title in Google search results. Without it, Google generates a random snippet from your page content, which may not highlight your best selling points or include your keywords.

**Why it matters for your business:** Potential click-through rate loss: users scrolling search results may skip your page if the auto-generated snippet looks irrelevant, directly affecting traffic to a showcase page that builds brand trust.

**Technical root cause:** The WordPress page was created without a meta description field populated. Most WordPress themes default to empty if the SEO plugin (Yoast, Rank Math, etc.) isn't active or the field isn't explicitly filled.

**Recommended fix — step by step**

1. Log in to WordPress admin → Pages → find 'Vinyl Wrap Gallery' and click Edit
2. If you see an 'SEO' or 'Search Engines' panel on the page editor, click it; if not, install Yoast SEO (Plugins → Add New → search 'Yoast SEO' → Install & Activate)
3. In the SEO panel, locate the 'Meta description' field and write a description between 150–160 characters summarizing the gallery (e.g., 'Browse our vinyl wrap portfolio. Custom vehicle wraps for businesses across [your region]. Fast turnaround & premium finishes.')
4. Include your primary keyword (e.g., 'vinyl wrap') naturally in the description
5. Click 'Update' to save
6. Repeat for any other gallery or showcase pages missing descriptions

### 47. No JSON-LD schema

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

**What it means (plain English)**

Your website is missing JSON-LD structured data — a machine-readable format that tells search engines what your pages are about. Without it, search engines have to guess whether a page is a product, article, event, or business listing. For a cannabis dispensary, this means Google can't confidently understand your inventory, location, hours, or license information.

**Why it matters for your business:** Missing schema reduces your visibility in Google Search results, local pack rankings, and knowledge panels — all critical for driving foot traffic and online orders to a retail location.

**Technical root cause:** The WordPress site either has no SEO plugin with schema generation enabled, or the plugin is installed but schema blocks haven't been configured for key page types (product pages, location/business info, articles).

**Recommended fix — step by step**

1. Install Yoast SEO Premium (if not already active): log into WordPress admin → Plugins → Add New → search 'Yoast SEO' → Install & Activate
2. Go to Yoast SEO → General → Features and toggle ON 'Schema' functionality
3. For product/inventory pages: Edit each product page → Scroll to Yoast SEO block → choose 'Product' from Schema type dropdown → fill Name, Price, Availability
4. For your business/location pages: Go to Yoast SEO → Search Appearance → Local Business → enter Business Name, Address, Phone, License # (cannabis license) → Save
5. For the Vinyl Wrap Gallery page specifically: Edit that page → Yoast SEO block → choose 'Article' schema type and fill in headline, publish date, author
6. Install Google Search Console: visit search.google.com → select your property → go to Enhancements → Rich Results to verify schema is being read correctly

### 48. Missing meta description

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

**What it means (plain English)**

Your Powder Coat Gallery page is missing a meta description—a 155-character summary that appears below your page title in search results. Without it, Google generates random text from the page, which often looks unprofessional and doesn't tell visitors what they'll find. This reduces click-through rates from search results.

**Why it matters for your business:** Lower search visibility and fewer clicks from potential customers searching for powder coating services; missing description signals incomplete optimization to search engines.

**Technical root cause:** WordPress page was created without filling in the meta description field in the SEO plugin (likely Yoast SEO, Rank Math, or native WordPress block settings), or the field was left blank during publishing.

**Recommended fix — step by step**

1. Log into WordPress admin → Pages → find 'Powder Coat Gallery'
2. Scroll to the SEO meta box (usually at the bottom; if missing, ensure you have Yoast SEO or Rank Math active)
3. In the 'Meta Description' field, write a 155-character summary: e.g., 'Browse our professional powder coating gallery. Custom finishes for residential & commercial projects. See our latest work.'
4. Use free tool like seotesting.com to preview how it appears in Google search results before saving
5. Click 'Update' to publish the change
6. Audit other gallery/portfolio pages (e.g., anodize, sandblast galleries) for the same issue and apply descriptions to all

### 49. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟡 MEDIUM
- **Effort:** Quick win (< 30 min)
- **Business category:** seo
- **Page URL:** https://thelabna.com/pages/ford-bronco-support
- **Rule:** `tier2.schema.none`

**What it means (plain English)**

Your website is missing JSON-LD structured data — a code format that tells Google what your content is about (e.g., a product, event, or article). Without it, search engines have to guess the meaning of your pages, which reduces your visibility in search results and special features like rich snippets.

**Why it matters for your business:** Missing schema markup limits your ability to appear in Google's specialty search features (like local business listings or event calendars) and may lower your organic search ranking for cannabis-related queries where competitors have schema implemented.

**Technical root cause:** The WordPress theme or site configuration does not automatically generate or include JSON-LD schema blocks. WordPress doesn't add schema by default; it must be added via plugin, custom code, or theme.

**Recommended fix — step by step**

1. Install the free Yoast SEO plugin (WordPress.org plugin directory → search 'Yoast SEO' → install and activate)
2. Go to WordPress admin → Yoast SEO → Settings → Appearance in search results → toggle 'Schema' on
3. Go to Yoast SEO → Schema → set Organization schema with your business name, logo, address, and phone
4. For the Ford Bronco Support page specifically: edit the page → Yoast SEO meta box → set 'Content type' to 'Article' or 'FAQ' (depending on page purpose)
5. Publish the page and wait 24–48 hours, then test in Google Search Console → URL Inspection tool to verify schema is detected
6. Optional: use Google's Rich Results Test (search.google.com/test/rich-results) to validate schema before publish

### 50. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟡 MEDIUM
- **Effort:** Moderate (1-3 hours)
- **Business category:** seo
- **Page URL:** https://thelabna.com/pages/ceramic-coat-landing-v1
- **Rule:** `tier2.schema.none`

**What it means (plain English)**

Your site isn't using JSON-LD structured data—a standardized format that tells search engines what your pages are about. This is like labeling boxes in a warehouse so the delivery system knows what's inside. Without it, Google has to guess whether your pages are about products, services, events, or something else.

**Why it matters for your business:** Missing structured data reduces the chance that Google displays rich results (like product pricing, ratings, or availability) in search results, which typically increases click-through rates and traffic to cannabis retail sites.

**Technical root cause:** The page template does not include JSON-LD markup blocks in the page head or body. WordPress doesn't automatically generate this; it requires either manual code addition, a schema plugin, or theme-level implementation.

**Recommended fix — step by step**

1. Install the Yoast SEO plugin (if not already active) via WordPress Admin → Plugins → Add New → search 'Yoast SEO' → Install & Activate.
2. Go to Yoast SEO → Settings → XML Sitemaps → toggle ON for 'Post types' and 'Taxonomies' to ensure the plugin tracks all your pages.
3. Edit the landing page (WordPress Admin → Pages → Ceramic Coat Landing V1 → Edit) and open the Yoast SEO metabox below the content editor.
4. In Yoast, click the 'Schema' tab and select the appropriate content type (typically 'WebPage' for landing pages, or 'LocalBusiness' if you want to highlight your dispensary location and hours).
5. Fill in key fields: page title, description, and if LocalBusiness is chosen, add your business name, address, phone, and hours of operation.
6. Click Update and verify the schema appears on the live page by visiting the URL, right-clicking → View Page Source, and searching for '"@context": "https://schema.org"'.

### 51. Missing meta description

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

**What it means (plain English)**

Your page about ceramic coating doesn't have 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 may not highlight your key selling points or include your call-to-action.

**Why it matters for your business:** A missing meta description reduces click-through rate from search results; potential customers see an irrelevant snippet and skip your listing for competitors who have written one.

**Technical root cause:** The page was created without filling in the meta description field in WordPress, or the theme template doesn't output the meta description tag in the page <head>.

**Recommended fix — step by step**

1. Log in to WordPress admin → Pages → find 'Ceramic Coating LP' → scroll to the bottom where you see 'Yoast SEO' (or 'All in One SEO') box
2. In the 'Meta description' field, write 1–2 sentences (140–160 characters) that explain the ceramic coating service and include a benefit (e.g., 'Professional ceramic coating protects your vehicle's paint for years. Enhance shine & durability at The Lab NA.')
3. Click 'Update' to save
4. In Google Search Console (search.google.com/search-console), go to Pages → find this URL → request indexing to push the update

### 52. No JSON-LD schema

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

**What it means (plain English)**

Your gallery page doesn't include JSON-LD structured data — machine-readable code that tells search engines what content is on the page. Without it, Google can't easily understand that this is a gallery of cannabis products or your dispensary, which means it won't show rich snippets (special search result enhancements) and may rank lower for relevant searches.

**Why it matters for your business:** Missing schema reduces your visibility in local search results and product discovery, directly limiting qualified traffic to your gallery and product pages.

**Technical root cause:** The gallery page template likely lacks schema.org markup. WordPress doesn't automatically generate JSON-LD for custom post types or page templates unless a plugin or manual code injection adds it.

**Recommended fix — step by step**

1. Install the Yoast SEO or Rank Math plugin (both have free tiers with schema support).
2. Go to the plugin's settings and enable 'Organization' schema with your dispensary name, address, phone, and license info.
3. For the gallery page specifically: edit it in WordPress → scroll to the plugin's Schema tab → select 'Gallery' or 'ImageGallery' schema type.
4. Map the gallery images and title fields to the schema fields in the plugin UI.
5. Save and use Google's Rich Results Test (search.google.com/test/rich-results) to verify the schema appears on the live page.
6. Repeat for any other product or content pages that don't show schema in Rich Results Test.

### 53. Missing meta description

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

**What it means (plain English)**

Your PPF Gallery page doesn't have a meta description—the 155-character summary that appears below your page title in Google search results. Search engines fall back to auto-generating one from page text, which often looks awkward and doesn't convince people to click.

**Why it matters for your business:** Missing meta descriptions reduce click-through rates from search results, meaning fewer potential customers visit your gallery page even when it ranks well.

**Technical root cause:** The page was likely created without manually filling in the meta description field in WordPress, and no default description was set site-wide.

**Recommended fix — step by step**

1. Log into WordPress admin → Pages → find 'PPF Gallery'
2. Scroll to the SEO section (usually provided by Yoast SEO, Rank Math, or All in One SEO plugin; if not visible, install one of these)
3. In the Meta Description field, write a 155-character description like: 'Explore our professional-grade PPF gallery showcasing vehicle protection installations and results at The Lab NA.'
4. Click Publish or Update
5. Repeat this for any other gallery pages or high-traffic pages missing descriptions
6. Consider setting a site-wide fallback description in your SEO plugin settings for any future pages

### 54. No JSON-LD schema

- **Severity:** P2   |   **Priority:** 🟡 MEDIUM
- **Effort:** Quick win (< 30 min)
- **Business category:** seo
- **Page URL:** https://thelabna.com/pages/ppf-gallery
- **Rule:** `tier2.schema.none`

**What it means (plain English)**

Your page doesn't include JSON-LD structured data — machine-readable code that tells Google what your content is about (e.g., 'this is a product listing' or 'this is an event'). Search engines use this to better understand and display your pages in search results, sometimes with rich snippets (stars, prices, availability).

**Why it matters for your business:** Without schema markup, Google has less confidence in categorizing your cannabis products and dispensary details, reducing your chances of appearing in local search results and product carousels where customers actively look for dispensaries.

**Technical root cause:** WordPress doesn't automatically generate JSON-LD schema unless a plugin or custom code adds it. Most WordPress sites need an SEO plugin to output this markup on pages and posts.

**Recommended fix — step by step**

1. Install Yoast SEO Free (or Rank Math Free) via WordPress Admin → Plugins → Add New → search 'Yoast SEO' → Install and Activate.
2. Go to WordPress Admin → Yoast SEO → General → Features and ensure 'Schema output' is toggled ON.
3. Navigate to WordPress Admin → Yoast SEO → Search Appearance and set your site-wide schema type to 'Organization' or 'LocalBusiness'.
4. Edit the /ppf-gallery page (WordPress Admin → Pages → PPF Gallery) and scroll to the Yoast SEO meta box. In the 'Schema' section, select 'Article' or 'Gallery' from the dropdown (whichever fits your content).
5. Save the page and run Google's Rich Results Test (https://search.google.com/test/rich-results) pasting your page URL to verify schema now appears.
6. Repeat for your product/strain pages if you have them: add Product schema for each strain listing.

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

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

**Detail**

Images without alt fail a11y + hurt SEO.

### 56. Missing meta description

- **Severity:** P2
- **Page URL:** https://thelabna.com/pages/business-to-business
- **Rule:** `tier2.meta.no-description`

**Detail**

Page has no meta description.

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

- **Severity:** P2
- **Page URL:** https://thelabna.com/pages/paint-protection-film
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 58. No JSON-LD schema

- **Severity:** P2
- **Page URL:** https://thelabna.com/pages/ceramic-coatings
- **Rule:** `tier2.schema.none`

**Detail**

Page has no JSON-LD structured data blocks.

### 59. 8 image(s) missing alt text

- **Severity:** P2
- **Page URL:** https://thelabna.com/pages/window-tinting
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 60. No JSON-LD schema

- **Severity:** P2
- **Page URL:** https://thelabna.com/pages/powder-coat
- **Rule:** `tier2.schema.none`

**Detail**

Page has no JSON-LD structured data blocks.

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

- **Severity:** P2
- **Page URL:** https://thelabna.com/pages/windshield-protection-film
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

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

- **Severity:** P2
- **Page URL:** https://thelabna.com/pages/tesla-paint-protection-film
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

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

- **Severity:** P2
- **Page URL:** https://thelabna.com/pages/tesla-model-3-paint-protection-film
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 64. 22 image(s) missing alt text

- **Severity:** P2
- **Page URL:** https://thelabna.com/pages/tesla-cybertruck
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 65. No JSON-LD schema

- **Severity:** P2
- **Page URL:** https://thelabna.com/pages/ppf-v1
- **Rule:** `tier2.schema.none`

**Detail**

Page has no JSON-LD structured data blocks.

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

- **Severity:** P2
- **Page URL:** https://thelabna.com/pages/ceramic-coat-landing-v1
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 67. No JSON-LD schema

- **Severity:** P2
- **Page URL:** https://thelabna.com/pages/powder-coat-gallery
- **Rule:** `tier2.schema.none`

**Detail**

Page has no JSON-LD structured data blocks.

### 68. Missing meta description

- **Severity:** P2
- **Page URL:** https://thelabna.com/pages/window-tint-gallery
- **Rule:** `tier2.meta.no-description`

**Detail**

Page has no meta description.

### 69. No JSON-LD schema

- **Severity:** P2
- **Page URL:** https://thelabna.com/pages/window-tint-gallery
- **Rule:** `tier2.schema.none`

**Detail**

Page has no JSON-LD structured data blocks.

### 70. Missing meta description

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

**Detail**

Page has no meta description.

### 71. No JSON-LD schema

- **Severity:** P2
- **Page URL:** https://thelabna.com/pages/feedback
- **Rule:** `tier2.schema.none`

**Detail**

Page has no JSON-LD structured data blocks.

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

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

**Detail**

Images without alt fail a11y + hurt SEO.

### 73. Missing meta description

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

**Detail**

Page has no meta description.

### 74. Missing meta description

- **Severity:** P2
- **Page URL:** https://thelabna.com/collections/ford-bronco
- **Rule:** `tier2.meta.no-description`

**Detail**

Page has no meta description.

### 75. Missing meta description

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

**Detail**

Page has no meta description.

### 76. No JSON-LD schema

- **Severity:** P2
- **Page URL:** https://thelabna.com/blogs/news
- **Rule:** `tier2.schema.none`

**Detail**

Page has no JSON-LD structured data blocks.

### 77. No JSON-LD schema

- **Severity:** P2
- **Page URL:** https://thelabna.com/blogs/guide
- **Rule:** `tier2.schema.none`

**Detail**

Page has no JSON-LD structured data blocks.

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

- **Severity:** P2
- **Page URL:** https://thelabna.com/blogs/guide/picking-the-right-ppf-installer
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

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

- **Severity:** P2
- **Page URL:** https://thelabna.com/blogs/news/ppf-vs-vinyl-wrap-which-is-right-for-you
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 80. 1 broken internal link(s)

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

**Detail**

Broken internal links degrade UX + crawl equity.

### 81. Layout shift (desktop): 0.232

- **Severity:** P2
- **Page URL:** https://thelabna.com/
- **Rule:** `tier3.cwv.cls-desktop`

**Detail**

CLS 0.232 exceeds 0.05 target.

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

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

**Detail**

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

### 83. 46 tap targets under 44px at mobile-320

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

**Detail**

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

### 84. 47 tap targets under 44px at mobile-375

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

**Detail**

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

### 85. 47 tap targets under 44px at mobile-414

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

**Detail**

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

### 86. 49 tap targets under 44px at tablet-768

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

**Detail**

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

### 87. A11y: All page content should be contained by landmarks (×12)

- **Severity:** P2
- **Page URL:** https://thelabna.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 — 75 findings

### 1. Title length 66 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/
- **Rule:** `tier2.meta.title-length`

**Detail**

Title should be 20-65 chars. Got: "The Lab North America // PPF - Tint - Vinyl - Powder Coat and More"

### 2. Description length 313 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/
- **Rule:** `tier2.meta.description-length`

**Detail**

Description should be 80-160 chars.

### 3. Title length 76 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/products/ford-bronco-bead-lock-trim-ring-exchange-program
- **Rule:** `tier2.meta.title-length`

**Detail**

Title should be 20-65 chars. Got: "Ford Bronco Bead Lock Trim Rings // Exchange Program – The Lab North America"

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

- **Severity:** P3
- **Page URL:** https://thelabna.com/products/ford-bronco-bead-lock-trim-ring-exchange-program
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 5. Title length 76 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/products/any-color-ford-bronco-tow-hooks
- **Rule:** `tier2.meta.title-length`

**Detail**

Title should be 20-65 chars. Got: "ANY COLOR: Ford Bronco Tow Hooks // Exchange Program – The Lab North America"

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

- **Severity:** P3
- **Page URL:** https://thelabna.com/products/any-color-ford-bronco-tow-hooks
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 7. Title length 68 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/products/any-color-1-ford-bronco-warn-epic-shackle
- **Rule:** `tier2.meta.title-length`

**Detail**

Title should be 20-65 chars. Got: "ANY COLOR: (1) Ford Bronco WARN Epic Shackle – The Lab North America"

### 8. Description length 319 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/products/any-color-1-ford-bronco-warn-epic-shackle
- **Rule:** `tier2.meta.description-length`

**Detail**

Description should be 80-160 chars.

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

- **Severity:** P3
- **Page URL:** https://thelabna.com/products/any-color-1-ford-bronco-warn-epic-shackle
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 10. Title length 69 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/products/2021-2024-bronco-grille-lettering-overlay-kit
- **Rule:** `tier2.meta.title-length`

**Detail**

Title should be 20-65 chars. Got: "2021-2024 BRONCO GRILLE LETTERING OVERLAY KIT – The Lab North America"

### 11. Description length 319 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/products/2021-2024-bronco-grille-lettering-overlay-kit
- **Rule:** `tier2.meta.description-length`

**Detail**

Description should be 80-160 chars.

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

- **Severity:** P3
- **Page URL:** https://thelabna.com/products/2021-2024-bronco-grille-lettering-overlay-kit
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 13. Title length 73 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/products/2021-2024-bronco-classic-script-fender-badge-kit
- **Rule:** `tier2.meta.title-length`

**Detail**

Title should be 20-65 chars. Got: "2021 -2024 BRONCO CLASSIC SCRIPT FENDER BADGE KIT – The Lab North America"

### 14. Description length 211 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/products/2021-2024-bronco-classic-script-fender-badge-kit
- **Rule:** `tier2.meta.description-length`

**Detail**

Description should be 80-160 chars.

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

- **Severity:** P3
- **Page URL:** https://thelabna.com/products/2021-2024-bronco-classic-script-fender-badge-kit
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 16. Description length 175 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/products/2021-2024-bronco-rear-emblem-overlay
- **Rule:** `tier2.meta.description-length`

**Detail**

Description should be 80-160 chars.

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

- **Severity:** P3
- **Page URL:** https://thelabna.com/products/2021-2024-bronco-rear-emblem-overlay
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 18. Title length 76 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/products/ford-bronco-raptor-bead-lock-trim-rings-exchange-program
- **Rule:** `tier2.meta.title-length`

**Detail**

Title should be 20-65 chars. Got: "Ford Bronco Bead Lock Trim Rings // Exchange Program – The Lab North America"

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

- **Severity:** P3
- **Page URL:** https://thelabna.com/products/ford-bronco-raptor-bead-lock-trim-rings-exchange-program
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 20. Description length 184 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/products/2021-2024-bronco-rear-emblem-replacement
- **Rule:** `tier2.meta.description-length`

**Detail**

Description should be 80-160 chars.

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

- **Severity:** P3
- **Page URL:** https://thelabna.com/products/2021-2024-bronco-rear-emblem-replacement
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 22. Title length 76 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/products/bronco-rear-tow-hook-pair
- **Rule:** `tier2.meta.title-length`

**Detail**

Title should be 20-65 chars. Got: "Ford Bronco Rear Tow Hook [PAIR] // Exchange Program – The Lab North America"

### 23. Description length 320 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/products/bronco-rear-tow-hook-pair
- **Rule:** `tier2.meta.description-length`

**Detail**

Description should be 80-160 chars.

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

- **Severity:** P3
- **Page URL:** https://thelabna.com/products/bronco-rear-tow-hook-pair
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 25. Description length 320 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/products/dash-cam-momento-m8
- **Rule:** `tier2.meta.description-length`

**Detail**

Description should be 80-160 chars.

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

- **Severity:** P3
- **Page URL:** https://thelabna.com/products/dash-cam-momento-m8
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

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

- **Severity:** P3
- **Page URL:** https://thelabna.com/pages/contact
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 28. Description length 320 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/pages/data-sharing-opt-out
- **Rule:** `tier2.meta.description-length`

**Detail**

Description should be 80-160 chars.

### 29. Title length 76 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/pages/paint-protection-film
- **Rule:** `tier2.meta.title-length`

**Detail**

Title should be 20-65 chars. Got: "Paint Protection Film Installers - The Lab EXCLUSIVE – The Lab North America"

### 30. Title length 88 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/pages/vinyl-wrap
- **Rule:** `tier2.meta.title-length`

**Detail**

Title should be 20-65 chars. Got: "Vinyl Wrap - Exclusive and Premium Brands - Professional Install – The Lab North America"

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

- **Severity:** P3
- **Page URL:** https://thelabna.com/pages/powder-coat
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 32. Description length 236 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/pages/tesla-model-3-paint-protection-film
- **Rule:** `tier2.meta.description-length`

**Detail**

Description should be 80-160 chars.

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

- **Severity:** P3
- **Page URL:** https://thelabna.com/pages/ford-bronco-support
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 34. Description length 328 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/pages/powder-coat-landing-v1
- **Rule:** `tier2.meta.description-length`

**Detail**

Description should be 80-160 chars.

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

- **Severity:** P3
- **Page URL:** https://thelabna.com/pages/ppf-gallery
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

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

- **Severity:** P3
- **Page URL:** https://thelabna.com/pages/vinyl-wrap-gallery
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

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

- **Severity:** P3
- **Page URL:** https://thelabna.com/pages/powder-coat-gallery
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

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

- **Severity:** P3
- **Page URL:** https://thelabna.com/pages/window-tint-gallery
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

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

- **Severity:** P3
- **Page URL:** https://thelabna.com/pages/feedback
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 40. Description length 320 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/pages/electronics
- **Rule:** `tier2.meta.description-length`

**Detail**

Description should be 80-160 chars.

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

- **Severity:** P3
- **Page URL:** https://thelabna.com/collections/frontpage
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

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

- **Severity:** P3
- **Page URL:** https://thelabna.com/collections/ford-bronco
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 43. Description length 239 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/collections/the-lab-lifestyle-collection
- **Rule:** `tier2.meta.description-length`

**Detail**

Description should be 80-160 chars.

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

- **Severity:** P3
- **Page URL:** https://thelabna.com/collections/the-lab-lifestyle-collection
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 45. Description length 320 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/collections/electronics
- **Rule:** `tier2.meta.description-length`

**Detail**

Description should be 80-160 chars.

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

- **Severity:** P3
- **Page URL:** https://thelabna.com/collections/electronics
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

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

- **Severity:** P3
- **Page URL:** https://thelabna.com/blogs/news
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

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

- **Severity:** P3
- **Page URL:** https://thelabna.com/blogs/guide
- **Rule:** `tier2.a11y.img-missing-alt`

**Detail**

Images without alt fail a11y + hurt SEO.

### 49. Description length 320 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/blogs/guide/picking-the-right-ppf-installer
- **Rule:** `tier2.meta.description-length`

**Detail**

Description should be 80-160 chars.

### 50. Title length 67 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/blogs/news/ppf-vs-vinyl-wrap-which-is-right-for-you
- **Rule:** `tier2.meta.title-length`

**Detail**

Title should be 20-65 chars. Got: "PPF vs. Vinyl Wrap: Which Is Right for You? – The Lab North America"

### 51. Description length 319 chars

- **Severity:** P3
- **Page URL:** https://thelabna.com/blogs/news/ppf-vs-vinyl-wrap-which-is-right-for-you
- **Rule:** `tier2.meta.description-length`

**Detail**

Description should be 80-160 chars.

### 52. Heavy JS payload (mobile): 3176KB

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

**Detail**

JavaScript transfer exceeds 250KB budget.

### 53. Heavy page weight (mobile): 15172KB

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

**Detail**

Total transfer exceeds 2500KB budget.

### 54. Heavy JS payload (desktop): 2894KB

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

**Detail**

JavaScript transfer exceeds 250KB budget.

### 55. Heavy page weight (desktop): 14814KB

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

**Detail**

Total transfer exceeds 2500KB budget.

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

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

**Detail**

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

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

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

**Detail**

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

### 58. SSL Labs grade: unknown

- **Severity:** P3
- **Page URL:** https://thelabna.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.

### 59. DNSSEC not enabled

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

**Detail**

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

### 60. No CAA DNS records

- **Severity:** P3
- **Page URL:** https://thelabna.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.

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

- **Severity:** P3
- **Page URL:** https://thelabna.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.

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

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

**Detail**

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

### 63. LH mobile: Defer offscreen images (Est savings of 34 KiB)

- **Severity:** P3
- **Page URL:** https://thelabna.com/
- **Rule:** `tier8.lh-opportunity.offscreen-images-mobile`

**Detail**

Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

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

- **Severity:** P3
- **Page URL:** https://thelabna.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/).

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

- **Severity:** P3
- **Page URL:** https://thelabna.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/).

### 66. LH mobile: Reduce unused CSS (Est savings of 35 KiB)

- **Severity:** P3
- **Page URL:** https://thelabna.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/).

### 67. LH mobile: Reduce unused JavaScript (Est savings of 973 KiB)

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

**Detail**

Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### 68. Lighthouse perf (desktop): 81/100

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

**Detail**

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

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

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

**Detail**

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

### 70. LH desktop: Defer offscreen images (Est savings of 34 KiB)

- **Severity:** P3
- **Page URL:** https://thelabna.com/
- **Rule:** `tier8.lh-opportunity.offscreen-images-desktop`

**Detail**

Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. [Learn how to defer offscreen images](https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/).

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

- **Severity:** P3
- **Page URL:** https://thelabna.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/).

### 72. LH desktop: Reduce unused CSS (Est savings of 33 KiB)

- **Severity:** P3
- **Page URL:** https://thelabna.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/).

### 73. LH desktop: Reduce unused JavaScript (Est savings of 969 KiB)

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

**Detail**

Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. [Learn how to reduce unused JavaScript](https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/).

### 74. LH desktop: Serve images in next-gen formats (Est savings of 22 KiB)

- **Severity:** P3
- **Page URL:** https://thelabna.com/
- **Rule:** `tier8.lh-opportunity.modern-image-formats-desktop`

**Detail**

Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. [Learn more about modern image formats](https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/).

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

- **Severity:** P3
- **Page URL:** https://thelabna.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://thelabna.com/
_43 findings on this page_

- **[P1] Age gate not detected** 🔴 DO FIRST
  Your homepage does not display an age verification gate asking visitors to confirm they are 21 or older before accessing content. Cannabis retailers are legally required in most U.S. jurisdictions to 
- **[P1] 1 mixed-content references (http://)** 🔴 DO FIRST
  Your website is loaded over HTTPS (secure), but one image file is being loaded from HTTP (insecure). Modern browsers will either block this image or show a security warning to visitors, which degrades
- **[P1] Lighthouse perf (mobile): 44/100** 🔴 DO FIRST
  Your mobile site takes about 14 seconds for the main image/headline to appear, and users experience layout shifts as content loads (like buttons moving around). These delays frustrate visitors and oft
- **[P1] Lighthouse bestPractices (mobile): 57/100** 🟠 HIGH
  Your mobile site scores 57/100 on Lighthouse Best Practices — well below the industry standard of 90. Best Practices measures browser security, code quality, and user trust signals. A low score here s
- **[P1] Lighthouse bestPractices (desktop): 56/100** 🟠 HIGH
  Your site's Lighthouse best practices score is 56 out of 100—well below the healthy threshold of 90. This means the site has multiple issues that could undermine visitor trust, slow down the user expe
- **[P1] A11y: Images must have alternative text** 
- **[P1] A11y: <svg> elements with an img role must have alternative text (×9)** 🔴 DO FIRST
  Your website has 9 SVG images (small graphics) that screen readers can't identify. These are payment method icons (American Express, Apple Pay, Diners Club, etc.) that lack descriptive labels. Screen 
- **[P2] No JSON-LD schema** 🟠 HIGH
  Your homepage doesn't include JSON-LD schema markup—machine-readable code that tells Google what type of business you are, your hours, location, and products. Without it, search engines have to guess 
- **[P2] 21 image(s) missing alt text** 
- **[P2] 1 broken internal link(s)** 
- **[P2] Layout shift (desktop): 0.232** 
- **[P2] Missing core schema types: Organization, LocalBusiness, WebSite** 
- **[P2] 46 tap targets under 44px at mobile-320** 
- **[P2] 47 tap targets under 44px at mobile-375** 
- **[P2] 47 tap targets under 44px at mobile-414** 
- **[P2] 49 tap targets under 44px at tablet-768** 
- **[P2] A11y: All page content should be contained by landmarks (×12)** 
- **[P3] Title length 66 chars** 
- **[P3] Description length 313 chars** 
- **[P3] Heavy JS payload (mobile): 3176KB** 
- **[P3] Heavy page weight (mobile): 15172KB** 
- **[P3] Heavy JS payload (desktop): 2894KB** 
- **[P3] Heavy page weight (desktop): 14814KB** 
- **[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] Lighthouse seo (mobile): 92/100** 
- **[P3] LH mobile: Defer offscreen images (Est savings of 34 KiB)** 
- **[P3] LH mobile: Eliminate render-blocking resources (Est savings of 0 ms)** 
- **[P3] LH mobile: Minify JavaScript (Est savings of 5 KiB)** 
- **[P3] LH mobile: Reduce unused CSS (Est savings of 35 KiB)** 
- **[P3] LH mobile: Reduce unused JavaScript (Est savings of 973 KiB)** 
- **[P3] Lighthouse perf (desktop): 81/100** 
- **[P3] Lighthouse seo (desktop): 92/100** 
- **[P3] LH desktop: Defer offscreen images (Est savings of 34 KiB)** 
- **[P3] LH desktop: Minify JavaScript (Est savings of 5 KiB)** 
- **[P3] LH desktop: Reduce unused CSS (Est savings of 33 KiB)** 
- **[P3] LH desktop: Reduce unused JavaScript (Est savings of 969 KiB)** 
- **[P3] LH desktop: Serve images in next-gen formats (Est savings of 22 KiB)** 
- **[P3] Dutchie menu iframe not found on /, /menu, or /shop** 

### https://thelabna.com/products/any-color-1-ford-bronco-warn-epic-shackle
_3 findings on this page_

- **[P3] Title length 68 chars** 
- **[P3] Description length 319 chars** 
- **[P3] 3 image(s) missing alt text** 

### https://thelabna.com/products/2021-2024-bronco-grille-lettering-overlay-kit
_3 findings on this page_

- **[P3] Title length 69 chars** 
- **[P3] Description length 319 chars** 
- **[P3] 3 image(s) missing alt text** 

### https://thelabna.com/products/2021-2024-bronco-classic-script-fender-badge-kit
_3 findings on this page_

- **[P3] Title length 73 chars** 
- **[P3] Description length 211 chars** 
- **[P3] 3 image(s) missing alt text** 

### https://thelabna.com/products/bronco-rear-tow-hook-pair
_3 findings on this page_

- **[P3] Title length 76 chars** 
- **[P3] Description length 320 chars** 
- **[P3] 3 image(s) missing alt text** 

### https://thelabna.com/pages/data-sharing-opt-out
_3 findings on this page_

- **[P2] No JSON-LD schema** 🟠 HIGH
  Your website is missing JSON-LD structured data—machine-readable code that tells search engines and other tools what your pages contain. Without it, search engines have to guess what your content is a
- **[P2] 7 image(s) missing alt text** 🟠 HIGH
  Seven images on your Data Sharing Opt-Out page don't have alt text—descriptive labels that screen readers use to help visually impaired visitors understand images, and that search engines use to index
- **[P3] Description length 320 chars** 

### https://thelabna.com/pages/business-to-business
_3 findings on this page_

- **[P2] Missing meta description** 
- **[P2] No JSON-LD schema** 🟠 HIGH
  Your B2B page doesn't include structured data—metadata that search engines use to understand what your page is about. Without it, Google has to guess whether you're describing a product, a business lo
- **[P2] 6 image(s) missing alt text** 🟠 HIGH
  Six images on your B2B page lack alt text—descriptive labels that screen readers use to explain images to visually impaired visitors, and that search engines use to understand image content. This make

### https://thelabna.com/pages/about-us
_3 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  Your About Us page is missing a meta description — the 155-character summary that appears below your page title in Google search results. Without it, search engines may auto-generate a snippet from yo
- **[P2] No JSON-LD schema** 🟠 HIGH
  Your About Us page is missing JSON-LD structured data—machine-readable code that tells Google what content is on the page (e.g., 'this is an Organization with a name, address, and phone'). Without it,
- **[P2] 19 image(s) missing alt text** 🟠 HIGH
  Every image on your About Us page lacks alt text—a brief description that screen readers read aloud to visually impaired visitors, and that search engines use to understand image content. This locks o

### https://thelabna.com/pages/windshield-protection-film
_3 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  Your Windshield Protection Film page is missing a meta description — the 150–160 character summary that appears under your page title in Google search results. Without it, Google may auto-generate one
- **[P2] No JSON-LD schema** 🟠 HIGH
  Your website isn't telling search engines what your pages are about using structured data — a machine-readable format (JSON-LD) that helps Google understand your content type, location, hours, and pro
- **[P2] 6 image(s) missing alt text** 

### https://thelabna.com/pages/tesla-model-3-paint-protection-film
_3 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 pages are about. For a dispensary, this means search engines can't automatically understand you
- **[P2] 14 image(s) missing alt text** 
- **[P3] Description length 236 chars** 

### https://thelabna.com/pages/tesla-cybertruck
_3 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  Meta descriptions are the 155-character summaries that appear below your page title in Google search results. This page is missing that summary, so Google will auto-generate one from your content—whic
- **[P2] No JSON-LD schema** 🟠 HIGH
  Your product page doesn't include JSON-LD structured data — a standardized format that tells search engines what your page contains (product name, price, availability, etc.). Without it, Google can't 
- **[P2] 22 image(s) missing alt text** 

### https://thelabna.com/pages/ppf-v1
_3 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  The page at /pages/ppf-v1 is missing a meta description — a 155-160 character summary that appears below the page title in search results. Without it, Google may auto-generate a snippet from page cont
- **[P2] No JSON-LD schema** 
- **[P2] 12 image(s) missing alt text** 🟠 HIGH
  All 12 images on this page are missing alt text — a short text description that tells screen readers (used by people who are blind or low-vision) what the image shows, and helps search engines underst

### https://thelabna.com/pages/ppf-v2
_3 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  Your page at /pages/ppf-v2 is missing a meta description — a 160-character summary that Google displays below your page title in search results. Without it, Google may auto-generate a description from
- **[P2] No JSON-LD schema** 🟠 HIGH
  Your pages don't include JSON-LD structured data — machine-readable code that tells Google what your content is about (a product, article, location, etc.). Without it, search engines have to guess; wi
- **[P2] 12 image(s) missing alt text** 🟠 HIGH
  Every image on your pages is missing alt text—a short description that screen readers read aloud and search engines use to understand what the image shows. This means visitors using screen readers (e.

### https://thelabna.com/pages/ford-bronco-support
_3 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  Your page about Ford Bronco support is missing a meta description — a 150–160 character summary that appears below your page title in Google search results. Without it, Google may auto-generate a snip
- **[P2] No JSON-LD schema** 🟡 MEDIUM
  Your website is missing JSON-LD structured data — a code format that tells Google what your content is about (e.g., a product, event, or article). Without it, search engines have to guess the meaning 
- **[P3] 4 image(s) missing alt text** 

### https://thelabna.com/pages/ceramic-coat-landing-v1
_3 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  Your ceramic coat landing page is missing a meta description — the 155-character summary that appears below your page title in Google search results. Without it, Google generates a random snippet from
- **[P2] No JSON-LD schema** 🟡 MEDIUM
  Your site isn't using JSON-LD structured data—a standardized format that tells search engines what your pages are about. This is like labeling boxes in a warehouse so the delivery system knows what's 
- **[P2] 10 image(s) missing alt text** 

### https://thelabna.com/pages/ceramic-coating-landing-v2
_3 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  Your page about ceramic coating doesn't have a meta description—the 160-character summary that appears below your page title in Google search results. Without it, Google generates a random snippet fro
- **[P2] No JSON-LD schema** 🟠 HIGH
  Your website is missing JSON-LD structured data—machine-readable code that tells Google what your pages are about. Without it, search engines have to guess whether a page is a product listing, an arti
- **[P2] 9 image(s) missing alt text** 🟠 HIGH
  Nine images on your ceramic coating landing page don't have alt text—descriptive text that explains what each image shows. This hurts two groups: people using screen readers (assistive technology for 

### https://thelabna.com/pages/gallery-1
_3 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  Your gallery page is missing a meta description — the 150–160 character summary that appears below your page title in Google search results. Without it, Google generates one automatically, which is of
- **[P2] No JSON-LD schema** 🟡 MEDIUM
  Your gallery page doesn't include JSON-LD structured data — machine-readable code that tells search engines what content is on the page. Without it, Google can't easily understand that this is a galle
- **[P2] 7 image(s) missing alt text** 🟠 HIGH
  Seven images on your gallery page don't have alt text — descriptive labels that screen readers read aloud to blind/low-vision visitors and that search engines use to understand image content. This blo

### https://thelabna.com/pages/ppf-gallery
_3 findings on this page_

- **[P2] Missing meta description** 🟡 MEDIUM
  Your PPF Gallery page doesn't have a meta description—the 155-character summary that appears below your page title in Google search results. Search engines fall back to auto-generating one from page t
- **[P2] No JSON-LD schema** 🟡 MEDIUM
  Your page doesn't include JSON-LD structured data — machine-readable code that tells Google what your content is about (e.g., 'this is a product listing' or 'this is an event'). Search engines use thi
- **[P3] 3 image(s) missing alt text** 

### https://thelabna.com/pages/vinyl-wrap-gallery
_3 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  Your vinyl wrap gallery page doesn't have a meta description — the 155-character summary that appears below the page title in Google search results. Without it, Google generates a random snippet from 
- **[P2] No JSON-LD schema** 🟠 HIGH
  Your website is missing JSON-LD structured data — a machine-readable format that tells search engines what your pages are about. Without it, search engines have to guess whether a page is a product, a
- **[P3] 4 image(s) missing alt text** 

### https://thelabna.com/pages/powder-coat-gallery
_3 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  Your Powder Coat Gallery page is missing a meta description—a 155-character summary that appears below your page title in search results. Without it, Google generates random text from the page, which 
- **[P2] No JSON-LD schema** 
- **[P3] 4 image(s) missing alt text** 

### https://thelabna.com/pages/window-tint-gallery
_3 findings on this page_

- **[P2] Missing meta description** 
- **[P2] No JSON-LD schema** 
- **[P3] 4 image(s) missing alt text** 

### https://thelabna.com/pages/feedback
_3 findings on this page_

- **[P2] Missing meta description** 
- **[P2] No JSON-LD schema** 
- **[P3] 3 image(s) missing alt text** 

### https://thelabna.com/blogs/news
_3 findings on this page_

- **[P2] Missing meta description** 
- **[P2] No JSON-LD schema** 
- **[P3] 3 image(s) missing alt text** 

### https://thelabna.com/blogs/news/ppf-vs-vinyl-wrap-which-is-right-for-you
_3 findings on this page_

- **[P2] 7 image(s) missing alt text** 
- **[P3] Title length 67 chars** 
- **[P3] Description length 319 chars** 

### https://thelabna.com/products/ford-bronco-bead-lock-trim-ring-exchange-program
_2 findings on this page_

- **[P3] Title length 76 chars** 
- **[P3] 3 image(s) missing alt text** 

### https://thelabna.com/products/any-color-ford-bronco-tow-hooks
_2 findings on this page_

- **[P3] Title length 76 chars** 
- **[P3] 3 image(s) missing alt text** 

### https://thelabna.com/products/2021-2024-bronco-rear-emblem-overlay
_2 findings on this page_

- **[P3] Description length 175 chars** 
- **[P3] 3 image(s) missing alt text** 

### https://thelabna.com/products/ford-bronco-raptor-bead-lock-trim-rings-exchange-program
_2 findings on this page_

- **[P3] Title length 76 chars** 
- **[P3] 3 image(s) missing alt text** 

### https://thelabna.com/products/2021-2024-bronco-rear-emblem-replacement
_2 findings on this page_

- **[P3] Description length 184 chars** 
- **[P3] 3 image(s) missing alt text** 

### https://thelabna.com/products/dash-cam-momento-m8
_2 findings on this page_

- **[P3] Description length 320 chars** 
- **[P3] 3 image(s) missing alt text** 

### https://thelabna.com/pages/services
_2 findings on this page_

- **[P2] No JSON-LD schema** 🟠 HIGH
  Your Services page doesn't include structured data—machine-readable information that tells Google and other search engines what your page is about. Without it, search engines have to guess whether you
- **[P2] 8 image(s) missing alt text** 🟠 HIGH
  Your Services page has 8 images without alt text — a short description that screen readers read aloud and search engines use to understand images. This blocks people using assistive technology (like s

### https://thelabna.com/pages/paint-protection-film
_2 findings on this page_

- **[P2] 25 image(s) missing alt text** 
- **[P3] Title length 76 chars** 

### https://thelabna.com/pages/ceramic-coatings
_2 findings on this page_

- **[P2] No JSON-LD schema** 
- **[P2] 14 image(s) missing alt text** 🟠 HIGH
  Your website has 14 images without alt text (descriptive labels that screen readers announce to visually impaired visitors). Alt text also helps search engines understand what your images show, which 

### https://thelabna.com/pages/vinyl-wrap
_2 findings on this page_

- **[P2] 26 image(s) missing alt text** 🟠 HIGH
  Your site has 26 images without alt text (descriptive labels that screen readers read aloud and search engines use to understand images). This makes your site harder to use for people with vision impa
- **[P3] Title length 88 chars** 

### https://thelabna.com/pages/powder-coat
_2 findings on this page_

- **[P2] No JSON-LD schema** 
- **[P3] 4 image(s) missing alt text** 

### https://thelabna.com/pages/tesla-paint-protection-film
_2 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 pages are about. This code lives in the page HTML but is invisible to visitors. Without it, searc
- **[P2] 15 image(s) missing alt text** 

### https://thelabna.com/pages/careers
_2 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  The careers 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 tex
- **[P2] 5 image(s) missing alt text** 🟠 HIGH
  Your careers page has 5 images without alt text — descriptive text that screen readers use to explain images to visually impaired visitors, and that search engines use to understand image content. Thi

### https://thelabna.com/pages/powder-coat-landing-v1
_2 findings on this page_

- **[P2] 8 image(s) missing alt text** 🟠 HIGH
  Eight images on your Powder Coat landing page lack alt text — descriptive labels that screen readers use to tell blind/low-vision visitors what an image shows. Without alt text, these visitors can't u
- **[P3] Description length 328 chars** 

### https://thelabna.com/pages/ppf-lp
_2 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  Your page at /pages/ppf-lp has no meta description—the 155-character summary that appears below your page title in Google search results. Without it, Google generates a random excerpt from your page c
- **[P2] 36 image(s) missing alt text** 🟠 HIGH
  Your site has 36 images without alt text — descriptive labels that screen readers use to tell visitors what an image shows, and that search engines use to understand your content. This means people us

### https://thelabna.com/pages/window-tint-lp
_2 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  This page is missing a meta description — the 160-character summary that appears under your page title in Google search results. Without it, Google generates a random snippet from your page content, w
- **[P2] 25 image(s) missing alt text** 🟠 HIGH
  Your website has 25 images without alt text—descriptions that tell screen readers and search engines what each image shows. This blocks visually-impaired visitors from understanding your content and r

### https://thelabna.com/pages/vinyl-wrap-lp
_2 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  This page doesn't have a meta description — a short text summary (160 characters) that appears below your page title in Google search results. Without it, Google may auto-generate something poor, or s
- **[P2] 35 image(s) missing alt text** 🟠 HIGH
  Your site has 35 images without alt text (alternative text descriptions). Alt text is hidden text that describes what an image shows — it helps people using screen readers understand your content, and

### https://thelabna.com/pages/powder-coating-lp
_2 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  Your product page for powder coating 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 
- **[P2] 22 image(s) missing alt text** 🟠 HIGH
  Your website has 22 images without alt text (descriptive text that appears if an image fails to load). This affects both accessibility—users with screen readers can't understand what those images show

### https://thelabna.com/pages/ceramic-coating-lp
_2 findings on this page_

- **[P2] Missing meta description** 🟡 MEDIUM
  Your page about ceramic coating doesn't have a meta description—the 155-character summary that appears under your page title in Google search results. Without it, Google generates a random snippet fro
- **[P2] 29 image(s) missing alt text** 🟠 HIGH
  Your website has 29 images missing alt text—descriptions that screen readers use to tell blind or low-vision visitors what an image shows. This also means search engines can't understand what those im

### https://thelabna.com/pages/remote-starters
_2 findings on this page_

- **[P2] Missing meta description** 🟠 HIGH
  This page doesn't have a meta description — the 155-character summary that appears below your page title in Google search results. Without it, Google generates a random excerpt from your page content,
- **[P2] 8 image(s) missing alt text** 🟠 HIGH
  Eight images on your Remote Starters page have no alt text—alternative text that describes what's in the picture. Search engines can't read images, so they rely on alt text to understand what your pag

### https://thelabna.com/pages/electronics
_2 findings on this page_

- **[P2] 17 image(s) missing alt text** 
- **[P3] Description length 320 chars** 

### https://thelabna.com/collections/frontpage
_2 findings on this page_

- **[P2] Missing meta description** 
- **[P3] 4 image(s) missing alt text** 

### https://thelabna.com/collections/ford-bronco
_2 findings on this page_

- **[P2] Missing meta description** 
- **[P3] 4 image(s) missing alt text** 

### https://thelabna.com/collections/the-lab-lifestyle-collection
_2 findings on this page_

- **[P3] Description length 239 chars** 
- **[P3] 3 image(s) missing alt text** 

### https://thelabna.com/collections/electronics
_2 findings on this page_

- **[P3] Description length 320 chars** 
- **[P3] 3 image(s) missing alt text** 

### https://thelabna.com/blogs/guide
_2 findings on this page_

- **[P2] No JSON-LD schema** 
- **[P3] 3 image(s) missing alt text** 

### https://thelabna.com/blogs/guide/picking-the-right-ppf-installer
_2 findings on this page_

- **[P2] 5 image(s) missing alt text** 
- **[P3] Description length 320 chars** 

### https://thelabna.com/pages/contact
_1 finding on this page_

- **[P3] 3 image(s) missing alt text** 

### https://thelabna.com/pages/window-tinting
_1 finding on this page_

- **[P2] 8 image(s) missing alt text** 

### https://thelabna.com/pages/colored-paint-protection-film-ppf
_1 finding on this page_

- **[P2] 12 image(s) missing alt text** 🟠 HIGH
  Your website has 12 images without alt text (descriptive labels that screen readers read aloud). These invisible labels help both people using screen readers and search engines understand what's in ea

### https://thelabna.com/.env
_1 finding on this page_

- **[P0] Sensitive artifact exposed: /.env** 🔴 DO FIRST
  Your website is exposing a sensitive configuration file called .env at thelabna.com/.env. This file typically contains database passwords, API keys, and other secrets that should never be publicly acc

### https://thelabna.com/.DS_Store
_1 finding on this page_

- **[P0] Sensitive artifact exposed: /.DS_Store** 🔴 DO FIRST
  Your web server is exposing a macOS system file (.DS_Store) that should never be publicly accessible. This file contains metadata about your folder structure and can reveal information about your site


---

_Generated by Apex Sentinel Monthly Audit · 2026-04-19T07:26:41.504Z · Powered by Bud Authority._