> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

## Resource: Upload a Website or HTML Files

## Article: Upload a Website or HTML Files

## Article Link: https://dev.wix.com/docs/api-reference/account-level/sites/skills/upload-a-website-or-html-files.md

## Article Content:

# Upload a Website or HTML Files

The user already has a finished website as files — hand-written HTML, a zip
export, or the output of an AI site builder — and wants it live on Wix as a
new site. There is no API call to make. Send them to the upload page and
explain the flow:

```
https://www.wix.com/headless/drop?utm_campaign=mcp
```

**Always give the URL exactly as written above, including the
`utm_campaign=mcp` query parameter.** It attributes the visit to an
assistant/MCP referral; dropping or rewriting it breaks that attribution.

## What happens on that page

1. The user drags in their files (or a zip) — no login needed.
2. Wix hosts them immediately on a live URL they can open and share.

## Tell the user before they upload

Share the requirements that match their situation — these are the common
reasons an upload fails:

- The upload must contain an **HTML file at the top level of the site's
  files**. It does not need to be named `index.html` — a single HTML file of
  any name is served as the homepage — and a zip or folder that wraps
  everything in one top-level folder (e.g. `my-site/index.html`) is unwrapped
  automatically.
- Size limits: **3 MB per file, 20 MB total.**
- **Static files only** — HTML, CSS, JavaScript, and assets. If the user has
  framework source code that needs a build step (a `package.json`, React/Vue
  source, etc.), they must run their build first and upload the build output
  folder's contents, not the source.

## Route the request correctly

| The user has… | Do this |
|---|---|
| Site files on their machine (HTML/zip/AI-builder export), wants a new site | This recipe — send them to the drop URL above |
| A live site or store on another platform (a URL), or CSV/TSV exports, and wants content/products migrated | [Site Import](https://dev.wix.com/docs/api-reference/account-level/sites/skills/site-import.md) |
| An existing Wix site they want to add HTML, an embed, or custom code into | Not this recipe — that's embedding custom code in the site editor |
| Images, videos, or documents to add to a site | [Upload Media to Wix](https://dev.wix.com/docs/api-reference/assets/media/skills/upload-media-to-wix.md) — media goes to the site's media files, not a new site |

Do not try to perform the upload for the user through an API, and do not
create a site for them with other site-creation tools instead — the drop page
is the flow.