Install Help4 Personalizer and protect customer uploads
This walkthrough is for the site owner and the hosting administrator. Start on a staging copy of your WordPress site so you can check your theme, uploads and checkout without affecting current shoppers. Keep the plugin ZIP and a backup of the database and customer-storage directory together for recovery.
Jump to a step
On this page: 1. Check the hosting requirements · 2. Create private storage outside the website · 3. Install and run guided setup · 4. Create a test page and exclude cached sessions · 5. Complete a first saved-proof test
1. Check the hosting requirements
Use WordPress 6.7 or newer and PHP 8.2 or newer. Ask the host to confirm working PHP GD, EXIF, mbstring and ZIP support, a WordPress image editor, and enough memory for the images and proof sizes you intend to offer. An installed extension alone does not prove that the server can process your largest product.
The effective upload limit is the smaller limit imposed by the plugin and your host. The customer editor displays the effective image limit. Large proofs can use much more memory than their compressed uploads, so test a realistic photograph at your intended product dimensions and DPI before choosing a public upload policy.
2. Create private storage outside the website
Ask your hosting administrator to create a dedicated directory outside every publicly served web directory. It must be writable by the PHP process that runs WordPress. Do not use the public media uploads directory, a web-accessible subdirectory, or broad 777 permissions.
Add the following setting to wp-config.php, replacing the example path with the absolute directory your host created. The directory must already exist. Keep this configuration in your normal hosting backup process.
define('H4PE_PRIVATE_DIR', '/home/your-account/private/help4-personalizer');
The plugin checks that the directory is writable and outside this WordPress root. Your host must also confirm that another domain, alias or web-server mapping does not expose it. Customer originals and proof files use this private storage; merchant catalog images and stock models use the WordPress media library and may be public.
3. Install and run guided setup
In WordPress, open Plugins, choose Add New Plugin, then Upload Plugin. Select the Help4 Personalizer ZIP, install it and activate it. Open Personalizer in the admin menu and choose Start guided setup. Resolve any private-storage error before continuing.
Choose a sample template and inspect its physical dimensions, production type, safe margin and customer limits. Sample settings illustrate the editor; they are not calibration data for your machine. Leave ordering unavailable while you prepare the product and machine mapping.
Download the free plugin (0.1.0-dev14) and verify its SHA-256 checksum before uploading the ZIP.
4. Create a test page and exclude cached sessions
Create an ordinary WordPress page and insert a Shortcode block containing the following shortcode. Publish it to your staging site and open the customer-facing page in a new tab.
[help4_personalizer]
Exclude pages containing an editor and the plugin private/session routes from external full-page caches. Purge any old cached copy after adding the editor. The plugin sends no-cache headers, but those headers cannot fix a response already served by a cache in front of WordPress. Keep normal caching for unrelated public tutorial pages.
5. Complete a first saved-proof test
Use an image you own, select a sample photo product, upload it and move it in Flat layout. Save the design, reload the same page in the same browser, and confirm that the saved design returns. Review the proof and inspect the full saved 2D reference where available. Confirm the crop and lettering before approving.

Repeat on a narrow mobile screen. If you will sell products, continue through machine assignment, product mapping and your payment gateway test mode on staging. A saved design or an approved proof is not a paid order. Resolve errors before opening sales, and keep a copy of the exact plugin build used for the test.
