Migrating and importing content

VIP Go platform specific

This document is for sites running on VIP Go.

Learn more

Overview #

If you have an existing website, you can migrate its content to WordPress VIP by supplying us with two components:

  1. The database file as a SQL export; and
  2. The media as a compressed archive

If your existing website is not using WordPress, you will need to first convert it to a running WordPress installation in a local or other staging environment. Note that your themes and plugins should be committed to GitHub. We will provide and maintain the latest version of WordPress core.

↑ Top ↑

Scheduling #

You may submit your database and media together or separately. We recommend conducting your import at least one week before your launch for QA purposes. A final/delta import can be performed during the launch window and editorial freeze.

↑ Top ↑

Database #

Exporting #

To make your database available to VIP, you must first export a backup copy from your local or current, non-VIP production instance. Two such methods are using mysqldump from the command line, or via a third-party WordPress plugin such as WP Migrate DB Pro. Here is a sample mysqldump command:

mysqldump --add-drop-table --hex-blob --no-create-db --quote-names -h dbhost -u user -p dbname --default-character-set=utf8mb4 --result-file=dbname-full.sql

Other methods for exporting your database, including using phpMyAdmin, are detailed on WordPress.org.

↑ Top ↑

Database formatting checklist #

Once you have exported your database, please confirm:

  • Will domains need to be replaced on import? For instance, changing a domain used in a local environment (example.test) or running production instance (example.com) to the pre-launch VIP convenience domain (example.go-vip.net)?
  • Verify the tables prefixed with wp_.
  • Ensure that a DROP TABLE IF EXISTS statement is included before each CREATE TABLEstatement.
  • Remove all CREATE DATABASE or USE statements.
  • Exclude any unused tables, such as custom tables from plugins no longer in use.

You can use the VIP CLI command vip import validate-sql to verify the format of your SQL file.

In addition, for multisite:

Are you importing into a Multisite Network? If so:

  • Your database needs to also be from a multisite.
  • If importing subsite tables, ensure the table prefixes match the intended destination site ID (e.g. tables prefixed wp_3_ will be imported to subsite 3).
  • If you are importing an entire multisite network, does your export have the wp_site and wp_blogs tables?
  • If you are importing only individual subsites, are those the only tables included in your export?

↑ Top ↑

Submitting the database #

Please open a new Zendesk ticket for each import. Your database can be attached to the Zendesk ticket; or, if it’s larger than 20 MB, it can be transferred via sending us a web-accessible link to the files (e.g. https://www.example.com/uploads.tar.gz). You may also use Amazon S3, Dropbox, Box, WeTransfer, or another similar service.

When you submit your database, please list domains included in the database and what you’d like them replaced with, if needed. If necessary, we will perform a search-replace to change these values to match your VIP environment. This is the only modification VIP expects to perform on your database; it will otherwise be imported as-is. All tables provided will be replaced.

If your SQL file includes the wp_users table, this will replace your VIP environment’s users table, meaning your username and login in our environment may change after the import.

↑ Top ↑

QA #

Once we confirm that your database has been imported into your VIP environment, you’ll want to perform some quality assurance testing to ensure it matches your expectations. Here are some ways to test your site.

To migrate content onto VIP Go, we need two assets:

  1. The database file as a SQL dump, and
  2. The media as a compressed archive.
Files to import can be attached to a Zendesk ticket — or files larger than 20 MB can be transferred via sending us a web-accessible link to the files (eg https://www.mysite.com/uploads.tar.gz). You may also use Amazon S3, Dropbox, Box, WeTransfer, or another similarly secure service.
Please also be sure to include the domain name of the VIP Go environment the import is for.

↑ Top ↑

Media #

↑ Top ↑

Exporting media #

WordPress stores its media in /wp-content/uploads/ (or whatever directory is specified in your database’s uploads constant). You can ZIP or tarball this directory for VIP to import. It should be named “uploads.”

If you are importing media into a multisite, note that subsite number 1’s media are found in the /wp-content/uploads folder — but all subsequent sites in the network will be in the /wp-content/uploads/sites/ folder, in their own subfolder based on the site number, as designated by the database. For example, a specific file would be found in /wp-content/uploads/sites/{SITE ID}/{YEAR}/{MONTH}/{FILE NAME}, where the site ID would not have any leading 0’s (e.g. use 2, not 02).

We expect your archive to decompress to an /uploads/ folder with only the media required for your site(s).

Media may only be imported to a production environment and does not need to be imported into your development environment separately. All files uploaded to production are immediately made available to the child environments as well.

↑ Top ↑

Preparing media #

WordPress will rename files containing these special characters upon upload to the media library~?,[]/\=<>:;'\&$#*()|~`!{}%+ and whitespace ().

However, for media file imports, all special characters are allowed, such as: spaces ( ) [ ] ~ + & # % = ' ” \ < > : ; , / ? $ * | ` ! { } . Encoded or alternate whitespace, such as %20or + will be converted to proper spaces during the import.

WordPress normally creates intermediate images, or smaller versions of each uploaded image. VIP does not create, import, or store these files, as our filesystem generates them on the fly, reducing the amount of storage your site requires at no loss of speed. You may exclude these intermediate images from your export, though if provided, they will be skipped during the import process.

Since SVG files allow embedded JavaScript, which can pose a security risk, these files must be reviewed prior to import. To include SVGs, please commit SVG files to the theme, which will then be subjected to our code review.

↑ Top ↑

Submitting media #

Please open a new Zendesk ticket when sending files for import. Files to be imported can be transferred via sending us a web-accessible link to the files (e.g. https://www.example.com/uploads.tar.gz). You may also use Amazon S3, Dropbox, Box, WeTransfer, Firefox Send, or another similar service.

We can also stream media into VIP’s filesystem directly from an AWS bucket. To use this method:

  1. You need to provide an AWS key and secret in the VIP support ticket. You can use a secure method, such as Quickforget.com to send those credentials to VIP support.
  2. The media needs to be located in a directory with `/uploads/` in the path.

↑ Top ↑

Reference #

WordPress core database description

VIP Go filesystem

Ready to get started?

Drop us a note.

No matter where you are in the planning process, we’re happy to help, and we’re actual humans here on the other side of the form. 👋 We’re here to discuss your challenges and plans, evaluate your existing resources or a potential partner, or even make some initial recommendations. And, of course, we’re here to help any time you’re in the market for some robust WordPress awesomeness.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.