Sol de Madera
soldemadera.com
Overall Score
54/100
Needs WorkSEO Score
47/100
GEO Score
38/100
Summary
What's Working
- ✓ Lean, fast-loading store with a minimal app stack — no bloated third-party scripts slowing down the experience. The custom-coded Dawn sections demonstrate real front-end capability.
- ✓ Judge.me is installed and collecting reviews — 31 verified reviews at 5.0 stars is a powerful trust signal. The reviews carousel on the product page displays this social proof well.
- ✓ Tracking infrastructure is solid: GA4, Google Ads (AW-18143534534), Facebook Pixel, and Microsoft Clarity are all active. The multi-currency setup supports buyers across Europe, North America, and beyond.
Critical Issues
- ⚠ Every product shares the exact same generic description — "Handcrafted and hand painted to bring warmth…" This kills SEO uniqueness, destroys Google AI visibility, and reduces conversions for customers comparing items.
- ⚠ No Product structured data (JSON-LD) on product pages — only an Organization schema is present. Without Product schema, the store cannot qualify for rich results in Google Search or appear in AI-generated product recommendations.
- ⚠ Clicking "Add to Cart" immediately redirects the user to the cart page. This prevents customers from browsing more products and directly suppresses average order value.
The Growth Opportunity
Sol de Madera has a genuinely differentiated product — handmade flying mobiles crafted in Colombia. That story is compelling. The problem is the store is not telling it at the product level. Each product page reads identically, which means both search engines and real customers cannot tell the Belted Kingfisher from the Cardinal. Writing distinct, bird-specific descriptions covering the species, the painting style, ideal placement, and who it's for would be the single highest-leverage action to take right now. Pair that with a sticky "add to cart without redirect" behavior, a cart upsell, and proper Product schema, and conversion rate gains of 20–40% are realistic.
Store Screenshots
Per-Page Issues
| Page | Issue | Category | Severity | Recommendation |
|---|---|---|---|---|
| /products/* | All product pages share the exact same description: "Handcrafted and hand painted to bring warmth, movement, and timeless charm…" — zero differentiation between species or designs. | GEO | 🔴 Critical | Write a unique 80–150 word description for every product covering the bird species, its colours, painting technique, dimensions, and ideal use case. |
| /products/* | No Product JSON-LD structured data. The only schema on the site is an Organization block. Product pages are ineligible for rich results in Google Search. | Technical / SEO | 🔴 Critical | Add Shopify's built-in Product schema snippet or use the theme's JSON-LD support. Include name, price, availability, brand, image, and AggregateRating once reviews are wired in. |
| /products/* | Clicking "Add to Cart" immediately navigates to the cart page, breaking the browsing flow and preventing customers from adding multiple products to a single order. | CRO | 🔴 Critical | Change the cart redirect setting in Shopify Theme → Cart → "Cart type" to "Drawer" or "Notification". This keeps the customer on the product page after adding to cart. |
| / | Homepage has no meta description. The page's OG title and OG description are both set to only "Sol de Madera" — not descriptive or compelling for social sharing. | SEO | 🔴 Critical | In Shopify Admin → Online Store → Preferences, set a Homepage description of ~155 characters: "Handmade wooden flying mobiles crafted in Colombia. Each bird mobile is hand-painted and balanced to move beautifully in any room. Worldwide shipping." |
| / | Hero banner image has an empty alt attribute. Several product gallery images also have no alt text. | Technical / SEO | 🔴 Critical | Add descriptive alt text to all images: hero banner ("Handmade wooden bird mobile hanging in a sunlit living room"), product images ("Belted Kingfisher flying mobile — hand-painted wood, 9×17 inches"), etc. |
| Organization schema | The Organization JSON-LD has 9 sameAs entries that are all empty strings. This makes the schema technically invalid and provides no entity authority signals. | Technical / GEO | 🔴 Critical | Either remove sameAs entirely or populate it with the real URLs for the brand's Instagram, Facebook, Pinterest, and Etsy profiles. Empty strings are worse than omitting the field. |
| /cart | Cart page has no upsell offers, no free shipping progress bar, and no order value incentives. There is also no savings summary visible. | CRO | 🟡 Warning | Add a free shipping threshold bar (e.g. "Add $X more for free shipping"). Consider a cart upsell showing one complementary product — a second mobile or a gift-wrapping add-on. |
| /collections/all | Collection page title is "Products" — a generic Shopify default that gives search engines and customers no context about what the collection contains. | SEO | 🟡 Warning | Rename the collection to "Handmade Flying Mobiles" and add a collection description of ~120 words explaining what the products are, who they're for, and where they're made. |
| Sitewide | Announcement bar displays the Shopify placeholder "Welcome to our store" — a missed opportunity to communicate free shipping thresholds, active promotions, or a delivery promise. | CRO | 🟡 Warning | Replace with something like "Free shipping on orders over $120 · Handmade in Colombia" or highlight a seasonal promotion. |
| /products/* | Product vendor is set to "My Store" instead of "Sol de Madera". This is visible in ShopifyAnalytics metadata and likely in feed exports too. | Technical / GEO | 🟡 Warning | In Shopify Admin → Products, bulk-update the Vendor field to "Sol de Madera" for all products. This feeds into Product schema brand fields and any future Merchant Center integration. |
| /products/* | Product SKUs are all null. No GTIN, MPN, or brand data is present. This limits eligibility for Google Shopping and AI product recommendations. | SEO / GEO | 🟡 Warning | Add SKU codes to all products (e.g. SDM-BK-001 for Belted Kingfisher). Even basic SKUs unlock Merchant Center eligibility and make product data more machine-readable. |
| Sitewide | No blog or content hub exists. The sitemap has a blogs entry but it returns 404. There is no content to attract organic search traffic beyond product and collection pages. | SEO / GEO | 🟡 Warning | Start a simple blog with 4–6 articles: bird species guides, how to hang a mobile, gift ideas for nature lovers, the making process in detail. These capture long-tail searches and build authority. |
| Header nav | The "Our Story" / craft page is only reachable via a body link on the homepage ("DISCOVER OUR CRAFT"). It is absent from the main navigation. | UX / GEO | 🟡 Warning | Add "Our Story" to the header nav. Brand story pages significantly improve entity clarity for AI systems and build trust with first-time visitors. |
| / | OG image for the homepage is the brand logo (180×180 px padded to 1200×628). This looks low-quality and non-descriptive when shared on social media. | SEO / UX | 🟢 Info | Create a 1200×628 px hero image showing a product in context (e.g. a mobile hanging in a beautiful interior) and set it as the homepage OG image in Shopify Preferences. |
| Sitewide | No hreflang tags are present despite multi-currency/multi-market support across EUR, GBP, CAD, and more. Search engines cannot identify language/region targeting. | Technical / SEO | 🟢 Info | If serving localized versions of the store in the future, implement hreflang tags. For now, ensure the Shopify Markets settings correctly reflect which regions are being targeted. |
Generative Engine Optimization (GEO)
38
/ 100
Sol de Madera's biggest GEO problem is not a technical one — it is a content one. Google's AI features, ChatGPT, and Perplexity all rely on unique, first-hand, expert content to build their answers. When every product on a store has the same generic description, there is simply nothing for an AI to cite. This is fixable, and fixing it costs nothing beyond time.
Dimension Scores
Non-Commodity Content Quality
Every product uses the same generic 2-sentence description. There is no first-hand expertise, no species-specific information, no care instructions, no unique perspective. This is the most important GEO dimension and it is nearly absent.
15
Entity Clarity & Brand Authority
The "Our Story" page mentions Colombia and the craft process but lacks founder identity. Organization schema has empty sameAs fields. Product vendor is "My Store". The brand is hard for AI systems to identify as a distinct entity.
32
Technical Crawlability & Indexing
Robots.txt is standard Shopify, allowing all major crawlers including GPTBot and ClaudeBot. Sitemap is present and covers products, pages, and collections. No noindex or nosnippet issues found.
78
Content Structure & Semantic HTML
Product pages have a logical H1 structure. Custom sections (lifestyle, benefits, reviews) provide semantic variety. However, there are orphan H2 tags in the DOM from modal/drawer components, and the empty H2 ("") in the product page heading hierarchy is a minor parsing issue.
60
Structured Data
Only an Organization schema is present, and it contains invalid empty sameAs fields. There is no Product, BreadcrumbList, or FAQPage schema anywhere on the site. Rich results are currently impossible.
18
Multimodal Readiness
Product images are present and have consistent alt text matching the product title (e.g. "Belted Kingfisher Flying Mobile"). However, the hero banner has an empty alt attribute, and many product gallery and lifestyle images are entirely missing alt text. No video content exists.
38
Query Fan-Out Readiness
No content on the site answers related questions: How do you hang a flying mobile? What size room suits a 9×17 inch mobile? What birds are in the collection? Is this a good gift? These are the sub-queries AI systems fan out to when answering "best handmade mobile gift" type queries.
22
Google Merchant Center & Business Profile
Google Ads is active (AW-18143534534), which is a good signal. No evidence of a Google Merchant Center product feed. Products lack SKUs and GTINs, which are required for Shopping results. Google site verification tag is present.
42
Agentic Experience Readiness
The DOM is clean and navigable. Shopify's robots.txt now includes UCP/MCP endpoints for AI agents. The "ADD TO CART" button has a clear accessible name. The checkout flow is programmatically reachable. The cart redirect issue slightly reduces agentic usability.
62
Prioritized GEO Actions
| Action | Difficulty | Impact |
|---|---|---|
| Write unique product descriptions for each mobile — include bird species info, painting style, dimensions, and ideal gifting context. | Easy | High |
| Fix the Organization schema: remove empty sameAs strings and replace with real social/Etsy URLs. Add foundingDate and founder details. | Easy | High |
| Add Product JSON-LD to all product pages with name, description, price, availability, brand, image, and AggregateRating. | Medium | High |
| Add descriptive alt text to the hero banner and all product lifestyle images. Rename image files with descriptive slugs. | Easy | Medium |
| Add SKUs to all products (e.g. SDM-BK-001) and connect to Google Merchant Center with a product feed. This enables Google Shopping and AI product recommendations. | Medium | High |
| Create 4–6 blog articles targeting informational queries: bird species guides, how to choose a mobile, care and installation instructions. | Medium | Medium |
| Expand the "Our Story" page with founder name, founding year, location details, and what makes Sol de Madera different. Link it from the main navigation. | Easy | Medium |
GEO Myths to Ignore
- llms.txt is not needed: Google's official guidance (May 2026) explicitly states you do not need to create llms.txt or any special AI text files to appear in generative AI search features.
- Don't chunk content: Artificially breaking content into tiny fragments for "AI consumption" is counterproductive — AI systems understand full-page context better than fragmented snippets.
- Don't keyword-stuff for AI: Rewriting copy to target specific "AI long-tail keywords" is unnecessary. Write naturally and accurately — AI systems understand meaning, not keyword frequency.
- Don't buy citations: Seeking inauthentic "mentions" across the web triggers spam filters. Earn genuine links and press mentions through real outreach and quality content.
Conversion Rate Optimization
Stage 1
Awareness
60
- Pass Clear hero section with tagline "Art in Motion. Inspired by Nature." and a strong SHOP COLLECTION CTA button
- Pass Feature highlights in the hero row: "Handmade in Colombia", "Naturally Balanced", "Sustainable Materials", "Ready to Hang"
- Fail No meta description means Google generates its own snippet — typically a fragment of body text that reads poorly in search results
- Fail OG description is "Sol de Madera" — when shared on Facebook or Instagram, social cards show no compelling reason to click
- Fail No blog content to capture organic search traffic from gift idea queries, bird decor searches, or home decoration inspiration
- Partial Announcement bar is live but reads the Shopify default "Welcome to our store" — not converting this to a value message is a missed opportunity
Stage 2
Consideration
55
- Pass Product pages have multiple image angles and a dedicated lifestyle section showing the mobile in a real interior context
- Pass Benefits section with icons (dimensions, installation, packaging, gift) adds quick scanning value below the fold
- Pass Judge.me reviews carousel displays 31 verified reviews at a 5.0 average — strong social proof visible on every product page
- Fail All products share the same description: nothing differentiates the Cardinal from the Kingfisher except the product name and photo. Customers reading the description cannot tell products apart.
- Fail No FAQ section or Q&A content on product pages. Common questions (dimensions, hanging method, care, delivery time) go unanswered, increasing friction and pre-purchase abandonment.
- Fail No "You may also like" or related products section anywhere on the product page — zero cross-sell opportunity at the highest-intent moment
Stage 3
Purchase
52
- Pass Sticky Add to Cart bar is present on product pages — observed at the bottom of the viewport, always accessible while scrolling
- Pass Checkout form uses Shopify's native flow with standard fields (email, name, address, postal code). No unnecessary friction fields were observed.
- Pass Multi-currency checkout supports USD, EUR, GBP, CAD, and more — reducing friction for international buyers
- Fail Add to Cart immediately redirects to the cart page. This is the single most damaging CRO issue — it prevents customers from buying more than one item in a session. Observed and confirmed: clicking "ADD TO CART" on the Belted Kingfisher navigated directly to /cart.
- Fail Cart page (/cart) has no upsell offers, no product recommendations, and no free shipping progress bar. Average order value (AOV) cannot be improved at this stage.
- Partial No payment method icons visible in the cart or on product pages. Customers cannot see at a glance which payment methods are accepted before initiating checkout.
Stage 4
Retention
35
- Pass Email capture form present in the footer — newsletter subscription is the baseline retention mechanism
- Fail No email marketing tool (Klaviyo, Omnisend, or similar) detected. Footer captures email addresses but there is no automation to follow up with welcome flows, abandoned cart reminders, or post-purchase sequences.
- Fail No newsletter popup or exit-intent capture to convert browsing visitors into subscribers. Facebook Pixel is installed but no retargeting popup was observed.
- Fail No blog or content hub means there is no reason for a customer to return to the site between purchases. Content is the primary driver of repeat visits for artisan/gift brands.
- Partial Reviews page exists at /pages/reviews but is isolated — reviews are not integrated into the homepage, product grid badges, or a structured testimonials section
App Stack Audit
| App / Service | Purpose | Perf. Impact | Est. Cost | Verdict | Savings |
|---|---|---|---|---|---|
| Judge.me | Product reviews, ratings, review carousel widget on product pages | Low | Free / $15/mo | Keep | — |
| Google Tag Manager | Container for GA4 (GT-WRGDQTKL) and Google Ads (AW-18143534534) tags | Low | Free | Keep | — |
| Meta Pixel | Facebook/Instagram conversion tracking and retargeting audiences (ID: 2029265191312025) | Low | Free | Keep | — |
| Microsoft Clarity | Session recording, heatmaps, and click analytics | Low | Free | Keep | — |
| Email Marketing | Not installed — footer email capture has no automation backend | N/A | Missing | Add | — |
| Cart Upsell / Cross-sell | Not installed — no upsell offers on product pages or cart page | N/A | Missing | Add | — |
| Total Potential Savings | $0/mo · $0/yr | ||||
Lean Stack — A Genuine Strength
Sol de Madera runs one of the leanest app stacks we've audited. Only four external scripts load on page: GTM, Clarity, Facebook Pixel, and Judge.me. This directly contributes to fast load times and a clean DOM. The priority is not removing apps — it is adding the two missing categories: email marketing (Klaviyo's free plan supports up to 500 contacts) and a cart upsell mechanism (Shopify's native "Product Recommendations" API can power a simple cross-sell without a paid app).
Theme & Code Quality
Theme
Dawn (Custom-Extended)
v15.4.1 · Theme Store ID 887 · Custom "sdm-" sections added by developer
Code Health Score
68/100
Technical Findings
- Good Dawn v15.4.1 is the current stable version — no deprecated Shopify APIs or Liquid 1.0 patterns detected. The theme is well-maintained and production-safe.
- Good Custom sections (sdm-hero, sdm-pgbanner, lifestyle section, benefits section) are modular and use Shopify section schema correctly. The developer-coded extensions integrate cleanly with the Dawn base without introducing global CSS conflicts.
-
Warning
The X-Frame-Options response header uses the deprecated
ALLOW-FROMdirective (from a Shopify login_with_shop iFrame call). Modern browsers ignore this directive — it should be replaced with the CSPframe-ancestorsdirective. This is a Shopify platform issue, not a theme issue, but worth noting. - Warning One persistent JavaScript error fires on every page load: Invalid 'X-Frame-Options' header encountered when loading 'https://www.soldemadera.com/'. While this does not break store functionality, it appears in browser consoles and may concern developers monitoring the site.
-
Warning
The product template includes an empty section (
shopify-section-template--...__177896467886506dfe) that renders only aclear:bothdiv. This is likely a leftover from development and adds unnecessary DOM weight. -
Info
The
our-craftpage title ("our-craft – Sol de Madera") exposes the Shopify page handle in the title tag rather than a human-readable title. This should be "Our Craft – Sol de Madera" or similar. -
Info
Scroll-triggered animations (
animate--slide-inclasses) are applied to most sections. These are Dawn's built-in animation system and are well-implemented. No performance concerns with the current approach.
Brand Identity
Logo
The logo is a sun/island illustration — distinctive for a handmade artisan brand but note it does not include a wordmark. On small displays the icon alone may not communicate brand name.
Colour Palette
#121212
Primary / Buttons
#4B5B46
Accent / Nature Green
#FFFFFF
Background
#121212 @75%
Body Text
Brand Consistency
Typography
GoodInter is used consistently across all pages. Font loading is handled via the theme's preconnect. Clean, modern, and legible at all sizes.
Colour Consistency
GoodBlack/white palette with earthy accents is applied consistently. No jarring colour breaks between homepage, product pages, and checkout.
Imagery Style
GoodProduct photography is clean and consistent. Lifestyle shots showing mobiles in real interior settings are a strong visual differentiator for a handmade product.
Tone of Voice
Needs WorkThe homepage copy ("Art in Motion. Inspired by Nature.") is evocative and on-brand. But the product-level copy is generic and undoes this work — the tone does not carry through where purchase decisions are made.
Brand Story Depth
Needs WorkThe craft page describes the process well but is anonymous — no founder name, no founding year, no personal connection. Handmade brands with a clear human behind them convert significantly better.
Mobile Experience
GoodViewport meta is correctly set. The Dawn theme's responsive grid adapts cleanly to 390px. Navigation collapses to a hamburger menu that works well on touch screens.
Growth Roadmap
Do These First
- Write unique product descriptions for every item. Even 60–80 words that describe the specific bird, its colours, and what makes it special will dramatically improve SEO and conversion.
- Fix the Organization schema: delete the empty sameAs strings and add real social profile URLs for Instagram, Facebook, and Etsy.
- Add a proper meta description to the homepage in Shopify Admin → Online Store → Preferences (~155 characters).
- Add descriptive alt text to the hero banner image and all product gallery images that currently have no alt attribute.
- Update the announcement bar — replace "Welcome to our store" with a free shipping threshold or a short value statement.
- Fix the page title on /pages/our-story — it currently reads "our-craft – Sol de Madera" (the raw handle). Change it to "Our Craft – Sol de Madera" in Shopify Admin.
Medium-Term
- Change the Add to Cart cart type to "Drawer" in Theme Settings. This is a single toggle in the Shopify theme editor and is the highest-impact CRO change in this audit.
- Add Product JSON-LD structured data to all product pages. Use Shopify's built-in snippets or a theme section to output schema with name, price, availability, brand, and AggregateRating.
- Add SKUs to all products (e.g. SDM-BK-001) and update product vendor to "Sol de Madera". Then connect to Google Merchant Center for Shopping and AI recommendations.
- Install Klaviyo (free up to 500 contacts) and connect it to the footer email field. Set up a welcome automation and an abandoned cart sequence. These two flows typically recover 5–10% of lost revenue.
- Add a free shipping progress bar to the cart page using Dawn's built-in free shipping announcement or a lightweight Shopify app. Targets like "Spend $X more to unlock free shipping" reliably lift AOV.
- Add a cross-sell section to the product page template showing 2–3 related mobiles ("You may also like"). Shopify's native product recommendations API can power this without a paid app.
Longer Term
- Launch a blog with 4–6 articles targeting informational searches: "best handmade bird mobile gift", "how to hang a ceiling mobile", individual bird species guides for each mobile in the collection. These generate free organic traffic and support GEO visibility.
- Expand the "Our Story" / Craft page with a real founder narrative — who you are, why you started this, who the artisans are in Colombia. Add this page to the main navigation. Handmade brands with a clear human story behind them convert 15–30% better than those without.
- Add FAQ sections to product pages answering: dimensions, hanging method, materials used, care instructions, delivery timeframes, and gifting options. This directly addresses pre-purchase objections and helps AI systems answer product-specific queries.
- Consider a gift bundle option (e.g. "Two Bird Bundle" with a small discount). Gift-oriented products with bundle pricing see meaningful AOV increases, particularly around holiday seasons.
- Set up a post-purchase review request sequence via Judge.me to grow the review count. Aim for 5+ reviews per product — this is the threshold where social proof becomes persuasive to new visitors.