Appearance
SEO + analytics
Every SEO surface the theme handles automatically.
JSON-LD schema
inc/seo.php outputs a schema graph in the <head> on every page:
| Type | Where |
|---|---|
Organization + WebSite + SearchAction | Every page |
Product + Offer + AggregateRating | PDPs |
BreadcrumbList | PDPs |
Article | Blog single posts |
Yoast is respected — the theme uses non-conflicting @ids. Disable via:
php
add_filter( 'dankcave_seo_should_run', '__return_false' );Meta descriptions
inc/seo.php provides fallback descriptions per page slug — About / Contact / Shipping / Returns / Privacy / Terms. Fires only when Yoast has no meta description saved for the page.
Owner-editable via Yoast SEO panel on each page (overrides the theme fallback).
og:image
- Site-wide fallback:
assets/img/og-share.png(1200×630 branded card) - Rewrites Yoast's default (the tiny logo) via presenter filter + output-buffer safety net
Override per-page via Yoast SEO → Social panel on the page.
robots.txt
The theme's robots_txt filter strips any Crawl-delay: <N> directive. Bypassed when a physical robots.txt file exists on the server — edit that via Yoast Tools → File editor.
llms.txt
GET /llms.txt returns a Markdown index of the site's key pages, top 100 products, and top 100 posts. So LLM crawlers can hydrate their understanding. Managed by inc/seo.php.
GA4 dataLayer events
assets/js/theme.js pushes to window.dataLayer:
| Event | Fires when |
|---|---|
view_item | PDP load |
add_to_cart | WC AJAX add |
remove_from_cart | WC AJAX remove |
add_to_wishlist | Heart toggle (product added) |
remove_from_wishlist | Heart toggle (product removed) |
search | Search form submit |
purchase | Order-received page |
Configure GA4 via Site Kit / GTM — no theme-side keys or IDs.
Verifying live
bash
# Meta descriptions
curl -s https://dankcave.com/about-us-3/ | grep 'meta name="description"'
# og:image
curl -s https://dankcave.com/about-us-3/ | grep 'og:image'
# robots.txt
curl -s https://dankcave.com/robots.txt
# JSON-LD schema
curl -s https://dankcave.com/shop/dab-rig/electric-dab-rig/puffco-peak-pro-electric-dab-rig/ | grep -A 30 'application/ld+json'Yoast integration
The theme's SEO layer runs alongside Yoast — not instead of it. Yoast owns the canonical URLs, page titles, and full social/social card control. The theme provides fallbacks for pages where Yoast doesn't have values set.
Recommended Yoast config:
- Enable JSON-LD schema (mode: default)
- Set a 1200×630 default social image in Yoast → Social → Facebook (theme falls back to
assets/img/og-share.pngif unset) - Optional: Rank Math or Yoast Premium — both work