Appy
← Back to Blog
Guide

Universal Links on Shopify, Webflow, Wix and Squarespace: Which Builders Can Host the AASA File

When your app links open the website, iOS and Android usually couldn’t find two small files on your domain. What each site builder lets you host in October 2026, the subdomain route when yours says no, and a link that needs no file at all.

October 23, 2026•7 min read

Open your app from a link without touching your site builder

  • Store routing on every plan, Free included
  • Deep links that open the app on Pro
  • Nothing to upload to your website
Create your free link

Why the link opens your website

A Universal Link is an ordinary https link that iOS hands to your app instead of Safari. Android calls its version an App Link. Before either phone opens a yourbrand.com link in your app, it downloads a file from yourbrand.com that names the app. No readable file, no app: the link opens the website.

On a site builder, that file is usually what’s missing. Your developer did the app side. The website side needs a file at a fixed address, and the builder decides what you can put there.

The address both phones check

iOS checks this URL on each domain your app lists. Android checks assetlinks.json in the same folder.

https://yourbrand.com/.well-known/apple-app-site-association

  1. https://

    HTTPS, no redirects

    A valid certificate and a direct answer, no 301 or 302.

  2. yourbrand.com

    The exact host

    Each subdomain serves its own file. www.yourbrand.com is a separate host.

  3. /.well-known/

    A fixed folder

    The path can’t move. Whether you can write to it is where builders differ.

  4. apple-app-site-association

    No extension

    JSON inside, no .json on the name. Android’s file is assetlinks.json.

Apple’s “Supporting associated domains” and Android’s “Configure website associations” (updated October 16, 2026), checked October 23, 2026. Android requires application/json; Apple names no content type, so serve both as JSON.

What each builder lets you host

From each builder’s own help pages and developer docs, October 23, 2026.

Webflow
iOS file (AASA)Upload to a well-known asset folder, Premium Site plan or higher
Android file (assetlinks.json)Same folder, same plan
Framer
iOS file (AASA)Static file at /.well-known, Pro or Enterprise
Android file (assetlinks.json)Same feature, listed by name
Shopify
iOS file (AASA)Generated for you, custom domain only, every store URL opens the app
Android file (assetlinks.json)Generated the same way, for all URLs
Wix
iOS file (AASA)No documented way
Android file (assetlinks.json)No documented way
Squarespace
iOS file (AASA)No documented way, file URLs are fixed
Android file (assetlinks.json)No documented way
Sources: the Webflow, Wix and Squarespace help centers, Framer Help (updated September 15, 2026) and shopify.dev, checked October 23, 2026.

Builder by builder

Webflow. Since December 16, 2024, Webflow serves any well-known file. In the Assets panel, create a folder named well-known, upload the files and publish. Uploads must end in .json, .txt or .md, so name the iOS file apple-app-site-association.noext.txt and Webflow drops the extension. assetlinks.json goes in as it is. New files need a Premium Site plan (or a legacy Business Site plan) and don’t work on webflow.io staging domains.

Framer. In Site Settings, open Hosting, then Files. Add each file with the path /.well-known and publish. Framer lists both files by name and accepts files without an extension. It’s on the Pro and Enterprise plans. Framer doesn’t say which content type an extensionless file gets, so check it after publishing.

Shopify. Shopify doesn’t document a way to upload either file. It generates both on your custom domain, never on *.myshopify.com, once your app is registered: in a custom app’s Storefront API settings, or through the MobilePlatformApplication API, whose scope Shopify Support has to enable. The iOS file ends in /*, so every store URL except /admin and two payment callbacks opens the app. A developer asked for path control in May 2026; on October 14 Shopify had no update to share.

Wix. Wix doesn’t document a way to serve files at /.well-known/ (checked October 2026). Its help center says a verification file can’t currently be added at the root of a domain, in a feature request that is still collecting votes.

Squarespace. No documented way either. Its help page on files says the CDN assigns file URLs and they can’t be changed. The workaround on its forum is a URL mapping with a 301 redirect, which Apple and Google both reject.

The subdomain route

If your builder says no, or Shopify’s catch-all is more than you want, leave the website where it is. Point a subdomain such as links.yourbrand.com at a static host like Netlify, Vercel, Cloudflare Pages or Firebase Hosting; all four let you set response headers per path. Apple’s TN3155 suggests a separate subdomain for a related case anyway: a link from one yourbrand.com page to another doesn’t open the app from the browser, while a link to a different subdomain does.

Two things change. The links you share must point at the subdomain; links to yourbrand.com pages still open the website. And the app needs an update: applinks:links.yourbrand.com in Associated Domains, and an autoVerify intent filter for the host on Android. Give every other path on the subdomain a destination too, like a redirect to your website, so people without the app don’t hit a 404.

The three files

Swap in your own IDs and fingerprint. The generator fills them in for you.

.well-known/apple-app-site-association

{
  "applinks": {
    "details": [
      {
        "appIDs": ["ABCDE12345.com.yourbrand.app"],
        "components": [
          { "/": "/*", "comment": "Every link on this subdomain opens the app" }
        ]
      }
    ]
  }
}

.well-known/assetlinks.json

[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.yourbrand.app",
    "sha256_cert_fingerprints": ["14:6D:E9:83:...:3F:CF:44:E5"]
  }
}]

_headers (Netlify)

/.well-known/apple-app-site-association
  Content-Type: application/json
/.well-known/assetlinks.json
  Content-Type: application/json
Formats from Apple’s and Android’s docs. Netlify’s _headers file can set most response headers, and Content-Type isn’t among its exceptions (docs updated December 1, 2025). On Vercel the rule goes in vercel.json. If Google Play signs your app, copy the fingerprint from Play Console under Release › Setup › App signing.

Setting up links.yourbrand.com

Netlify as the example. Other hosts follow the same steps with their own record values.

  1. 01

    Deploy the folder

    Domain

    links.yourbrand.com

    The .well-known folder with both files, plus _headers. Then add links.yourbrand.com to the site in Netlify.

  2. 02

    Add one CNAME record

    Type
    CNAME
    Name
    links
    Value
    your-site.netlify.app

    Wherever your DNS lives, maybe in your builder’s domain settings. The website’s records stay. Propagation can take a day.

  3. 03

    HTTPS, then check

    1. Waiting for DNS
    2. Certificate issued
    3. Both files load

    https://links.yourbrand.com/.well-known/assetlinks.json

    Netlify issues and renews a Let’s Encrypt certificate for the subdomain. Then run it through the validator.

From Netlify’s DNS and HTTPS docs (updated October 2025 and October 2026). On Vercel, /.well-known can’t be redirected or rewritten, so a catch-all rule won’t swallow the files.

Or skip the file entirely

A Universal Link isn’t the only way into your app. An Appy link on Pro ($9.99/month) carries your app’s URL scheme deep link, such as yourapp://product/42, next to your store addresses. In Safari and Chrome it tries the app, then the store. In in-app browsers like Instagram’s it shows a page with an Open the app button, a store button and the steps to open Safari or Chrome. Computers get your website. Nothing goes on your site.

It isn’t a Universal Link on your domain, though. The link lives on appy.to, and yourbrand.com/product/42 still opens the website. Apple strongly recommends Universal Links over schemes, partly because nothing stops another app from registering yours. On Business, a custom domain like go.yourbrand.com carries your links but only redirects; Universal Links and App Links on your own domain through Appy are Enterprise. With the subdomain above, a Pro link can use https://links.yourbrand.com/product/42 as its deep link, and phones without the app still reach the store.

Check it before you share a link

01

Generate both files

The generator at /tools/aasa-assetlinks-generator builds both from your Team ID, bundle ID, package name and fingerprint.

02

Validate the host

The validator at /tools/universal-link-validator fetches the AASA file from your server and the copy in Apple’s CDN, and checks assetlinks.json for your package name and fingerprint.

03

Give Apple’s CDN time

iPhones read the file from Apple’s CDN, which fetches it within 24 hours. Phones check about once a week; reinstalling the app pulls a fresh copy.

04

Tap a real link

Send it to yourself in Notes or Messages and tap it on a phone with the app. On Android, adb shell pm get-app-links with your package name should list the host as verified.

Read next

Universal Links on site builders: questions

Can I upload apple-app-site-association to Shopify?

Not as a file. Shopify generates it on your custom domain once your app is registered, and it sends every store URL to the app. It doesn’t work on myshopify.com.

How do I add a .well-known file in Webflow?

Create a folder named well-known in the Assets panel, upload the file and publish. Name the iOS file apple-app-site-association.noext.txt so it’s served without an extension. New files need a Premium Site plan or higher.

Do Wix and Squarespace support Universal Links?

Neither documents a way to serve files at /.well-known/ (checked October 2026). Host the files on a subdomain with a static host, or use a link that opens the app with a URL scheme.

Can a redirect point /.well-known/ to a file somewhere else?

No. Apple requires the file with no redirects, and Android’s file must load without a 301 or 302.

Do Universal Links work without a website?

They need a domain that serves the file, not your main website, so a subdomain on a static host is enough. A scheme deep link through a smart link opens the app with no file at all, but it isn’t a Universal Link.

I fixed the file. Why does the link still open the website?

iPhones read the file from Apple’s CDN, which fetches it within 24 hours, and installed apps check about once a week. Reinstall the app to test the new file.

Continue exploring

Troubleshooting
Oct 9, 2026
9 min read

Universal Link and App Link Error Codes, Explained

SWCERR00101, SWCERR00301, legacy_failure, 1026: what each Universal Link and Android App Link error means, where you see it and the fix that makes the app open again.

universal links
app links
apple-app-site-association
assetlinks.json
Read article
Guide
Oct 9, 2026
12 min read

How In-App Browsers Handle Deep Links: Instagram, TikTok, Facebook, Gmail, Telegram and More

Why a link that opens your app from Safari dies inside Instagram: the three kinds of in-app browser, the iOS and Android rules, and what each app documents, from Facebook to Telegram.

in-app browser
universal links
app links
instagram
Read article
Guide
Oct 1, 2026
6 min read

Custom Domain Short Links for Apps: A Practical Guide

Why a link on your own domain is worth it, how to choose the hostname, the setup in three steps, and what happens to the links and QR codes you have already shared.

custom domain
branded short links
url shortener
qr codes
Read article

Looking for something else? Browse all topics on the blog.

Check your domain in a minute

Run your website or subdomain through the free validator: the AASA file on your server, Apple’s CDN copy and assetlinks.json in one check. If your builder can’t host the files, an Appy deep link opens the app without them.