URL: https://greengeniusnyc.com/
Platform: wordpress
Archetype: lifestyle
Run ID: 2026-04-19T06-18-18-831Z
Scanned: 2026-04-19T06:18:19.213Z
Duration: 919s
This is a monthly deep audit. The crawler performed a full-site scan including
Lighthouse performance, axe-core accessibility (WCAG 2.2 AA), cross-browser compatibility,
security headers, schema markup validation, and SEO best-practice checks.
Because this site is not a repository we control, Apex Sentinel **cannot automatically
apply fixes** — instead, each finding below includes an AI-generated plain-English
explanation + step-by-step recommended fix you can hand to a developer or execute
in your CMS directly.
Overall grade: F
| Dimension | Count | Meaning |
|---|---|---|
| Pages crawled | 51 | Full sitemap + linked pages |
| P0 (critical) | 1 | Site-down or compliance-breaking |
| P1 (urgent) | 6 | Significant revenue / SEO / UX impact |
| P2 (high) | 19 | Quality / ranking / trust degradation |
| P3 (medium) | 192 | Polish + optimization |
| "Do first" items | 5 | AI-flagged top priorities |
| Quick wins (< 30 min) | 48 | Fastest ROI items |
If you only have time for ten things this month, do these — in this order.
Page: https://greengeniusnyc.com/wp-login.php
Effort: Quick win (< 30 min)
Page: https://greengeniusnyc.com/
Effort: Quick win (< 30 min)
Page: https://greengeniusnyc.com/
Effort: Moderate (1-3 hours)
Page: https://greengeniusnyc.com/
Effort: Quick win (< 30 min)
Page: https://greengeniusnyc.com/
Effort: Moderate (1-3 hours)
Page: https://greengeniusnyc.com/
Effort: Moderate (1-3 hours)
Page: https://greengeniusnyc.com/
Page: https://greengeniusnyc.com/
Effort: Moderate (1-3 hours)
Page: https://greengeniusnyc.com/blog/
Effort: Quick win (< 30 min)
Page: https://greengeniusnyc.com/services/
Effort: Quick win (< 30 min)
tier5.exposed.artifactWhat it means (plain English)
Your WordPress login page is publicly accessible at /wp-login.php. While this is WordPress's default, leaving it exposed makes it an easy target for automated attacks trying to guess passwords. Attackers can find this page and attempt thousands of login tries to break in.
Why it matters for your business: An unauthorized admin account could modify your site, inject malware, or take it offline — damaging customer trust, SEO rankings, and compliance with cannabis regulations that require secure operations.
Technical root cause: WordPress installs with /wp-login.php enabled by default. No firewall rule or .htaccess restriction is blocking access to this administrative path.
Recommended fix — step by step
tier5.mixed-contentWhat it means (plain English)
Your website is loaded over HTTPS (secure), but one resource is being requested over HTTP (insecure). Modern browsers will block or warn users about this mismatch, which can degrade trust and break functionality. In this case, the OASAS helpline link is being referenced insecurely.
Why it matters for your business: Mixed content warnings reduce customer confidence in your site security, particularly important for a cannabis retailer where compliance and legitimacy are critical to brand trust.
Technical root cause: A link or embedded resource in your WordPress site (likely in a footer, widget, or page content) points to http://oasas.ny.gov instead of https://oasas.ny.gov, or the URL lacks a protocol and the browser defaults to HTTP.
Recommended fix — step by step
tier9.a11y.aria-dialog-nameWhat it means (plain English)
Your site has an age-gate popup (the dialog box that appears to verify visitors are 21+) that screen readers cannot identify or describe. Screen reader users—including your legally compliant visitors—cannot understand what the dialog is for or how to interact with it. This breaks accessibility for a material portion of your audience.
Why it matters for your business: Cannabis retailers are legally required to provide age verification, but inaccessible verification gates exclude disabled customers and expose you to ADA/Section 508 litigation risk, especially in NYC.
Technical root cause: The dialog element with id='baag3-gate' (likely from the BAAG3 age-gate plugin) has role='dialog' and aria-modal='true' but lacks an aria-label, aria-labelledby, or title attribute. Screen readers cannot announce the dialog's purpose.
Recommended fix — step by step
#baag3-gate { --aria-label: 'Age Verification'; } (note: CSS cannot fix ARIA; this is documentation only).tier9.a11y.color-contrastWhat it means (plain English)
Your site has two buttons with text colors that don't contrast sharply enough against their backgrounds. The 'Start Your Order' button uses white text on a medium green (#439466) with a contrast ratio of 3.7, but accessibility standards require 4.5:1 for text this size. The age-gate 'Yes' button has similar issues at 4.28:1. This means visitors with low vision or color blindness may struggle to read these critical calls-to-action.
Why it matters for your business: Inaccessible buttons directly reduce conversions and create legal risk under the ADA; visitors who can't read your order button can't place orders, and you may face compliance complaints.
Technical root cause: The button background colors (#439466 and #56855c) are too close in lightness to white text. WCAG AA requires at least 4.5:1 contrast for normal text; these buttons fall short by ~0.7-0.2 ratio points.
Recommended fix — step by step
tier10.journey.failedWhat it means (plain English)
Your site is trying to load JavaScript files (modern module scripts), but the server is returning HTML pages instead. Browsers reject this because they expect actual JavaScript code with the correct file type label. This breaks interactive features like your age gate and menu functionality.
Why it matters for your business: Visitors cannot pass your age verification gate or navigate your site, preventing access to product pages and blocking potential sales during a critical compliance checkpoint.
Technical root cause: JavaScript imports (likely from a theme or plugin) are pointing to incorrect file paths that resolve to WordPress pages or error pages instead of .js files. The server is serving HTML with the wrong MIME type header (text/html instead of application/javascript).
Recommended fix — step by step
tier8.lighthouse.bestPractices-desktopWhat it means (plain English)
Your site's Lighthouse Best Practices score is 59 out of 100—well below the healthy target of 90. This score aggregates issues like outdated browser APIs, insecure third-party scripts, missing security headers, and deprecated code patterns. While your SEO (92) and accessibility (89) are strong, Best Practices failures can signal trust issues to both search engines and visitors.
Why it matters for your business: A low Best Practices score erodes customer trust, may trigger browser warnings on checkout pages, and signals to Google that your site has quality or security concerns—potentially hurting organic search visibility for high-intent 'cannabis near me' and product searches.
Technical root cause: WordPress sites commonly accumulate issues through outdated plugins, unvetted third-party integrations (tracking pixels, age-gate services, payment processors), mixed HTTP/HTTPS content, missing security headers (CSP, X-Frame-Options), and browser APIs deprecated since 2020. The Lighthouse report details the specific violations.
Recommended fix — step by step
tier9.a11y.link-nameDetail
Ensure links have discernible text
Impact: serious
WCAG: wcag2a, wcag244, wcag412
Learn more: https://dequeuniversity.com/rules/axe/4.11/link-name?application=playwright
tier1.js.console-errorsWhat it means (plain English)
Your homepage is producing 7 JavaScript errors in the browser console, all related to failed module script loads. The server is returning HTML instead of JavaScript files when the browser requests modern JavaScript modules (ESM). This typically happens when a plugin or theme references JavaScript files with incorrect paths or when the web server isn't configured to serve those files correctly.
Why it matters for your business: These errors can break interactive features (product filters, age-gate verification, shopping cart) and may prevent Google from fully crawling and indexing your site, reducing organic search visibility and conversion potential.
Technical root cause: A WordPress plugin or theme is attempting to load ES modules (modern JavaScript) from paths that don't exist or return HTML error pages instead of actual JavaScript files. This is often caused by broken plugin dependencies, misconfigured asset URLs, or a theme conflict.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
The blog page lacks a meta description — a 160-character summary that appears under your page title in Google search results. Without it, Google may auto-generate a snippet, which often looks incomplete and doesn't persuade users to click through.
Why it matters for your business: A missing meta description reduces click-through rates from search results, directly lowering qualified traffic to your blog and reducing opportunities to engage customers with educational cannabis content.
Technical root cause: The WordPress page or post object for /blog/ has no meta description field populated in the page settings or SEO plugin configuration.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
The Services page is missing a meta description — the 155-character text snippet that appears below your page title in Google search results. This means search engines will auto-generate a snippet from your page content, which may not highlight your most important selling points or include a call-to-action.
Why it matters for your business: A missing meta description reduces click-through rate from search results; potential customers see a generic excerpt instead of a compelling summary of your services, directly impacting foot traffic and online inquiries.
Technical root cause: The WordPress page was created without filling in the meta description field in the page editor, or the theme's SEO plugin (if installed) was not configured to auto-populate it.
Recommended fix — step by step
tier2.meta.no-descriptionWhat it means (plain English)
Your /brands/ page is missing a meta description — the 160-character summary that appears under your page title in Google search results. Without it, Google will auto-generate a snippet, which is often choppy and may not highlight why customers should click your page. This is fixable in under five minutes via WordPress.
Why it matters for your business: A missing description reduces click-through rate from search results; potential customers see a generic preview instead of a compelling reason to visit your brands inventory page.
Technical root cause: The page was published without filling in the meta description field in WordPress's SEO plugin (Yoast SEO, Rank Math, or native WordPress block editor), or no SEO plugin is active.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
Five product images on your vapes page lack alt text—a text description that tells both screen readers (used by visually impaired visitors) and search engines what each image shows. This means some customers can't understand your products, and Google can't index those images in search results.
Why it matters for your business: You're losing potential customers with visual impairments (required by law to serve), and missing SEO value from image search traffic—cannabis product photos often drive discovery.
Technical root cause: Images were uploaded to WordPress without filling in the 'Alt Text' field in the media uploader, or the image blocks/gallery were inserted without alt attributes.
Recommended fix — step by step
tier3.perf.mobile-failWhat it means (plain English)
Our automated performance test couldn't load your homepage on mobile within 60 seconds. This means either the site is extremely slow to load, or it's stuck waiting for resources (images, scripts, ads) that never arrive. Real customers on mobile devices likely experience the same delay.
Why it matters for your business: Slow mobile load times drive away customers before they see your menu, hours, or age gate—directly costing you sales and foot traffic from the majority of users browsing on phones.
Technical root cause: Either a resource (third-party script, image, or plugin) is failing to load, or your server/hosting is under-provisioned. The 'networkidle' check waits for all network activity to stop; if a resource hangs, the page never signals completion.
Recommended fix — step by step
tier4.schema.missing-coreWhat it means (plain English)
Your site includes Organization and WebSite schema markup, but is missing LocalBusiness schema. LocalBusiness tells search engines and map apps that you're a physical retail location with a specific address, hours, and phone number. For a cannabis dispensary competing locally, this markup helps Google Show your business in local search results and on Google Maps.
Why it matters for your business: Without LocalBusiness schema, you're less likely to appear in Google local pack results (the map + business card section at the top of search), which drives foot traffic and phone calls for retail locations.
Technical root cause: The WordPress schema plugin or manual JSON-LD implementation is currently only outputting Organization, WebSite, and utility schemas. LocalBusiness is a parent schema that wraps or extends Organization to add location-specific fields like address, phone, hours, and geo coordinates.
Recommended fix — step by step
tier5.header.strict-transport-securityWhat it means (plain English)
Your site is missing the Strict-Transport-Security (HSTS) header, which tells browsers to always use encrypted HTTPS connections when visiting your site. This header is especially important for cannabis retailers, where customer trust and secure transactions are critical. Without it, visitors could accidentally connect via insecure HTTP, exposing their data.
Why it matters for your business: Missing HSTS weakens customer trust in your payment security and increases vulnerability to man-in-the-middle attacks during checkout, directly risking compliance violations and refund disputes.
Technical root cause: Your WordPress host (WP Engine) and CDN (Cloudflare) are not configured to inject the Strict-Transport-Security header into HTTP responses. This is a server-side configuration, not a WordPress plugin setting.
Recommended fix — step by step
curl -I https://greengeniusnyc.com and confirm 'Strict-Transport-Security' appears in response headerstier5.header.content-security-policyWhat it means (plain English)
Your website is missing a Content Security Policy (CSP) header — a security instruction that tells browsers which sources of content (scripts, images, stylesheets) are trusted. Without it, your site is more vulnerable to malicious script injection attacks that could steal customer data or redirect users to phishing pages.
Why it matters for your business: A CSP breach could expose customer payment information, age-verification data, or license details, leading to regulatory fines under New York cannabis compliance rules and loss of customer trust.
Technical root cause: WordPress on WP Engine with Cloudflare is not returning a Content-Security-Policy header in the HTTP response. This is typically configured at the hosting level, WordPress plugin level, or CDN level, but none are currently active.
Recommended fix — step by step
tier6.a11y.small-targetsWhat it means (plain English)
Your site has 41 buttons, links, and interactive elements that are smaller than 44×44 pixels when viewed on mobile phones. This makes them difficult to tap accurately—especially for people with limited dexterity, older users, or anyone trying to interact quickly. WCAG 2.5.5 is an accessibility standard that ensures your site works for everyone.
Why it matters for your business: Visitors on mobile (where most cannabis research happens) will struggle to navigate your menu, click product links, or complete age verification—leading to abandoned browsing and lost sales.
Technical root cause: CSS styling or theme defaults are setting buttons, menu items, and links to padding/sizes below the 44px minimum. WordPress themes often inherit small touch targets from desktop-first designs without mobile optimization.
Recommended fix — step by step
.wp-block-button__link { min-height: 44px; min-width: 44px; padding: 12px 16px; }tier6.a11y.small-targetsWhat it means (plain English)
Your site has 41 buttons, links, and other clickable elements that are smaller than 44×44 pixels on mobile phones. WCAG 2.5.5 (a web accessibility standard) requires interactive elements to be at least 44×44 pixels so people with limited dexterity—including older adults and those with tremors—can tap them reliably without accidentally hitting the wrong button.
Why it matters for your business: Small tap targets frustrate mobile visitors, increase accidental clicks (driving up bounce rates and cart abandonment), and expose your dispensary to accessibility complaints or legal risk under state/federal accessibility laws.
Technical root cause: The site's CSS or theme is sizing interactive elements (likely navigation links, product filters, 'Add to Cart' buttons, age-gate controls) below the 44px minimum. This often happens when designers optimize for desktop first without testing mobile tap zones.
Recommended fix — step by step
a { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; } for all link types.tier6.a11y.small-targetsWhat it means (plain English)
Your website has 37 buttons, links, and other clickable elements that are smaller than 44×44 pixels when viewed on a tablet. This makes them hard to tap accurately—especially for people with motor impairments or simply anyone using a tablet one-handed. It's a WCAG accessibility standard that helps ensure your site works for everyone.
Why it matters for your business: Customers on tablets may struggle to tap menu items, product filters, or checkout buttons, leading to cart abandonment and frustration. This also affects your compliance posture if audited by disability-focused organizations.
Technical root cause: Interactive elements are sized for desktop viewing (where mouse precision is high) without considering touch-based devices. Tablet viewports at 768px width often expose links and buttons that meet desktop standards but fall short of the 44×44px touch-target minimum.
Recommended fix — step by step
tier8.lighthouse.perf-mobileWhat it means (plain English)
Your mobile site takes roughly 25 seconds for the largest visual element (hero image, main product photo) to appear on screen—that's 5× slower than Google's recommendation. Visitors on phones will see a blank or incomplete page for nearly half a minute, causing them to bounce away before they ever see your products or age gate.
Why it matters for your business: Slow mobile load times directly reduce conversion rates and harm your search ranking on Google, where mobile performance is a ranking factor—especially critical for cannabis retail competing in local searches.
Technical root cause: Large unoptimized images, render-blocking JavaScript (likely from plugins or ads), and missing lazy-load attributes are preventing the browser from displaying content quickly on slower mobile connections.
Recommended fix — step by step
tier8.lighthouse.perf-desktopWhat it means (plain English)
Your homepage takes 4 seconds to display its main content (images, headlines), which is slower than Google's recommended 2.5 seconds. Visitors see a blank or incomplete page during this delay, increasing bounce rates. The Lighthouse performance score of 72 indicates room for improvement in image optimization, script loading, and server response time.
Why it matters for your business: Slow page load directly reduces conversion rates—studies show every 1-second delay costs 7% of sales. For a dispensary site, this means fewer customers completing age verification, product browsing, or pre-orders.
Technical root cause: Large unoptimized images, render-blocking JavaScript, or excessive third-party scripts (ads, analytics, age-gate tools) are likely delaying the Largest Contentful Paint metric. WordPress sites often load too many plugins simultaneously.
Recommended fix — step by step
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier5.header.x-frame-optionsDetail
x-frame-options not present on homepage response. Affects fortress score and CSP posture.
tier6.a11y.small-targetsDetail
Interactive elements smaller than 44x44 fail WCAG 2.5.5 target size.
tier8.lighthouse.bestPractices-mobileDetail
Score 61 is below target 90. See HTML report for details.
tier9.a11y.heading-orderDetail
Ensure the order of headings is semantically correct
Impact: moderate
WCAG:
Learn more: https://dequeuniversity.com/rules/axe/4.11/heading-order?application=playwright
tier2.a11y.img-missing-altWhat it means (plain English)
One image on your Brands page doesn't have alt text — the hidden text that describes an image to screen readers and search engines. This means visually impaired visitors can't understand that image, and Google can't index it properly for image search.
Why it matters for your business: Missing alt text reduces organic search visibility for product/brand discovery and makes your site less accessible to customers using screen readers — a compliance risk and a missed audience.
Technical root cause: The image element in the HTML is missing the alt attribute entirely, leaving no fallback text for assistive technology or search engines to parse.
Recommended fix — step by step
tier2.robots.no-sitemapWhat it means (plain English)
Your robots.txt file (the file that tells search engines which pages to crawl) doesn't include a pointer to your XML sitemap. A sitemap is like a table of contents for your entire website. Without this pointer, Google has to discover all your pages through links alone, which is slower and less reliable.
Why it matters for your business: Search engines may take longer to index new products, menus, or content updates, delaying when customers can find you through organic search.
Technical root cause: The robots.txt file is missing a 'Sitemap:' line that URL-points to the XML sitemap. WordPress typically generates a sitemap automatically (usually at /sitemap.xml or /sitemap_index.xml), but robots.txt must be told where it lives.
Recommended fix — step by step
tier2.meta.no-ogWhat it means (plain English)
OpenGraph tags are metadata snippets that tell social media platforms (Facebook, Instagram, LinkedIn) how to display your link when someone shares it. Without them, social shares show a generic preview instead of your chosen title, description, and image—making posts look unprofessional and less clickable.
Why it matters for your business: Reduced click-through rates on social media sharing, lower engagement on Instagram and Facebook where cannabis retailers build community, and missed opportunity to control your brand presentation when customers share your site.
Technical root cause: The WordPress site's header is missing og:title, og:image, og:description, and og:url meta tags in the <head> section, either because the theme doesn't include them by default or an SEO plugin hasn't been configured to generate them.
Recommended fix — step by step
tier2.meta.title-lengthWhat it means (plain English)
Your page title is 80 characters long, but search engines like Google typically show only 50-60 characters in search results before cutting off with an ellipsis (…). This means visitors searching for your content won't see the full title, and you lose an opportunity to communicate your brand name or key message.
Why it matters for your business: Incomplete titles in search results reduce click-through rates from potential customers browsing for deals, directly affecting store traffic and online visibility.
Technical root cause: The WordPress page title was written without considering the display limit in search engine results. Each character beyond ~60 is hidden from users in most search interfaces.
Recommended fix — step by step
tier2.meta.no-ogWhat it means (plain English)
Your blog post about pre-roll deals is missing OpenGraph tags—special HTML code that tells Facebook, Instagram, and other social platforms how to display your content when someone shares the link. Without these tags, the platforms show a generic preview instead of your custom title and product image, which reduces click-through rates from social traffic.
Why it matters for your business: Missing OpenGraph metadata means fewer clicks from social shares; when customers post your deals to Instagram or Facebook, the preview looks unprofessional and doesn't highlight your product, directly reducing traffic and sales from social referrals.
Technical root cause: WordPress is not automatically generating og:title and og:image meta tags for this post. This typically happens when an SEO plugin (like Yoast, RankMath, or All in One SEO) is not installed, not configured, or the post is missing a featured image.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
One product or promotional image on your August pre-roll deals post lacks alt text — a brief text description that screen readers announce and search engines use to understand images. This affects both visitors using assistive technology and your SEO visibility for image searches.
Why it matters for your business: Missing alt text reduces discoverability in Google Images, limits reach to visually impaired customers (a legal accessibility requirement), and may signal poor quality to search algorithms, slightly lowering ranking for that page.
Technical root cause: The image was likely inserted via WordPress media uploader without filling the Alt Text field, or the field was left blank during content creation.
Recommended fix — step by step
tier2.meta.title-lengthWhat it means (plain English)
Your page title is 71 characters long, but Google typically displays 50–60 characters on desktop and fewer on mobile. Titles longer than 65 characters get truncated in search results, meaning potential customers won't see your full message. This particular title is getting cut off after 'Green Genius,' losing the descriptive part that explains what the page offers.
Why it matters for your business: Truncated titles reduce click-through rates from search results because visitors can't see the full value proposition of your content before deciding whether to visit.
Technical root cause: The title tag in the page's HTML head section exceeds the recommended 65-character limit, likely because it combines both a descriptive headline and the brand name without prioritization.
Recommended fix — step by step
tier2.meta.description-lengthWhat it means (plain English)
Your meta description—the text that appears under your page title in Google search results—is 225 characters long. Google typically truncates (cuts off) descriptions longer than 160 characters on desktop and 120 on mobile. This means potential customers see an incomplete preview of your content, which reduces click-through rates.
Why it matters for your business: Incomplete search snippets discourage clicks from search results, lowering organic traffic and visibility for your lifestyle content that could drive awareness and foot traffic to your dispensary.
Technical root cause: The meta description tag in the page's HTML head section exceeds the recommended 80–160 character range, likely written without length constraints or automated truncation in place.
Recommended fix — step by step
tier2.meta.no-ogWhat it means (plain English)
When someone shares your blog post on Facebook, Instagram, or other social platforms, those sites use special metadata tags (called OpenGraph tags) to pull in a preview image and title. Without them, your post appears as a plain link with no visual preview, making people much less likely to click through.
Why it matters for your business: Missing OpenGraph metadata reduces social sharing engagement and click-through rates on your lifestyle content, limiting organic reach and potential customer discovery from social platforms where cannabis-curious audiences congregate.
Technical root cause: The WordPress theme or SEO plugin (if in use) is not automatically generating or allowing manual entry of og:title and og:image meta tags in the page <head> section.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
One image on your August blog post doesn't have alt text—a short description that screen readers read aloud and that search engines use to understand the image. This means visitors using screen readers can't tell what that image shows, and Google can't index it for image search.
Why it matters for your business: Missing alt text reduces your blog post's SEO visibility (especially in Google Images), locks out customers using accessibility tools, and may expose you to accessibility compliance complaints.
Technical root cause: The image was likely inserted into the WordPress editor without the alt text field being populated. WordPress doesn't require alt text, so it's easy to skip.
Recommended fix — step by step
tier2.meta.description-lengthWhat it means (plain English)
Your meta description (the snippet Google shows under your link in search results) is 232 characters long. Google typically displays 150–160 characters on desktop and 120 on mobile, so anything longer gets cut off. This means visitors see an incomplete preview, which can reduce click-through rates from search results.
Why it matters for your business: When your product descriptions are truncated in search results, potential customers may skip your link in favor of competitors who have clearer, complete previews—directly reducing traffic and sales.
Technical root cause: The meta description tag in the page's HTML head contains more text than the recommended 80–160 character range, causing it to exceed what search engines display.
Recommended fix — step by step
tier2.meta.no-ogWhat it means (plain English)
When this page is shared on Facebook, Instagram, or other social platforms, those sites won't have a nice preview card with your image and headline. Instead, they'll show a plain text link or a generic thumbnail. This weakens the visual appeal of your content when customers share it.
Why it matters for your business: Shared blog posts and product pages that lack preview images get fewer clicks and engagement on social media, reducing referral traffic and brand visibility among potential customers.
Technical root cause: The page is missing og:title and og:image meta tags in the HTML head. WordPress doesn't add these automatically unless an SEO plugin or custom code is configured to generate them.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
One image on your summer favorites blog post is missing alt text—a short text description that appears when the image fails to load and helps search engines understand what the image shows. This hurts both accessibility (visually impaired visitors using screen readers can't understand the image) and SEO (Google can't rank you for image-related search queries if it doesn't know what the image depicts).
Why it matters for your business: Missing alt text reduces your organic search visibility for product and lifestyle imagery, and excludes visually impaired customers from understanding your content—both hurt discoverability and brand inclusivity.
Technical root cause: The image element in the post HTML lacks an alt attribute. WordPress allows editors to add alt text during upload or via the media library, but it was skipped during post creation.
Recommended fix — step by step
tier2.meta.title-lengthWhat it means (plain English)
Your page title is 80 characters long, but search engines like Google typically display only 50–60 characters in search results before truncating with ellipsis (…). This means potential customers see a cut-off headline, making your offer less compelling and harder to read.
Why it matters for your business: Truncated titles in search results reduce click-through rates, meaning fewer customers see your full promotion and may skip your listing entirely for competitors' results.
Technical root cause: The page title meta tag exceeds the recommended 50–65 character range. While Google doesn't penalize length directly, displays are capped, so anything beyond ~60 chars gets hidden from users.
Recommended fix — step by step
tier2.meta.description-lengthWhat it means (plain English)
Your meta description (the summary that appears under your page title in Google search results) is 208 characters long. Search engines typically truncate descriptions longer than 160 characters, which means your full message won't be visible to people deciding whether to click your link. This one page is affected.
Why it matters for your business: Potential customers scrolling search results won't see your complete promotion details, reducing click-through rates and lost foot traffic to your dispensary.
Technical root cause: The WordPress SEO plugin (likely Yoast or Rank Math) is not enforcing or flagging the character limit on this post's meta description field during publication.
Recommended fix — step by step
tier2.meta.no-ogWhat it means (plain English)
OpenGraph tags are snippets of code that tell social platforms (Facebook, Instagram, LinkedIn) how to display your content when someone shares a link. Without them, social shares show a generic preview instead of your custom title and product image, making posts look unprofessional and reducing click-through rates.
Why it matters for your business: When customers share your deals on social media without proper OpenGraph tags, the post appears broken or generic, reducing traffic from social referrals and weakening word-of-mouth visibility for promotions like your pre-roll deals.
Technical root cause: The WordPress theme or site configuration is not automatically generating OpenGraph meta tags for blog posts. Most WordPress SEO plugins (like Yoast or Rank Math) include this feature, but it must be enabled and configured.
Recommended fix — step by step
tier2.meta.no-twitter-cardWhat it means (plain English)
Your product pages are missing Twitter Card meta tags, which are small snippets of code that tell Twitter (now X) how to display your content when someone shares a link. Without them, shared posts show as plain text with no image or formatted preview, making them look unprofessional and less clickable.
Why it matters for your business: When customers share your deals on social media, posts with missing Twitter Cards get fewer clicks and engagement compared to posts with rich previews—directly reducing traffic from social sharing, which is a key discovery channel for cannabis retailers.
Technical root cause: WordPress sites need either manual meta tag insertion in the header, or an SEO plugin (like Yoast SEO or Rank Math) configured to auto-generate Twitter Cards. Neither is currently enabled for this page.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
One image on your August deals post is missing alt text — a short text description that screen readers use to describe the image to visually impaired visitors. Search engines also use alt text to understand image content, which helps your pages rank higher in image search results.
Why it matters for your business: Missing alt text reduces accessibility for customers with visual disabilities, and search engines may rank this page lower for relevant image searches, costing you organic traffic to promotional content.
Technical root cause: The image was likely uploaded and inserted into the post without filling in the alt text field during upload or editing.
Recommended fix — step by step
tier2.meta.title-lengthWhat it means (plain English)
Your page title is 71 characters long, but search engines like Google typically display 50–60 characters on desktop and fewer on mobile. Your full title gets cut off in search results, hiding the benefit of 'Green Genius' branding at the end. Shorter, punchy titles also rank better because they fit in the visible snippet.
Why it matters for your business: Potential customers searching for cannabis content won't see your brand name in Google results, reducing click-through rate and brand recognition for this high-traffic seasonal post.
Technical root cause: The title tag in the page's HTML head exceeds the optimal character threshold due to including both the blog topic and full site name without prioritization.
Recommended fix — step by step
tier2.meta.description-lengthWhat it means (plain English)
Your meta description (the text that appears below your page title in Google search results) is 225 characters long, but search engines typically display only 80–160 characters on desktop and fewer on mobile. The extra text gets cut off, so visitors can't see your full message before deciding whether to click.
Why it matters for your business: Truncated descriptions reduce click-through rates from search results, meaning fewer potential customers visit this lifestyle content page and discover your brand.
Technical root cause: The meta description tag in the page's HTML head section contains excessive text that exceeds the recommended character limit.
Recommended fix — step by step
tier2.meta.no-twitter-cardWhat it means (plain English)
Your blog post doesn't include a Twitter Card meta tag — a small code snippet that tells Twitter how to display a preview when someone shares your link. Without it, Twitter shows a plain text preview instead of an attractive card with your headline, image, and description, which reduces click-through rates from social sharing.
Why it matters for your business: Lost social engagement and traffic: shared blog posts about cannabis lifestyle and events won't stand out in Twitter feeds, reducing visits from social referral and brand visibility among your audience.
Technical root cause: WordPress isn't automatically adding the twitter:card meta tag to post headers. Most SEO plugins (Yoast, Rank Math, All in One SEO) include Twitter Card settings but they may not be enabled or configured for your site.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
One image on your August summer plans blog post is missing alt text—a text description that explains what the image shows. Screen reader users (including people with vision loss) won't know what that image is, and search engines won't understand it either, which weakens SEO for that page.
Why it matters for your business: Missing alt text reduces your visibility in Google Images search and image-based discovery, and excludes a portion of your potential customers who rely on assistive technology.
Technical root cause: The image was likely uploaded to WordPress without filling in the Alt Text field in the media editor, or the media library entry was never completed with descriptive text.
Recommended fix — step by step
tier2.meta.description-lengthWhat it means (plain English)
Your meta description (the summary that appears under your site name in Google search results) is 232 characters long, but search engines typically display only 150–160 characters on desktop and fewer on mobile. The extra text gets cut off, so visitors don't see your complete message, and you're wasting valuable real estate that could influence click-through rates.
Why it matters for your business: Truncated descriptions reduce click-through rates from search results, meaning fewer customers discover your summer favorites content and products.
Technical root cause: The page's meta description tag contains excessive text that exceeds the practical display limit of search engine results pages.
Recommended fix — step by step
tier2.meta.no-ogWhat it means (plain English)
When someone shares your blog post on Facebook, Instagram, or other social platforms, those platforms need preview images and titles to display. Without OpenGraph metadata (special code tags in your page's head section), shares show up as plain links instead of rich previews with your product images and custom text. This reduces click-through rates on shared content.
Why it matters for your business: Lower engagement on social shares means fewer customers clicking through from Instagram/Facebook to your site, directly impacting store traffic and online orders.
Technical root cause: WordPress doesn't automatically generate OpenGraph tags. The blog post page is missing og:title, og:image, and og:description meta tags that social platforms read when someone attempts to share the URL.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
One image on your Summer Favorites blog post is missing alt text — descriptive text that screen readers read aloud to visually impaired visitors. This makes the content inaccessible to those users and also means search engines can't understand what the image shows, which hurts your visibility in image search results.
Why it matters for your business: Missing alt text reduces your reach to customers using accessibility tools and loses organic search traffic from image discovery, both of which directly affect potential sales.
Technical root cause: When the image was uploaded or embedded in the WordPress post editor, the alt text field was left blank.
Recommended fix — step by step
tier2.meta.no-ogWhat it means (plain English)
OpenGraph tags are snippets of code that tell social media platforms (Facebook, Instagram, LinkedIn) how to display your page when someone shares it. Without them, your posts appear with a generic or broken preview—no image, no custom headline. This is especially important for a lifestyle cannabis brand where visual presentation drives engagement.
Why it matters for your business: When customers share your 'Areas We Serve' page on social media, it won't display your brand imagery or a compelling headline, reducing click-through rates and perceived professionalism.
Technical root cause: The page template or WordPress theme is not generating og:title and og:image meta tags in the <head> section. This typically happens when the SEO plugin (if present) isn't configured, or the theme doesn't include OpenGraph scaffolding.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
One image on your "Areas We Serve" page is missing alt text—a short text description that screen readers use to describe images to visually impaired visitors, and that search engines use to understand image content. This reduces accessibility and slightly limits how search engines index that image.
Why it matters for your business: Missing alt text reduces your site's accessibility score, may lower search rankings for image-related queries, and risks excluding visually impaired customers from understanding your service areas.
Technical root cause: The image element in the HTML lacks an alt attribute. This is often an oversight when uploading images directly to WordPress without filling in the Alt Text field in the media uploader.
Recommended fix — step by step
tier2.meta.title-lengthWhat it means (plain English)
Your blog page title is only 19 characters long, which is just under the recommended 20-character minimum. Search engines like Google use page titles as a primary ranking signal and to display in search results. A title that's too short misses an opportunity to include relevant keywords and may appear truncated or incomplete to search visitors.
Why it matters for your business: A weak blog title reduces click-through rates from Google search results and signals low relevance to search algorithms, limiting organic traffic to your content marketing efforts.
Technical root cause: The WordPress page or post title is set to only "Blog | Green Genius" without descriptive keywords. This is typically configured in the WordPress editor or via an SEO plugin's title template.
Recommended fix — step by step
tier2.meta.no-ogWhat it means (plain English)
OpenGraph metadata tells social media platforms (Facebook, Instagram, LinkedIn) how to display your content when someone shares a link. Without it, your blog posts appear as plain links instead of eye-catching cards with your title and a branded image. For a lifestyle brand like Green Genius, this directly affects how professional and trustworthy your content looks when shared.
Why it matters for your business: Missing OpenGraph tags reduce social media click-through rates and brand perception when customers share your blog content, limiting organic reach and customer acquisition through word-of-mouth.
Technical root cause: The blog page template lacks og:title and og:image meta tags in the HTML <head> section. WordPress doesn't output these by default unless manually added or injected via a plugin.
Recommended fix — step by step
tier2.meta.no-twitter-cardWhat it means (plain English)
Your blog pages are missing Twitter Card tags — small code snippets that tell Twitter how to display your content when someone shares a link. Without them, Twitter shows a plain text preview instead of an attractive card with your image and headline, making shares less engaging and less likely to drive clicks back to your site.
Why it matters for your business: Missing Twitter Cards reduce click-through rates on social shares, limiting organic traffic from Twitter and lowering visibility for blog content that could educate and attract customers.
Technical root cause: The WordPress theme or SEO plugin (likely Yoast, Rank Math, or All in One SEO) is not configured to output Twitter Card meta tags, or the setting is disabled.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
One image on your blog page lacks alt text—a short text description that screen readers use to describe images to blind and low-vision visitors. Search engines also use alt text to understand what images show, which helps your site rank for image searches.
Why it matters for your business: Missing alt text reduces accessibility for customers with visual impairments, lowers your blog's SEO ranking potential, and creates minor legal risk under accessibility compliance standards.
Technical root cause: The image was uploaded to WordPress without an alt text field being filled in during upload or later editing.
Recommended fix — step by step
tier2.meta.no-ogWhat it means (plain English)
Your Services page is missing OpenGraph tags—special metadata that tells social media platforms (Facebook, Instagram, LinkedIn) what title and image to display when someone shares the page. Without these tags, social shares may look broken or generic, hurting click-through rates from social traffic.
Why it matters for your business: Missing OG tags reduce engagement on social shares; potential customers clicking through from Instagram or Facebook may see a blank preview instead of your service details, lowering conversion from social channels.
Technical root cause: WordPress theme or SEO plugin (Yoast, Rank Math, etc.) is not generating or the site is not outputting og:title and og:image meta tags in the page <head>.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
One image on your Services page doesn't have alt text—a short text description that explains what the image shows. Screen readers (used by people with vision loss) can't "see" images, so they read this text aloud instead. Search engines also use alt text to understand your images, which helps them rank your content higher.
Why it matters for your business: Missing alt text hurts both accessibility (excluding potential customers) and your search rankings, especially for image-based queries around cannabis products or services.
Technical root cause: The image HTML element lacks an alt attribute, or the alt attribute is empty. This is typically a content entry issue in WordPress's image uploader.
Recommended fix — step by step
tier2.meta.no-ogWhat it means (plain English)
When someone shares a link to your Brands page on Facebook, Instagram, or other social media, those platforms use special metadata tags (called OpenGraph tags) to pull in a preview image and title. Without them, the share shows a generic or broken preview, which looks unprofessional and discourages clicks.
Why it matters for your business: Poor social sharing appearance reduces organic traffic from word-of-mouth sharing and brand mentions, especially important for lifestyle cannabis retailers who rely on community engagement and Instagram visibility.
Technical root cause: The /brands/ page is missing og:title and og:image meta tags in its HTML head section. WordPress does not add these automatically; they must be added via theme code, plugin, or manual entry.
Recommended fix — step by step
tier2.meta.no-ogWhat it means (plain English)
When someone shares your product page on social media (Facebook, Instagram, LinkedIn), the platform needs to know what image and title to display in that share card. Without OpenGraph tags, social platforms either show a generic preview or nothing at all, making your products look unprofessional and reducing click-through rates from social traffic.
Why it matters for your business: Missing social preview metadata reduces engagement and click-through rates when customers share your brand pages on social platforms, directly reducing referral traffic and word-of-mouth visibility for your products.
Technical root cause: WordPress is not automatically inserting og:title and og:image meta tags into the page <head> section. This typically happens when either no SEO plugin is active, the plugin isn't configured to generate these tags, or they're not being output on this specific page template.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
One image on your Dank by Definition brand page lacks alt text — a text description that screen readers use to convey image content to blind and low-vision visitors. This also signals search engines about the image, which can boost SEO for visual searches and product discoverability.
Why it matters for your business: Missing alt text reduces accessibility for customers with visual disabilities and slightly weakens search visibility for product images, which is important for a lifestyle cannabis brand competing on visual appeal.
Technical root cause: The image element in the HTML is missing the alt attribute entirely, likely added via WordPress media upload without a description filled in during insertion.
Recommended fix — step by step
tier2.a11y.img-missing-altWhat it means (plain English)
One image on your homepage lacks alt text — a text description that screen readers use and that search engines read to understand image content. With 25 images total and only 1 missing, this is a minor issue, but it's an easy fix that improves both accessibility for visitors using assistive technology and search engine understanding of your page.
Why it matters for your business: Missing alt text on even one image slightly reduces your SEO visibility for image-related searches and excludes visitors using screen readers from understanding that image, which is both a usability and brand reputation concern.
Technical root cause: The image was likely added via WordPress media upload without filling in the Alt Text field, or was inserted via HTML without an alt attribute.
Recommended fix — step by step
tier2.meta.no-twitter-cardWhat it means (plain English)
Your blog posts are missing Twitter card tags—metadata that tells Twitter (X) how to display your content when someone shares a link. Without these tags, your posts show up as plain text instead of rich preview cards with images and descriptions, which look less professional and get fewer clicks.
Why it matters for your business: Missed social media engagement: posts shared on Twitter/X won't display promotional images or compelling descriptions, reducing click-through traffic from social platforms where cannabis lifestyle content performs well.
Technical root cause: The WordPress theme or SEO plugin (if installed) is not generating twitter:card meta tags in the page <head>. This requires explicit configuration in the theme or a plugin like Yoast SEO or Rank Math.
Recommended fix — step by step
tier2.meta.no-twitter-cardWhat it means (plain English)
Your blog post is missing a Twitter Card — a special HTML tag that tells Twitter how to display your content when someone shares the link. Without it, Twitter shows a plain, unformatted preview. For a lifestyle brand like Green Genius, a rich preview (with your custom image and description) drives more clicks and engagement when customers share your content.
Why it matters for your business: Missing Twitter Cards reduce click-through rates on social shares, meaning fewer potential customers discover your content and visit your site from Twitter/X.
Technical root cause: The page lacks the <meta name="twitter:card"> tag and related Twitter meta tags (twitter:title, twitter:description, twitter:image) in the HTML head section.
Recommended fix — step by step
tier2.meta.no-twitter-cardWhat it means (plain English)
Your product pages are missing Twitter Card tags—special metadata that tells Twitter how to display a link when someone shares your page on that platform. Without them, Twitter shows a plain text preview instead of a rich preview with your product image and description. This affects how appealing your shared content looks to potential customers scrolling Twitter.
Why it matters for your business: Reduced click-through rates on Twitter shares, since users are less likely to click a plain text link than a visually rich card showing your product imagery and copy.
Technical root cause: The page HTML is missing <meta name="twitter:card"> and related open graph tags in the <head> section. WordPress doesn't add these by default; they require either a plugin or manual theme customization.
Recommended fix — step by step
tier2.meta.no-twitter-cardWhat it means (plain English)
Your site is missing Twitter Card meta tags, which are small snippets of code that tell Twitter (now X) how to display your page when someone shares a link. Without them, the platform shows a plain text preview instead of an attractive image, headline, and description—making your content less likely to be clicked.
Why it matters for your business: Social sharing drives traffic and brand awareness for lifestyle cannabis retailers; a plain link preview reduces click-through rates on X/Twitter and makes your dispensary look less polished than competitors who optimize for social.
Technical root cause: The WordPress theme or SEO plugin (if present) has not been configured to output Twitter Card meta tags in the <head> section of your pages.
Recommended fix — step by step
<meta name="twitter:card" content="summary_large_image">, <meta name="twitter:site" content="@yourtwitterhandle">, and <meta name="twitter:image" content="[image-url]"> to wp-content/themes/[your-theme]/header.php (or child theme if present).tier2.meta.no-twitter-cardWhat it means (plain English)
Your website is missing a Twitter Card meta tag, which is a small piece of code that tells Twitter how to display your content when someone shares a link to your site. Without it, Twitter shows a plain, less visually appealing preview. This is a nice-to-have social feature, not a critical issue.
Why it matters for your business: Missing Twitter Cards reduces click-through rates from Twitter/X shares and makes your dispensary look less polished when customers or advocates share your service pages on social media.
Technical root cause: The page lacks the <meta name="twitter:card" content="summary_large_image"> tag and related Open Graph meta tags in the HTML head section.
Recommended fix — step by step
tier2.meta.no-twitter-cardWhat it means (plain English)
Your website is missing Twitter Card meta tags, which are small snippets of code that tell Twitter how to display your content when someone shares a link to your site. Without them, Twitter shows a plain, generic preview instead of an attractive one with your chosen image, title, and description.
Why it matters for your business: When customers share your products or articles on Twitter/X, a bland preview reduces click-through rates and doesn't reinforce your brand identity.
Technical root cause: The WordPress head section lacks the twitter:card, twitter:title, twitter:description, and twitter:image meta tags required by Twitter's sharing protocol.
Recommended fix — step by step
tier2.meta.no-twitter-cardWhat it means (plain English)
Your product pages (like the Dank by Definition brand page) are missing a Twitter Card meta tag. This is a small HTML snippet that tells Twitter how to display your link when someone shares it on that platform — without it, Twitter shows a generic preview instead of your product image and description.
Why it matters for your business: Missed opportunity to drive traffic from Twitter/X shares; competitors with proper Twitter Cards will get more clicks and engagement when their products are shared socially.
Technical root cause: The Twitter Card meta tag (e.g., <meta name="twitter:card" content="summary_large_image">) is not present in the page's HTML head section. WordPress themes often omit this unless explicitly added via an SEO plugin or custom code.
Recommended fix — step by step
tier2.meta.title-lengthDetail
Title should be 20-65 chars. Got: "Home | Green Genius"
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.description-lengthDetail
Description should be 80-160 chars.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.title-lengthDetail
Title should be 20-65 chars. Got: "Home | Green Genius"
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.title-lengthDetail
Title should be 20-65 chars. Got: "Home | Green Genius"
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.title-lengthDetail
Title should be 20-65 chars. Got: "Home | Green Genius"
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.title-lengthDetail
Title should be 20-65 chars. Got: "Home | Green Genius"
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.title-lengthDetail
Title should be 20-65 chars. Got: "Home | Green Genius"
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier2.meta.title-lengthDetail
Title should be 20-65 chars. Got: "Blog | Green Genius"
tier2.meta.description-lengthDetail
Description should be 80-160 chars.
tier2.meta.no-ogDetail
Page missing og:title and/or og:image.
tier2.meta.no-twitter-cardDetail
No twitter:card meta tag.
tier2.a11y.img-missing-altDetail
Images without alt fail a11y + hurt SEO.
tier3.perf.desktop-failDetail
page.goto: Timeout 60000ms exceeded.
Call log:
tier5.header.x-content-type-optionsDetail
x-content-type-options not present on homepage response. Affects fortress score and CSP posture.
tier5.header.referrer-policyDetail
referrer-policy not present on homepage response. Affects fortress score and CSP posture.
tier5.header.permissions-policyDetail
permissions-policy not present on homepage response. Affects fortress score and CSP posture.
tier5.fortress.ssl-gradeDetail
Qualys SSL Labs: SSL Labs HTTP 400. Aim for A+ via strong TLS 1.3, HSTS, CAA, and preload.
tier5.fortress.dnssec-missingDetail
DNSSEC adds cryptographic verification to DNS responses. Consider enabling via your registrar.
tier5.fortress.dmarc-weakDetail
DMARC published at p=none — monitoring mode only. After 2-4 weeks of clean reports, tighten to p=quarantine → p=reject.
tier8.lighthouse.a11y-mobileDetail
Score 89 is below target 95. See HTML report for details.
tier8.lighthouse.seo-mobileDetail
Score 92 is below target 95. See HTML report for details.
tier8.lh-opportunity.uses-rel-preconnect-mobileDetail
Consider adding preconnect or dns-prefetch resource hints to establish early connections to important third-party origins. https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preconnect/" target="_blank" rel="noreferrer">Learn how to preconnect to required origins.
tier8.lh-opportunity.offscreen-images-mobileDetail
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/" target="_blank" rel="noreferrer">Learn how to defer offscreen images.
tier8.lh-opportunity.render-blocking-resources-mobileDetail
Resources are blocking the first paint of your page. Consider delivering critical JS/CSS inline and deferring all non-critical JS/styles. https://developer.chrome.com/docs/lighthouse/performance/render-blocking-resources/" target="_blank" rel="noreferrer">Learn how to eliminate render-blocking resources.
tier8.lh-opportunity.unminified-javascript-mobileDetail
Minifying JavaScript files can reduce payload sizes and script parse time. https://developer.chrome.com/docs/lighthouse/performance/unminified-javascript/" target="_blank" rel="noreferrer">Learn how to minify JavaScript.
tier8.lh-opportunity.unused-javascript-mobileDetail
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/" target="_blank" rel="noreferrer">Learn how to reduce unused JavaScript.
tier8.lighthouse.a11y-desktopDetail
Score 89 is below target 95. See HTML report for details.
tier8.lighthouse.seo-desktopDetail
Score 92 is below target 95. See HTML report for details.
tier8.lh-opportunity.uses-rel-preconnect-desktopDetail
Consider adding preconnect or dns-prefetch resource hints to establish early connections to important third-party origins. https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preconnect/" target="_blank" rel="noreferrer">Learn how to preconnect to required origins.
tier8.lh-opportunity.offscreen-images-desktopDetail
Consider lazy-loading offscreen and hidden images after all critical resources have finished loading to lower time to interactive. https://developer.chrome.com/docs/lighthouse/performance/offscreen-images/" target="_blank" rel="noreferrer">Learn how to defer offscreen images.
tier8.lh-opportunity.unminified-javascript-desktopDetail
Minifying JavaScript files can reduce payload sizes and script parse time. https://developer.chrome.com/docs/lighthouse/performance/unminified-javascript/" target="_blank" rel="noreferrer">Learn how to minify JavaScript.
tier8.lh-opportunity.unused-javascript-desktopDetail
Reduce unused JavaScript and defer loading scripts until they are required to decrease bytes consumed by network activity. https://developer.chrome.com/docs/lighthouse/performance/unused-javascript/" target="_blank" rel="noreferrer">Learn how to reduce unused JavaScript.
tier8.lh-opportunity.modern-image-formats-desktopDetail
Image formats like WebP and AVIF often provide better compression than PNG or JPEG, which means faster downloads and less data consumption. https://developer.chrome.com/docs/lighthouse/performance/uses-webp-images/" target="_blank" rel="noreferrer">Learn more about modern image formats.
Grouped by URL — useful when working through the site one page at a time.
_45 findings on this page_
Your website is loaded over HTTPS (secure), but one resource is being requested over HTTP (insecure). Modern browsers will block or warn users about this mismatch, which can degrade trust and break fu
Your site's Lighthouse Best Practices score is 59 out of 100—well below the healthy target of 90. This score aggregates issues like outdated browser APIs, insecure third-party scripts, missing securit
Your site has an age-gate popup (the dialog box that appears to verify visitors are 21+) that screen readers cannot identify or describe. Screen reader users—including your legally compliant visitors—
Your site has two buttons with text colors that don't contrast sharply enough against their backgrounds. The 'Start Your Order' button uses white text on a medium green (#439466) with a contrast ratio
Your site is trying to load JavaScript files (modern module scripts), but the server is returning HTML pages instead. Browsers reject this because they expect actual JavaScript code with the correct f
Your homepage is producing 7 JavaScript errors in the browser console, all related to failed module script loads. The server is returning HTML instead of JavaScript files when the browser requests mod
Our automated performance test couldn't load your homepage on mobile within 60 seconds. This means either the site is extremely slow to load, or it's stuck waiting for resources (images, scripts, ads)
Your site includes Organization and WebSite schema markup, but is missing LocalBusiness schema. LocalBusiness tells search engines and map apps that you're a physical retail location with a specific a
Your site is missing the Strict-Transport-Security (HSTS) header, which tells browsers to always use encrypted HTTPS connections when visiting your site. This header is especially important for cannab
Your website is missing a Content Security Policy (CSP) header — a security instruction that tells browsers which sources of content (scripts, images, stylesheets) are trusted. Without it, your site i
Your site has 41 buttons, links, and interactive elements that are smaller than 44×44 pixels when viewed on mobile phones. This makes them difficult to tap accurately—especially for people with limite
Your site has 41 buttons, links, and other clickable elements that are smaller than 44×44 pixels on mobile phones. WCAG 2.5.5 (a web accessibility standard) requires interactive elements to be at leas
Your website has 37 buttons, links, and other clickable elements that are smaller than 44×44 pixels when viewed on a tablet. This makes them hard to tap accurately—especially for people with motor imp
Your mobile site takes roughly 25 seconds for the largest visual element (hero image, main product photo) to appear on screen—that's 5× slower than Google's recommendation. Visitors on phones will see
Your homepage takes 4 seconds to display its main content (images, headlines), which is slower than Google's recommended 2.5 seconds. Visitors see a blank or incomplete page during this delay, increas
OpenGraph tags are metadata snippets that tell social media platforms (Facebook, Instagram, LinkedIn) how to display your link when someone shares it. Without them, social shares show a generic previe
One image on your homepage lacks alt text — a text description that screen readers use and that search engines read to understand image content. With 25 images total and only 1 missing, this is a mino
_5 findings on this page_
Your page title is 80 characters long, but search engines like Google typically show only 50-60 characters in search results before cutting off with an ellipsis (…). This means visitors searching for
Your blog post about pre-roll deals is missing OpenGraph tags—special HTML code that tells Facebook, Instagram, and other social platforms how to display your content when someone shares the link. Wit
Your blog posts are missing Twitter card tags—metadata that tells Twitter (X) how to display your content when someone shares a link. Without these tags, your posts show up as plain text instead of ri
One product or promotional image on your August pre-roll deals post lacks alt text — a brief text description that screen readers announce and search engines use to understand images. This affects bot
_5 findings on this page_
Your page title is 71 characters long, but Google typically displays 50–60 characters on desktop and fewer on mobile. Titles longer than 65 characters get truncated in search results, meaning potentia
Your meta description—the text that appears under your page title in Google search results—is 225 characters long. Google typically truncates (cuts off) descriptions longer than 160 characters on desk
When someone shares your blog post on Facebook, Instagram, or other social platforms, those sites use special metadata tags (called OpenGraph tags) to pull in a preview image and title. Without them,
Your blog post is missing a Twitter Card — a special HTML tag that tells Twitter how to display your content when someone shares the link. Without it, Twitter shows a plain, unformatted preview. For a
One image on your August blog post doesn't have alt text—a short description that screen readers read aloud and that search engines use to understand the image. This means visitors using screen reader
_5 findings on this page_
Your page title is 80 characters long, but search engines like Google typically display only 50–60 characters in search results before truncating with ellipsis (…). This means potential customers see
Your meta description (the summary that appears under your page title in Google search results) is 208 characters long. Search engines typically truncate descriptions longer than 160 characters, which
OpenGraph tags are snippets of code that tell social platforms (Facebook, Instagram, LinkedIn) how to display your content when someone shares a link. Without them, social shares show a generic previe
Your product pages are missing Twitter Card meta tags, which are small snippets of code that tell Twitter (now X) how to display your content when someone shares a link. Without them, shared posts sho
One image on your August deals post is missing alt text — a short text description that screen readers use to describe the image to visually impaired visitors. Search engines also use alt text to unde
_5 findings on this page_
Your page title is 71 characters long, but search engines like Google typically display 50–60 characters on desktop and fewer on mobile. Your full title gets cut off in search results, hiding the bene
Your meta description (the text that appears below your page title in Google search results) is 225 characters long, but search engines typically display only 80–160 characters on desktop and fewer on
Your blog post doesn't include a Twitter Card meta tag — a small code snippet that tells Twitter how to display a preview when someone shares your link. Without it, Twitter shows a plain text preview
One image on your August summer plans blog post is missing alt text—a text description that explains what the image shows. Screen reader users (including people with vision loss) won't know what that
_5 findings on this page_
The blog page lacks a meta description — a 160-character summary that appears under your page title in Google search results. Without it, Google may auto-generate a snippet, which often looks incomple
Your blog page title is only 19 characters long, which is just under the recommended 20-character minimum. Search engines like Google use page titles as a primary ranking signal and to display in sear
OpenGraph metadata tells social media platforms (Facebook, Instagram, LinkedIn) how to display your content when someone shares a link. Without it, your blog posts appear as plain links instead of eye
Your blog pages are missing Twitter Card tags — small code snippets that tell Twitter how to display your content when someone shares a link. Without them, Twitter shows a plain text preview instead o
One image on your blog page lacks alt text—a short text description that screen readers use to describe images to blind and low-vision visitors. Search engines also use alt text to understand what ima
_5 findings on this page_
_4 findings on this page_
Your meta description (the snippet Google shows under your link in search results) is 232 characters long. Google typically displays 150–160 characters on desktop and 120 on mobile, so anything longer
When this page is shared on Facebook, Instagram, or other social platforms, those sites won't have a nice preview card with your image and headline. Instead, they'll show a plain text link or a generi
One image on your summer favorites blog post is missing alt text—a short text description that appears when the image fails to load and helps search engines understand what the image shows. This hurts
_4 findings on this page_
Your meta description (the summary that appears under your site name in Google search results) is 232 characters long, but search engines typically display only 150–160 characters on desktop and fewer
When someone shares your blog post on Facebook, Instagram, or other social platforms, those platforms need preview images and titles to display. Without OpenGraph metadata (special code tags in your p
Your product pages are missing Twitter Card tags—special metadata that tells Twitter how to display a link when someone shares your page on that platform. Without them, Twitter shows a plain text prev
One image on your Summer Favorites blog post is missing alt text — descriptive text that screen readers read aloud to visually impaired visitors. This makes the content inaccessible to those users and
_4 findings on this page_
The Services page is missing a meta description — the 155-character text snippet that appears below your page title in Google search results. This means search engines will auto-generate a snippet fro
Your Services page is missing OpenGraph tags—special metadata that tells social media platforms (Facebook, Instagram, LinkedIn) what title and image to display when someone shares the page. Without th
Your website is missing a Twitter Card meta tag, which is a small piece of code that tells Twitter how to display your content when someone shares a link to your site. Without it, Twitter shows a plai
One image on your Services page doesn't have alt text—a short text description that explains what the image shows. Screen readers (used by people with vision loss) can't "see" images, so they read thi
_4 findings on this page_
Your /brands/ page is missing a meta description — the 160-character summary that appears under your page title in Google search results. Without it, Google will auto-generate a snippet, which is ofte
When someone shares a link to your Brands page on Facebook, Instagram, or other social media, those platforms use special metadata tags (called OpenGraph tags) to pull in a preview image and title. Wi
Your website is missing Twitter Card meta tags, which are small snippets of code that tell Twitter how to display your content when someone shares a link to your site. Without them, Twitter shows a pl
One image on your Brands page doesn't have alt text — the hidden text that describes an image to screen readers and search engines. This means visually impaired visitors can't understand that image, a
_4 findings on this page_
_4 findings on this page_
_4 findings on this page_
_4 findings on this page_
_4 findings on this page_
_3 findings on this page_
OpenGraph tags are snippets of code that tell social media platforms (Facebook, Instagram, LinkedIn) how to display your page when someone shares it. Without them, your posts appear with a generic or
Your site is missing Twitter Card meta tags, which are small snippets of code that tell Twitter (now X) how to display your page when someone shares a link. Without them, the platform shows a plain te
One image on your "Areas We Serve" page is missing alt text—a short text description that screen readers use to describe images to visually impaired visitors, and that search engines use to understand
_3 findings on this page_
When someone shares your product page on social media (Facebook, Instagram, LinkedIn), the platform needs to know what image and title to display in that share card. Without OpenGraph tags, social pla
Your product pages (like the Dank by Definition brand page) are missing a Twitter Card meta tag. This is a small HTML snippet that tells Twitter how to display your link when someone shares it on that
One image on your Dank by Definition brand page lacks alt text — a text description that screen readers use to convey image content to blind and low-vision visitors. This also signals search engines a
_3 findings on this page_
_3 findings on this page_
Five product images on your vapes page lack alt text—a text description that tells both screen readers (used by visually impaired visitors) and search engines what each image shows. This means some cu
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_3 findings on this page_
_1 finding on this page_
Your robots.txt file (the file that tells search engines which pages to crawl) doesn't include a pointer to your XML sitemap. A sitemap is like a table of contents for your entire website. Without thi
_1 finding on this page_
Your WordPress login page is publicly accessible at /wp-login.php. While this is WordPress's default, leaving it exposed makes it an easy target for automated attacks trying to guess passwords. Attack
_Generated by Apex Sentinel Monthly Audit · 2026-04-19T06:33:38.569Z · Powered by Bud Authority._
Generated by Apex Sentinel · © 2026 Bud Authority