As the audience of your website grows, it becomes more challenging to publish content that is relevant to all readers. Personalization gives you the ability to profile each user’s behavior and capture their preferences, allowing you to display more relevant content and ultimately, keep your audience engaged.

What is personalization?

Personalization can mean different things to different people but it mainly involves providing your audience with a more customized and engaging experience. It could mean that you’re providing content that is more relevant to their geographic location or that you’re providing them more relevant content based on what they’ve viewed or liked in the past. Personalization could also mean that your users are able to share content with each other and follow people or topics that they are interested in.


Before diving into using the most popular plugins for personalization, there are a few items that you would want to keep in mind, regardless of the type of personalization that you’re interested in. 

  • Sending data to the personalization vendor: If the personalization requires you to send them any data (user data, activity data, etc.),  you will have to include a javascript snippet in all of your pages. Be sure to choose a reliable third party vendor as slow response times on their end could affect your end-user experience.
  • Serving recommendations from the personalization vendor: As the recommendations for a specific type of user may change, the recommended list of content is typically sent dynamically from the personalization vendor’s systems. Some vendors store the user’s behavior in a cookie so that your users don’t have to rely on their service being online but make sure you understand what features of your site (if any) will be impacted if the service vendor’s systems go offline.
  • Limiting the user information that is shared: If you require users to sign in with their account, you have the added advantage of using their historical preferences to personalize. However, this would require you to share additional information with the personalization vendor. It is best to let your personalization vendor know just the username or a separate unique identifier for the user.
  • Supporting cross-channel interactions: If you want the flexibility to capture data from your users across various channels (social media, email, mobile apps, website, etc.), you will need a vendor that can unify data from all of these channels to a single user profile (typically based on the email address). Most personalization vendors that support cross-channel data gathering will also let you publish your recommendations through any of these channels.

Types of personalization

There are no limits to how you can personalize your content but the most popular options include:

Customer Identity & Access Management

Personalizations rely heavily on understanding who your customers are. A sophisticated customer identity and access management solution will help you identify your customers regardless of the device or channel they’re engaging from, allowing you to keep your message consistent across a diverse platform.

Janrain, a Featured Partner of VIP, provides a platform that combines your ability to acquire users across multiple digital and marketing channels. In addition to providing a Single Sign-On solution, they provide a hosted user database and provide integration for social sharing.

We have also had VIP clients use Gigya, another popular platform to securely manage and update user profiles, thereby giving you a great starting point to provide personal experiences.

Custom Social Network

If you have built a community, you may be looking to empower your users to share stories, like each other’s’ contributions and have a newsfeed of updates from the people or things that they follow.

The popular BuddyPress plugin built by the WordPress community provides a lot of social network features out of the box. It provides both private messaging and public sharing. However, the vision of some of our clients were better met by using a Featured Partner for custom development.

Predictive Marketing

You might have noticed that some sites have a ‘You might also like’ section, listing content related to what you have been reading. There is another variant of this personalization where content related to the current page is listed. These dynamically shortlisted links are more relevant to your users and have a higher click-through rate.

One of our featured partners: Sailthru, is the leading provider of personalized marketing communications. Their WordPress plugin makes it easy to provide personalized content through their Scout and Concierge modules. Scout provides content relevant to a page whereas Concierge provides content that is recommended for the specific user. Under the covers, both modules use predictive marketing algorithms to determine the best recommendations for your users.  We have had multiple VIP clients use Sailthru’s straightforward integration to personalize their content.

If you’re looking to add a simple ‘Related Posts’ section to your website,’s Related Posts feature may be all you need. It’s powered by the popular Jetpack addon, which uses Elasticsearch to analyze your content and understand its relevance to the rest of your website. You can finetune how the recommendations are displayed using the customization options.

Geo-specific content

As your audience grows, you might find it challenging to provide content that is engaging to your users regardless of where they’re from. Geo Uniques allows you to target distinct geographic markets with different content. You also have the option of defining custom location groups so that you can target groups smaller than countries.

Understanding the VIP Codebase

Where can I track the development of WordPress?
WordPress is an open-source project. You can track the development of it on the Make WordPress Core blog, and see the latest tickets in trac. In addition, there are weekly developer chats that are open to the public.

Roughly three times a year, the WordPress open source project releases a new update of the WordPress software. The project’s timeline and features can be tracked on the main core blog.

What version of WordPress does VIP run? VIP runs on is always running as close to the latest version of WordPress as possible, often incorporating code from beta releases. is a single multisite running millions of sites. It has 200+ extra features built on top of core WordPress to help with everything from performance, to SEO, to security. Many of these features are available via the Jetpack plugin.  In addition, VIP users have access to more than a hundred vetted-and-approved plugins.

What direction do code releases go?
Generally speaking, incorporates the latest code from the WordPress open-source project. However, Automattic is one of the largest contributors to WordPress, so often times improvements made on are contributed back to core. In addition, feedback from VIP helps improve development on and in WordPress core.

What are the names of the releases? What’s the terminology?
WordPress follows a very specific naming convention, which you can see in the release archive. Each release is named after a jazz musician. For every release, there’s a cycle: Beta (1,2,3), Release Candidate (1,2), and finally, the Release. You can see this cycle in action on an official release timeline.

Typically, starts incorporating code from the latest release at around the Beta 1 stage.

How do I test for an upcoming release?
The easiest way to test is a local development environment. It automatically sets you up with an SVN checkout of trunk (and auto-updates every time you run or .bat). You can also use the Beta Tester plugin to easily update beta releases and test.

What about VIP plugins? How do updates affect those?
The VIP team maintains and updates the plugin repository. If you have any questions or spot any bugs, you can report it to the VIP team.

Migrating and Importing Content

It’s important to start populating your site with real content as soon as possible.

For Small Migrations (less than 15MB)

We make it easy for you to import your blog content from your self-hosted WordPress site, as well as a variety of other blogging platforms, including: Movable Type, Blogger, Tumblr, Typepad, LiveJournal, Posterous, Yahoo! 360, Israblog, and Splinder. Simply log into your dashboard, then go to Tools -> Import, choose your previous platform and follow the instructions. The support site has more detailed instructions, or feel free to reach out with any questions.

Please note that this method only works for migrating standard post types. If your theme includes Custom Post Types, you will need to use the method outlined below.

For Large Migrations

In most cases, the most straightforward approach to migrating your content is to first get it into WordPress’s native import/export format: WXR. Once you have all of your content available in WXR format, WordPress can import that file. Please make sure your source site is publicly accessible as our importer fetches media files over the web. Here’s a rough outline of how most content migrations work on VIP.

1. Preparing for Migration

The first step in preparing for your content migration is informing the VIP team of what to expect. To do that, please fill out and submit this questionnaire via the VIP Support Portal:

  • How many posts, pages, images, and comments are in this migration?
  • What’s the combined file size of all your media assets? This helps us estimate approximate import time.
  • How many users are in this migration? How many of them require “real” accounts with login access, and how many of them require “guest” accounts with no login access?
  • Are there any custom post types that we should be aware of?
  • Are there any custom taxonomies we should be aware of?
  • Are there any special considerations or requirements for redirects that we should keep in mind?
  • Are there any special considerations for content segmentation (i.e. different languages)?
  • Is the site content ready to go live, or do you plan on doing edits and cleanup post-import?
  • By what date will you be able to get the full export to us?
  • By what date do you hope to have the full import completed?

2. Staging content

In preparing for the migration, your team will need to prepare, QA, and stage all the content. It’s very important that all content cleanup is done before the import is run, because running fixer scripts on VIP can be time consuming and delay launch.

3. Get Your Authors Access

In order for us to properly attribute your content, you will need to get your authors, editors and administrators logins to access your site. Here’s more information on how to do this.

4. Mapping Bylines

Once all the authors are created, we will need to make sure that the bylines from your old site will match on your new site. Here is more information on how to create a mapping document, and how to deal with bylines that don’t require logins.

When you submit your WXR export to us, we will use this mapping CSV to make sure that the bylines are properly attributed.

5. Import QA

To determine that your content is ready for import into production, please answer the following questions when you submit your WXR to us:

  • Have you verified that your author map is properly formatted? We need the CSV in old_user_login, wpcom_user_login.
  • Do all the users that need a wpcom login exist in your wp-admin?
  • Have you verified that your author map is correct? Are all authors listed, and properly mapped?
  • Is the author list complete? Will there be more users added later?
  • Who should the “fallback” or “default” user be, if the post does not have an author?
  • Is inline content correct (i.e. content inside the post_content column)?
  • Are shortcodes and embeds working properly?
  • Have you completed a find and replace for any old URLs?
  • Have you properly QA’d all your redirects and gathered any URLs that need redirecting?

6. Running the Import

Once the theme has been through code review and enabled on your site, we will be able to run the import. You can submit the WXR file to us via Dropbox or another download location via our Support Portal.

Please make sure that your source site is publicly accessible, as our importer fetches media files over the web, and if the site is password-protected we won’t be able to reach them and they will not be imported.

Importing to a live production site

To ensure a smooth import when importing to a live production site, we first run the import to a temporary, private VIP-hosted instance running your theme. This makes it possible to proceed with Step 6, QA Content, in a private environment before pushing the data to production.

Once everything is completely QA’d, fixed, cleaned up and approved on the pre-production instance, we can safely run the import to production without the risk of breaking things on your public site.

Importing in parallel with Theme Review

If your project is moving quickly, we can begin the import in parallel to your code review. If the theme utilizes custom post types and taxonomies, we will ask you to submit an Import Theme.

How to create an import theme

The Import Theme should be a completely stripped down version of the theme slated for production and should include no more code than the following:

  • Loading vip-init.
  • Loading any necessary VIP plugins.
  • Registration of custom post types and taxonomies (including ones extracted from in-theme plugins).
  • Any import-related code.

Most import themes are no more than a few hundred lines of code, consisting primarily of “register_post_type” and “register_taxonomy” calls.

7. QA Content

Once the import is complete, we will notify your team. At this time, your team must check through the content carefully to ensure that nothing is missing. Things that should be included on your QA list:

  • Checking media files.
  • Ensuring that shortcodes and embeds work.
  • Making sure that authors are properly mapped.
  • Making sure that all download media links work.

We strongly recommend that your team include time for content QA in your launch timeline.

8. Delta Import

Shortly prior to launch, we will help you run the delta import, which will contain all the content between the last export up until launch day. Typically, site editors should expect to double post content on both old and new sites for one day.

Note: Delta imports don’t overwrite previously imported content, so any changes to old posts will also need to be mirrored to WordPress after the initial import.

8. Launch!

Migration Services

Migrating content from WordPress-to-WordPress is included in your per-site setup fee. We also provide content migration services, and can help you migrate from any other content management system—those projects are priced on scope, and typically range $25k-$75k. Get in touch if you are interested.

Mapping Your Domain and Managing DNS

You love your shiny new site and you probably want to put your own domain on it.

To proceed forward, you’ll need to have first registered your domain with a domain registrar. If you haven’t yet, you can register your domain through or another domain registrar. To map a domain you already own, simply follow these instructions. Domain mappings are included for free on VIP.

Since DNS propagation can take up to 72 hours, you will want to begin this process at least a week before your planned launch date.

Managing DNS Records

Once you point your domain to WordPress nameservers, you can continue to manage your domain with our Domain Management tools which allow you to add custom DNS records.

If you map a 2nd-level domain (e.g., you can easily add a subdomain (e.g. to it.

There are a few kinds of DNS changes that you cannot make directly through our tools, but that can be requested by contacting us via a ticket:

  • Adding wildcard DNS records
  • Adding TXT records that exceed 192 characters in length
  • Changing TTL values for DNS records
  • Adding TXT records for subdomains
  • Managing NS records for a domain

Mapping to

If your site will live on a 2nd-level domain (, we highly recommend hosting it with our DNS servers. In order to smoothly handle any volume of traffic and weather any malicious attack, our load balancing and high availability solutions are dependent on us being the name server for 2nd-level domains. By taking this approach, it enables our skilled systems team to effectively route traffic to additional servers, mitigate attacks, or accommodate for an outage in one of our data centers.

If you have an existing website that you are migrating to, the following steps should be taken to set up the domain least a week before the launch:

  1. Send us the ZONE file for your domain including any subdomains or MX records for email.
  2. We will set up the domain mapping on the site
  3. We will set up the DNS entries to mirror your current setup (so your existing site continues to work when you point your domain to our nameservers).
  4. Once setup is complete, you can verify and switch to our nameservers.
  5. When your site is ready to launch, we will update your website’s entry to point to your new site.

This provides the most fluid migration and means we’re around to pull the actual trigger and assist with any post-launch tasks.

Using Nameservers

The nameservers to use are:

We provide a handy DNS management tool for you to create A, MX, CNAME, and TXT records.

Using 3rd-party Nameservers

If you’re required to host the DNS elsewhere, you can create A records pointing to two or more of our IPs. To get this information, please contact us using the contact form inside your Dashboard.

At least a couple of days before the migration you will want to change the TTL to 300, or if that is not allowed by your current DNS hosting, the lowest value allowed to allow for the smoothest transition possible.

Subdomain (

If your site will live on a subdomain (, all that is required is a CNAME. When the site is ready to launch, you can create a CNAME entry pointing to your registered site: IN CNAME

Note that you will want to change the TTL for the subdomain to 300 or the next lowest value allowed to make the transition as smooth as possible.

Primary Domains

Every site can have multiple mapped domains but only one Primary Domain. This the canonical domain name for your site and all other domains registered against the site will redirect accordingly. The Primary Domain can be set from the Domains page in the Dashboard; just head to Settings > Domains and select the domain you would like to be primary.

www subdomain does not support using the www subdomain as a primary hostname for a site. The www subdomain is typically set up as a CNAME to the root domain, and requests to it are then redirected to the root domain.

Subdirectories does not support hosting the root of a site in the subdirectory of a site’s primary domain.

DNSSEC DNS does not currently support DNSSEC. If managing your DNS on you’ll need to disable DNSSEC at your registrar.

Change Your Pretty Permalinks or Add Custom Rewrite Rules

Permalinks are the permanent URLs to posts, categories, and other sections of your website. They generally look like this by default:

URLs should be permanent and never change — hence the name permalink. When you’re first configuring your site though, you can modify them from the default structure. Some of the values you can use include:

%year% The year of the post, four digits, for example 2004
%monthnum% Month of the year, for example 05
%day% Day of the month, for example 28
%hour% Hour of the day, for example 15
%minute% Minute of the hour, for example 43
%second% Second of the minute, for example 33
%post_id% The unique ID # of the post, for example 423
%postname% A sanitized version of the title of the post (post slug field on Edit Post/Page panel). So “This Is A Great Post!” becomes this-is-a-great-post in the URI.
%category% A sanitized version of the category name (category slug field on New/Edit Category panel). Nested sub-categories appear as nested directories in the URI.


For VIP clients, if you’d like to customize these permastructs, you can use any of the following helper functions in your theme’s functions.php file:

 * Enable a custom permastruct, if the site wants to use one that's not the default (/yyyy/mm/dd/post-name/)
wpcom_vip_load_permastruct( '/%category%/%postname%/' );

 * Enables a custom or no category base, if the site wants to use one that's not the default (/category/)
wpcom_vip_load_category_base( 'section' );

 * Enables a custom or no tag base, if the site wants to use one that's not the default (/tag/)
wpcom_vip_load_tag_base( 'topic' );

If you need to test this in a local environment, instead use the wp rewrite structure command from WP CLI.

Your theme’s rewrite rules are flushed automatically on every deploy (and when you switch themes), so you only need to worry about committing this change to the repository.

Custom rewrite rules can also be committed to your theme and incorporated in this manner.

There is no need to ever call flush_rewrite_rules() on WordPress VIP.

Rewrite Rules Inspector


A handy tool for testing and debugging your permastructs is the rewrite rules inspector. Enabled by default on VIP, this plugin features a complete list of your rules and a URL-matching tool to test your URLs. To find the inspector, visit VIP -> rewrite rules.

Note: if the inspector ever shows all or some of your rules in red and issues the “some rules are missing” error, click the flush rules button, and your rules should fully refresh.


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.