Multilingual sites

What do I need when contacting VIP? Multilingual sites can widely vary in both display needs and content-entry needs, so when contacting VIP about your multilingual site, it can be helpful to share the following information:

  1. Where will the original content be authored, created, edited, and deleted? Will this be in the VIP environment, or will it be elsewhere and then imported in?
  2. Where will the language specific theme files be authored, created, edited, and deleted? How will this content be brought into the VIP environment and managed?
  3. What is the desired UX for editors in switching between various languages?
  4. What is the desired UX for viewers in selecting a language for the site? Will this be automated or manual? Can they only switch between landing pages, or will they be able to toggle an article in different languages?

The more details you can provide about how you expect your multilingual site to work, the better our recommendations can be.

Can I set up a multilingual site on VIP?

Yes, absolutely. For multilingual sites we typically recommend setting up separate sites — in previous experience we’ve learned that this is the least complicated way of handling multilingual content, and typically over time the different language sites need different things and end up diverging anyway.

Just to clarify, when you set up separate instances for each language, you can set them up under different subdomains, but not different subdirectories. For example, you will be able to set up and, but you will not be able to set up and 

How do a set a blog/admin’s language?

You can do that under Language Settings.

What multilingual plugins can we use on VIP?

We review multilingual plugins just like any other plugin. Please take a look at our plugin review guidelines here, and contact us if you have any questions.

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.


home_url() vs site_url()

When working with domain-mapped sites on, home_url() and site_url() will return different values.

  • home_url() returns the primary mapped domain (e.g.
  • site_url() returns the * URL (e.g.

A few notes:

  • home_url() will only return the mapped domain on or after the init has fired. Calling it before then will return the domain.
  • If you accidentally use site_url() in your templates, theme-side links will still redirect correctly to the home_url() equivalent.
  • home_url() is the preferred method, as it avoids the above redirect.

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.