Overview
Image migration is part of the import wizard. The image fields are on the Options step. It copies images from your old script into Luster's own upload folders and gives it a new safe filename. Your old image file is not deleted or changed.
Note: FanUpdate does not use image migration because it imports update/blog text, not image files.
What Image Migration Can Copy
Image migration can copy things including (but not limited to):
- Owned & Joined listing images
- Affiliate images
- Wishlist images
- Listing codes/images
The exact image types depend on the source you are importing from. The following image formats are accepted:
- JPEG
- PNG
- GIF
- WebP
Files that are not valid images are skipped.
What Luster Does Not Copy
Luster does not copy:
- Images pasted inside old HTML template text
- Images from unrelated folders that the import does not know about
- Broken image links
- Files that no longer exist
- Non-image files
- Images hidden behind a login
- Images only visible on your computer but not available to the server
If an image is skipped, the related information can still be succesfully imported, but it will have no images attached to the data.
Before You Start
- Back up your previous database, site files and images! It is much easier to retry image migration when the old files are still available.
- Back up your Luster database (if existing).
- Keep the old image files available until after you check the import.
Image Migration Options
Luster can find images in three ways:
| Method | Best when |
|---|---|
| Server Path | Luster and the old files are on the same server. |
| Live Site URL | The old images are still visible online. |
| ZIP Upload | You have the image folders on your computer or your host blocks remote fetching. |
You can provide more than one fallback. If a ZIP is uploaded, the ZIP takes priority.
Method 1: Server Path
Use Server Path when Luster can read the old files directly from the same server. A server path is not the same as a website URL.
Use this when:
- Your old site and Luster are on the same hosting account.
- You are running both on local XAMPP.
- You know the folder path on the server.
Do not enter a URL in this field.
/home/username/public_html/enthusiast
/home/username/public_html/listingadmin/images
C:\xampp\htdocs\old-site\images
Method 2: Live Site URL
Use Live Site URL when the old images are still publicly reachable online.
Use this when:
- The old site is still online.
- The old image URLs work in your browser.
- Luster is allowed to fetch files over HTTP or HTTPS.
Luster only fetches normal public http:// or https:// URLs. Private or local network URLs are not used.
https://example.com/enthusiast
https://example.com/listingadmin/images
https://example.com/codesort/images
If your host blocks outgoing web requests, use ZIP upload instead.
Method 3: ZIP Upload
Use ZIP Upload when you have the old image files on your computer. The ZIP upload accepts .zip files up to 50 MB.
The folder structure inside the ZIP does not need to be perfect. Luster matches images by filename.
old-images.zip
affiliates/button1.gif
affiliates/button2.gif
joined/sailor-moon.png
codes/50x50-001.gif
If the old database says the image is button1.gif, Luster searches the ZIP for a file named button1.gif. It does not matter whether the file is inside affiliates/, buttons/, or another folder inside the ZIP.
Which Method Should I Choose?
If you are not sure, use this order:
- Try Server Path if Luster and the old images are on the same server.
- Try Live Site URL if the old images are still online.
- Use ZIP Upload if the first two are confusing or blocked.
For many users, ZIP upload is the easiest because you can gather the old image folders on your computer and let Luster match files by filename.
Step-by-Step Instructions
-
Start the Import Wizard
In the Luster admin panel, open the import wizard. Choose your source on the Source step: Enthusiast, Listing Admin, Fanatically, CodeSort, or BellaBuffs.
-
Connect to the Old Data
On the Connect step, connect to the old database or upload the SQL dump.
Image migration needs the old database information because the database tells Luster which image filenames belong to which records.
-
Open the Options Step
On the Options step, look for Image Migration.
Depending on the source, Luster may show image migration as automatic or optional, but it's usually automatic. If there is a Migrate Images checkbox, leave it checked.
-
Enter Image Details
Choose the method that best fits your needs:
- Enter a Server Path
- Enter a Live Site URL
- Upload a ZIP file
You can leave fields blank if Luster can read the old script's image settings. If you know the path or URL, entering it gives Luster a better fallback.
-
Preview the Import
Click Preview Import. The Preview step shows what Luster found before it copies everything. Look for warnings about images, paths, or missing files.
-
Run the Import
If the preview looks right, run the import. The Done step shows:
- How many records were imported
- How many images were copied
- How many images failed
- Warnings for anything Luster could not copy
-
Check the Imported Images
After the import:
- Open a few imported listings.
- Check affiliate images.
- Check joined listing images.
- Check code images if you imported codes.
- Check wishlist images if you imported wishlist data.
If some images are missing, keep reading. Missing images are often fixable.
Source-Specific Notes
Enthusiast
Luster can read common Enthusiast image settings automatically. Common Enthusiast folders include:
affiliates/
joined/
owned/
If you enter a server path for Enthusiast, enter the old Enthusiast install folder path. You can find this in your Enthusiast admin panel by going to Settings → Technical Settings ↝ Installation path. It should look something like this:
/home/you/yoursite.com/enthusiast/
Luster can then look inside common folders such as:
/home/you/yoursite.com/enthusiast/affiliates
/home/you/yoursite.com/enthusiast/joined
/home/you/yoursite.com/enthusiast/owned
Listing Admin
Listing Admin may store different images in different folders. Luster tries to read Listing Admin's saved image paths first. If those old settings are correct, you may not need to enter anything.
If you do enter a path manually, use the folder that contains the image files. You can usually find this information in your Listing Admin admin panel in Options → Options (again) → Paths. It should look something like this:
/home/you/yoursite.com/listingadmin/admin/images/
If only some Listing Admin images copy, ZIP upload may be easier because Luster can match files by filename across folders.
Fanatically
Fanatically image paths are usually read from Fanatically’s settings. If you enter a fallback server path, use the old Fanatically install folder:
/home/you/yoursite.com/fanatically/
Fanatically imports can include several image types, such as listings, affiliates, joined listings, wishlist entries, and codes.
CodeSort
CodeSort is specifically for images. The image folder is often the old images_folder value from CodeSort:
/home/you/yoursite.com/codesort/images
https://yoursite.com/codesort/images
If you are unsure where the CodeSort images live, ZIP the CodeSort image folder and upload it on the Options step.
FanUpdate
FanUpdate does not use image migration in Luster's import wizard. FanUpdate imports update/blog entries into the News Feed add-on.
What Happens to Filenames
Luster does not keep the old filename. Instead, it creates a new filename:
Old filename: button1.gif
New filename: af_8f9a1c2d3e4b5a6f.gif
Why aren't original names preserved?
This is intentional. It is a security requirement built into Luster from the start. Three reasons:
- Stops dangerous filenames from being executed. If someone uploads a file called
evil.phpand the original name is kept, a misconfigured server could run it directly. A random name likeaf_3a9b2c1d.gifcannot be predicted or targeted. - Stops people from guessing what is in your uploads folder. If filenames are predictable, someone who finds one file can probe for others. Random names make the folder non-guessable.
- Stops files from overwriting each other. Two listings with a
banner.jpgwould silently replace each other without randomization.
The original filename is never stored in the database either. That is also deliberate — keeping it would be its own security risk.
Where are files stored?
Luster stores migrated images in folders such as:
public/uploads/listings
public/uploads/affiliates
public/uploads/joined
public/uploads/codes
public/uploads/wishlist
What Happens When an Image Is Missing
Missing images do not stop the import. If Luster cannot find or copy an image, it imports the record without that image and adds a warning to the import report:
Image not copied: button1.gif
After that, you can:
- Re-run the import with a better path, URL, or ZIP.
- Add the image manually in the admin panel.
- Leave the record without an image.
Re-Running Image Migration
You can re-run an import if images were missing the first time. For the safest retry:
- Choose Skip unless you intentionally want to overwrite data.
- Provide a better server path, live URL, or ZIP.
- Run the import again.
- Check the Done report.
In many cases, Luster can fill in image fields that were blank from the first run. If an image still does not appear, add it manually in the related admin section.
Do not judge the whole import by one missing image. A few missing files usually means those files were missing, renamed, or stored in a different folder.
Edge Cases & FAQ
I entered a URL in Server Path
Use Live Site URL for URLs. Server Path should look like:
/home/username/public_html/old-site
C:\xampp\htdocs\old-site
I entered a server path in Live Site URL
Use Server Path for server folders. Live Site URL should look like:
https://example.com/old-site
My ZIP uploaded but images were not found
Luster matches files by filename. Check whether the database expects button1.gif but your ZIP contains button-1.gif. Those are different filenames.
My ZIP has duplicate filenames
If the ZIP has two files with the same filename in different folders, Luster may match the first one it finds. If possible, use unique filenames before making the ZIP.
The old website blocks hotlinking
If the live URL works in your browser but Luster still cannot fetch images, the old server may block automated requests. Use Server Path or ZIP Upload instead.
The image is too large or not a real image
Luster checks that the file is a real JPEG, PNG, GIF, or WebP image. Invalid files are skipped. For ZIP and remote image copying, individual images over 10 MB may be skipped.
Images inside old HTML templates are missing
Luster only migrates image fields it knows from the old database or import source. If an old layout template contains an <img> tag referencing a layout graphic, that image is part of your old layout, not a listing/affiliate/code image. Move it manually if you still need it.
CodeSort images imported without width or height
CodeSort can sometimes fill width and height from the code size even when the actual image file was not copied. Check the image migration report to see whether the image itself copied.
I deleted the old images too soon
Restore them from backup if possible, then re-run the import or add images manually.
Does image migration delete my old images?
No. Luster copies images. It does not delete the old files.
Does Luster keep the old filenames?
No. Luster creates new randomized filenames intentionally. Refer to the What Happens to Filenames section to understand why.
Can I skip image migration?
For some sources, Luster tries image migration automatically because the old script stores image settings in its database. For others, there may be a Migrate images checkbox. If you truly do not want images copied, turn off the checkbox if one appears. If the source uses automatic image migration, let the import finish and remove unwanted images afterward from the related admin screens.
Which image method is safest?
Server Path is usually fastest when available. ZIP Upload is often easiest when you are not sure what path your host uses.
Can I upload more than one ZIP?
The wizard uses one uploaded ZIP at a time. If you upload another ZIP before running the import, it replaces the previous ZIP for that import session.
What is the ZIP size limit?
The ZIP upload limit is 50 MB.
What if my image folders are bigger than 50 MB?
Use Server Path if the old files are on the same server. Otherwise, split the import work by source where possible, or migrate the remaining images manually after import.
Can Luster fetch images from my private computer?
No. A Live Site URL must be publicly reachable by the server running Luster. If the files are only on your computer, use ZIP Upload.
Can I fix missing images later?
Yes. You can re-run the import with better image settings or upload images manually in the relevant admin screen.
Why did the record import even though the image failed?
Because missing images should not block your data migration. Luster imports the data it can and reports image problems separately.