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

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

The safest ProcessWire migration is a controlled copy, not a fresh installation: freeze content, export the complete database, copy the entire document root (including /wire, /site, index.php and .htaccess), recreate the required PHP and database stack, update /site/config.php, test on the new VPS, and only then change DNS. Keep the old server untouched until the new copy has passed your rollback period.

This procedure applies whether you are moving between VPS providers, changing operating systems, or moving from a development server to production. It assumes you can administer both servers and have access to DNS, the database, TLS certificates and scheduled jobs.

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

What must move in a ProcessWire migration

A ProcessWire site is made of application code, site-specific code and data. Leaving out any one of these can produce a site that appears to load but fails in the admin, loses images, or breaks custom functionality.

Item Why it matters
/wire The ProcessWire core and its bundled modules.
/site Your configuration, templates, custom modules, stylesheets, scripts, cache files, uploaded assets and other site-specific files.
Root index.php The front controller that boots ProcessWire.
.htaccess and other server rules Rewrite, security and access behavior, particularly on Apache.
Database dump Pages, fields, users, settings and other content stored in MySQL or MariaDB.
Operational settings Cron jobs, mail delivery, TLS certificates, environment variables, API keys and any external integrations.

ProcessWire’s directory documentation describes /wire as the installation and module directory and /site as the directory containing everything unique to a site. Treat both as production data. Do not copy only templates or only uploaded files.

#1 Best Overall
Sale
Compressed Air Duster,130000RPM Super Power Cordless Air Duster,Rechargeable Brushless Blower,3 Gear Adjustable Blower with LED Light,Dust Remover for Computer/House/Outdoor/Car
  • Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
  • With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
  • Wide Application: attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
  • Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
  • Economical &Reusable: Built durable materials with a long-lasting battery,our CAGIWIRU air duster it's a sustainable alternative to disposable air cans.

1. Inventory the current server and schedule a freeze

Before changing anything, create a written inventory. It becomes your migration checklist and gives you a way to reproduce the old environment if the move fails.

Record versions and services

  • Operating system and architecture.
  • PHP version, enabled extensions and the PHP configuration used by the web server and command line.
  • Database engine, version, character set and collation.
  • Web server, virtual-host configuration, rewrite rules and document-root path.
  • ProcessWire version, custom modules and any code outside the normal document root.
  • Cron schedules, queue workers and command-line scripts.
  • TLS certificate method and renewal job.
  • Mail transport, sender domains and SMTP credentials.
  • External services such as payment, search, storage, webhooks and monitoring.

Lower DNS TTL when appropriate

If your DNS provider permits it, lower the record TTL ahead of the move so resolvers will refresh the address sooner. TTL reduction is not a guarantee that every resolver will switch immediately, so plan for a period in which some visitors still reach the old VPS.

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

Freeze content for the final copy

Arrange a short maintenance or content freeze. The final database export and the final file synchronization must describe the same state. If editors can upload images or change pages while you are exporting, the database and assets can diverge.

2. Build a compatible destination VPS

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

Component Requirement or decision Migration check
Web server Apache is the officially documented path. Nginx or another server is possible only with an equivalent, deliberately reviewed configuration. Confirm rewrites, request routing, access restrictions and PHP handling before the site is public.
PHP PHP 8.x is recommended; match the source version first when possible, then plan upgrades separately. Compare loaded extensions and the PHP configuration used by web requests.
Database MySQL 5.6+ or a compatible MariaDB release. Confirm the PDO driver, authentication method, character set and collation.
Image processing GD2 or ImageMagick. Generate a test image variation and inspect upload permissions.
Storage Enough capacity for the document root, database, logs, backups and growth. Check free space and inode capacity, not just the advertised disk size.

Apache versus Nginx

With Apache, transfer the existing .htaccess and verify that rewrite support is enabled for the virtual host. With Nginx, .htaccess is not read; translate its behavior into the server configuration and review every rule for security. ProcessWire’s official support is for Apache, so a non-Apache deployment requires you to maintain the equivalent configuration yourself.

Rank #2
EVEO® Screen Cleaner Spray Kit (Streak-Free) TV Screen Cleaner for Smart TV, Lcd, LEd, Oled | Computer Screen Cleaner Spray and Wipe Microfiber Cloth - TV, Monitor, Laptop, iPad, Car - 6.7oz 1 Pack
  • Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
  • Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
  • Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
  • Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
  • Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth

Match the source before changing versions

A migration is easier to diagnose when the destination initially matches the source PHP and database versions. After the site is stable, upgrade one component at a time with a separate backup and test cycle. A simultaneous PHP, database and ProcessWire upgrade makes it difficult to identify the cause of a failure.

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

3. Make and verify complete backups

ProcessWire’s upgrade guidance is explicit: “Backup your database and backup all the files in your site (ensuring you can revert if needed).” Make two independent copies when the site is important, and store at least one copy outside the old VPS.

Export the database consistently

  1. Stop writes by enabling maintenance mode or enforcing the scheduled content freeze.
  2. Record the database name, user, host, engine, version, character set and collation.
  3. Create a consistent dump with your database administration tool. A typical MySQL command is mysqldump --single-transaction --routines --triggers -u processwire_db_user -p processwire_database > processwire_database.sql. Use options appropriate to your engine and confirm the command completed without errors.
  4. Compress the dump if desired, then calculate a checksum such as SHA-256 and record it with the backup date.
  5. Test that the dump is readable by importing it into a temporary database on the destination or another isolated server.

--single-transaction is suitable for common transactional tables, but it does not freeze every possible table type or external write process. Follow your database engine’s consistency guidance for unusual schemas.

Archive every site file

  1. Archive the complete document root, including hidden files. Ensure .htaccess, deployment files and any project-level configuration are included.
  2. Include /wire, /site, the root index.php, custom modules, uploaded assets and any files referenced by cron or deployment scripts.
  3. Preserve symbolic links where they are intentional, but inspect them so you do not archive a link that points outside the backup.
  4. Generate and record a checksum for the archive.
  5. Copy the archive to storage that does not depend on the old VPS. Encrypt it when it contains credentials or private uploads.

Do not rely only on a provider snapshot. A snapshot is useful for rapid rollback, but an independently restorable database dump and file archive protect you from a corrupted snapshot, an account mistake or loss of access to the provider.

4. Transfer the ProcessWire files

Copy the archive to the destination and extract it into the intended document root. If you use a synchronization tool instead, include hidden files and preserve timestamps, permissions and symbolic links. Transfer over an encrypted channel such as SSH.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
BladeHawks RGB Gaming Mouse Pad Extra Large Extended 31.5x12 Inch-Black | LED mouse pad with 14 lighting modes, covers keyboard & mouse, anti-slip rubber base, waterproof surface, USB powered
  • 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
  • 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
  • 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
  • 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
  • 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.

Set ownership and permissions

Make the web-server user the owner of directories that ProcessWire must write, such as site assets and caches, while keeping application code and configuration as restrictive as the application allows. The exact user and group depend on the operating system and web server. Avoid making the whole document root world-writable. Verify that /site/config.php and any files containing credentials cannot be downloaded or read by unrelated system users.

Clear caches only when appropriate

Cache files can be rebuilt, but deleting them during a live migration can create unnecessary load or remove useful diagnostics. Follow the site’s normal cache procedure after the copy. Do not delete uploaded assets or generated image variations unless you have confirmed they can be regenerated and the originals are safely backed up.

5. Create and import the destination database

  1. Create an empty database with the intended character set and collation.
  2. Create a dedicated database user with only the privileges the site needs. Grant access from the destination web server’s host or local socket rather than from every address.
  3. Confirm that PHP’s PDO extension and the correct MySQL or MariaDB PDO driver are enabled for web requests, not merely for the command line.
  4. Import the verified dump and watch for errors, truncated statements, collation warnings or authentication failures.
  5. Check representative tables and row counts, then run a read-only application test before allowing writes.

Keep the source database intact. Do not drop it, revoke its access or shut down the old VPS until the new site has passed the agreed rollback period.

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

ProcessWire’s configuration reference specifically notes that moving between servers requires updating the new host name or host names in /site/config.php. Change only environment-specific values; preserve site-specific settings that are still valid.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Configuration area What to verify
Allowed host names Replace the old domain, temporary test host and any host allow-list entries as needed. Keep a controlled temporary hostname while testing, then remove it if it should not remain valid.
Database connection Database name, user, password, host or socket, port, driver and any SSL requirements.
Filesystem paths Absolute paths that changed with the new document root, home directory or deployment layout.
HTTPS behavior Flags or proxy settings that determine whether ProcessWire sees a secure request, especially behind a TLS-terminating load balancer.
Environment secrets API keys, mail credentials, payment settings and other values that differ between staging and production.
Debugging Use a controlled debug setting during testing; disable verbose output before public traffic if it could expose paths, queries or credentials.

Keep secrets out of publicly readable files and confirm the web server cannot serve config.php as plain text. If your deployment uses environment variables or a secret store, update those values as well as the ProcessWire configuration that reads them.

Rank #4
Sale
Vaydeer Wrist Rest for Keyboard and Mouse, Computer Ergonomic Wrist Support Pad, Soft Memory Foam Arm Cushion for Desk, Palm Hand Office Laptop Typing
  • 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
  • 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
  • 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
  • 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
  • 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.

7. Test the new VPS before changing DNS

Use a temporary hostname, a protected staging address or a local hosts-file override that maps the production domain to the new VPS. Test through the same HTTPS and PHP path that real visitors will use.

Functional test checklist

  • Open representative public pages, paginated listings and error pages.
  • Log in to the ProcessWire admin and edit, publish and unpublish a test page.
  • Upload an image and a document, confirm permissions, and verify generated image variations.
  • Submit every important form and confirm validation, storage and mail delivery.
  • Test search, redirects, canonical URLs, sitemap generation and any feed endpoints.
  • Run scheduled jobs manually, then confirm their cron entries and working directories.
  • Exercise third-party integrations, webhooks and outbound API calls with safe test data.
  • Verify HTTP-to-HTTPS redirects, certificate coverage, renewal automation and mixed-content behavior.
  • Inspect PHP, web-server and database logs while performing these actions.

Check performance and capacity

Confirm that the new VPS has enough memory and CPU for normal PHP workers and image processing. Watch disk usage, database connection limits, process limits and log growth during the test. A page that loads once does not prove that concurrent requests, image generation or scheduled work will remain healthy.

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

Check security boundaries

  • Only required ports are exposed.
  • SSH uses your intended keys, users and firewall rules.
  • Database access is not open to the public internet unless there is a documented reason and additional protection.
  • Writable directories are writable by the web process but not broadly writable.
  • Backups and log files are outside the public document root or explicitly denied by the server.

8. Perform the DNS cutover

  1. Announce the final short content freeze and stop administrative writes on the old site.
  2. Take a final database dump and synchronize files changed since the first transfer, especially uploaded assets.
  3. Import the final dump into the destination database and repeat the smoke tests.
  4. Point the relevant DNS records to the new VPS. Include both IPv4 and IPv6 records if you use them; an overlooked AAAA record can send some visitors to the old server.
  5. Issue or renew TLS certificates on the new server and verify every required hostname.
  6. Watch access, PHP, database and system logs as traffic moves. Test admin operations from an external network.
  7. Keep the old VPS online, with its data preserved, until traffic, scheduled jobs, mail and backups have remained healthy for the agreed rollback period.

During propagation, visitors may reach either server. Keep the old site read-only or otherwise prevent divergent edits. If both servers must accept writes, you need a deliberate replication strategy; a simple file copy and DNS change is not multi-primary synchronization.

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

Rollback if the new VPS fails

Decide the rollback trigger before cutover: for example, unrecoverable database errors, broken administration, failed payments or sustained 5xx responses. If the trigger is met, point DNS back to the old VPS, restore the old write path and document any changes made during the interval. Do not attempt an improvised reverse migration while users are still writing to both systems.

Retain the final pre-cutover database dump and file archive. They define the known-good state and let you rebuild the destination without relying on a partially modified copy.

Best Value
Sale
Under Desk Cable Management Tray No Drill, Metal Mesh Cable Management Under Desk with Clamp Mount, 2 Hole Cable Tray with Wire Management and Cord Organizer for Home Office Standing Desk
  • 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
  • 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
  • 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
  • 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
  • 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.

Troubleshooting common migration failures

The site shows a 500 error or a blank page

Check the PHP and web-server error logs first. Common causes are a missing PHP extension, an incompatible PHP version, incorrect file ownership, a missing rewrite rule or a fatal error in a custom module. Temporarily enable controlled debugging for an authenticated test request, fix the underlying issue, then disable verbose output.

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

Every URL except the home page returns 404

Verify Apache mod_rewrite, .htaccess support and the virtual-host setting that permits overrides. On Nginx, inspect the translated location and fallback rules; copying .htaccess alone has no effect.

The admin cannot connect to the database

Recheck the database host, port, name, user and password in /site/config.php. Confirm the user is allowed from the web server’s address, the PDO driver is loaded for web requests, and the database service is listening on the expected socket or interface.

Images or uploads fail

Check that the relevant /site directories exist, have suitable ownership and permissions, and have enough disk space. Confirm GD2 or ImageMagick is installed and that the PHP memory and upload limits are adequate for the site’s files.

HTTPS redirects loop or links use the wrong scheme

Inspect TLS termination and proxy headers. ProcessWire must be told accurately when the original visitor connection was HTTPS. Check canonical-host settings and remove stale host names from configuration.

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.

Pages look current but uploaded files are missing

The database and files were likely copied at different times, or the asset directory was omitted. Restore the complete /site tree and perform a final synchronized copy during a content freeze.

Cron jobs run twice or not at all

Compare the old and new crontabs, command paths, PHP binary paths, environment variables and working directories. Disable the old scheduler only after the new one is confirmed, and ensure both servers are not processing the same queue during DNS propagation.

How to choose the new VPS

Technical compatibility is only the starting point. ProcessWire’s documentation does not rank hosting providers or publish current provider prices, so evaluate the operating characteristics that affect this migration and the next restore.

Decision axis Questions to ask
Version control Can you select and pin PHP and database versions, and change them on your schedule?
Server configuration Do you have access to Apache or Nginx configuration, rewrite rules, firewall and TLS settings?
Storage and I/O Are disk capacity, IOPS and inode limits sufficient for uploads, image processing, logs and backups?
Snapshots and backups Are backups encrypted, retained long enough, stored separately and restorable without opening a support ticket?
Region and latency Is the server near your users and critical external services?
IPv4 and IPv6 Are both address types available and manageable in DNS and firewall rules?
Monitoring Can you monitor uptime, disk, memory, CPU, certificates, database health and scheduled jobs?
Support and recovery What is the support response time, and how long does a replacement or restore actually take?
Total cost Include the VPS, backups, snapshots, extra storage, IPv4 charges, bandwidth, support and egress.

Post-migration operating checklist

  • Schedule automated database and file backups and perform a test restore.
  • Record the new server’s versions, paths, users, firewall rules and recovery steps.
  • Set monitoring alerts for uptime, disk space, certificate expiry, database errors and failed cron jobs.
  • Review ProcessWire and custom-module compatibility before future PHP or database upgrades.
  • Keep the old VPS available only for the documented rollback period, then decommission it by securely removing credentials, snapshots and residual data.

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.

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.