Configuring WordPress in wp-config.php File: From Basic to Advanced

During the installation process, WordPress creates a configuration file called wp-config.php. Primarily, this file contains database credentials that allow WordPress to establish a connection with the database. Additionally, there are more settings to configure other database elements, security keys and developer options in the wp-config.php file. In this article, we will explore the wp-config.php file’s functionality, find its location in your WordPress installation, and show custom settings that can be added to it. Let’s dive in to learn more about configuring WordPress in wp-config.php!

What is the wp-config.php file?

The wp-config.php file isn’t included in the default installation package of WordPress, but you can find the wp-config-sample.php file there. This file is located in the WordPress root directory and contains the database configuration details of the site.

configuring WordPress in wp-config.php

When installing WordPress you’re asked to input the following database information: database name, username, password, database host and table prefix. Then, the installer will create a wp-config.php file based on the provided information. From there you should be able to start configuring WordPress in wp-config.php.

configuring WordPress in wp-config.php

In case you need to create the configuration file manually, you can use the sample wp-config-sample.php file. Just rename it to wp-config.php and edit its content, which is required for the installation process mentioned above. Note: Don’t change the order of the code, as rearranging it may create errors on your site. Below you can find the default content of the wp-config.php file:

 * The base configuration for WordPress
 * The wp-config.php creation script uses this file during the installation.
 * You don't have to use the web site, you can copy this file to "wp-config.php"
 * and fill in the values.
 * This file contains the following configurations:
 * * MySQL settings
 * * Secret keys
 * * Database table prefix
 * @link
 * @package WordPress

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'database_name_here' );

/** MySQL database username */
define( 'DB_USER', 'username_here' );

/** MySQL database password */
define( 'DB_PASSWORD', 'password_here' );

/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

 * Authentication unique keys and salts.
 * Change these to different unique phrases! You can generate these using
 * the {@link secret-key service}.
 * You can change these at any point in time to invalidate all existing cookies.
 * This will force all users to have to log in again.
 * @since 2.6.0
define( 'AUTH_KEY',         'put your unique phrase here' );
define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );
define( 'LOGGED_IN_KEY',    'put your unique phrase here' );
define( 'NONCE_KEY',        'put your unique phrase here' );
define( 'AUTH_SALT',        'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT',   'put your unique phrase here' );
define( 'NONCE_SALT',       'put your unique phrase here' );


 * WordPress database table prefix.
 * You can have multiple installations in one database if you give each
 * a unique prefix. Only numbers, letters, and underscores please!
$table_prefix = 'wp_';

 * For developers: WordPress debugging mode.
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 * For information on other constants that can be used for debugging,
 * visit the documentation.
 * @link
define( 'WP_DEBUG', false );

/* Add any custom values between this line and the "stop editing" line. */

/* That's all, stop editing! Happy publishing. */

/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
	define( 'ABSPATH', __DIR__ . '/' );

/** Sets up WordPress vars and included files. */
require_once ABSPATH . 'wp-settings.php';

Basic configurations of the wp-config.php file

In the sample configuration file you can see the following configuration blocks:

  • MySQL settings
  • Secret keys
  • Database table prefix
  • WordPress debugging mode

Let’s take a closer look at these blocks.

MySQL settings

The MySQL settings block consists of your WordPress database configuration, such as database name, username, password and hostname.

/** The name of the database for WordPress */
define( 'DB_NAME', 'database_name_here' );

/** MySQL database username */
define( 'DB_USER', 'username_here' );

/** MySQL database password */
define( 'DB_PASSWORD', 'password_here' );

/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

You can find all the information required by this section in your hosting control panel or by asking your hosting provider support. Also, this block contains the database character set and database collate type settings.

/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

When configuring these settings you can define database tables with the appropriate character set (charset). As the default charset WordPress assigns UTF8, which supports any language. The database collation determines how the database sorts your data. Mostly, the database collation value should be left blank, so it will be automatically assigned by MySQL based on the database character set specified by charset. Usually there is no reason to change the default value of DB_CHARSET and DB_COLLATE, however, you can change them if needed according to the character sets and collations supported by MySQL. Note: Using the wrong combination of charset and collation values may cause different errors in the WordPress database.

Secret keys

In the secret keys block of the wp-config.php file WordPress stores a set of authentication unique keys and salts, which provide an extra layer of security for your site against attacks by adding random elements to the password. This block contains eight variables that consist of random strings of data.

define( 'AUTH_KEY',         'put your unique phrase here' );
define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );
define( 'LOGGED_IN_KEY',    'put your unique phrase here' );
define( 'NONCE_KEY',        'put your unique phrase here' );
define( 'AUTH_SALT',        'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT',   'put your unique phrase here' );
define( 'NONCE_SALT',       'put your unique phrase here' );

You can change the values to yours by changing the “put your unique phrase here” fields. The unique keys can be generated by visiting the WordPress secret keys service.

Database table prefix

The database table prefix is the value placed in front of the WordPress database tables. By default, WordPress sets this value as “wp_” in the wp-config file.

 * WordPress database table prefix.
 * You can have multiple installations in one database if you give each
 * a unique prefix. Only numbers, letters, and underscores please!
$table_prefix = 'wp_';

Changing the database prefix to a unique value is one of the steps to improve your database security against SQL injection attacks. Also, using unique table prefixes in different WordPress installations allows you to store data from different sites in one database.

WordPress debugging mode

The default wp-config.php file has a useful setting for WordPress developers where the debug mode can be enabled. When debug mode is turned on and there is an error, you’ll see the error notification on your site. WordPress turns off the debug mode by default as shown in the following code line:

define( 'WP_DEBUG', false );

To turn the debug mode on you need to replace the “false” value with “true”:

define( 'WP_DEBUG', true );

Note: You should disable debug mode on a live site, as errors and warnings that may be shown to site visitors can provide valuable information about your site and it’s not secure. We will describe later in this article how to use debug mode safely.


ABSPATH is a PHP constant defined at the bottom of the wp-config.php file, which states the absolute path to the WordPress directory.

/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
	define( 'ABSPATH', __DIR__ . '/' );

/** Sets up WordPress vars and included files. */
require_once ABSPATH . 'wp-settings.php';

This code snippet is placed after the following comment:

/* That's all, stop editing! Happy publishing. */

That means WordPress does not recommend modifying the lines of code after it.

Advanced wp-config.php configurations

In the previous section we reviewed default settings of the wp-config. php file. In addition to basic configurations for WordPress in the wp-config. php file, you can add advanced ones, which we will describe below. One important thing: All code snippets should be placed above the line “/* That’s all, stop editing! Happy publishing. */”, otherwise your custom settings won’t work. 

WordPress URL

When moving the site to a new domain or server it’s necessary to change the WordPress URL. You can change it in the site dashboard via the Settings > General section.

It may happen that these fields can’t be edited in the dashboard. In this case you can change the WordPress URL by adding the following code snippet in the wp-config.php file.

define( 'WP_HOME', 'http://your-new-domain' );
define( 'WP_SITEURL', 'http://your-new-domain' );

The value of the WP_SITEURL is the address where your WordPress core files are located. The WP_HOME value is the address your visitors type in their browser to reach your website. Both constant values should include ‘http://’ or ‘https://’ and shouldn’t have a slash symbol “/” at the end. Setting WP_SITEURL and WP_HOME in wp-config.php can reduce the number of database calls when loading your site, as by default these values are stored in the wp_options table.

Upload Directory

The Uploads directory stores all media you upload via WP Dashboard > Media. By default, WordPress sets the uploads path to “wp-content/uploads”. You can redefine this value to yours in wp-config.php by adding the following code snippet.

define( 'UPLOADS', 'wp-content/custom-folder' );

To store media files in a directory outside the wp-content folder, use the code snippet below:

define( 'UPLOADS', ''.'media' );

Note: The value doesn’t require a leading slash, as this path is relative to ABSPATH.

wp-content Directory

WordPress allows you to move the wp-content directory, which stores your themes, plugins, and uploads, outside of the WordPress app directory. It’s one of the methods to secure your site from malware injection attacks. To do that you need to redefine WP_CONTENT_DIR: 

define( 'WP_CONTENT_DIR', dirname(__FILE__) . '/new-folder/wp-content' );

and change the location of the wp-content URL by changing the WP_CONTENT_URL value:

define( 'WP_CONTENT_URL', 'http://yourdomain/new-folder/wp-content' );

Theme Directory

The theme directory can’t be simply changed via wp-config because its path is hardcoded relative to the wp-content folder:

$theme_root = WP_CONTENT_DIR . '/themes';

In this case, additional theme directories can be registered as described in the article entitled Register theme directory.

Plugins Directory

As for moving the Plugins folder, it can be easily changed by using the following code snippets in the wp-config.php file.

define( 'WP_PLUGIN_DIR', dirname(__FILE__) . '/wp-content/new-folder/plugins' );
define( 'WP_PLUGIN_URL', 'http://yourdomain/wp-content/new-folder/plugins' );

The first code line sets the WP_PLUGIN_DIR and the second one sets the  WP_PLUGIN_URL value.

Custom User Table and User Meta Table

WordPress has the wp_user table in the database to store user data. If you need a custom user table, add the following code in wp-config.

define( 'CUSTOM_USER_TABLE', $table_prefix.'my_users' );

If you created a custom user table, then you need to create a custom user metadata table as well.

define( 'CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta' );

Language and Language Directory

WordPress version 4.0 users can change language in WP Dashboard > Settings > General.

It’s also possible to change language via the wp-config.php file during the WordPress installation process. Use this code to change language and define the language directory where the language files will be stored.

define( 'WPLANG', 'it_IT' );
define( 'WP_LANG_DIR', dirname(__FILE__) . 'wordpress/languages' );

The WPLANG language code can be found here in the WP Locale column.

Memory Size Limit

In WordPress, you can set the amount of PHP memory that is required to execute scripts by using the WP_MEMORY_LIMIT option. The thing you need to consider is this option changes PHP Memory only for WordPress and not other applications. By default, WordPress allocates 40M for a single site and 64M for multisite. To increase, for example, to 256M, you need to add this code in wp-config.

define( 'WP_MEMORY_LIMIT', '256M' );

Also, you can increase or decrease PHP memory from the WP_MEMORY_LIMIT for the administration area by defining WP_MAX_MEMORY_LIMIT.

define( 'WP_MAX_MEMORY_LIMIT', '256M' );

File Permissions

The file permission setting determines who can view, modify and execute files and folders of the site. Each permission level is represented by a 3-digit code that consists of the following:

no access0 (-)
execute1 (x)
write2 (w)
read4 (r)

In wp-config you can override the default file permissions with help of two constants: FS_CHMOD_DIR and FS_CHMOD_FILE. In the example below we will set permissions for directories to “755” (read, write and execute for the owner; read and execute for the group; read and execute for others), and for the files to “644” (read, write and execute for the owner; read for the group; read for others).

define( 'FS_CHMOD_DIR', ( 0755 & ~ umask() ) );
define( 'FS_CHMOD_FILE', ( 0644 & ~ umask() ) );

As the permissions are octal values they are prefixed with a 0. You can find more information about file permissions in this article.

WordPress Auto Updates

WordPress allows the auto-update feature during the installation process. However, there are different situations when autoupdate can affect your site functionality, and in this case, it’s better to disable the auto-updates by adding the following code.


Also, since WordPress version 3.7 you can manage core updates with the WP_AUTO_UPDATE_CORE constant. To disable all core updates use this code.

define( 'WP_AUTO_UPDATE_CORE', false );

There is also the ability to enable core updates for minor releases.

define( 'WP_AUTO_UPDATE_CORE', 'minor' );

Content Related Settings (autosave interval, post revisions)

These types of settings may be useful as your website grows. When you edit any posts, WordPress adds an entry to the posts table, which allows you to restore previous posts/pages revisions. Though it’s a cool functionality, it can generate a problem when your site gets big. In this case you can disable/reduce the number of post revisions and reduce the autosave interval. WordPress saves revisions each 60 seconds automatically, but it can be changed (for example, to 180 sec) using this code:

define( 'AUTOSAVE_INTERVAL', 180 );

To decrease the number of posts revision (set to 5) add this code:

define( 'WP_POST_REVISIONS', 5 );

or disable them at all using:

define( 'WP_POST_REVISIONS', false );

Debugging Mode advanced settings

Earlier in this article we described how to enable the debug mode in the wp-config.php file. However, in this case all errors and notices will be visible to our site’s visitors, which poses a security risk. After setting WP_DEBUG constant to “true” you need to add a few lines of code below, so the full code will look like this:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );

In this way, all errors, notices and warnings will log to a file called debug.log, which will be generated in the wp-content directory so that no errors are shown on the site.

Lockdown the wp-config.php file

As you can see, the wp-config.php file contains not only the database settings, but also other important configurations of your WordPress site, so there is a reasonable question as to how to protect it. One of the methods is to use the following directives in the web server settings:

For Apache web servers, add this code to the .htaccess file:

<files wp-config.php>
order allow,deny
deny from all

For Nginx web servers, add this code to the configuration file:

location ~* wp-config.php { deny all; }

Note: These directives should be applied only after all configurations are completed.


In this article we described the WordPress configuration file called wp-config and defined its functional purpose. This file is created during the WordPress installation process and, mainly, it contains the database credentials to establish a connection between the site and the database. Along with the basic configurations (secret keys, database table prefix, etc.), it can be supplemented with other advanced settings, such as: changing location of the uploads, wp-content and plugins directories; customizing user table; allocating WP Memory size; setting file permissions and much more. Unfortunately, it’s hard to review all possible custom configurations of the wp-config.php file in one article, so in this one we provided the most popular settings that can be helpful when configuring WordPress in the wp-config.php file.

How to Migrate a WordPress Site from One Hosting Server to Another

Website migration is the process of changing a website configuration or technology that can affect its online visibility and search engine optimization. A site migration includes changes such as changing the domain name or switching the hosting provider and server location, changing the structure of the site, site redesign, moving from HTTP to HTTPS protocol and moving the site to a new platform (CMS or Framework). In this article we will focus on changing the hosting server as the main process to migrate a WordPress site.

The reason for the migration is obvious when it comes to uploading a site on a production server after its development in the local environment, since the site needs to be made publicly available. If you are considering transferring an already working site from one server to another one, then there may be several most common reasons for that:

  • Balanced pricing plan
  • More hosting resources and useful features
  • Good server security
  • Great customer support

So if you are ready to publish your site or decide to switch to a new hosting provider, you will be faced with the question of how to migrate it. Here we will consider the technical aspects of two  methods for migrating a WordPress site to a new server: a plugin-based method using the most popular migration plugins and a manual method. 

The main risks involved in moving a site are data loss and downtime, which can make your site inaccessible for users and search engines, which in turn can lead to search engine rankings loss. Nevertheless, if everything is done in the right way, downtime will be minimized or won’t happen at all. 

Choosing and setting up the new hosting environment

If you are looking for information on how to migrate the website, you clearly have reasons why you are leaving your current hosting provider and you don’t want to suffer any problems on a new host. There are different kinds of hostings available to choose from and it’s important to understand how they work. Here is a list of hosting types: 

  • Shared hosting –  Usually the most common type of hosting, when one server houses many websites and shares resources between them.
  • Virtual Private Server (VPS) –  The virtual partitions of a dedicated physical server are used in this hosting type and an actual area of the server is dedicated to your site.
  • Dedicated server – A physical server supports only your website and you have  full access to the server’s resources.
  • Managed and WordPress optimized hosting – A hosting service where all WordPress technical aspects are managed by the hosting provider. This type of hosting includes technologies and tools that help your site run smoothly.

Before starting to migrate your site, you need to add your site (domain name) to the new hosting panel so that the necessary records will be created for your domain on a new server.

An important thing to remember: Don’t cancel your current hosting plan before the migration and further testing are completed, as you could lose your entire site’s data.

Backing up the site before you get started

A good practice before making any crucial changes to the site is making a full backup (site files and database). It can be done manually or with the help of any backup WordPress plugin. Since creating a backup is one of the steps of site transfer, we will cover it later in this article.

The plugins-based method to migrate a WordPress site

Migrating a WordPress site using any cloning plugin is a popular solution that helps to ease the process: Just install the plugin and make a few clicks. There are dozens of WordPress plugins for migration in the repository. However, in this article we will consider the two most popular ones: All-in-One WP Migration and Duplicator.

The All-in-One WP Migration plugin

The All-in-One WP Migration plugin specializes in website migration and provides all the necessary tools for that. It’s easy to use and has drag-and-drop import functionality, which simplifies the migration process.

At first you need to install and activate the cloning plugin on your old and new hosting environment. To do that, log in to your site’s WP Dashboard, navigate to the Plugins > Add New section, type the plugin name in the Search field and then click the Install Now button for the necessary plugin.

migrate a WordPress site

When installation is complete, just click the Activate button to turn on the plugin.

The steps below will show you how to move your WordPress site.

1. In the WP Dashboard of the site you want to move, go to the All-in-One WP Migration -> Export section.

2. Select the File option from the Export to dropdown menu.

3. Wait for the plugin to finish exporting the site data and then download the generated file in the .wpress format.

migrate a WordPress site

4. Log in to your new site’s WP Dashboard and navigate to the All-in-One WP Migration -> Import section.

5. Click the Import from buttonand select the File option.After that, locate the .wpress file you downloaded in step 3.

6. Click the Finish button once the import process is completed. In case the backup file can’t be uploaded via the web interface due to the max_upload_filesize limitation, you can upload it via File Manager in your hosting panel or via FTP. Upload the generated .wpress file into the wp-content/ai1wm-backups folder of your new site and then it should be displayed in WP Dashboard > All-In-One WP Migration > Backups. Click the Restore button and proceed with the restoration process. When migration is done you need to resave the permalinks structure in WP Dashboard > Settings > Permalinks, so it will regenerate the .htaccess file.

Important note, All-in-One Migration is a freemium plugin and it has free and premium features, but one of the main limitations you need to pay attention to is the size of the site’s backup file. If it’s bigger than 512M, you need to have a premium version of the plugin to proceed with the migration process.

The Duplicator plugin

Duplicator is another migration plugin that is also on the list of the best WordPress migration plugins. With the help of this plugin you can simply clone your site to a new server without downtime. When migrating, Duplicator creates a package with all the pre-configured files, so you don’t even need to install WordPress on your new host, as Duplicator does it itself.

The plugin installation is the same as the one  described in the previous section. Once it is installed and activated, you will see the Duplicator menu in the WP Dashboard panel.The following steps will show the process of migrating the WordPress site using Duplicator.

  1. Opent the Duplicator > Packages section and click the Create New button in the top right corner. Give a name to your package and click Next
migrate a WordPress site

At this stage Duplicator will scan your site and let you know if there are any potential issues. If there are problems highlighted, resolve them and scan again before proceeding.

migrate a WordPress site

2. When the backup file is ready, download it by clicking the One-Click Download link. It will download both the backup file and the installer.php file to your computer.

3. In this step you need to create a database on your new host. This can be done in the hosting panel; for example, if it’s the cPanel, you need to log in to it and find the Databases section. In that section, select MySQL Databases and click Create a New Database. Enter a name for your database and click Create Database. Then under Add a New User, enter a username and password and click Create a User. After that, scroll down to Add a User to a Database and select the user and database you just created and click Add. On the Manage User Privileges section tick the ALL PRIVILEGES checkbox and click Make Changes.

Important: You need to remember the database name, its username and the password for later actions.

You can check more about managing databases in the cPanel documentation.

4. Upload the files you got in step 2 into the site’s root directory on your new hosting server (usually it is the public_html folder). 

5. If you are migrating the site while keeping the same domain name, then you will need to modify your hosts file on a local machine. It allows you to override which server is hit when you browse a site and real domain switch (DNS change) will be done only after the migration and testing processes are completed. It’s important to prevent any downtime. To do that, you need to determine the IP address of your new server. You can find it in the new hosting panel or just ask the new hosting provider support. Now find the hosts file on your local machine (for Windows users its location is c:\windows\system32\drivers\etc\hosts, for Unix-based operating systems it is /etc/hosts) and in the bottom line of the file add the entry in the following view:

 the_new_ip_address your_domain_name

For example, if the new server’s IP is with the domain name mydomain.tld, the entry will be: mydomain.tld

6. Navigate to the installer.php file in the browser by entering the address http://yourdomainname.tld/installer.php to start the installation process. In the duplicator installation wizard, enter the database credentials you created in step 3 (leave the Host field as “localhost”) and click the Test Connection button. If everything is fine then click Run Deployment.

7. When the migration process is completed, test the site and then you may switch the name servers for your domain to the new host and remove the entry made in the hosts file in step 5. Note that name server changes may take effect after up to 24 hours.

The manual method of migrating a WordPress site

Migrating a WordPress site manually requires some technical skills, as you need to move the site files and database, and then configure the wp-config.php file. Using this method you need to know how to access files via the File Manager in your hosting control panel or via FTP (File Transfer Protocol). Also, knowledge of managing the database is required, in most cases using the phpMyAdmin environment.

Backing up your current WordPress site files and MySQL database

Files can be downloaded from the server via FTP using the FileZilla FTP Client. After connecting to the old server, navigate to the site’s root directory (public_html in most cases), select all WordPress files, then open the context menu by right click and select Download.

migrate a WordPress site

When the download is complete, open the phpMyAdmin tool in the hosting control panel to access the databases, select the database of your site and open the Export tab.

migrate a WordPress site

In the Export Method section select the Quick method, then choose the SQL option as the format and click the Go button.

The database dump will be downloaded to your computer.

Uploading the files and exporting the database to a new server

Now you can upload the site files to your new server. Connect to it via FTP with the FileZilla FTP Client and navigate to the public_html folder. From the left side of the client (Local site) locate the files you downloaded in step 1, select them all and then click Upload from the context menu.

migrate a WordPress site

While the files are uploading you can enter your new hosting panel and create a new database and note the database name, database username and database password. Then open the phpMyAdmin tool, select the created database and navigate to the Import section. In the Import screen, click Choose File and upload the database dump file you downloaded earlier and click Go.

Once the upload is complete you need to edit the wp-config.php file. In FileZilla, locate wp-config.php and open it to edit.

Change the following values to match your new database credentials:

DB_NAME – database name
DB_USER – database username
DB_PASSWORD – database password
DB_HOST – database hostname (Usually it should be localhost, otherwise you can specify it from your new hosting provider).

And lastly, you can do the trick with the hosts file, which we described earlier, to be able to test the migrated site on a new server. If everything is working fine then you can switch nameservers for your domain to the new hosting.


In this article we described one type of migration of a WordPress site—moving to a new hosting provider (a new server). The benefits of this can vary, such as better customer support, more hosting resources and useful features as well as better server security. We showed two different approaches to achieve this: plugin based migration and manual migration methods. These methods can be applicable in different situations, so it’s important to know the steps of the process to prevent your site’s data loss and downtime.

How to Use HubSpot with a Jupiter X Website

Use HubSpot with Jupiter X featured

It’s inevitable that you’ll day you’ll need to dive into the world of marketing to promote your product or service. At this point, the search for the necessary tools begins. You’ve probably heard of HubSpot, which is one of the most widely-used marketing platforms. HubSpot is an all-in-one software for marketing, sales and services. By using it, you can create and optimize your content, nurture leads and monitor your marketing progress. In this article, we’ll review the most important HubSpot tools and how to use HubSpot with Jupiter X.

Understanding HubSpot and what the HubSpot platform includes

HubSpot is a company founded in 2006 at the Massachusetts Institute of Technology. It provides software products for inbound marketing, sales and customer service with the same name – HubSpot. All the HubSpot tools are divided into hubs: 

  • HubSpot CRM – A free customer relationship management (CRM) software, which helps you to organize and track your leads and customers.
  • Marketing Hub – Set of tools that help to grow traffic and convert more visitors on your site.
  • Sales Hub – Allows your sales team to manage and communicate with your leads and customers.
  • Service Hub – Customer service tools that help your customer service team to identify and resolve customer’s issues in a way that leaves them happy.
  • CMS Hub – Website builder and blogging platform that provides the ability to build and host a website without the help of a designer.

The HubSpot CRM

The HubSpot CRM is a free platform in the HubSpot core that includes access to all HubSpot marketing, sales, customer service and contact management tools for unlimited users. It helps companies to track leads and analyze business metrics.

The HubSpot CRM offers a visual dashboard with a view of the entire sales funnel. By using the CRM system, you can track customer interactions through email, live chat or phone calls, social media, and every interaction is stored in a timeline organized by lead. The platform integrates with other HubSpot tools such as Marketing Hub, Sales Hub and Service Hub.

Despite the HubSpot CRM being a free platform, it offers a long list of tools you can use to get new leads and do better business with the existing customers. The full list of CRM free tools can be found on this page.

The HubSpot Marketing Hub

The Marketing Hub consists of a set of tools developed to make life easier for your marketing team. By using them you can run a successful marketing campaign from start to finish. Here are the most features of this hub: blog and content creating tools, landing pages, social media, emails, SEO, marketing automation and analytics. These tools will help you to attract visitors, convert them into leads and delight potentials and current customers. The Marketing Hub connects with your HubSpot CRM to increase the website traffic and track your lead’s progress.

The HubSpot Sales Hub

The Sales Hub has tools your sales team needs to close better deals in less time. This hub lets your sales department see what pages and how often they are visited by your leads, so that helps to focus attention on what matters most and close deals with qualified clients. The Sales Hub syncs with the HubSpot CRM and you can monitor which deals are won, lost, or still in progress. The main features included in the hub are: email templates and sequences, free calling, meeting scheduling and pipeline tracking.

The HubSpot Service Hub

An important component of a successful business is great customer support service, and the HubSpot Service Hub can help you with that. It has all the necessary tools such as live chat and conversational bots, knowledge base, support tickets, phone support, customer feedback, canned snippets.

Integrate and use Hubspot with Jupiter X site

HubSpot has its own content management system (CMS) where you can build and host your site and manage marketing progress. However, you can integrate WordPress-based website with HubSpot using the plugin, so it gives you an ability to continue using WordPress as your CMS and use HubSpot’s marketing features.

The WordPress plugin called HubSpot All-In-One Marketing – Forms, Popups, Live Chat allows you to use HubSpot with Jupiter X site by connecting your account with the site. Thus you’ll get access to many of HubSpot’s tools directly from your WordPress dashboard.
To install the plugin, log in to your site’s dashboard, go to Plugins > Add New and find the plugin by typing the word “Hubspot” in the keyword field.

Once the plugin is installed and activated, you’ll need to connect your HubSpot account with the plugin. To do this, go to the HubSpot section and log in to your HubSpot account. If you don’t have it yet then you’ll be prompted to create one.

When it’s done, you’ll be able to create forms, lists, monitor new contacts and more from your WordPress dashboard.

Let’s check the example of creating the popup form using Hubspot. Open the Hubspot > Forms section and click the Create a free form button.

Select the Pop-up box form type and click Next.

In the next step, we need to configure the Callout view: add featured image, edit the text and color.

In the Form tab, we can edit the form view which will be displayed to our visitors after the subscribe button is pressed in the Callout window.

Also, we can set up the thank you message once the visitor subscribed in the Thank you tab.

In the Targeting tab, configure when the popup will appear, and if needed, add filters based on information about your visitors.

When all the settings are set, you can preview the newly created popup and then publish it.

Aside from that, the Hubspot plugin allows you to use chat and chatbots to engage visitors, build beautiful email newsletters inside the WP dashboard and nurture your leads with marketing automation campaigns. Also, you can manage your contacts and group them with the built-in list builder, as well as measure your business growth in real-time with analytics dashboards.

Set the HubSpot action in the Raven Form widget

In Jupiter X, using the Raven Form widget, we can submit our form data to the HubSpot form. To do that, we need to create a new form in HubSpot at first via the HubSpot account in Marketing > Forms.

Or if you have installed the Hubspot integration plugin, then you can do it directly in WordPress Dashboard > HubSpot > Forms.

Use HubSpot with Jupiter X - create form wp

However, the Hubspot plugin isn’t required for the functioning of the Raven form feature we are going to review. Once the form is ready, you can get the Portal ID and Form ID which are required for the action settings in the Raven form. You can find those IDs in the Embed section when editing the form.

Use HubSpot with Jupiter X - form edit
Use HubSpot with Jupiter X - embed forms
Use HubSpot with Jupiter X - form ids

The next step is to configure the Raven form action. In the Elementor editor, open the form settings and select Hubspot in the Add Action field.

Use HubSpot with Jupiter X - raven form settings

Then we need to add the Portal ID and Form ID in the Hubspot tab settings and set the Field Mapping fields to connect Hubspot form fields with our Raven form.

Use HubSpot with Jupiter X - action settings

Now when the form is submitted the data from our Raven form will be collected on the HubSpot side for further analysis, creating contact lists and more.

Wrapping Up

HubSpot offers great software as a free CRM along with specific free and paid software for marketing, sales and customer service teams, which integrate together to help your company grow. Besides that, HubSpot has its own CMS for creating and hosting websites, and it also easily integrates with the WordPress platform that gives a powerful tool for your inbound marketing on existing WordPress sites. Also, what is great in HubSpot is that it provides an opportunity to level up your professional skills with free online courses at the HubSpot Academy.


Subscribe to Artbees Themes Blog for the best WordPress tips and insights.

How to Create a Multilingual Jupiter X Site with the WPML Plugin

create a multilingual Jupiter X site featured

If your website has visitors from throughout the world, then it’s good practice to make it available in different languages. Making the site multilingual is a smart marketing strategy as it helps to increase subscribers and customers, and as a result, widen profit margins. In this article, we’ll show you how to create a multilingual Jupiter X site using the popular WPML plugin.

What is the WPML plugin and why do you need to use it?

The WPML plugin – which stands for WordPress Multilingual – is the most popular WordPress plugin that helps users to build a multilingual website. It allows you to translate the site’s content into multiple languages, and you can manage them in the same domain with a single WordPress installation. The WPML plugin is easy-to-use as it enables you to be able to quickly make your site multilingual.

WPML is a premium plugin with 3 different pricing plans:

  • Multilingual Blog
  • Multilingual CMS
  • Multilingual Agency.

With all these pricing plans, you’ll get support and updates for a year. WPML consists of a core plugin and add-ons, which can be installed to get additional functionality. Each plan has the WPML core plugin and different combinations of add-ons.

Here are the most useful WPML add-ons in order to create a multilingual Jupiter X site: 

WPML String Translation – The add-on allows to translate interface strings directly from WordPress without using .mo files. You can translate static texts and user-generated texts that are outside of posts and pages.

WPML Media Translation – This add-on helps you to create the WordPress Gallery in different languages, and it allows you to control which images will be displayed for each language.

WooCommerce Multilingual – This add-on can be used to build a multilingual e-commerce site. It allows you to translate all WooCommerce content including products, categories, variables, fields, etc.

The full list of WPML add-ons can be found on the official website, and for more info about the WPML plugin please check out the WPML review by Kasa Reviews.

Installing the WPML plugin and its components for a multilingual site

As mentioned above, WPML consists of a core plugin and add-ons. The core plugin is called WPML Multilingual CMS, and it’s always required. To make your site multilingual, you need to install the WPML core plugin and the main add-ons:

  • String Translation
  • Media Translation

The plugins packages can be downloaded from your WPML account’s downloads page. Important note: the WPML Multilingual Blog account type does not provide access to String Translation and Translation Management add-ons. 
After downloading, all plugins can be installed via the Plugins > Add New > Upload Plugin section on your site’s WP Dashboard.

create a multilingual Jupiter X site - upload plugin

You can get more detailed information on how to install the WPML plugin and its components in the WPML installation instructions.

Configuring translation settings and registering WPML in setup wizard.

After installing and activating WPML a setup wizard will help you to configure the required settings to prepare your site for multilingual content. In WPML > Setup start the configuration process following the setup wizard steps.

  1. In the Languages screen you can choose the website’s default language, the languages that you want to translate your website into, and create a custom language if needed.

2. In the URL Format screen select URL format for the different language versions of your site.

3. In the Register WPML screen you need to register WPML on your site by entering the key in the Site Key field. To get a site key just click on the Get a key for this site link. It takes you to your WPML account where you can specify the type of a site and generate a key.

4. In the Translation screen you have two translation modes: the Translate Everything mode to translate entire site automatically or the Translate Some mode which allows to choose which pages you want to translate.

There are three review options available when using the Translate Everything mode:

  • Review the translations before publishing
  • Publish translations and review them later
  • Publish translations without reviewing

With the Translate Some mode you can choose what content you would like to translate, as well as choose who you want to translate it:

5. The Support screen: Choosing to send theme and plugins information of your site allows the WPML support team to better help the clients. Additionally, clients will get compatibility alerts related to the theme and plugins they are using on the site.

6. In the Plugins screen WPML lists recommended plugins to install on a client’s site based on the other themes/plugins running on it.

7. The last Finished screen includes information about viewing the status of the translations and instructions on where you can add language switchers to your site. Click the Finish button to complete the setup.

Automatic translation with the Translate Everything mode

The new Translate Everything mode uses automatic translation to translate site content instantly and allows you to review and edit the translations before publishing. This makes the translation process faster and more affordable. With this mode pages, posts, custom post types, custom fields, taxonomies, WooCommerce products can be translated only. Smaller texts like strings, menus, widgets, and form fields still need to be translated using String Translation. This is because there usually isn’t enough context for automatic translation to translate them effectively. It means if your plugin doesn’t include custom post types, custom fields, and taxonomies, it won’t be translated by the Translate Everything mode.

Let’s see how the Translate Everything mode works.

When configuring WPML in setup wizard, on the Translation step, select the Translate Everything option along with the preferred translation reviewing option (Review the translations before publishing, Publish translations and review them later, or Publish translations without reviewing). Also, you can change the translation mode after the site’s setup by going to WPML > Settings.

Once you have completed configuring WPML, WPML will start translating the site content in the background. The translation progress can be checked by navigating to WPML > Translation Management screen or by clicking the WPML logo in the toolbar.

If you have chosen to review your automatic translations, you will receive notifications to review the translated content on the Translation Management screen or in the toolbar. When you edit existing content or publish new content, it will be translated automatically.

Since WPML 4.5 there is a new workflow to review the automatically translated content on the site’s front-end when the Translate Everything mode is selected. Here is how it works.

Click on the notification on the Translation Management screen. This takes you to the Translations screen where you will find a list of all the content that is awaiting review.

Click on the Review button, it takes you to the translated page on your site’s front-end.

On the review page, you can publish or accept the translation if you are happy with it or edit it using WPML’s Advanced Translation Editor.

On the Advanced Translation Editor screen, you can see all the translations. Edit the translations that need improvement, then click the Complete button to publish the page.

Translating the site in the Translate Some mode : Posts and pages, taxonomies, menus and strings

By using WPML when creating a multilingual Jupiter X site, you can translate WordPress pages, posts, custom post types, categories, tags, custom fields and content created with page builders.

If you choose to use WPML’s Translate Everything mode, all content in posts, pages, taxonomies and menus will get translated automatically into your chosen secondary language(s). Strings will still need to be translated via the WPML’s String Translation module. 

If you choose to use WPML’s Translate Some mode, please follow the guidance below.

Let’s take a look at the example of translating pages in Jupiter X. To start translating the pages, go to Pages > All Pages. There you’ll see the list of all your pages and the number of pages per language. You can translate pages by clicking the plus icon next to the content you want to translate.

create a multilingual Jupiter X site - translate pages

After clicking the plus icon, you’ll then be redirected to the default WordPress editor to add a new translated content. Add the title and then click the Edit with Elementor button.

create a multilingual Jupiter X site - translate page editor

When the Elementor editor opens, translate the page content and save changes.

In the WPML plugin, you can translate taxonomies (categories, tags) in the WPML > Taxonomy translation section. Select the taxonomy to translate and add translation by clicking the plus icon next to the taxonomy you need.

To translate menus, you can use two options. The first option is navigating to the Appearance > Menus section and creating a new translated menu by clicking the plus icon for the translations.

The other way is by using the menu sync tool in WPML > WP Menus Sync which automatically synchronizes the menu’s content. For detailed information on how to translate menus in WPML please, take a look at this article.

All other texts that are not in posts, pages and taxonomies can be translated with help of the String Translation tool in WPML > String Translation. You can follow this guide about the string translation. 

Site keys for production and development sites

In the setup wizard, it is now a required step to register WPML. To avoid using up all your site keys on development sites, WPML now includes 3 development site keys for each production site key. Sites using development site keys display a banner on the front-end and backend stating it’s a development site.

Here are the number of site keys included in each account type:

Account type№ of production keysof development keys

When registering your site, click Get a key for this site link. This takes you to your WPML account where you can:

  • Specify the type of site (Production/Development)
  • Assign any available automatic translation credits to it
  • Generate a site key. Copy and paste this site key back on your site

Automatic Translation Credits and WPML price increase

The automatic translation that WPML uses isn’t free. WPML is using automatic translation from Google, DeepL and Microsoft. New WPML accounts will receive free credits that allow translating most sites completely. If clients need more, WPML will offer additional quota, which you can buy as one-time packages or in a “pay as you go” program. As all new WPML accounts will come with enough credits to translate a small-to-medium-sized site, the price of WPML will also be increasing.

Multilingual Blog Multilingual CMS Multilingual Agency
First year$39 $99 $199
Renewals$29 $74 $149

Wrapping up

WPML is the most popular WordPress plugin for multilingual sites and particularly useful while creating a multilingual Jupiter X site. It offers a number of useful features to translate your WordPress site into multiple languages easily. The plugin is user-friendly and simple to use. WPML has different add-ons, and you can install only the ones you actually need. WPML is a great solution for different types of multilingual websites such as eCommerce sites, blogs, social network and business sites.


Subscribe to Artbees Themes Blog for the best WordPress tips and insights.