# Upload Zip

> How to upload a zipped lander and get it ready to publish.

This page shows you how to put a finished lander online by uploading it as a zip file.

Any static website works: HTML, CSS, JavaScript, images, fonts, videos, and PDFs. Sites exported from website builders work too. Server code such as PHP does not run, so export those sites to plain HTML first.

---

## Before you zip

- **Put your home page at the top.** Name it `index.html` and keep it at the top level of the zip, not in a subfolder. It is the page people see at the upload's main address.
- **One wrapper folder is fine.** If everything sits inside a single folder, Proferex removes that folder when it unpacks. `mylander/index.html` ends up as `index.html`.
- **Keep links relative.** Paths like `css/style.css` or `images/hero.png` work as they are. Links to other websites keep pointing to those websites.
- **Use .zip only.** Repack `.rar` or `.7z` files as `.zip` first.

An upload can be up to **50 MB zipped**, **100 MB unzipped**, and **500 files**. If yours is bigger, [contact us](/docs/appendix/contact/index.md) and we can raise your limits.

---

## Upload it

<ol className="manual-illustrated-steps">
  <li>
    <p>Go to <strong>Landing Pages → Lander Uploads</strong> and click <strong>Upload Zip</strong>.</p>
    ![Lander Uploads selected under Landing Pages in the sidebar, with two uploads, Roofing Lander and My Brand, and the Upload Zip button outlined](/images/docs/lander-uploads-nav.jpg "Landing Pages → Lander Uploads")
  </li>
  <li>
    <p>Type a <strong>Name</strong>. It is for you, and it also becomes the start of the upload's slug, so keep it short. Then drag your zip into the box, or click <strong>browse</strong> to pick it. The box shows the file name and size so you can check it is the right file.</p>
    ![Upload Zip dialog with the name Roofing Lander, the file roofing-lander-1.zip selected, and the Upload button outlined](/images/docs/upload-zip-2.jpg "Name it, add the zip, and upload")
  </li>
  <li>
    <p>Click <strong>Upload</strong> and keep the dialog open until the progress bar finishes. A large zip on a slow connection can take a while.</p>
    ![Upload Zip dialog showing Upload Progress at 100%](/images/docs/upload-zip-3.jpg "Wait for the upload to finish")
  </li>
  <li>
    <p>The upload appears in your list as <strong>Processing</strong> while Proferex unpacks it. It usually reaches <strong>Ready</strong> within a minute.</p>
    ![Roofing Lander in the list with status Ready, 1 published page, and a size of 754.5 KB](/images/docs/upload-zip-4.jpg "Ready, with its home page already published")
  </li>
</ol>

Proferex finds your home page, usually the top-level `index.html`, and publishes it for you. That is why **Published Pages** shows 1 straight away. The page is ready to pick as a lander in the Tracker, and **Copy URL** in the row menu copies its address. Publish any other pages yourself. See [Published Pages](/docs/landing-pages/published-pages/index.md).

Uploading a zip with the same name as an existing upload does not replace it. Every zip becomes a new upload. To change files in an upload you already have, use the [File Manager](/docs/landing-pages/file-manager/index.md). It can also [unpack a zip into an existing upload](/docs/landing-pages/file-manager/index.md#add-many-files-with-a-zip).

---

## If the upload fails

A failed upload shows a red **Failed** badge. Hover over it to see why. If nothing shows, open the upload, where the full message is always shown. The usual causes:

- **Too many files, or too big.** The zip is over your limits. Make it smaller, or ask us to raise your limits. Large images and leftover folders are often the culprits.
- **Not a valid zip.** The file is damaged or is not really a zip. Export it again.
- **No usable files.** The zip is empty, or nothing in it can be served.

Once you have fixed the cause, open the row's **⋯** menu and choose **Retry**. Proferex keeps your zip for seven days after a failure, so you do not need to upload it again. If the problem is inside the zip itself, fix the zip and upload it again instead.

---

## Next step

Click the upload's name to look through its files in the [File Manager](/docs/landing-pages/file-manager/index.md).
