Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run ScanHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
VGSources
Blog

How to Migrate a ProcessWire Website to a New VPS

A practical ProcessWire migration runbook covering full backups, VPS requirements, file and database transfer, config.php changes, private testing, DNS cutover, and troubleshooting.
Length12 min Posted Quest giverVGSources Team

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The safest ProcessWire migration is a controlled copy of the entire application and database, followed by configuration changes, a test on the new VPS, and only then a DNS switch. Back up everything first, keep the old server untouched for rollback, and schedule a short content freeze so the final database dump and file synchronization describe the same site state.

What must move for a complete ProcessWire migration

A ProcessWire site is more than a database and a theme folder. The destination must receive the complete installation and every site-specific asset that affects page rendering, administration, uploads, modules, scheduled jobs, and integrations.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Item Why it matters Migration action
/wire Core ProcessWire installation and modules supplied by the system. Copy the directory intact, including its subdirectories and files.
/site Site-specific configuration, templates, stylesheets, scripts, cache files, uploaded assets, and custom modules. Copy the complete directory; do not select only template files.
Root index.php Front controller that boots ProcessWire. Copy it to the document root of the new virtual host.
Root .htaccess Rewrite and access behavior on Apache installations. Copy hidden files and verify the new server allows the required directives.
Other project files Build scripts, environment files, custom libraries, deployment files, or local integrations may be outside the standard directories. Inventory the document root and transfer anything the running site uses.
Database Pages, fields, users, settings, and content are stored in the database. Create an export from the old server and import it into the destination database.

ProcessWire documentation describes the distinction this way: the /wire directory contains the ProcessWire installation and modules, while /site contains what is unique to a site, including configuration, templates, stylesheets, scripts, cache files, and other assets. Omitting either directory can produce a site that loads but behaves incorrectly.

1. Inventory the old VPS and plan the freeze

Before copying anything, record the environment that currently works. This inventory turns hidden dependencies into an explicit migration checklist.

#1 Best Overall
Sale
Gaoye Blue Light Blocking Glasses
  • BLUE LIGHT BLOCKING GLASSES: Our blue light glasses for women boast UV400 protection, blocking harmful blue rays from computer screens. With these bluelight glasses women, you can enjoy gaming, reading, or watching TV with no worries of eye strain.
  • EYE RELIEF: Our blue light glasses are engineered to reduce blurry vision or strain caused by prolonged screen time. These womens blue light glasses aid in better sleep by preventing blue light from disrupting your natural sleep cycle, helping you fall asleep faster and enjoy a more restful night's sleep, making them the perfect christmas present.
  • COMFORTABLE: Crafted from durable material, our trendy blue light glasses for woman or blue light glasses men ensure long-lasting comfort. The high-transmittance lenses accessories, gamer gifts for men, help keep your eyes relaxed. Perfect stocking stuffers, gifts for gamers men, christmas gifts for men, halloween costumes.
  • LIGHTWEIGHT: These clear blue light glasses feature a lightweight frame, meaning they’ll stay comfy for long-term wear. Perfect as blue blockers glasses for women or mens blue light glasses, these non-prescription fake glasses for men can be worn throughout the day. The blue light blocking glasses women feature polycarbonate HD lenses, which are anti-reflective and restore true color.
  • WORRY-FREE PURCHASE: If you experience any issues, our support team is ready to assist you quickly. These are the perfect costume glasses for cosplay dressing up.

Record versions and services

  • PHP version and enabled extensions, especially PDO and the image-processing extension in use.
  • Database engine and version, database name, host, port, character set, collation, and account name.
  • Web server, virtual-host configuration, rewrite rules, document-root path, and any security headers.
  • ProcessWire core version, installed modules, custom modules, and module-specific configuration.
  • Cron entries, queue workers, command-line scripts, and the user that runs each job.
  • TLS certificate method and renewal job.
  • Mail transport, SMTP credentials, sender addresses, webhooks, payment or analytics integrations, and API keys.
  • Filesystem ownership, permissions, writable directories, and any mounted storage.
  • Backup schedules, retention, off-server destinations, and the procedure for restoring them.

Choose a cutover window

Lowering DNS TTL before the move can reduce the time some resolvers keep the old address, but TTL changes are not instantaneous and do not force every cache to refresh. Make the change early enough to be useful for your operational plan.

Schedule a short content freeze. During the freeze, prevent editors and automated jobs from changing content while you create the final database dump and synchronize files. If the site receives uploads, pause those as well or record and transfer every file created after the first copy.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Define rollback

Decide who can point DNS back to the old VPS, how long the old server will remain available, and which checks must pass before you declare the migration complete. Do not delete the source database or dismantle its web configuration during the initial verification period.

2. Build a compatible destination VPS

Install the operating system and web stack before transferring the site. ProcessWire’s installation requirements list a Unix- or Windows-based web server running Apache or a 100% compatible server, PHP 8.x as the recommended branch, PDO database support, MySQL 5.6 or newer (with equivalent MariaDB versions supported), URL rewrite support, and PHP GD2 or ImageMagick for image processing.

Apache versus nginx or another server

Apache is the straightforward path because ProcessWire’s standard .htaccess behavior is designed for it. If you use nginx or another non-Apache server, translate the rewrite and access rules deliberately instead of copying .htaccess and assuming it will be read. ProcessWire’s official support is for Apache; a non-Apache deployment therefore requires an equivalent configuration and its own security review.

Prepare the PHP runtime

  • Install the PHP version selected during inventory, or a compatible PHP 8.x version after confirming that all modules used by the site support it.
  • Enable PDO and the driver for the chosen database.
  • Enable GD2 or ImageMagick as required by the site’s image fields and image manipulation code.
  • Match relevant upload, memory, execution-time, and post-size limits to the old server before testing large uploads.
  • Load the same timezone and locale assumptions used by scheduled jobs and date formatting.

Prepare the database service

Install a supported MySQL or compatible MariaDB release, create an empty database, and create a dedicated account with only the privileges the application needs. Set the intended character set and collation before importing. Confirm that the PHP process can reach the database over the selected host and port.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Windex Gaming Cleaning Wipes, Pre-Moistened Wipes to Instantly Clean all Gaming Gear and Electronics, Resealable Packaging for a Freshness Lock, 25 count (Pack of 1)
  • WINDEX GAMING WIPES: effortlessly clean all your gaming gear and gaming electronics in one easy step with our new Windex Gaming Wipes
  • AMMONIA FREE: our ammonia-free formula is safe to use on all of your favorite gaming equipment like consoles, headsets, controllers, screens, keyboards, and more
  • PRE-MOISTENED WIPES: each wipe instantly removes dust, dirt, and stubborn smudges and fingerprints leaving a streak-free shine
  • ANTI-STATIC: great for cleaning and wiping down your gaming gear and electronics leaving behind no visible residue
  • COMPACT RESEALABLE PACKAGE: store your pack of Windex Gaming Wipes anywhere in your home for whenever a quick and easy wipedown is needed

Configure the virtual host and TLS

Create a virtual host whose document root is the directory that will contain index.php. Enable rewrite support and allow the required .htaccess directives on Apache. Restrict directory listing, protect configuration and backup files, and ensure the web process can write only to directories that genuinely require it. You can issue or renew the production certificate after the hostname points to the new VPS, or use a temporary hostname and a separate certificate while testing.

3. Create recoverable backups before touching production

ProcessWire’s upgrade guidance is explicit: back up the database and all site files so you can revert. Treat the backup as a recovery asset, not merely as a copy for the migration.

Export the database consistently

Use the database engine’s dump utility with options appropriate to your version and workload. A typical MySQL-compatible export is:

mysqldump --single-transaction --routines --triggers --events --default-character-set=utf8mb4 -u DB_USER -p DB_NAME > processwire.sql

Use a locking strategy suitable for the tables and storage engine if a consistent transactional dump is not possible. Check the command’s exit status and inspect the dump for an error message before copying it. Compressing the file reduces transfer time:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
gzip -c processwire.sql > processwire.sql.gz

Archive the complete document root

Include hidden files, particularly .htaccess, and do not exclude /site/assets merely because it contains generated files. A tar archive from the document root can preserve paths and permissions:

tar -czf processwire-files-YYYY-MM-DD.tgz --xattrs --acls .

If you use an archive tool with different options, verify that symbolic links, ownership metadata, and hidden files are retained as intended. Copy the archive and database dump to storage outside the old VPS. Record cryptographic checksums and keep the rollback copy until the new site has operated successfully for the agreed period.

Rank #3
Sale
LISEN Cell Phone Stand Phone Holder for Desk, Office Decor Gadgets for Men
  • Ergonomic & Adjustable Design: Fight "text neck" and improve your posture. Designed for comfort, it offers an adjustable height (7.1in-8.5in) (1.4in adjustable range) and angle (5°-85°) Please note: cell phone stand is only 9 inches tall—the length of a standard pencil
  • Without blocking subtitles Perfect for office desk Tiktok Face Time Zoom video—this is the ultimate kitchen desk essential for phones! Perfect viewing experience while reducing neck back strain, A must-have for gamers streamers desk, and anyone who values both style and support!
  • Sleek & Stable Design fits Otterbox Case: Say goodbye to bent cables, tangles, and tip-overs! LISEN’s stylish adjustable desk phone holder features a built-in charging hole and smart cable management, keeping your phone secure and your workspace clutter-free cool gadgets for men
  • ANTI-SLIP DESIGN free hands: The under 10.00 items easy gadgets back and the bottom of this kitchen essentials for women are fully covered by anti-skid silicone, which LISEN stand up desk decor can provide maximum protection device from any scratches and slides
  • Your Perfect Viewing Companion:If your product arrives damaged or breaks within 365 days, reach out to LISEN for a quick and hassle-free solution. Struggling with assembly, like tightening the screw? We’ve got your back! Your experience matters to us. (Product including: phone Holder stand*1, screw*1, hexagon screwdriver*1, specification*1)

Test the recovery path

When time permits, restore the dump and unpack the archive into a disposable location on the destination. A backup that cannot be read, decompressed, or imported is not a usable rollback plan.

4. Transfer the ProcessWire files

Make the first file copy before the content freeze so the final outage is short. Use a method that preserves the directory structure and hidden files, such as an archive transfer or rsync over SSH.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
rsync -aHAX --info=progress2 /old/document-root/ user@new-vps:/new/document-root/

Use options supported by both systems; if extended attributes or ACLs are not available, preserve the permissions through an archive and set ownership explicitly on the destination. Never expose a temporary archive or SQL dump through the public document root.

Verify the expected layout

  • The new document root contains index.php and .htaccess where the virtual host expects them.
  • /wire and /site are complete and at the same relative paths as before.
  • Uploaded files under /site/assets exist and retain their names and directory hierarchy.
  • Custom modules and any libraries outside the standard ProcessWire directories are present.
  • Ownership allows the web process to read application code and write only to required asset, cache, or session locations.

Do not run a blanket permission command that makes the entire site world-writable. Broad write access creates a security problem and can hide an ownership mistake that will reappear under load.

5. Create and import the destination database

  1. Log in to the destination database service and create the database with the intended character set and collation.
  2. Create a dedicated application user with a strong password and the minimum required privileges.
  3. Copy the compressed dump to a private directory outside the web root.
  4. Import it with the matching client, for example: gunzip -c processwire.sql.gz | mysql -u DB_USER -p DB_NAME.
  5. Check the import output and database logs for rejected statements, missing tables, or character-set errors.
  6. Confirm that representative pages, users, fields, and configuration records exist before DNS changes.

Do not delete or modify the source database after a successful import. The source remains your fallback if the destination fails a functional check or if new content must be recovered during rollback.

6. Update /site/config.php for the new server

ProcessWire’s configuration reference notes that moving from one server to another requires updating the new hostname or hostnames in /site/config.php. Change only environment-specific values; keep site-specific settings that should remain identical.

Rank #4
Ledagic IC+RGBW USB Powered Led Light Bar with App & Remote Control, 2 Pack
  • Easy Installation: Our gaming lights have been designed to enhance your entertainment experience. Simply position the led light bar next to your TV or game console to create a game room environment with ease. They come with USB power and a 60 inch cord for direct mounting and mobility
  • Audio Syncing & Extensive Mode: The built-in high-sensitivity music sensor allows you to sync the TV led lights to your favorite music. Lights react and move to the beat of music, film and game audio, creating an incredible immersive sound and light experience – and all without the need for an additional hub. You can choose from 64+ patterns, including strobe, illusion, jump, energy, gradient, running, chasing, fluttering mode etc. Each mode can be applied to different scenes
  • 64+ Chasing IC+RGB & W Effect: The independent control design of IC+RGB and white all-in-one multifunctional rgbw led bar lights monitor backlight allows you to easily switch the led lights for desk between IC+RGB and white to enjoy a variety of lighting effects, you can choose white lighting mode with high brightness for better illumination when working, etc. Choose IC+RGB lighting mode when you need to create an entertaining atmosphere for the light show, 16 million colours of Color changing rgb light bar let you dance to the beat and create a dynamic party atmosphere
  • Dynamic and Dimmable Lights: 1%-full brightness free brightness adjustment gives you the flexibility to adjust dimmable led light bar for room decorations or a variety of occasions
  • USB Powered: USB light bars for room can be powered by powernank, usb charger, TV, Monitor, laptop PC mainframe, making behind TV led lighting bar easy to install in any location.TV led lights are powered by the TV usb interface / PC mainframe, can be turned on/off synchronously with TV / PC

Database connection values

  • Database name.
  • Database username and password.
  • Database host and port, including a socket path if the destination uses one.
  • Any driver or charset setting required by the destination database.

Host and URL values

  • Primary hostname and any allowed hostnames or host allow-lists.
  • HTTP-to-HTTPS behavior and secure-cookie or HTTPS flags.
  • Base URL or URL-root values if the site defines them explicitly.
  • Filesystem paths that changed with the new document root.

Other environment-dependent settings

  • Mail server names, ports, credentials, and sender addresses.
  • API keys, webhook secrets, storage credentials, and service endpoints.
  • Temporary debug settings used during the move.
  • Cache, session, and temporary-directory locations.

Keep secrets out of publicly readable files and verify the permissions on config.php. If your deployment separates secrets from code, update the environment mechanism as well as the ProcessWire configuration that consumes it. Remove temporary debugging output before exposing the VPS to public traffic.

7. Test the new VPS before changing DNS

Use a temporary hostname or a hosts-file override that maps the production hostname to the new VPS from your own computer. This lets you exercise the real host rules and URLs without sending visitors there.

Functional test checklist

  • Open the home page, representative detail pages, listings, pagination, and 404 pages.
  • Log in to the ProcessWire administrator, edit a page, save it, and confirm permissions for each relevant role.
  • Upload, replace, crop, and delete an image or file in a non-critical test page.
  • Submit every important public form and verify validation, email delivery, and stored submissions.
  • Run site search and inspect results for links, encoding, and pagination.
  • Check redirects, canonical URLs, robots behavior, sitemap generation, and trailing-slash rules.
  • Open the site over HTTPS and confirm that mixed-content warnings, secure cookies, and certificate coverage are correct.
  • Execute cron jobs manually or in a staging-safe mode, then confirm their schedules and log output.
  • Exercise third-party integrations and webhooks with test transactions where the service supports them.
  • Inspect PHP, web-server, database, and ProcessWire logs for warnings, fatal errors, permission failures, and connection errors.

Look specifically for migration-only failures

A page can appear correct while a less-visible dependency is broken. Test an old uploaded asset, a newly generated image variation, an administrator password reset, a scheduled task, and an outbound message. Compare generated URLs and filesystem paths with the old environment. Check that writable directories are writable by the web process but not by every local user.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

8. Perform the final synchronization and DNS cutover

  1. Announce the content freeze and disable editorial changes and automated writers.
  2. Create a final consistent database dump from the old VPS.
  3. Synchronize files changed since the first transfer, including new uploads and generated assets.
  4. Import the final dump into the destination database and repeat the key smoke tests.
  5. Confirm the destination virtual host, firewall, TLS configuration, backups, and monitoring are ready.
  6. Change the DNS records to the new VPS address.
  7. Obtain or renew the production TLS certificate if it was waiting for DNS validation.
  8. Watch access logs, error logs, uptime checks, administrator activity, forms, mail, and scheduled jobs.

DNS propagation is gradual. Some visitors may continue reaching the old VPS while resolvers update, so keep the old site available and prevent split-brain edits. If the old server must remain online during propagation, use the same content-freeze policy or a deliberate replication plan rather than allowing two independent databases to accept changes.

When to retire the old VPS

Wait until public traffic reaches the new address, administrative operations work, scheduled jobs and mail have remained healthy, and the new backup has completed successfully. Preserve the final rollback backup even after shutting down the old machine.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Choosing the destination VPS for ProcessWire

ProcessWire’s compatibility requirements tell you whether a server can run the software; they do not rank providers or publish current prices. Compare the operational characteristics that determine whether a migration stays reliable.

Best Value
Sale
HUANUO FlowLift™ Dual Monitor Stand, Fully Adjustable Gaming Monitor Desk Mount for 13–32″ Computer Screens, Full Motion VESA 75x75/100x100 with C-Clamp & Grommet Base, Each Arm Holds 4.4 to 19.8 lbs
  • Compatible with Wide Screens - To ensure compatibility with the dual monitor mount, your each monitor must meet three conditions at the same time: First, computer screens size range: 13 to 32 inches. Second, screen weight range: 4.4 to 19.8 lbs. Third, the back of the monitor screen must have VESA mounting holes with a pitch of 75x75mm or 100x100mm.
  • Regarding the compatibility with desks - Your desk must meet three conditions at the same time: First, desk material: Only wooden desks are recommended, plastic or glass desks cannot be used. Second, desk thickness range: 0.59" - 3.54". Third, the bottom of the desk should not have any cross beams or panels, as this will interfere with installation. We recommend carefully checking that your desk and monitors meets all above conditions before purchasing.
  • Dual C-Clamp Hold - Worried your dual monitors might wobble or slip? Our upgraded base uses a larger platform plus a dual C-clamp structure to lock the dual monitor arm firmly to your desk. Each arm safely keeps your screens steady while you type, click and game—no shaking, no sliding, just a clean and secure setup you can trust every day. It also provides Grommet Mounting installation choice, both options ensure stable and secure fixation for your 0.59" - 3.54" desk.
  • Full-Motion Adjustment For Comfortable View - Pull the screen closer when you’re deep in a spreadsheet, push it back to watch videos, or rotate to portrait for coding — moving everything smoothly with just one hand. The monitor stand offers +85°/-50° tilt, ±90° swivel and 360° rotation. Raise your monitor up to 15.75″ to support a healthy sitting posture. Whether you’re working from home, gaming through the night, or switching between video calls and documents, getting the screens to your natural line of sight helps relieve neck, shoulder and back strain so you can stay focused longer with less fatigue.
  • Keep Your Desk Organized: By lifting both screens off the desktop, this dual monitor stand opens up valuable space for your keyboard, notebook, docking station or a simple, clutter-free work area. Built-in cable management guides wires along the arms, keeping cords out of sight and out of the way. Enjoy a tidy, modern workstation that looks as good as it feels to use.
Decision area Questions to answer
Version control Can you select and patch the required PHP, database, and image-processing versions without breaking the site?
Web-server control Can you manage Apache modules and .htaccess, or deliberately maintain an equivalent nginx configuration?
Storage and I/O Is there enough capacity for the database, /site/assets, backups, logs, and future growth? Are disk performance and quotas documented?
Snapshots and backups Are snapshots separate from the VPS, encrypted, retained long enough, and restorable without excessive downtime?
Region and latency Does the data-center location suit visitors, administrators, external APIs, and any database connections?
Network addressing Are IPv4 and IPv6 available and configurable, and can DNS and TLS validation reach the server?
Monitoring Can you monitor HTTP status, TLS expiry, disk space, memory, database health, cron execution, and backup success?
Support and recovery What is the response path during an outage, and how quickly can you restore a snapshot or rebuild the instance?
Total cost Include the VPS, backup storage, snapshots, extra disks, IPv4 charges, traffic, support, and any managed-service fees.

Troubleshooting common migration failures

Every URL returns a 404 or the home page ignores rewrites

Confirm that the virtual host points to the correct document root, Apache rewrite support is enabled, and .htaccess overrides are permitted. On nginx, inspect the translated rules rather than expecting nginx to process Apache directives.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The site shows a database connection error

Recheck the database host, port, name, username, and password in /site/config.php. Verify that the PHP PDO driver is installed, the database user is allowed to connect from the web server, and the destination service is listening on the address you configured.

Images fail to upload or resize

Check GD2 or ImageMagick availability, PHP upload limits, disk space, and ownership of the relevant /site/assets directories. Confirm that the image-processing tool’s binary path or PHP extension matches the configuration used by the site.

Administrator login works but pages or modules are missing

Compare the transferred /wire and /site trees with the source. A partial copy can leave the database intact while omitting custom modules, templates, or assets. Review PHP logs for version incompatibilities and clear or rebuild caches only after correcting the underlying file problem.

Forms or scheduled jobs stop sending mail

Verify SMTP or mail transport settings, firewall egress, DNS resolution, sender-domain requirements, and cron user permissions. Run the job manually with logging enabled and check whether it is using a path or environment variable that changed with the new VPS.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Redirect loops or mixed-content warnings appear

Check the configured hostname, HTTPS flags, proxy or load-balancer headers, canonical URL logic, and TLS certificate coverage. Ensure the application receives the correct scheme when HTTPS terminates before PHP.

Migration completion checklist

  • Database and full file backups exist outside the old VPS and have recorded checksums.
  • The destination meets the supported web-server, PHP, PDO, database, rewrite, and image-processing requirements.
  • /wire, /site, index.php, .htaccess, assets, custom modules, and project files are present.
  • The destination database imported cleanly with the intended character set and a least-privilege account.
  • /site/config.php contains the new host, database details, paths, HTTPS settings, and service credentials.
  • Front-end pages, admin actions, uploads, forms, search, redirects, HTTPS, mail, cron, integrations, and logs have been tested.
  • Final database and file synchronization occurred during a controlled content freeze.
  • DNS, TLS, monitoring, backups, and rollback contacts are ready.
  • The old VPS remains intact until the rollback period ends.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More quests from Patch Notes

  1. How to Set Up a RedM (RDR2) Server in 2026: License Key, txAdmin and server.cfg, Step by StepBlog11min
  2. Best RedM (RDR2) Server Hosting in 2026: Comparing Four Hosts on Slots, Memory and PriceBlog10min
  3. How to Host a Mindustry Server in 2026: server-release.jar, Port 6567 and the Commands That MatterBlog7min
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.