umbrella Multi Storefront & SEO

Shopify multi-storefront SEO

Your brands share a Shopify store. They shouldn’t share a sitemap.

Shopify serves every domain you own the same sitemap, and points every canonical tag at one domain. So three brands end up advertising one identical catalogue, and every product page credits the same storefront. Umbrella gives each storefront its own.

Every plan opens with a ten-day free trial at the top tier — every feature unlocked, and Shopify charges nothing if you cancel before it ends.

Listed on the Shopify App Store. Questions before you install? Write to us.

One store, three storefronts

Without Umbrella

$ for d in northwind harborlane verdant; do
    curl -s https://$d.example/robots.txt | grep ^Sitemap
  done

  • Sitemap:https://northwind.example/sitemap.xml1,204 URLs
  • Sitemap:https://harborlane.example/sitemap.xml1,204 URLs
  • Sitemap:https://verdant.example/sitemap.xml1,204 URLs

Three domains, three brands, and one catalogue advertised three times over.

The same command

With Umbrella

# sitemap host, one per storehttps://umbrella-sitemaps.niftydesignsolutions.com/northwind-group/

  • Sitemap:…/northwind.example.xml412 URLs
  • Sitemap:…/harborlane.example.xml418 URLs
  • Sitemap:…/verdant.example.xml374 URLs

Shopify’s own sitemap is disallowed for every crawler in the same file. 412 + 418 + 374 = 1,204 — the whole catalogue, split by owner, nothing lost.

Each storefront advertises only what belongs to it.

Run the first command against your own domains before you believe any of this. If the three numbers match, your brands are advertising each other’s products. northwind.example and the others are reserved example domains — the storefronts and counts are illustrative, the file format is not.


The cost

What does a shared sitemap actually cost you?

A shared sitemap costs each brand its own search identity: every domain advertises the whole catalogue, and every product page names one domain as the owner. Nothing above is an error — every page loads, orders arrive, and your Shopify admin reports nothing wrong.

Your product pages name a domain you did not choose

A canonical tag is not a hint about preference. It is the instruction that names which URL is the one to index. On every domain except your primary, Shopify points it at the primary’s equivalent page — so each brand is asking search engines to index a different brand’s URL for its own products. Your secondary brands are structurally subordinate to whichever domain you happened to set as primary.

Every brand advertises its siblings’ catalogue

Three domains each submitting all 1,204 URLs is three brands each declaring it sells the other two’s products. The shopper who arrives through the wrong one lands on a storefront that was not built for them, with the wrong name at the top of it.

Search Console has already been telling you

Each domain is its own property, and a secondary domain’s pages sit there as duplicates whose canonical was chosen differently. That is not a warning about something that might happen — it is the report confirming the instruction was received and followed.

You are paying for domains with no identity of their own

A domain, a theme, a logo and a launch, for a storefront that describes itself to search engines as part of something else. The brand exists everywhere except in the three files that decide who owns what.


What changes

Three files, and who each one credits

Umbrella does not touch your products, your inventory or your themes’ design. It changes what each domain tells a crawler about itself.

What Shopify does by default, measured on a live store.

Why every domain serves the same sitemap, what the canonical tag on a second domain says, and what you can and cannot change in Shopify’s own sitemap.

harborlane.example.xml

Every domain advertises only its own products

Every domain gets its own sitemap index, listing only the products, collections, pages and articles assigned to that brand. It shards automatically past 50,000 URLs and rebuilds as your catalogue changes.

<link rel="canonical">

Each product page credits the brand selling it

A product belongs to one brand. Its canonical names that brand’s domain on every domain the product is reachable from — not the domain the visitor happened to arrive on, and not whichever domain you set as primary. Two of your storefronts stop claiming the same page.

templates/robots.txt.liquid

Crawlers are sent to your sitemaps, not Shopify’s

Shopify’s shared sitemap is disallowed for every major crawler and yours is advertised in its place. Umbrella generates the file and, with your approval, installs it — keeping a copy of any robots template you already have, in your own theme.


Scale and Portfolio

A Google Merchant Center feed for every brand

Shopify’s Google & YouTube channel sends Merchant Center one feed, with every product link on your primary domain. Merchant Center expects a feed’s links to sit on the website its account has claimed — so with several brand domains, one brand is advertised properly and the rest point shoppers at the wrong storefront. Umbrella builds a feed per storefront instead.

What Merchant Center requires of each brand’s feed.

feeds/<brand>/en/<market>.xml

Every product link on the brand’s own domain

One feed per storefront, listing only the products assigned to that brand, with that brand’s links, images and name. Each brand goes into its own Merchant Center account.

g:price · g:sale_price

Priced the way each market actually pays

Countries charged the same price in the same currency share a file, found from your store’s own pricing rather than assumed. Scale covers your home market in your primary language; Portfolio adds every market and language you sell in.

rebuilt with your sitemaps

Checked before it publishes

Sample prices are compared with the live product page, and a file whose product count suddenly collapses is held back. You paste each feed URL into Merchant Center once; Google fetches it from there. Umbrella produces the file — what Merchant Center approves is Google’s to decide.

The operational simplicity of one store, with the search identity of three.

One catalogue. One inventory. One admin. No second Shopify subscription per brand, and no product sync to go wrong between them.

Setup

How do you set Umbrella up?

Four steps: connect the domains already on your Shopify store, describe each brand and assign what belongs to it, check every storefront, then publish. The order matters — nothing is published until every storefront has been checked and you have seen the result.

How several domains attach to one Shopify store, and how to set up Search Console for each brand once its sitemap is published.

Connect your storefronts

Install the app. Umbrella reads the domains already attached to your Shopify store and offers them as storefronts — there is nothing to type.

Describe each brand

Name each storefront and assign products, collections, pages and blog articles to the brand that owns them. Anything left unassigned stays with your primary store.

Check every storefront

Every storefront is probed before anything goes live: is the robots.txt in place, does the sitemap resolve, does the canonical point where it should. You get an answer per storefront, and a reason when one is wrong.

Publish the sitemaps

Sitemaps are published to a host of their own, separate from the app, so an app outage cannot take your sitemaps down with it. They rebuild on a schedule from then on.


Included everywhere

What is included on every plan?

Every Umbrella plan includes the whole engine. The plan you choose changes how many storefronts you connect and how often sitemaps rebuild; it does not change what the app is willing to do for you.

Every plan gets the whole engine

Per-storefront sitemaps, sharding, canonical handling, robots.txt suppression and the health probes are on every plan, and so is the nightly rebuild. What a higher plan adds is rebuilds you trigger, on top of the scheduled one — not a faster background loop you cannot see.

Five storefront blocks, as source

Announcement bar, top bar, social links, brand card and promotion popup are generated as Liquid into your own theme code — each one also as a snippet, for themes too old to take theme blocks. They are your files. They keep working if you uninstall Umbrella.

Ten days free, with nothing locked

The trial grants the top tier, not a reduced version of it. A trial that withholds features cannot tell you which plan you need.


Scope

Is Umbrella a multi-store platform?

No. Umbrella is an SEO infrastructure layer for one Shopify store serving several branded domains. Every item on the right is something merchants reasonably mistake it for, and each carries a different price expectation, so it is worth being blunt.

It is

  • An SEO infrastructure layer for Shopify
  • One Shopify backend, many branded storefronts
  • A storefront management platform

It is not

  • An inventory or product sync app
  • A theme
  • An SEO plugin
  • A second Shopify subscription

Fit

Who is Umbrella for?

Umbrella is for merchants running several brands from one Shopify store, each brand on its own domain — agencies, houses of brands, retail-and-wholesale pairs, and single spin-off labels. If that is not your setup, the last paragraph is the honest answer rather than a sales one.

Agencies and studios

Several clients’ brands on one store you maintain, each needing to read as its own business rather than a section of somebody else’s.

A house of brands

Three or four labels you own outright, sharing a warehouse, a stock figure and an admin, sold to audiences that should never see each other.

Retail and wholesale

Two audiences, two domains, one catalogue. The trade site and the consumer site stop competing over the same product page.

A second label

A spin-off launched on its own domain, because the fastest route to market was the store you already had — and the cost of that is every page still crediting the original brand.

Not this: a single storefront on a single domain gains nothing here — there is no second brand to tell it apart from.

Published languages are supported. Shopify serves every page again under a locale prefix like /fr/products/… and lists them only in the sitemap Umbrella suppresses, so Umbrella publishes them itself — measured on a store with French and Spanish published, 276 URLs served and 276 published. Countries, markets and currencies need nothing from you. Those locale URLs count toward your plan's URL limit, and a second language roughly doubles the number. What is supported, what is not, and what is still being verified.


Pricing

What does Umbrella cost?

Three plans, billed monthly through Shopify: $19.99 for 2 storefronts, $29.99 for 4, and $49.99 for 10. A storefront is the unit you already think in — a brand, a domain, an audience — and it is also what drives our cost, because each one gets its own sitemap set on its own schedule.

Launch

$19.99 /month

  • 2 connected storefronts
  • 1,000 URLs
  • 1 sitemap rebuild a day, scheduled

Portfolio

$49.99 /month

  • 10 connected storefronts
  • 500,000 URLs
  • 3 a day — 1 scheduled, 2 on demand

Ten-day free trial on every plan. Prices are in USD and exclude any taxes Shopify applies. Billing is handled by Shopify and appears on your Shopify invoice; change plan or cancel at any time from your Shopify admin. Full pricing.


Questions

Questions about running several brands on one Shopify store

Including the one most SEO products avoid. Ask us anything else — you will get a straight answer, including “this will not help you” if that is the true one.

Will this work on my Shopify plan? Do I need Shopify Plus?

It works on Basic, and you do not need Plus. Umbrella works on any Shopify plan that lets you attach more than one domain to a store, which is all of them. Running several brands as separate Shopify stores means several subscriptions, several inventories and several admins; running them as domains on one store is cheaper and operationally saner, and it is the arrangement Umbrella is built for. Plus is a different purchase — it buys separate admins, separate inventory and per-brand checkouts, none of which Umbrella provides. The four arrangements compared, including where Plus is the right answer.

Does this duplicate my products or split my inventory?

No. There is one catalogue, one inventory and one admin, exactly as there is now. Umbrella changes what each domain advertises about itself to a crawler. It never copies, syncs or moves a product.

Does this work with Shopify Markets, several currencies or several languages?

Markets, countries and currencies: yes, and they need nothing from you — measured on a store with three markets configured, they add no URLs of their own. Your hreflang tags are also unaffected, because your theme renders those into the page head rather than into the sitemap. Published languages are supported too. Shopify serves every page again under a locale prefix like /fr/products/… and lists them only in the sitemap Umbrella suppresses, so Umbrella publishes them itself — measured on a store with French and Spanish published, 276 URLs served and 276 published, on both the store’s own host and an attached domain. One thing to know: every locale URL counts toward your plan’s URL limit, so two published languages roughly double the count and three roughly quadruple it, without adding a product. The full support position, including what is still being tested.

Will this slow my storefront down?

Almost none of Umbrella runs on your storefront. Sitemaps are served from a host of ours on a separate domain, so they add nothing to any page a shopper loads. The robots.txt is a Liquid template Shopify renders like any other. Four of the five storefront blocks — announcement bar, top bar, social links and brand card — are plain Liquid rendered on Shopify’s side, with no JavaScript at all. The promotion popup is the only one with behaviour, and it ships inside Shopify’s own {% javascript %} bundle: collected into your theme’s existing asset, run once per page however many popups are on it, and making no external requests. There is no Umbrella-hosted script on your storefront and nothing to load from us.

Will this improve my search rankings?

We do not claim that, and nobody honestly can. What Umbrella does is make each storefront describe itself accurately: its own sitemap, its own canonical, its own robots.txt. What a search engine does with an accurate description is its own business. Any app that promises you a ranking is guessing.

How does billing work?

Through Shopify. Plans are charged to your Shopify invoice, and you upgrade, downgrade or cancel from your Shopify admin rather than from us. Every plan starts with a ten-day free trial with every feature unlocked; cancel before it ends and you are not charged. Prices are in USD and exclude any taxes Shopify applies at checkout.

What happens if I hit a plan limit?

Your sitemaps list your plan's URL allowance and stop there — 1,000 covered, 1,400 in the catalogue, and the last 400 are left out until you move up a plan. Those pages stay live and linkable; they are just not advertised for discovery, and since Umbrella suppresses Shopify's own sitemap, not from anywhere else either. You are told before it matters: the app shows your count against your allowance from day one, and we email you when it goes past. The storefront limit works differently — it stops you connecting a new storefront, never disconnects one you have. The full explanation is on the pricing page.

What data does Umbrella store?

Your storefront domains, the brand settings you enter, and the catalogue data needed to build a sitemap — product, collection, page and article handles, titles and update times. No customer names, addresses, emails or order details are stored, which is why our answer to Shopify’s customer data request and redaction webhooks is that there is nothing held. The privacy policy is the full account.

What happens if I uninstall?

The generated theme blocks are your own theme’s code and keep working. The robots.txt template stays until you replace it, and if Umbrella installed it, the copy of your original is in your theme so you can put it back — Settings has an Undo that does it for you, and it has to be used before you uninstall. Published sitemaps stop rebuilding.

Nothing is copied or synced

One catalogue, one inventory, one admin, exactly as you have now. No product is duplicated, moved, or kept in step with another.

No customer data held

No names, addresses, emails or order details are stored. Shopify’s data request and redaction webhooks are answered with nothing, because there is nothing to hand over.

Your theme keeps working

Theme blocks on current themes, plain snippets on older ones. Umbrella adds files; it does not restyle a template or touch your design.

Uninstalling is clean

The generated blocks are your own theme’s code and go on working. Where Umbrella installed the robots.txt template, your original is kept beside it so you can put it back.

Start with the domains you already own.

If your storefronts are already live on one Shopify store, there is nothing to migrate. Install Umbrella and the setup wizard finds them for you.