Documentation 📖

If you need any help or want to share ideas for future development of WP Freighter, feel free to send an email to hey@wpfreighter.com. You can also reach me by filling out this form 📧. See below for documentation 📖, FAQs 🤔, known limitations ⚠️ and the changelog 🚀. Also sign up to receive news updates via email 🔔.


Frequently Asked Questions 🤔

How is WP Freighter different then WordPress Multisite?
WordPress Multisite is an official configuration of WordPress. WP Freighter is a lightweight WordPress plugin that allows you to run many regular WordPress sites, not WordPress Multisite, from a single WordPress site. Recommend reading “Experimental Stackable WordPress Mode” for more details.

Why did you build WP Freighter?
I provide WordPress hosting and maintenance services through my business Anchor Hosting. For troubleshooting technical issues I often find myself having to deploy to a staging environment in order to safety check how a website behaves with or without a certain plugin. I built WP Freighter to be an easy solution to safely troubleshot right on the live environment without having to waste time deploying to a separate staging environment. It’s not a replacement for staging environments however I no longer use staging environments as often.

Who is WP Freighter for?
WP Freighter is great technical support tool for WordPress developers, maintenance providers and plugin authors. WP Freighter is a great way for individual site owners to stack many small WordPress sites on an individual WordPress install.

Can I use WP Freighter to save on web hosting costs?
Yes, and it depends on your hosting provider. WP Freighter, like WordPress Multisite, means that an individual sites will be handling traffic and requests for many websites. If your hosting plan can handle the extra resources, then YES you can totally save money and stack many WordPress sites onto a single WordPress hosting plan.

This will not be true for all web hosts. For example I don’t recommend attempting to stack multiple sites on a really cheap hosting provider. I personally am stacking a bunch of low traffic personal sites on a single Kinsta plan and have more then enough server resources available. I also highly recommend Kinsta as a host provider or Anchor Hosting, which resells Kinsta and comes bundled with routine WordPress maintenance. And yes, Anchor Hosting handles routine WordPress maintenance for each stacked site as well.

Why shouldn’t I use WP Freighter?
Similar to WordPress Multisite, using WP Freighter allows WordPress sites to be hosted from a single WordPress site. That means a single set of web hosting credentials will be used to access all stacked sites. You will only want to stack sites that you own, not many different customers on a single site. Otherwise there will be no way to allow developer access to an individual stacked website.

Does it support WP-CLI?
Yes, but it’s not the compatible with WP-CLI’s network and url arguments. WP Freighter use a shell environment variable STACKED_SITE_ID to talk to individual stacked sites. Here is an example how you might grab a list of stacked IDs into a bash variable then loop through each site and run WP-CLI theme and plugin updates.

stacked_site_ids=$( grep "\$stacked_mappings\[.\]" wp-config.php | awk -F '[' '{print $2}' | awk -F ']' '{print $1}' )

for stacked_site_id in ${stacked_site_ids}; do
    export STACKED_SITE_ID=$stacked_site_id
    echo "Updating themes and plugins for $( wp option get home )"
    wp theme update --all
    wp plugin update --all
done

Can I move my existing site to a stacked site?
WP Freighter does currently have a way of importing or exporting sites. There are some crude instructions for doing it manually on this article. The basic idea is to configure WP Freighter for a new stacked site, backup the existing site’s database, change the database prefix before importing to match the new stacked site ID, import the new database tables, clean up internal URLs and import existing wp-content to new location content/<stacked-id>/. Yeah, it’s a bit of hack and very similar to moving sites in and out of a Multisite network. I don’t recommend attempting this on a production site.

Can I contribute to WP Freighter?
For sure. WP Freighter is open source. Feel free to reach out on GitHub: github.com/WPFreighter/wp-freighter.


Known Limitations ⚠️

Requires customization to wp-config.php for web host compatibility.
In order for WP Freighter to work, it needs to modify the wp-config.php file. This will happen automatically however if the file is locked down then WP Freighter will provide the necessary configurations for you to provide to your web host. If modifying wp-confg.php is not allowed by the web host provider then WP Freighter won’t be able to run.

Root level files are shared.
WP Freighter makes minimal changes to wp-config.php in order to allow for many WordPress sites on a single WordPress installation. Unfortunately that means root level files are shared between all sites. If root level files are needed I recommend coping files from the root / to /content/<stacked-id>/ and configure Redirection plugin to handle the redirection. For example, to get a folder named /presentations/ redirect to /content/1/presentations/ the rule would like this.


Changelog 🚀

v1.1.1 released on March 18th, 2023

  • Fixed: PHP 8 issues

v1.1 released on December 29th, 2022

  • Feature: Free for everyone. Removed EDD integration. Automatic updates integrated with Github release.
  • Improvement: Add settings link to plugin page.

v1.0.2 released on August 21st, 2021

  • Fixed: Bad logic where configurations weren’t always regenerated after sites changed.
  • Fixed: Various PHP warnings.

v1.0.1 released on September 18th, 2020

  • Feature: Will automatically install default theme when creating new sites if needed.
  • Improvement: Shows overlay loader while new sites are installing.
  • Improvement: Added fields for domain or label on the new site dialog.
  • Improvement: Compatibility for alternative wp-config.php location.
  • Improvement: Force HTTPS in urls.
  • Fixed: Inconsistent response of sites array.

v1.0.0 released on September 9th, 2020

  • Initial release of WP Freighter. Ability to add or remove stacked sites with database prefix stacked_#_.
  • Feature: Clone existing site to new database prefix
  • Feature: Add new empty site to new database prefix
  • Feature: Domain mapping off or on
  • Feature: Files shared or dedicated