Docs chapter: Deploy
Deploy
Put your theme and content on your live WordPress site, update it later, and bring the live site’s content back to your computer.
Deploy talks to your live site through a small plugin, Shader Connect. You don’t need FTP, SSH or your host’s control panel, and neither Claude nor Codex ever sees your passwords. If Shader can’t connect to your host, use Downloads instead.
Before you start
- Open Deploy in the left rail. It’s available while the site is running. If the theme has a problem, Deploy says so at the top and Push theme waits until it’s fixed; Fix on the theme page takes you there.
- Deploy isn’t included in a VX Pro free trial: on a site with the trial it shows a lock, and you need a license to deploy. See VX Framework Pro.
- Your live site needs:
- WordPress, and an administrator account you can sign in with.
- An
https://address. - The Shader Connect plugin and VX Framework Pro with your license. Connecting walks you through installing both.
Connect your live site
Click Connect live site. It takes three steps.
- Shader Connect
- Click Download Shader Connect and save the file.
- In your live site’s WordPress, go to Plugins → Add New Plugin → Upload Plugin, choose the file, click Install Now, then Activate.
- Back in Shader, click It’s installed.
- VX Pro
- Download VX Framework Pro from your account on vxframework.com.
- Upload and activate it on your live site the same way.
- In WordPress, activate your license under VX.
- Back in Shader, click It’s installed and licensed.
Connect. Choose how Shader signs in:
- Approve in the browser: Shader opens your live site. Log in and approve. WordPress then gives Shader a password that only Shader can use. You can revoke it anytime from your WordPress profile.
- Application password: create one in WordPress under Users → Profile → Application Passwords. It isn’t your login password. Enter your username and that password in Shader.
Then type the Site address (for example
example.com), keep or change the Name, and click Connect.
Shader keeps the login safely on this computer. To connect another live site, such as a staging copy, click Connect another site (the + button). With more than one, pick the site from the list at the top.
Your connected site
At the top you see the live site’s address and its status:
- Connected: everything works.
- Shader Connect not found: install or activate the plugin on the live site, then click Check again.
- Not authorized: the saved login no longer works. Disconnect, then connect again.
- Can’t reach the site or Something went wrong: see the message under it.
More controls:
- Show details: the live site’s WordPress, PHP, VX and Shader Connect versions, and the account Shader signs in with.
- The refresh button checks the connection again.
- The unplug button disconnects. It removes the saved login from this computer and changes nothing on the live site.
Push theme
The Push theme tab shows the theme visitors see on the live site now.
- If a different theme is active on the live site, the Activate pushed theme? switch decides whether yours becomes the active one. It’s on by default.
- Click Push theme, then confirm.
Shader builds the theme if it has a build step, uploads it and installs it on the live site. Only what the site needs to run is sent; source files and notes stay on your computer.
For a block theme, Shader first looks for templates someone saved in the live site’s Site Editor. Those copies show instead of the theme’s files, so a change you push to them wouldn’t appear. If any differ from what you’re pushing, Shader lists them, for example “Header was changed on the live site; your new header won’t show there”, and keeps them unless you tick Replace with yours. Copies that already match your files are cleared, so the files are used again. Undo push also brings back any copies the push replaced. The badge next to the button tells you whether this is the first push (“Not on the live site yet”) or an update, such as “Update · 1.0 → 1.1”. If it says “Live has 1.2”, someone pushed a newer version from another computer, and Shader won’t push an older one over it. If your theme is on GitHub, pull the latest version first. To replace the live one with yours anyway, give your theme a higher version.
The version that was live before is kept. Undo push puts it back, and if your push made your theme the active one, makes the previous theme active again. After an undo, the same button reads Redo push, on every computer connected to the live site.
Push content
The Push content tab sends your pages, posts, VX content, menus and images to the live site.
Click Review & push. Shader gets everything ready and compares it with the live site. Nothing changes on the live site yet, and Cancel stops here.
In Review changes, check what will happen:
- Will be sent: new items, and items you changed here.
- Kept — edits on the live site stay untouched: these changed both here and on the live site since your last pull or push, for example when someone else pushed them. To replace one with your version, tick Use mine; Use mine for all ticks every one. To keep the live edits, close the review and pull content first, which brings them to this site.
- Kept — already on the live site: the live site already has something with the same address or name, an image with different text, its own homepage setting, or its own values on a settings page. Tick Use mine to replace it; Use mine for all ticks every one.
- Skipped — changed on the live site since your last pull: someone changed these on the live site, and you didn’t change them here, so the live versions stay. Pull content to bring them to this site.
- Skipped: items that are already there or up to date. Items that need the theme first are skipped until you push it from the Push theme tab.
Above the list, Shader says how many new images the push sends and how big they are.
Click Push content. Shader sends the new images first, with how much is sent and about how long is left, then the live site adds everything. While the images go, Stop stops the push: nothing has changed on the live site yet, and the review comes back. You can click Hide and keep working. Progress shows at the bottom of Deploy, with Show and Stop.
When it’s done, you see what was sent, kept, skipped or failed. Open live site opens it, and See what was pushed shows the result again later.
A content push can’t be undone from Shader, so check the review before you push. If someone else pushes the same item while you’re reviewing, Shader leaves theirs and skips yours.
If a theme you pushed has a PHP error and stops the live site, Deploy says so, and Undo push still works.
If the live site stops partway, Shader carries on from where it got to. If something still fails, the result says what and why, and your next push finishes it. A page whose fields couldn’t be saved usually means the theme with those fields isn’t on the live site yet, so push the theme, then push content again.
Big sites
A push sends its images after the review, so the review comes quickly however many there are.
- If a push stops partway, because the connection dropped or you quit Shader, the images that arrived wait on the live site for 3 days. Click Try again, or push again later: Shader says how much is already there and sends only the rest.
- Your computer stays awake while a push runs.
- One file can be up to 2 GB. The review names any bigger one, and the push waits until it’s smaller.
- If the live site’s disk doesn’t have room for the images, the review says how much they need. Free up space at your host, then review again.
- If Deploy can’t push at all, upload the content with FTP instead. See Downloads.
If the review finds nothing to send, the button reads Nothing to push. Close the review: Shader still notes what’s the same on both sites, so later pushes and pulls know.
Pull content
The Pull content tab brings the live site’s content to this site: what changed there since your last pull or push. Use it to work with real content, or to bring back edits made on the live site. It brings content only; your theme stays as it is.
The first pull on a site makes it a copy of the live site’s content, apart from what you tick to keep. After that, a pull keeps what you changed or made here and haven’t pushed yet.
- Click Review & pull. Shader downloads the live site’s content and compares it. Nothing changes here yet.
- In Review changes, check what will happen:
- Will change on the local site: what changed on the live site.
- Will replace what’s on the local site: on a first pull, this site has its own version at the same address. To hold on to yours, tick Keep here.
- Will be removed from the local site: what the live site doesn’t have. To hold on to one, tick Keep here; Keep here for all ticks every one. Each thing is ticked on its own, so a page you keep doesn’t bring its categories with it. If it was deleted on the live site, the next pull asks again.
- Kept — changes on the local site stay: you changed these here and haven’t pushed them, sometimes while someone changed them on the live site too. To take the live version instead, tick Use the live version; Use the live version for all ticks every one.
- Kept — already on the local site: this site has its own item at the same address, or an image with different text. Tick Use the live version to replace it.
- Kept — only on the local site, not pushed yet: things you made here. Push content to share them.
- Kept — deleted on the live site, changed here: someone deleted these on the live site after you changed them here. Delete them here if you don’t need them.
- Click Pull content. Shader saves a snapshot of this site first.
If the review finds nothing to bring, the button reads Nothing to pull. Close the review: Shader still notes what’s the same on both sites, so later pushes and pulls know.
If anything fails during a pull, Shader removes nothing, and your next pull finishes the job.
Undo last pull puts back this site’s content and settings as they were before the last pull, and removes files the pull added. Changes made here since the pull are lost too, so Shader asks first, and the undo itself can’t be undone.
What travels
Push content and Pull content carry your published posts and pages, entries of post types made with VX, their fields, terms, settings pages, menus, the homepage setting and the images they use. Synced patterns go too. Each page keeps its template, password, comment settings and date, and a post stays sticky. The template’s file comes with the theme, so push the theme first.
An image’s title, alt text, caption, description and VX fields travel and update like a page’s. An image only goes if a page or field uses it.
Users, and post types registered in code or by other plugins, stay behind.
To leave out a post type made with VX, such as the data of a logged-in area, add this to the theme with your own post types, then push the theme before your next pull:
add_filter('shader_connect/post_types', function (array $types): array {
return array_diff($types, ['member_profile']);
});
A field that points to something left out isn’t sent, along with the group or repeater it sits in, so the other site keeps what it has there, and Deploy shows a warning. A menu item that points to it becomes a plain link. A link written in a page’s content keeps its address, so it goes nowhere on a site without that entry.
Working with other people
Several people can work on one site, each on their own computer:
- The theme goes through Git and GitHub. Set them up once in Settings → Accounts, then ask in the chat to put the theme on GitHub, share your changes or get the latest. Each person makes their site from the repository in New site. See Settings.
- Content goes through one live site, or a staging site that everyone connects to. Each person pushes and pulls content in Deploy.
You can push and pull in any order. A push sends only what you changed, and a pull keeps what you haven’t pushed yet. Shader asks only when two people changed the same page, menu or settings page: you pick whose version to keep, since Shader can’t combine two edits of one item.
- On a new computer, pull first. A site’s first pull makes it a copy of the live site, so if you’ve already made something here, tick Keep here on it in the review, or Keep all here. Until a site has pulled once, a push sends only what’s new: it can’t replace what’s already on the live site, since you haven’t seen it.
- Renaming a page, or moving it under another page, travels like any other change: the page moves on the other site too, once you’ve pushed or pulled it at least once. WordPress sends visitors from its old address to the new one, so links to it keep working.
- Deleting something here doesn’t delete it on the live site, and your next pull brings it back. Delete it on the live site in WP Admin instead, and the next pull removes it here too.
Keep Shader Connect up to date
When the live site has an older Shader Connect than this version of Shader, Deploy says a new version is available. Usually you can update whenever it suits you. If this version of Shader needs the update, Deploy says so, and the push and pull tabs come back once it’s done.
- If you see Update, click it and Shader updates the plugin for you.
- Otherwise, click Download, upload the new version in Plugins → Add New Plugin on the live site, then click Check again. After that, Shader can update it for you.
If the live site has a newer Shader Connect than this version of Shader can use, for example after someone else updated it, Deploy asks you to update Shader instead.
Shader Connect doesn’t work on a WordPress multisite network yet. Deploy tells you if the live site is one.
When something doesn’t work
| You see | What to do |
|---|---|
| Deploy is greyed out | Start the site. |
| … can’t be deployed yet | The theme has a problem. Click Fix on the theme page, or open Theme → Integrity; Fix in chat can fix most problems. |
| VX Framework Pro isn’t active on the live site | Install and activate VX Framework Pro on the live site, activate your license under VX, then click Check again. |
| This theme needs WordPress … or newer | Block themes need WordPress 7.1 or newer on the live site. Update WordPress there, then click Check again. |
| This theme uses features that need VX Framework Pro … or newer | The theme’s edit forms use sections or tabs, or term rules by slug, which an older VX drops. Update VX Framework Pro on the live site, then click Check again. |
| This host needs FTP details to change files, so Shader can’t push themes to it | Your host doesn’t let plugins install themes. Download the theme ZIP from Downloads and upload it under Appearance → Themes → Add New Theme. You can still push content. |
| … isn’t allowed to install themes / manage this site’s settings | Disconnect and connect again with an administrator account. |
| Application Passwords are turned off on this site | Usually a security plugin turns them off. Turn them back on, or create an application password by hand. |
| WordPress rejected the saved application password | It was probably revoked. Disconnect and connect again. |
| Shader Connect is not installed or not active | Install it from Downloads → Shader Connect, or from the connect steps, and activate it. |
| The live site answered with a web page instead of data | A security plugin, firewall or maintenance mode is blocking Shader. Allow it, or pause the block while you push. |
| The live site stopped while answering | Usually a PHP crash or a time limit on the host. The live site’s PHP error log names the cause. |
| The live site refused the upload as too large | Raise the upload size limit at your host, or use the theme ZIP from Downloads. |
| Could not reach … / does not look like a WordPress site | The message says why and what to try: an address this computer couldn’t look up, a security certificate Shader doesn’t trust, no answer in time, or a connection refused or cut off. Otherwise check the address and your connection. The site’s REST API must be on. |
| Use an https:// address | Live sites need https://. |
| Timed out waiting for approval in the browser | Try again, or use Application password instead. |
| Live site locked | You didn’t allow Shader to read the saved login. Quit Shader and open it again to be asked again. |
| The theme build failed, so nothing was pushed | Open Theme → Integrity to see the problem and fix it, then push again. |
| … is too big to push | One file can be up to 2 GB. Make it smaller (a video can be compressed), then review again. |
| … has … free, and these images need about … | The live site’s disk is too full. Free up space at your host, or ask it for more, then review again. |
| … images didn’t reach the live site / haven’t reached this site yet | The push stopped while it sent images. Click Try again: it sends only what’s missing. |
| Pushing content doesn’t work at all | Upload the content with FTP instead: download the content package and follow Upload content with FTP in Downloads. |