One place for hosting & domains

      August 2022

      SQL Server Security Best Practices, Part 2


      This guide is the second in a series of articles that covers SQL Server security best practices.
      Part 1 of this series discussed a SQL Server installation’s physical security, operating system security, and application maintenance. Additionally, the previous guide outlined how to disable unnecessary features, enable encryption, and implement data masking.

      The second part of this series describes how and why you should:

      SQL Server Authentication

      Protection of data stored with SQL Server depends upon the ability to authenticate access to specific sets of data. SQL Server provides two options for database authentication in a Windows or Linux environment:

      You are prompted to select one of these SQL Server authentication modes during SQL Server setup.

      Note

      You can change the SQL Server authentication mode even after the initial installation decision has been made.

      Windows or Linux Authentication Mode

      In this mode, an installer logs into SQL Server using their Windows or Linux account. SQL Server validates the account name and password via the Windows or Linux operating system. SQL Server does not prompt for a password and does not perform the validation.

      Windows or Linux authentication uses Active Directory (AD) accounts. As a result, you can have centralized policy control for authentication. Policies can govern password strength and complexity, password expiration, account lockout, and active directory groups in the active directory.

      Windows or Linux-based authentication is the default authentication mode and is much more secure than
      SQL Server Authentication (discussed in the next section). Windows or Linux Authentication uses the Kerberos security protocol to support the above-mentioned security features. A connection made using Windows or Linux Authentication is sometimes called a trusted connection because SQL Server trusts the credentials provided by the underlying Windows or Linux operating system.

      SQL Server and Windows/Linux Authentication Mode (Mixed-Mode)

      When using SQL Server Authentication, logins are created in SQL Server and are not based on Windows or Linux user accounts. Both the username and the password are created
      by SQL Server and are stored within SQL Server. Users connecting using SQL Server Authentication must provide their credentials (username and password) every time that they connect to SQL Server.

      This mode does not use the Windows or Linux Kerberos security protocol, and it is considered to be inferior to
      Windows or Linux Authentication mode.

      System Administrator (SA) Account

      If you are using
      SQL Server (mixed-mode) authentication, SQL Server automatically creates a System Administrator (SA) user login with sysadmin privileges and permissions. To increase the security of your SQL Server, you should perform the following:

      1. Rename the SA login account to a different, more obscure, name.
      2. Disable the account entirely, if you do not plan on using it.
      3. For the SA (or renamed) account, select a complex password, consisting of lower/upper case letters, numbers, and punctuation symbols.
      4. Do not allow applications to use the SA (or equivalently renamed) account in any of the application connection strings.

      Note

      Any other user-based (lower-privileged) SQL Server accounts should also use complex, unique passwords.

      High-Privileged Operating System Accounts

      SQL Server uses a Windows or Linux account to run its services. Typically one should not assign high-privileged, built-in accounts (or equivalents) such as Network Service or Local System to the various SQL Server services. This can increase the risk of nefarious database/server activity, should someone be able to log into these types of accounts.

      Only assign the appropriate level of security-required accounts to SQL Server services. If not needed, any high-privileged operating system accounts on the server housing the SQL Server should be disabled as appropriate.

      Restrict SQL Traffic

      Database servers typically have one or more servers connecting to them. Access to these servers must be allowed only to and from designated IP addresses. Doing this can potentially prevent a nefarious user from accessing the server. In certain cases, a user of SQL Server may need to connect directly to the database. Restricting those SQL connections to the specific IP addresses (or at least IP class block or segment) that require it should be implemented.

      These IP restrictions can be managed with different solutions on different platforms:

      SQL Server Patches (Service Packs)

      Microsoft regularly releases SQL Server service packs and/or cumulative packs for fixing known issues, bugs, and security issues. It is highly advisable to apply SQL Server patching on production instances of SQL Server. However, before applying a security patch to production systems, it is advisable to apply these patches in a test environment. This is done to validate the changes in the patch and ensure that your database operates as expected under the patch.

      Backups

      When dealing with production instances of SQL Server, it is important to regularly backup the server’s databases. A database backup creates a copy of the operational state, architecture, and stored data of a database. Backups help guard against potential database failures. These failures can happen because of corruption, disk array failure, power outages, disasters, and other scenarios.

      Backups can also assist with non-failure scenarios where a rollback of your database to a particular date may be necessary. Full database backups (on a regularly scheduled basis) and incremental backups (on a daily or running time basis) should be performed and maintained.

      Securing your backups is critical, and database professionals sometimes do not consider all of the requirements for securing database backups. This work includes:

      • Restriction of access to backup files. Do not provide all people in your organization the access rights (create, view, modify, and delete) to backup files.

      • Encrypting backup files properly.

      • Storing backups in an off-site facility. Depending on the organization and the critical nature of the database data, backups of a certain age should be preserved and archived.

      Auditing

      Auditing is another key component of SQL Server security. A designated database administrator or database security team should regularly review SQL Server auditing logs for failed logins.

      SQL Server provides a default login audit mechanism for reviewing all of the login accounts. These audit facilities record incoming requests by username and client IP address. Login failures can assist in discovering and eliminating suspicious database activity. The following types of activity can show up in the SQL Server audit logs:

      • Extended Events: Extended Events is a lightweight performance monitoring system that enables users to collect data needed to monitor and troubleshoot problems in SQL Server.

      • SQL Trace: SQL Trace is SQL Server’s built-in utility that monitors and records SQL Server database activity. This utility can display server activity, create filters that focus on the actions of users, applications, or workstations, and can filter at the SQL command level.

      • Change Data Capture: Change Data Capture (CDC) uses a SQL Server agent to record insert, update, and delete activity that applies to a specific table.

      • Triggers: Application-based SQL Server Triggers can be written specifically to populate a user-defined audit table to store changes to existing records in specific tables.

      • SQL Server-Level Audit Specifications: A Server Audit Specification defines which Audit Action Groups can be audited for the entire server (or instance). Some audit action groups consist of server-level actions such as the creation of a table or modification of a server role. These are only applicable to the server itself.

      Hardware and/or software firewall logs (that is, external to SQL Server) should be regularly examined to monitor and detect any nefarious attempts at server penetration.

      Conclusion

      In part two of this article series, you reviewed additional methods of enhancing the security of SQL Server databases. These included choosing an
      authentication mode, restricting the
      System Administrator account, assignment of
      security-friendly accounts to SQL Server,
      restricting SQL traffic, application of
      patch updates,
      backup strategies, and use of
      auditing. To review earlier security recommendations, revisit
      Part 1: SQL Server Security Best Practices.



      Source link

      How to Learn SQL… Fast


      Whether you want to become a back end developer or simply familiarize yourself with databases, you’ll need to learn SQL. However, programming languages can seem a little daunting for beginners.

      Fortunately, you can start learning SQL even without coding experience. Watching YouTube tutorials and taking online courses are some of the best ways to master SQL.

      In this article, we’ll introduce you to SQL and the benefits of learning it. Then, we’ll show you how to learn this language as quickly as possible. Let’s get started!

      An Introduction to SQL

      SQL is an abbreviation for Structured Query Language. Put simply, it is a programming language that you can use to manage relational databases.

      In a relational database, structured data is organized into tables with rows and columns. All Relational Database Management Systems (RDMS) like MySQL, PostgreSQL, Oracle DB, and SQL Server use SQL to communicate with this data.

      In WordPress, your site data is stored in a MySQL database. Using SQL queries, you can store, alter, or delete data from this database.

      For example, you can use a MySQL query to manage your spam comments. This will inform WordPress to locate comments marked as spam and delete them:

      DELETE FROM wp_comments WHERE wp_comments.comment_approved = 'spam';

      If you want to view your customer transactions, you can query the purchased items or customer ID. This enables you to quickly access information about your online store:

      SELECT *
      FROM users
      JOIN orders
       ON orders.user_id = users.id
      WHERE state="Washington";

      There are different types of SQL commands that you can use:

      • DDL (Data Definition Language): this creates and modifies database objects.
      • DML (Data Manipulation Language): it creates, modifies, or deletes data.
      • DCL (Data Control Language): this controls access to data in the database.
      • DQL (Data Query Language): this performs queries to find information.

      However, SQL can only be used in relational databases. Since non-relational (NoSQL) databases do not store data in tables, they require different query languages.

      Get Content Delivered Straight to Your Inbox

      Subscribe to our blog and receive great content just like this delivered straight to your inbox.

      Why You Might Want to Learn SQL

      After you master the fundamentals of SQL, you can use it to extract relevant data from a large database. Whether you’re a data analyst, business owner, or website administrator, you can benefit from learning SQL.

      Although SQL was first introduced in the 1970s, it remains one of the most popular programming languages. In fact, SQL ranks the third most frequently used coding language behind JavaScript, HTML, and CSS.

      Plus, SQL is a standard language that many businesses use to manage their data. Even social media platforms like Facebook use SQL to store and analyze information about their users. Since SQL is so common, learning this language can give you new job opportunities.

      As a data scientist or analyst, you’ll have to extract, analyze, and interpret data. Without needing to download data into a spreadsheet, you can use SQL to directly access and analyze the information in a database.

      Here are some additional jobs that may require SQL:

      • Back end development: create, update, and delete data on the back end of a website.
      • Digital marketing: use SQL queries to find actionable insights about business processes.
      • Accounting: retrieve and analyze a business’s financial data.
      • Database administration: manage databases with SQL and database software.

      Even though SQL can seem complicated at first, it is an easy programming language to learn. Its syntax is made up of common English words, so you can quickly understand the purpose of each query or command.

      Chances are you deal with data on a daily basis. Using SQL, you can access and interpret information on your website or business. Then, you can perform data analysis to solve problems and understand your audience.

      How to Learn SQL (3 Methods)

      There are plenty of online resources that you can use to learn SQL. Let’s look at some effective ways to master this language.

      1. Find a YouTube Tutorial

      If you’re looking to learn SQL as fast as possible, YouTube is a great place to start. Rather than completing a lengthy course, you can find a tutorial that simplifies the language into its core concepts.

      For example, the SQL for Beginners Tutorial will teach you how to retrieve data from a database:

      Learn SQL for beginners course on YouTube

      In this 45-minute video, you’ll learn the basics of SQL, databases, and Relational Database Management Systems. The creator will walk you through installing Microsoft SQL Server and SQL Server Management Studio. Using these free tools, you can familiarize yourself with tables, primary keys, data types, and more.

      You can also find free courses that dive into more complex SQL topics. If you want to learn about queries, Learnit Training provides a 3-hour video called SQL Querying for Beginners:

      Learnit Training SQL Querying Tutorial

      This video starts by explaining some basic SQL terminology and its main uses. It then shows you how to perform an SQL query. By the end of the video, you’ll be able to use criteria conditions, retrieve data from multiple tables, and organize and export the query results.

      Before watching a video, we recommend checking its publishing date and view count. You’ll want to make sure its information is still relevant. You can also review its comments to see if other users found the tutorial helpful.

      2. Take a Free Course

      Some people prefer structured courses. Fortunately, there are many e-learning materials that focus on the fundamentals. By completing untimed modules, you can become an SQL developer at your own pace.

      One of the best platforms to learn coding skills is Codecademy. After you create an account, you can look for beginner courses such as Learn SQL. This course will teach you how to use SQL to communicate with relational databases:

      Codecademy Learn SQL course

      In each module, you’ll be able to enter commands, run queries, and use functions to perform database operations:

      Codecademy course module

      If you like educational videos, Khan Academy’s Intro to SQL course may be the right course for you. It teaches you the basics of making queries and modifying databases with instructional videos:

      Khan Academy SQL course

      During the course, you can watch code being written in real-time. You’ll also be able to copy it from the video:

      Khan Academy course module

      For a more in-depth explanation of SQL, you can complete the SQL Tutorial on W3Schools. This shows you how to write SQL statements with proper syntax, as well as more complex tasks like creating and altering a database:

      W3Schools SQL tutorial

      Once you learn about these processes, you can test your new knowledge with practice exercises:

      W3Schools SQL exercise

      As you can see, there’s no shortage of online courses you can take to learn SQL. All you need to do is find the one that suits your needs.

      3. Earn a Certification

      In most cases, you won’t need a college degree to work with SQL. However, you might want to showcase your coding skills on your resume. When looking for a position that requires knowledge of SQL, having a certification can increase your chances of getting hired.

      Fortunately, you can easily gain a SQL certification online. Coursera’s Introduction to Structured Query Language teaches you how to create a MySQL database. Once you complete the course, you’ll receive a certificate:

      Coursera SQL course

      Keep in mind that this is the second level in the Web Applications for Everybody Specialization. To get up to speed, you’ll have to first take the Building Web Applications in PHP course. If you’re already familiar with PHP, HTML, and CSS, feel free to sign up for the SQL lessons.

      Another way to get certified in SQL is to purchase a course on Udemy. In the Complete SQL Bootcamp, you’ll learn about analyzing data, creating tables and databases, and more:

      Udemy SQL course

      This Udemy course teaches you how to set up a PostgreSQL database management system. Since this applies to other SQL databases, it can be beneficial to include this certification on your resume.

      Start Managing Your Database with SQL

      If you own a WordPress website, your data will be stored in a MySQL database. When you learn the SQL query language, you can instruct WordPress on how to deal with this data. Plus, SQL skills can also help you get high-paying jobs in data science, marketing, and development.

      To review, here are some simple ways that you can start learning SQL:

      1. Find a YouTube tutorial from creators like Kevin Stratvert or Learnit Training.
      2. Take a free course on Codecademy, Khan Academy, or W3Schools.
      3. Earn a certification from Coursera or Udemy.

      Once you learn the SQL basics, you’ll likely want to create a new MySQL database. With a DreamHost shared hosting plan, you can build unlimited databases and enjoy faster queries!

      Power Your Website with DreamHost

      We make sure your website is fast, secure and always up so your visitors trust you. Plans start at $1.99/mo.

      shared hosting



      Source link

      Decoding WordPress: Creating a Multilingual Website


      As a website owner, accessibility should be one of your highest priorities. That’s because if a portion of your visitors can’t read your content, you’re likely missing out on an interested audience. By not making your site multilingual, your reach will be limited to visitors who are able to read your language.

      Fortunately, WordPress makes it easy to add multilingual features to your website. To do this, you can install a multilingual plugin or use translation software to add material in other languages. This way, you can offer multilingual content to users all over the world.

      In this post, we’ll explain what a multilingual website is and why you should consider creating one. Then, we’ll discuss how you can add multilingual features to your website. Let’s get started!

      An Introduction to Multilingual WordPress Websites

      Essentially, a multilingual website provides the same content in more than one language. This means, no matter how the original article is written, users can be redirected to their native language:

      Multilingual website

      Rather than only using a single language, you can add multilingual features to your website. Whether you use a multilingual plugin, Google Translate, or manual translations, you can start sharing your content worldwide.

      Multilingual Features in WordPress 6.0

      WordPress 6.0 brought many updated features, including extended Full Site Editing and site-wide blocks. However, the core software doesn’t come with multilingual functionality. Although WordPress itself doesn’t yet support out-of-the-box bilingual or multilingual features, many plugins enable you to easily translate your posts and pages.

      Fortunately, WordPress is consistently working on new features. Here is the development roadmap for WordPress’ multi-year Gutenberg Project:

      1. Easier Editing: Development of the Block Editor
      2. Customization: Full Site Editing, Block Patterns, Block Directory, and Block-based themes
      3. Collaboration: Multi-author collaboration
      4. Multi-lingual: Implementation of multilingual features

      Currently, we are in phase two of the Gutenberg Project. Therefore, if you want to build a multilingual website with just core WordPress software, you’ll have to wait for a while, as there is no current timetable on when the project will reach phase four.

      In the next few years, we should also see other Content Management Systems (CMS) become multilingual-ready. If you use a headless CMS, the future will likely bring support for multilingual content.

      Benefits of Creating a Multilingual Website

      No matter the type of content you produce, you can benefit from creating a multilingual website. Whether you run a business website or a small blog, translating your content can be an effective way to grow your audience.

      By translating your website, you can significantly increase your organic traffic. Although English is the most common language on the internet, it only makes up 25.9% of online users. That means, if you don’t translate your English content into another language, you could fail to reach a larger, global audience.

      Besides, creating a multilingual website can improve your Search Engine Optimization (SEO). If you’re trying to gain traction with English keywords, you may have noticed that these have a lot of competition. In other languages, the same keywords can be far less saturated.

      For example, the keyword ‘meal delivery’ has a high amount of searches and competition. With an expensive top-of-page bid, you may not want to use it:

      English keyword results

      However, using ‘entrega de comida’ can improve your results. By simply translating your keyword into Spanish, you can run a cost-effective ad campaign without competing with other websites:

      Spanish keyword results

      Additionally, offering content in a visitor’s native language can provide a better User Experience (UX). Instead of having to rely on Google Translate, users can immediately understand your website and find the information they’re looking for.

      This can also make your website more credible and trustworthy. When you can remove a communication barrier, users from all over the world may be more likely to trust what you’re saying.

      Types of Multilingual Plugins

      Since WordPress isn’t multilingual-ready out of the box, one effective option is to install a multilingual plugin. With these plugins, you can start publishing content in other languages. However, some multilingual plugins can offer more in-depth translations than others. Let’s look at a few different types.

      Comprehensive Multilingual Plugins

      The best multilingual plugins will enable you to translate every part of your website, from your written content to your themes and plugins. When you want to make your entire website multilingual, these plugins can be effective tools.

      One of the most popular multilingual plugins is TranslatePress. After installation, you can use its front-end editor to translate everything you can see on your website:

      TranslatePress plugin

      Additionally, by integrating TranslatePress with Google Translate or DeepL, you can set up automatic translation for all of your content. Please note that relying on a service that leverages machine translations will not work as well as having someone who can natively understand the language you are translating your content to.

      Fortunately, you can fix any mistakes that machine translations may make manually and see a live preview of these changes during the editing process.

      Polylang is another powerful multilingual plugin that enables you to translate your posts, pages, media, categories, and tags. You can even create translations any custom post types, widgets, navigation menus, and URLs:

      Polylang plugin

      Plus, Polylang can improve your multilingual SEO. By setting up HTML hreflang tags, SEO-friendly URLs, and open graph tags, Polylang can help you to start showing up in global search results.

      Both of these plugins are free to download. However, if you want to access advanced features and add-ons, you’ll likely need to purchase the premium versions.

      Automated Translation Plugins

      Alternatively, some multilingual plugins connect to automated translation services. This type of plugin can provide translations for certain parts of your website, but won’t be nearly as comprehensive.

      For example, Translate WordPress with GTranslate can make your website multilingual using Google Translate. With this plugin, you can add different languages in a widget, allowing users to easily switch to their native language:

      GTranslate plugin

      The free version of GTranslate includes statistical machine translations. With a premium version, you can access Google neural translations, which can be much more accurate. Also, the core software does not support manual revisions.

      If you’re a software developer, you may benefit from using Loco Translate. Unlike the other options on this list, Loco Translate enables you to update the language files in your theme or plugins:

      Loco Translate plugin

      Using the built-in translation editor, you can modify WordPress translation files directly in your admin dashboard. This will contain integrated automatic translation services to help you design a multilingual-ready theme or plugin.

      Get Content Delivered Straight to Your Inbox

      Subscribe to our blog and receive great content just like this delivered straight to your inbox.

      How to Create a Multilingual Website with WordPress (7 Methods)

      Translation can be the key to driving global traffic to your website. To help you get started, we’ve compiled a few different ways you can make your content multilingual.

      1. Choose a Multilingual Ready Theme

      Often, picking a theme can be an important first step in improving your website’s appearance and functionality. When you’re trying to make multilingual content, you can consider installing a translation-ready theme.

      In a translation-ready WordPress theme, the software will support translations into many languages. To achieve this, developers usually concentrate on a variety of factors including:

      • Internationalization (i18n): Theme development that focuses on easy translation.
      • Localization: The process of translating from the original language into a new language.
      • Right to Left (RTL) text: Supports languages that read from right to left, including Arabic, Aramaic, and Hebrew.

      It’s important to keep in mind that a translation-ready theme won’t automatically translate your content. It simply provides a solid infrastructure for your translated content.

      To find a multilingual theme, you can apply a filter in the WordPress Theme Directory. Here, click on Feature Filter and select the Translation Ready option:

      Translation Ready filter

      This will exclude any WordPress themes without multilingual support. After browsing these results, you can install and activate a translation-ready theme:

      Translation-ready WordPress themes

      One of the most powerful translation-ready themes is Divi. It integrates with many multilingual plugins and supports full translation of its front-end interface:

      Divi theme

      Plus, Divi’s localization covers everything from form fields to descriptions. Moreover, after you enable a right-to-left language, this theme will automatically turn on RTL mode.

      If you’re looking for a more affordable option, consider the Neve theme. Although it has a more minimalist design, it can adapt to almost any new language that you might need it to:

      Neve theme

      With Neve, every element of your theme can be translated, no matter which multilingual plugin you use. Like Divi, Neve is fully capable of using RTL text, so you’ll never have to worry about translations affecting your web design.

      2. Add a Language Switcher

      Once you find a translation-ready theme and a multilingual plugin, you can start translating your online content. To do this, you can create a language switcher. This is a dropdown menu or button that visitors can use to select a translated version of a page:

      Language switcher

      A language switcher can enable each visitor to your site to select their preferred language. This provides a quick, convenient way to translate your website without leaving the page.

      With TranslatePress, you can add a language switcher to your site in just a few steps. First, install and activate the plugin:

      Install TranslatePress

      Then, go to Settings > TranslatePress > General. In the All Languages section, there will be a default language set for your website. Here, select some alternate languages:

      Select languages

      Next, scroll down to the Language Switcher settings. With TranslatePress, you can display your language switcher with shortcodes, as a menu item, or with a floating language selection menu:

      Language Switcher settings

      For any option, you can customize the appearance of the language switcher. Using the dropdown menu, you can choose to display the language names, flags, or both:

      Language switcher display

      When you’re finished, save your changes. One way to add this feature to a page is with its shortcode. On any page or post, simply add a shortcode block:

      Language switcher shortcode

      To display the language switcher, paste this shortcode: ‘[language-switcher]’. On the front end you’ll be able to see your list of available languages:

      Front-end language switcher

      Now any visitor can easily read your website in their preferred language simply by selecting it!

      3. Enable Automatic Translation

      Another simple way to create a multilingual website is to set up automatic translation. This will translate every word of your content from one language into another. Although this may provide some awkward phrasing, it can be a quick and easy way to translate your website.

      If you decide this option is right for you, you can use the TranslatePress plugin. It provides automatic translation using either Google Translate v2 or DeepL. However, the free version will only support Google Translate.

      After you activate the plugin, navigate to Settings > TranslatePress and make sure to set your desired languages. Then, click on the Automatic Translation tab:

      Enable Automatic Translation

      At the top of the page, select Yes next to Enable Automatic Translation. Then, choose the translation engine you want to use.

      To continue setting up either Google Translate or DeepL, you’ll need to use an API key. For Google Translate, sign into your Google Cloud Console and create a project. Next, go to APIs & Services:

      APIs & Services

      At the top of the page, click on Enable APIs and Services. Search for the Cloud Translation API and enable it:

      Cloud Translation API

      Find the Credentials page and select Create Credentials. Then, click on API key:

      API key

      This will generate an API key for Google Translate:

      API key

      Now you can go back to your WordPress dashboard and paste your API key into the Automatic Translation settings. If it’s working properly, you should see a green checkmark:

      Paste API key

      When you select the Translate Site button at the top of your dashboard, this will open the visual translation editor. Here, you can select the new language and you’ll see the automatic translation on the right:

      TranslatePress editor

      If you notice anything wrong with your translation, you can also make manual edits. This can ensure that native speakers understand your content.

      4. Edit Your Site’s Translations

      If you enable automatic translation, the result might not be perfect. Since it translates on a word-by-word basis, it can sound strange to native speakers. To solve this problem, you can manually edit your translations.

      In the visual translation editor, you can click on the pen icon to view text in multiple languages. It will show the original content, as well as the new translation:

      Manual translation

      If you speak the translated language, you can change any awkward wording using the text box on the left. To help you even further, TranslatePress can provide translation suggestions:

      Translation suggestions

      By clicking on these suggestions, you can automatically update the translation. Then, click on Save translation to implement this in the front-end editor.

      Now, when visitors switch your website into the secondary language, they’ll be able to see your new changes:

      Live translation

      These edits can improve the quality of your translations. This can help make your content more relatable and understandable, rather than sounding like a stiff, automatic translation.

      5. Change Your URLs

      Along with translating your web pages, you may want to modify your URLs for your translated content. Using the Polylang plugin, you can change the language code in your links to align with the new translation.

      First, be sure to install and activate Polylang. Using the setup wizard, select the languages you want to add to your website:

      Select Polylang languages

      Continue through the setup process and return to the dashboard. Then, go to Languages > Settings and find URL modifications:

      URL modifications

      Open this section and enable Hide URL language information for default language. If you have English as your default language, this will remove the ‘/en/’ from your URL:

      Hide URL language

      This will change all your links to a structure like this:

      English URL: https://dreamhost.com/about-us/

      Spanish URL: https://dreamhost.com/es/sobre-nosotros

      Once you’re finished, save your changes.

      6. Add Multilingual Content

      If you don’t want to install a new plugin, there are other simple ways to include translations on your website. For instance, you can feature two different translations on the same post. Then, you can create an anchor link so readers can easily jump to the translated content.

      To do this, you’ll need to create a new post. You can start by writing the content in your native language:

      New English post

      Next, you’ll need to open a translator like Google Translate. After you choose which language to translate to, you can paste your content:

      Google Translate

      Then, copy your translations and paste them beneath the original text. Be sure to translate all the elements on the page:

      Translated post

      Once you’re finished, click on the heading for the translated section. Open its Advanced settings and find the HTML anchor:

      HTML anchor

      Here, create a unique identifier and copy it. Next, at the top of the post, add the name of the second language:

      translation

      Click on the link button to add an internal jump. For the link text, include ‘#’ followed by your HTML anchor:

      Add translation link

      Now visitors can see that there is a translated version of that new post! Anyone who reads that language can click on the link, which will take them to the translation.

      Alternatively, you can include the translation as a completely new post. In this case, the link will redirect them to another page rather than a single page jump.

      If you decide to do this, you may want to create a new category for that language. This way, native speakers can find those posts all in one place.

      7. Create a WordPress Multisite

      Instead of creating multiple versions of your posts, you can create a WordPress multisite. Essentially, this can host different translated versions of your website on a single WordPress installation.

      However, this involves customizing your database by editing site files. Since this can harm your data, be sure to backup your website beforehand.

      Then, open your wp-config.php file. Right before the ‘/* That’s all stop editing! Happy blogging. */.’ line, add this code:

      /* Multisite */

      define( 'WP_ALLOW_MULTISITE', true );

      Now you can go to your WordPress dashboard. Find Tools > Network Setup:

      Create network

      You’ll need to choose between subdomains and subdirectories. Here’s how your URLs will look with each option:

      • Subdomain: site1.example.com
      • Subdirectory: example.com/site1

      Then, review your Network Details and click on Install.

      To enable the network, you’ll need to add some information to your wp-config.php and .htaccess files. After you paste the given code, log back into your dashboard:

      Enable network

      You should now see new icons for managing your network. When you click on My Sites, you’ll be able to create a new translated website:

      Network sites

      With this method, you can add new child sites for virtually any language!

      Go Global with a Multilingual WordPress Site

      Ultimately, having a multilingual site can improve your SEO and boost your organic traffic. When you provide well-translated content, you can expand your audience to multiple countries. Furthermore, since English keywords have a high level of competition, this may be the best time to go multilingual.

      To do this, you can simply install a multilingual plugin. With TranslatePress, you can enable automatic translation, add a language switcher, and manually edit translations. Alternatively, you can use a service like Google Translate to create multilingual content.

      If you decide to build a translated version of your website, you’ll want to make sure it’s fast and secure. With a DreamPress hosting plan, you can create a high-performing WordPress website that isn’t a hassle to manage!

      Do More with DreamPress

      DreamPress Plus and Pro users get access to Jetpack Professional (and 200+ premium themes) at no added cost!

      Managed WordPress Hosting - DreamPress



      Source link