Heir Looms Β· Vintage & Antique Rugs

Business & SEO Analysis

Two views of the same store: what the Shopify records reveal about the money, and what search engines see about your visibility online.

πŸ’΅ Methodology β€” cash-collected only (tap to expand)
Counts only paid orders (money actually received): 2,833 orders / $8.47M net cash ($8.67M gross before refunds) across 2018–2026. Excludes 52 pending ($319k) β€” matches the owner's note on units lent out and marked sold β€” plus 70 fully-refunded ($114k) and 81 voided ($533k). 2026 is year-to-date (marked *).

Report 1

Sales & Revenue β€” what really happened

$1.03M
Revenue 2025 (cash)
-49% vs 2022
192
Paid orders 2025
-63% vs 2022
$5.4k
Avg order value 2025
+38% vs 2022
54%
From trophy pieces 2026*
was 8% in 2021
Net cash by year β€” Core business vs Trophy pieces ($)
Paid orders by year β€” Core vs Trophy pieces (# units)
Average order value by year

β–ͺ Revenue peaked in 2022 ($2.01M) and has declined since, but the average order keeps rising (from $2,381 in 2021 to $5,365 in 2025). They sell fewer pieces at higher prices.
β–ͺ Risk: trophy pieces (>$20k) grew from 8% of revenue in 2021 to 54% in 2026* β€” the business increasingly leans on a handful of large sales.

Where the decline lives β€” by price tier ($ net cash, 2021 vs 2025 last full year)

Accessible (<$5k): $894k β†’ $152k (-83%) Β· 616 β†’ 122 orders (-80%). This is where the entire decline lives.
Premium ($5k–$10k): $382k β†’ $267k (-30%).
High-end ($10k–$20k): $246k β†’ $311k (+26%).
Trophy (>$20k): $132k β†’ $300k (+127%) Β· 5 β†’ 9 orders.
β–ͺ The upper tiers are NOT the problem β€” everything β‰₯$5k is flat-to-up, and trophy sales more than doubled. The whole decline is the accessible tier collapsing 83% β€” recovering that shopper is the single biggest growth lever, and it also reduces the growing dependence on a handful of trophy sales.

Report 2

Customers & Products

πŸ“… This section covers 2026 year-to-date only. Customer counts, repeat behaviour and categories are measured on 2026 paid orders. The all-time table is included for context.
59
Paying customers 2026
14
Repeat customers 2026 (24%)
$261k
Revenue from repeat 2026
40% of total
$647k
Cash collected 2026
90 orders

β–ͺ In 2026, 14 of 59 customers already repeat (24%) and generate $261k (40% of revenue) β€” the design-trade repeat base carries the business. Most are interior designers buying again and again, not one-time retail.

Top customers β€” all time
CustomerRevenueOrders
Sarah Ostreicher$381,54430
Garcia Haley Design$316,52220
McCann Design Group$254,50225
Anne Mcdonald$210,09328
Caitlin Flemming$158,50636
Kaitlin Chamblin$150,17733
Ellen Kavanaugh Interiors$147,35226
Maddison Gambrel$119,9391
Top customers β€” 2026
CustomerRevenueOrders
Danielle Darah$88,5601
Ellen Kavanaugh Interiors$77,0928
McCann Design Group$52,4102
Whitney Baldwin$45,7243
Helen Bergin$43,2001
Nikki Levy Interiors$33,2192
Sarah Ostreicher$27,6971
Kathleen Birmingham$27,5591
Product categories β€” 2026 (year-to-date)

Categories derived from product titles β€” the Shopify catalog has no category field (product_type blank on 100% of items), so these were reconstructed from rug names.

β–ͺ Persian / Oriental designs drive the business β€” $472k (61%) β€” followed by Custom / Hand-made commissions (25%).
β–ͺ Data-hygiene gap: with no real category tags, on-site search, collections and shopping feeds all run blind. Tagging the catalog unlocks better merchandising and acquisition.

Report 3

Web traffic & attribution β€” last 12 months

17,979
Sessions (12 mo)
1.0%
Blended conversion
70%
Direct / untagged
too high
2.9%
Email conversion
best channel
Sessions & conversion by month
Traffic by type β€” volume & conversion

Bar color = converts: sage β‰₯1%, gold weak, red ~0%. Hover for exact share & conversion. Source: Shopify online-store analytics.

β–ͺ Direct converts (1.39%) and carries the store β€” design-trade buyers who come straight to the site (mirrors the repeat-revenue finding).
β–ͺ Search brings 2,844 visits but converts 0.04% β€” unqualified/informational, not buyers.
β–ͺ Social (1,924 visits) converts 0.0% β€” pure awareness.
β–ͺ Email is the best converter (2.9%) but switched off (34 visits/yr) β€” the biggest untapped lever for a repeat design base.

πŸ”Ž Attribution audit β€” not set up correctly. 70% of sessions land as "Direct/untagged" (healthy stores run 20–40%). Untagged Instagram links, email clicks, DM/WhatsApp "dark social" all collapse into Direct β€” so Social & Email look smaller than they are. Also 546 bot/spam sessions inflate the numbers. Fix first: UTM-tag every link, add GA4 + channel tagging, exclude spam referrers.
πŸ“Ž Appendix β€” 2026 data integrity (why cash-only)
For 2026 year-to-date we count only money received: 90 paid orders / $647k net cash. Excluded: 13 pending ($91k) β€” the lent-and-marked-sold inventory the owner described; 3 fully-refunded ($20k). Counting these would overstate sales and distort stock.

Executive Summary

Where the money is & how to grow

5 Growth Opportunities

The product and brand are not the problem β€” the gap is customer acquisition. That's exactly what the SEO Analysis tackles β†’

Source: Shopify Admin API β€” paid / cash-collected orders only, 2018–2026 (2026 YTD). Net cash = order total minus successful refunds. Prepared for Heir Looms Β· Rugs.

SEO Analysis

Organic visibility, technical health & the fastest paths to more traffic

heirlooms.co has something most competitors envy β€” genuine editorial authority (Architectural Digest, House Beautiful, ELLE Decor, Domino). But that authority is wasted on a catalog Google can barely see: ~80% of pages aren't indexable, product pages are thin, and the store ranks for almost no buyer-intent searches. Nearly every problem is a fast, well-understood fix.

29
Overall Health /100
38
Content
20
Authority
!
Technical*
1,419
Open Issues

*Technical scored low largely because indexability & Core Web Vitals signals are blocked/degraded β€” see the audit below. 163 ranking keywords Β· ~218 referring domains.

β˜… Top 5 Fastest Wins

Ranked by impact Γ· effort. Items 1–4 are mostly configuration & content you can ship this week.

1Rescue the catalog's indexability1–3 days

82 of 102 crawled pages are flagged Not Indexable, and 5 key pages are missing from the sitemap. Most of the product catalog isn't even eligible to appear in Google.

Do this β†’Remove stray noindex/canonical conflicts on collection & product URLs, add products to the sitemap, submit in Search Console.
Payoff β†’Unlocks the entire inventory for ranking β€” the single highest-leverage fix.
2Unique description + meta for every productReady now

43 pages have no meta description and product pages show thin, near-duplicate content β€” so they earn almost zero organic traffic (the homepage alone carries 128 of ~296 monthly visits).

Do this β†’Deploy the unique, image-based product descriptions already generated (883 in-stock rugs) + auto-write a 150-char meta description per page.
Payoff β†’Turns ~880 dead product URLs into individually rankable, higher-CTR pages.
3Fix image SEO β€” ALT, compression, WebP2–4 days

99 images have no ALT text, 94 exceed 100 KB, and 99 use dated formats. This forfeits Google Images traffic and slows every page (speed is a ranking & conversion factor).

Do this β†’Bulk-add descriptive ALT text (rug type Β· origin Β· colors β€” same vision pipeline) and enable Shopify WebP/compression.
Payoff β†’Opens Google Images as a discovery channel and lifts Core Web Vitals.
4Add Product schema + unblock AI crawlers1–2 days

Product/Offer schema is missing (no price/availability rich results), and robots.txt currently blocks LLM crawlers β€” making the store invisible to ChatGPT, Perplexity & Google's AI answers.

Do this β†’Install Product schema (price, availability, images) sitewide and remove the LLM-crawler block from robots.txt.
Payoff β†’Rich snippets raise CTR; AI visibility becomes a new referral channel.
5Push page-2 terms & capture buyer intent3–7 days

58 keywords sit on page 2–3 (positions 11–30), and the store ranks for virtually zero transactional queries β€” a fatal gap for e-commerce.

Do this β†’Rewrite homepage/collection titles & H1s toward commercial terms (vintage/antique + rug type + size); build collection pages for high-intent categories.
Payoff β†’Moves near-miss rankings onto page 1 and starts capturing ready-to-buy searches.

Organic Visibility

What the site ranks for β€” and the page-2 opportunity

Ranking positions (163 keywords)

Only 10 keywords reach page 1. 58 sit at 11–30 β€” the "striking distance" zone for the fastest gains.

Search intent of traffic

An e-commerce store capturing zero transactional search traffic leaves its highest-value visitors on the table.

Organic traffic trend (est. monthly visits)

Volatility this large on a small base usually signals unstable indexation β€” pages dropping in and out of Google β€” reinforcing Fix #1.

Technical Health

1,400+ issues across 102 pages

Indexability crisis: of 102 crawled pages, only 18 are indexable β€” 82 are not. Combined with 5 important pages missing from the sitemap, this is why the catalog underperforms despite strong backlinks. Fix this before anything else.
Top technical / on-page issues (by pages affected)

Backlinks

Real strength β€” used well, this is a moat

The store has earned genuinely high-value editorial links most rug shops never get. Lean into this β€” pitch more shelter/design press.
Authority backlinks
PublicationDomain Auth.
Architectural Digest31
ELLE Decor19
Food5217
House Beautiful16
Domino13
Jenni Kayne / Rip & Tan12
Studio DIY11
Modern Luxury10
Toxic links to disavow

A visible slice is spam directories & link-scheme domains dragging on trust. Action: file a Google disavow β€” low effort, protects the domain.

takes.sbswants.cfdknows.sbsway2check.cvseodomains.websitelinksnatcher.comblinks.monsterwebsitescrawl.artgoooogla.com

Competitive Landscape

The headroom to aim at

Est. monthly organic traffic β€” Heir Looms vs direct competitors

loomandco.com (~1,641) & heirloombk.com (~1,002) show the ceiling: comparable inventory, but their product/category pages are indexed and content-rich. The gap is executional, not authority β€” which Heir Looms already has.

Head-to-Head β€” Heir Looms vs Apadana

A close rival (Shopify rug store, same antique/vintage niche) β€” and the clearest proof of the thesis

Metric-by-metric β€” Aug 2026 (live pull)
MetricHeir LoomsApadanaGap
Ranking keywords163855 β—„5.2Γ—
Est. monthly organic visits~296~1,110 β—„3.8Γ—
Keywords on page 1 (top 10)10136 β—„13.6Γ—
Referring domains~218319 β—„1.5Γ—
Backlink qualityβ—„ Editorial β€” AD, ELLE, House BeautifulBlog-networks & directoriesHL β—„
Collection pages ranking in Google (w/ traffic)010 β—„+10
Blog / guide pages ranking (w/ traffic)08 β—„+8
Pages in Google's index (all URLs)~2,885~4,492 β—„1.6Γ—
Pages that actually rank (pull search)29 (~1%)143 (~3%) β—„4.9Γ—
Transactional (buyer-intent) traffic0~3~tie

β—„ marks the stronger side. Gap = how many times ahead the leader is (Γ—), or the absolute lead (+N) when one side is zero. "Collection / blog pages ranking" = category & guide URLs that actually pull organic traffic (not just exist). Indexed β‰  ranking: both stores have thousands of URLs in Google's index, but most are pagination / params / dead pages that earn no traffic β€” only ~1% (Heir Looms) vs ~3% (Apadana) actually rank. Apadana data pulled live, Aug 2026 (Google organic + backlink index).

Read this carefully β€” it's the good news. Apadana pulls roughly 4Γ— the traffic today, but not because they out-rank Heir Looms on authority β€” the opposite is true. Heir Looms' backlinks are objectively stronger (real design press β€” Architectural Digest, ELLE Decor, House Beautiful) vs Apadana's spun blog-networks and low-DA directories. Apadana wins on execution alone: their collection pages are indexed and ranking, and a simple blog of care/how-to guides quietly harvests informational traffic every month.
What this means: Heir Looms is losing to a weaker-authority competitor purely because its catalog is invisible to Google (Fix #1) and it publishes no content. Close that executional gap β€” index the catalog, add unique descriptions, start a lightweight guide blog β€” and Heir Looms' superior authority gives it a higher ceiling than Apadana. One shared weakness stands out: both stores capture almost zero buyer-intent traffic. Whoever builds high-intent collection pages first takes that lane outright.

Roadmap

Prioritized 30 / 60 / 90 days

WindowFocusActions
0–30 daysGet seenFix indexability & sitemap Β· deploy unique product + meta descriptions Β· unblock AI crawlers Β· disavow toxic links
30–60 daysGet faster & richerImage ALT + WebP/compression Β· Product schema sitewide Β· rewrite titles/H1s Β· internal-linking pass
60–90 daysGet buyersBuild high-intent collection pages Β· buying guides by rug type Β· earn 3–5 new editorial links Β· re-audit & track

Keyword Targeting Plan

Grounded in real <$10k sales Β· brand-safe (no "Persian") Β· sorted by volume Γ· difficulty

The searches to build collection pages & content around. Every theme maps to what actually sells under $10k (vintage/antique, Turkish & Oushak, Oriental, Moroccan, Kilim, Heriz/Tabriz, runners). Per the owner's brand-safety note we avoid the word "Persian" (geopolitical / ad-account & PR risk) and use equally-searched, lower-competition alternatives β€” chiefly "Oriental" and specific weave/region names (Oushak, Tabriz, Heriz, Anatolian) that carry no political flag. Vol = est. monthly US searches Β· KD = keyword difficulty 0–100 (green ≀15 easy Β· amber 16–35 Β· red >35 hard). Live data, Aug 2026.

πŸ¦„ Tier 1 β€” Quick wins (high volume + low difficulty). Start here.
KeywordVol / moKDWhy it fits
oriental rugs18,1005The safe #1 replacement for "persian" β€” huge volume, tiny difficulty
oriental rug18,1009Same intent, singular
oushak rug / oushak rugs9,9006A top real seller; exceptional difficulty-to-volume
moroccan rugs9,90011Real seller; plural far easier than singular (KD 40)
anatolian rug9,90012Turkish region β€” brand-safe, low competition
tabriz rug8,10012Weave/style name (no "persian" word); in their catalog
gabbeh rug1,90011Tribal weave they carry
turkish oushak rug1,0007High-intent long-tail buyer
antique oriental rug3207Easy, transactional, on-brand
βœ… The owner's "Asian" cluster β€” validated, brand-safe umbrella, all low difficulty. Good instinct: "Asian" carries no political flag and every term is easy to rank. Modest volumes but genuine quick wins; best of the set is the transactional one.
KeywordVol / moKDNote
asian rugs for sale1,30011Best β€” buyer intent + low KD
asian wool rugs8809Material + safe umbrella
asian rugs59018Category anchor
vintage asian rugs3208Matches their vintage focus
Tier 2 β€” Strong, build next (good volume, medium difficulty)
KeywordVol / moKDWhy it fits
turkish rug9,90026Core seller category
kilim rug / kilim rugs8,10039Flatweave they sell
neutral area rug3,60034Design-buyer intent, on-trend
heriz rug2,40024Style name (safe); in catalog
vintage oushak rug1,90025Vintage + top seller
antique rugs1,90033Their positioning
vintage turkish rug1,60019Vintage + Turkish
Tier 3 β€” High-volume, long-term (big traffic but harder β€” need more authority/content first)
KeywordVol / moKD
runner rug33,10070
wool area rug27,10079
large area rugs22,20070
9x12 / 8x10 area rug22,20063
rugs for sale14,80044
vintage rugs12,10052

Runners are a real seller (477 orders <$10k) so runner rug is worth pursuing once authority grows β€” pair with easier long-tails first (e.g. "vintage runner rug", KD 51).

On "Persian" (the word to avoid): the data confirms the caution is low-cost. persian rug has the biggest volume (49,500) but KD 44 (not easy) β€” it fails the unicorn bar (super-high volume and low difficulty and safe), so it's excluded. The only borderline term is persian rugs for sale (2,900 vol Β· KD 6 Β· transactional) β€” low difficulty and buyer-intent, but volume isn't "super-high," so per the brand-safety rule it's left out by default. Shown only for transparency β€” owner's call. Everything above captures the same buyers using "oriental" and specific weave names, at equal-or-higher volume and lower difficulty.

Sources: Google organic search data, full-site technical crawl audit & backlink index β€” collected Aug 5, 2026. Keyword volume & difficulty pulled live Aug 2026; keyword themes anchored to Heir Looms' real paid orders under $10k (2,273 orders / $4.7M). Health scores are directional (technical & UX signals were partially degraded by the indexation issues above). Figures are planning estimates, not guarantees. Prepared for Heir Looms Β· heirlooms.co.

Action Plan

First 4 weeks β€” projects to grow high-ticket sales

🎯 Goal: more digital sales in the $5k–$10k and $10k–$20k range

Every project drives that number. Check off actions, change status, log blockers and schedule dates β€” your progress is saved in this browser. Use Export to back up or share the plan.

Internal working plan Β· Heir Looms Β· Rugs. Data lives locally in your browser (Export = backup/share). Weeks: W1 Aug 17–23 Β· W2 Aug 24–30 Β· W3 Aug 31–Sep 6 Β· W4 Sep 7–13.

Apps & Costs

Shopify apps on the store β€” track spend & find savings for Ads

Costs are estimates (typical Shopify pricing). Edit each with the real number from Shopify β†’ Settings β†’ Billing β†’ Subscriptions. Set Paid and tick Cancel? to see monthly savings. Saved in this browser.
AppCategory / noteEst. $/moPaidCancel?

Apps detected via storefront + Shopify catalog. Exact billing isn't readable via API (Shopify hides third-party app charges) β€” confirm in Shopify Billing. Redundancy flag: two email apps (Omnisend + Klaviyo) = double spend.

SEO Progress

What we've shipped, what's in motion, and the score lift

Updated Aug 19, 2026. Foundation fixed and content engine started. OTTO SEO score 79 β†’ 81 and climbing; title/meta tags now 100% optimized; 196 unique rug descriptions ready to publish.
81
OTTO SEO Score
+2 vs baseline 79
100%
Title + Meta tags
was 72%
94%
Schema markup
was 10%
196
Unique rug descriptions ready
was 0

Score & coverage β€” before vs now

MetricAug 17 (start)Aug 19 (now)Status
OTTO SEO score7981β–² improving
Title tags optimized72%100%βœ… complete & live
Meta descriptions72%100%βœ… complete & live
Open Graph (social)100%100%βœ… clean (brand fixed)
Schema markup10%94%β–² near done
Meta keywords0%100%βœ… complete
Image ALT text8%24%◐ in progress
Unique product descriptions (rugs)0196 ready◐ pending publish
Toxic backlinks disavow fileβ€”94 domains◐ ready to upload

OTTO seo_score and coverage %; brand voice corrected (removed "Exquisite" / "Rugs + Interiors" across titles, metas & social tags).

Timeline

Foundation β†’ Content β†’ Visibility

Aug 17 Β· Foundation
Fix what Google & AI see first
  • Corrected brand identity (Knowledge Graph) β€” removed "Exquisite" / "Rugs + Interiors"
  • Regenerated & deployed 96 title tags + 96 meta descriptions + 57 social tags
  • Drafted toxic-backlink disavow list
Aug 19 Β· Content & cleanup
Give thin pages real content
  • Generated 196 unique rug descriptions (from product photos, on-brand)
  • Finalized disavow (94 spam domains); verified indexability, canonicals & sitemap all healthy
  • Schema to 94%; audited Shopify apps for cost savings β†’ Ads

βœ“ Done & live

  • Brand identity corrected
  • 96 title tags optimized
  • 96 meta descriptions
  • 57 social (OG) tags
  • Meta keywords 100%
  • Indexability verified

◐ In progress

  • 196 rug descriptions (ready to publish)
  • Schema markup (94%)
  • Image ALT text (24%)
  • Disavow (ready to upload)
  • App cost cleanup

Live working record. Detailed change log kept internally (SEO changelog + score log). Prepared for Heir Looms Β· Rugs.