Drupal Tutorial Explained for Beginners
Drupal is a robust content management system (CMS) used to build all kinds of websites. Many well-established companies trust Drupal to run their high-traffic sites due to its versatile features and extensive modules.
That said, Drupal has a steeper learning curve than its competitors. Beginners may find building a website with this content management system challenging. In fact, without proper guidance, users may end up not utilizing all of Drupal’s capabilities.
However, there’s no need to worry ‒ our Drupal tutorial will cover everything you need to know in order to start. We’ll introduce you to the proper Drupal installation procedure and how to build a site using this CMS. We’ll also show you how to install modules, themes, and updates.
Why Should You Use Drupal?
Drupal is a CMS that currently powers % of all websites whose CMS we know. Over the years, the PHP-based software keeps evolving due to a growing community of developers that have turned it into an open-source project. Today, Drupal is free to download under the GNU Public License.
Despite being mainly known for powering government and organization websites, Drupal can accommodate a wide variety of sites. That’s because it employs a vast collection of modules and themes to expand a website’s functionality and look.
Here is what you can expect when using this platform:
- Great functionality –modulesexpand the functionality of your site. For example, you can add statistics features to your website by installing the Google Analytics module.
- Flexible customization – the CMS boasts over 2, themes for different purposes. You can also modify Drupal core modules to better suit your needs.
- Reliable security –Drupal regularly generates detailed security reports, keeping users updated on their site’s safety. Furthermore, Drupal’s security team is always ready to respond to any security issues.
This tutorial will go over all the available features and attributes to help you decide whether to use Drupal. First, we’ll discuss the installation of the platform.
Before Installing Drupal
Before installing Drupal, there are a few things you have to take care of. We’ll go over them in the following sections.
1. Acquire Web Hosting
Web hosting is a service that makes a website accessible on the Internet. By purchasing a hosting plan, you rent server resources to host the content of your website. Prices vary depending on the service provider and the type of hosting.
It’s essential to pick the right hosting provider, as it will significantly affect your site’s performance. A web host should provide you with enough resources and features to meet your site’s needs. Other important factors include security measures, guaranteed uptime, and customer support.
After finding the right hosting provider, choose the type of hosting. A hosting plan optimized for your site will save you money in the long run. Once your website has grown, upgrade to a plan with more resources and better scalability.
Most hosting providers offer hosting services that differ in the amount of allocated resources and customization flexibility. Here are some of Hostinger’s hosting plans:
- Shared hosting ‒ best for blogs and sites with low to medium volumes of traffic.
- Cloud hosting ‒ ideal for sites that cannot afford any downtime.
- Drupal hosting ‒ these plans cater specifically to hosting Drupal sites.
- VPS hosting ‒ excellent for users who want dedicated server resources and flexible hosting management.
Our Drupal hosting plans include everything necessary to build and maintain a Drupal site. With prices in the range of $$/month, Hostinger’s Drupal hosting comes with servers optimized for Drupal, a one-click installer, and a dedicated support team.
Alternatively, opt for shared hosting if you’re planning to use a different platform. Hostinger’s shared hosting plans cost the same as Drupal hosting and include a WordPress installer.
2. Purchase a Domain Name
Internet users use domain names to access websites on browsers without having to memorize the site’s IP address.
The right domain name will help you build online credibility and boost the recognition of your brand. Therefore, make sure your domain is unique and memorable. Avoid symbols and hyphens as they can harm its readability.
You can check the chosen domain’s availability on Hostinger’s Domain Checker. If it is no longer available, view top-level domain or name alternatives using a domain name generator.
Once you’ve found the right domain, register it with a domain registrar and point it to your hosting server. If you purchase the domain name and hosting from the same web host as a bundle, you won’t need to do that.
Keep in mind that Domain Name System (DNS) records may take up to 24 hours to propagate globally. During this time, your site will be unavailable.
How to Install Drupal?
There are two ways to install Drupal – manually or by using an auto-installer. In this section, we’ll discuss both methods. Note that the steps listed in this tutorial are for the 9.x.x version of Drupal. However, they should apply to older core versions too.
Using Auto Installer
The easiest way to install Drupal on your hosting server is by using the auto-installer feature. You can find it on your hosting control panel. For this example, well install Drupal via Hostingers hPanel.
- Go to Auto Installer in the Website section of hPanel.
- Select the Other option and pick Drupal from the drop-down menu. Click Select.
- Enter your admin login details and database information into the pop-up form. While you’re free to change the core version, we recommend opting for the latest version for the best performance.
- Click Install to start the installation.
Installing Drupal Manually
If your web hosting doesn’t include an auto-installer, you can install Drupal manually.
Developers generally prefer this method as it gives them more control over the installation, which is beneficial when installing Drupal on localhost or a VPS.
The following tutorial will show you how to install Drupal manually via hPanel.
- Download the Drupal .zip file from the official website.
- Access the File Manager from the Files section of hPanel. Upload and extract the .zip file in the public_html directory. You can also do this step via an FTP client like FileZilla.
- Navigate back to the hPanel dashboard, then go to MySQL Databases under the Databases section. Create a new database for your Drupal site. Take note of the database name and username as you’ll need them later.
- Access the URL http://yourwebsite.com/core/install.php on your browserto run the Drupal installer. Choose a language and click on the Save and continue button.
- Pick an installation profile and click Save and continue. If you’re new to Drupal, we recommend continuing with Standard. The Minimal installation profile is best foradvanced users as itoffers more freedom in terms of customization.
- Enter the database name and other information you set up earlier. Then, click Save and continue to configure the website.
- Fill in the site information, site maintenance account, and regional settings sections. Take note of the username and password since they will be used as your sites login credentials. Click Save and continue to finish the Drupal installation.
- If you’ve successfully installed Drupal, a confirmation message will appear on your admin dashboard.
If you need to configure your Drupal database details, access the settings.php file. You can find it here:
Review your database credentials and information in the MySQL Databases section of hPanel.
How to Build a Website With Drupal?
After successfully installing Drupal, we can proceed with the steps of building a site on the platform. The following section will discuss the navigation of the Drupal admin dashboard and how to create website elements, such as pages and menus.
Understanding Drupal Administrator Dashboard
The Drupal admin dashboard is accessed by logging in. You can access the login page via https://your-site-address/user/login.
Once logged in, click Manage at the top left corner of the page to view the following menu items:
- Content – access this section to create content like articles and basic pages.
- Structure – controls your sites structure components, such as block layouts and content types.
- Appearance – manages the installation and settings of themes.
- Extend – manages module installation to expand your websites functionality.
- Configuration – provides access to various options, including basic site settings.
- People – regulates user accounts, permissions, and roles.
- Reports – takes you to thesystem logs and site’s status reports.
- Help – contains a simple knowledge base of modules and basic steps to start your Drupal site.
A taxonomy is used to classify website content. In Drupal, taxonomies comprise entities called terms, which are words that describe specific content within vocabularies. A vocabulary may have a flat or hierarchical structure depending on the type of content.
The first step of creating a taxonomy is to add the required vocabularies and each of their terms. You can then attach taxonomy terms to content entities, setting up listing pages to classify them.
Here are the steps to create a new taxonomy in Drupal:
- Navigate to Structure -> Taxonomy from the admin dashboard.
- Click Add Vocabulary and fill in its name (compulsory) and description (optional). In this example, we’ll create a Tags vocabulary for article classification. Select Save when you’re done.
- You’ll be directed to the Tags page. Click Add term to start building the list of terms.
- Enter the term’s name (compulsory), description, text format, URL alias, and relations. Then, click Save. For this example, we’ll call the new term Business Articles.
- You’ll now have Tags as the parent category and Business Articles as the subcategory. Feel free to add more terms if you want more subcategories.
Creating Articles and Basic Pages
Drupal has two core content types – article and basic page.
The article content type, formerly known as story, is used to create content like press releases and blog posts. Entries of this content type feature on the site’s homepage and allow comments.
Meanwhile, the basic page type is employed for static content that requires minimal to no updates, like an About Us page. A basic page isnt featured on the site’s homepage and doesnt allow comments by default.
Additionally, Drupal has four optional content types, which you can activate by enabling the Book, Blog, Forum,and Poll modules:
- Book page – content that is part of a collection of related entries, known as a book. The Book module links individual pages of a book, thus creating an outline for site navigation and content management.
- Forum topic – lets you create a discussion thread on a forum. Visitors can join it by writing comments. Use it with the Advanced Forum module for better performance and to access more features.
- Poll – collects votes and answers to multiple-choice questions. The type is multilingual and works well with the Entity Embed module for easier customization.
- Blog entry – starting with Drupal’s core version 8, this content type was discontinued. It is now a contributed module that allows users to create an online diary or journal.
In this tutorial, youll learn how to create both articles and basic pages.
Let’s start by creating an article:
- Select Content on the admin dashboard.
- Click on the Add Content button and choose Article.
- Add the title, body, and tags for the article. Set the text format to Restricted HTML or Full HTML if the content contains HTML code. Remember that individual articles only allow one image in the PNG, GIF, or JPEG format.
- Additional article settings you can modify are available on the right side of the content editor:
- Menu settings ‒ check the box if you want to add the article as a menu item.
- Comment settings ‒ enable or disable comments on the article.
- URL alias ‒ create an alternative path to categorize the article better. Otherwise, Drupal will automatically publish it under http://yourdomain.com/article-title.
- Authoring information ‒ add the article’s author and the date and time of publishing. Leave the latter blank to use the actual submission time.
- Promotion options ‒ you can place the article on the homepage or move it to the top of the article list.
- Click Preview to check what the finished article will look like. If you’re happy with it, check the Published box and click Save.
Now, let’s try to create a basic page. Here are the steps to make an About Us page:
- Navigate to Content on the admin dashboard.
- Click on the Add Content button and choose Basic Page.
- Type in the title and the body of the page. Don’t forget to set the text format to Restricted HTML or Full HTML.
- Just like during article creation, you can customize the additional settings on the side panel on the right.
- Click Preview to see the final result, check the Published box, and select Save to publish the page.
Menus are useful for categorizing and structuring the site. While Drupal already has several of them by default, you can also add custom menus.
The following steps will show you how to create one:
- Navigate to Structure -> Menus from the admin dashboard.
- The Menus page will display all the default menus. You can edit them by clicking on the Edit menu button. Click Add menu to create a new one.
- Add the title and summary of the menu and click Save.
- Now, let’s add a menu link to the menu. Click Add link.
- Fill in the required information, then click Save.
- Menu link title ‒ the name of the menu.
- Link ‒ the path for the menu link. Its value can be an internal Drupal path, an external URL, or <front> to redirect users to the front page. Uncheck the Enabled box if you don’t want to display the link.
- Description ‒ the tooltip shown when the cursor hovers over the link. Check the Show as expanded box to have the menu always expanded.
- Parent link ‒ choose one from the drop-down menu.
- Weight ‒ add a numeric value to determine the link’s order on the menu. Drupal will display them in ascending order.
Placing Drupal Blocks
Blocks are boxes of content that are rendered in a region. For example, you can add a user login form (block) to the website footer (region).
This functionality, provided by the Block core module, is part of the core of Drupal 8. Use it with the Custom Block and Place Block modules to incorporate blocks on any page.
Here are the steps to place a block in Drupal:
- Navigate to Structure -> Block Layout from the admin dashboard.
- The Block layout page will display all the regions that allow blocks. Lets say we want to place a page title block in the header region. Click on the Place block button next to the Header region.
- A pop-up window will appear, displaying the available blocks. Find the Page title block and click the Place block button next to it.
- Fill in the required information:
- Title ‒ the name of the block. Uncheck the Display title box to hide it.
- Visibility ‒ manages the block’s visibility settings:
- Content types ‒ displays the block when the user views selected content types.
- Pages ‒ shows the block based on the page’s URL.
- Roles ‒ displays the block to users with specific roles.
- Region ‒ determines the region where the block will be displayed.
- Once you’re done, click Save block.
How to Install Modules in Drupal?
A Drupal module is a collection of files that extends a site’s functionality. Drupal has two types of modules ‒ core and contributed modules.
Drupal includes core modules with essential functions by default. For additional tools, install contributed modules from the module downloads page or create your own modules.
In this section, you will learn how to install a module via the administrative interface and Drush.
Using the Administrative Interface
While this method is the easiest way to install Drupal modules, it only works for contributed modules. Refer to the Drush tutorial in the next section to install custom modules.
Follow these instructions to install a module using the administrative interface:
- Navigate to the Drupal Module Downloads page and look for your desired module. In this example, we’re going to install the Admin Toolbar module, which improves the accessibility of the built-in toolbar.
- Click on the chosen module’s page and scroll down to the Downloads section. Right-click on the tar.gz download link and select Copy link location. Make sure your Drupal version meets the module’s requirements.
- Return to your Drupal homepage. Click Manage -> Extend.
- Click on the Add new module button and paste the tar.gz download link to the Add from a URL text box. Select Continue.
- Once the installation is successful, you’ll see a confirmation message. Click Enable newly added modules to return to the Extend page.
- Locate the new module and check the box next to it. Scroll down and hit Install.
If the Add new module button is missing, enable the Update Manager core module from the Extend menu. Changing the default theme to Seven via Appearance also works in some cases.
Here are some of the most popular contributed Drupal modules:
- Chaos Tool Suite – contains an API and a set of tools, such as AJAX responder, form wizard, and CSS tools. The module is intended to facilitate the web development process.
- Display Suite – provides a drag and drop interface for more accessible page building.
- Metatag – lets you automatically add meta tags and structured metadata to your site. It also supports meta tags to control how your content looks when shared on social media.
- Google Analytics – adds Google’s web statistics tracking system to your website.
- Webform – helps build various types of forms for data collection purposes.
- Paragraphs ‒ offers various paragraph types for a better content creation experience. The module makes it possible to embed YouTube videos, slideshows, and quotes between other content blocks.
Drush is a command-line shell for managing Drupal. It provides a way to perform admin tasks without using Drupal’s backend. That said, operating Drush requires technical knowledge, so it may be unsuitable for beginners.
The first thing you need to do is install Drush on your Drupal project. Run the line below from your root directory to install Drush via the Composer dependency manager tool.
Keep in mind that this will only work for users with root access, meaning that you have to be on a VPS server to install modules using Drush.
Execute the following command to check whether the installation process was successful:
Now that you have Drush set up, use it to install a Drupal module by following this tutorial:
- Navigate to the Drupal Module Downloads page and look for your desired module. For this tutorial, we’ll again use the Admin Toolbar module.
- Access the module’s page and find the project name in its URL. For example, if the page’s URL is https://www.drupal.org/project/admin_toolbar, admin_toolbar will be the project name.
- Download the tar.gz module file, then upload and extract it to your site’s Module directory. Alternatively, run this command from your site’s root directory to download the module using Composer:
- Run the Drush command below. Then, follow the instructions to complete the installation process.
How to Install Themes in Drupal?
Setting up an appealing look for your site is essential, as it will leave a good impression on visitors. Using an aesthetically pleasant theme is one way to do it.
You can view installed Drupal themes via the Appearance tab.
Many online sources offer third-party themes to choose from. However, the official Drupal Theme downloads page is the most reliable source, containing over 2, themes.
The theme directory has useful filters to narrow down a search based on compatibility as well as development and maintenance status.
Here’s how to install a Drupal theme:
- Navigate to the Drupal Theme Downloads page and choose a theme. Right-click on the tar.gz download link and select Copy link location. Make sure your Drupal version meets the theme’s requirements.
- Return to your Drupal homepage and click on Appearance.
- Click on the Add new theme button and paste the tar.gz download link to the Add from a URL text box. Select Continue.
- If the installation is successful, you’ll see a confirmation message. Hit Install newly added themes to return to the Appearance page.
- Scroll down to the Uninstalled themes section and click Install and set as default under the new theme.
How to Create a Blog on Drupal?
With Drupal, you can set up a fully functional blog site. However, the Blog module is no longer included with the core software, starting with Drupal 8. Therefore, youll have to download and installthe contributed module manually.
Once installed, the blog module will appear on the Extend menu. Check the box next to Blog and click Install to enable the module.
When you navigate to Content -> Add content,you should see a new content type called Blog post. Select it to create a blog entry.
Add the title, body, and tags for the post. Click on the Comment Settings menu on the right side and choose Open to allow comments. If another user wrote the blog post, add their account name to the Authoring Information settings.
Once you’re done, check the Publish box and hit Save to create a new blog post. Your blog post should now be visible under the Blog section of your homepage.
How to Back Up Drupal?
Regularly backing up your Drupal site helps keep data safe in case of a software or hardware malfunction. If something goes wrong, a backup will let you restore the site without losing important data.
The following tutorial will show you how to back up your Drupal files using Hostingers hPanel:
- Login to hPanel, then navigate to Backups under the Files section.
- Hit Select under the Generate new backup option.
- A dialog box will appear asking you for confirmation. Click Proceed to start the backup process. Keep in mind that you can only generate one backup every 24 hours.
- When the backup is ready, click File backups, pick the backup file from the drop-down list, and hit Prepare to Download.
How to Update Drupal?
In Drupal, updates and upgrades are two different things. An update means installing a newer minor version of Drupal, such as updating the core to from Meanwhile, upgrading refers to major changes, like replacing Drupal 8 with version 9.
In this section, we will go over the steps of updating Drupal. Before starting, we strongly recommend switching your site to Maintenance mode. Doing so will prevent visitors from accessing the site during the update process.
- Navigate to the Configuration tab and select Maintenance mode.
- Check the Put site into maintenance mode option. Here, you can create a custom message to greet visitors who access your site during the update process.
- Hit the Save configuration button.
With this out of the way, navigate to Reports -> Available updates to see if a Drupal core update is available.
There are a few ways to update Drupal. You can use SSH or FTP to update the platform manually or employ Composer to automate the process. If youre a beginner, we recommend using an FTP client like FileZilla.
Here are the steps to update Drupal using FTP:
- Download the latest Drupal version and extract the file.
- Connect to your FTP account and access your Drupal installation folder. In most cases, its public_html.
- Select core and vendor folders as well as all the files in the Drupal root directory and delete them. Keep the modules, profiles, sites, and themes folders.
- Open the folder with the update files and upload everything except modules, profiles, sites, and themes to your Drupal root directory.
- Then, revisit the Available updates page to check whether the core version has been successfully updated.
- Lastly, turn off the maintenance mode by clicking Go online next to the Operating in maintenance mode message.
Drupal is a highly customizable CMS that can power all kinds of websites. It supports a wide array of modules and themes to streamline the web development process and extend its functionality.
This article discussed the steps to build a new site on Drupal, from installing the platform to setting up themes and modules. We also covered other essentials, such as creating a blog, backing up a site, and updating Drupal.
Consult the official Drupal documentation to learn more about the CMS. It will take some time and effort before you can fully utilize it.
Don’t hesitate to ask questions in the comment section below should you require additional information. Good luck.
Domantas leads the content and SEO teams forward with fresh ideas and out of the box approaches. Armed with extensive SEO and marketing knowledge, he aims to spread the word of Hostinger to every corner of the world. During his free time, Domantas likes to hone his web development skills and travel to exotic places.
More from Domantas G.
So you head outside for a break maybe to the park because it's a beautiful day. You're sitting there relaxing, and you get a call from a client asking for help with a site. If you're like me, you don't go anywhere without your iPad. Can I help the client without leaving the serenity of the park? The answer is, "Yeah, I can troubleshoot it right now from here."
Let's take a look.
One of the problems in Drupal core "out of the box" is that you can pretty much use anything you want for a password. And while your business might have a policy against weak passwords if Drupal doesn't enforce them, well, you know how people are. I get this question in training all the time, "How can we make users have strong passwords?"
In this video, I want to talk about forcing strong passwords in Drupal 8 and 9. The solution is the Better Passwords module.
Keep reading to learn!
We've been posting blogs about Drupal for over 10 years at OSTraining, and so every once in a while someone finds an old blog post from Drupal 6 or even Drupal 7 and asks a question. Well that's exactly what happened this week when somebody asked, "How do we display a pdf in the browser with Drupal 9 when someone clicks on a link?"
Keep reading to learn how!
Unlike other CMSs, the update of Drupal core is not difficult, but somehow complicated because of all the details involved. In this tutorial, we are going to implement a local Drupal 9 installation, and then we will upload (push) this codebase to a central repository on Bitbucket. We will then download (pull) the codebase from this repository to the live server, where the website is going to be stored.
Using this (terminal-oriented) process, you will be able to speed up Drupal core and module updates, and you will follow best practices.
It is assumed that you already have a LAMP stack installed on your system. Furthermore, you require terminal access on your web server.
Keep reading to learn how!
(Transcript of the OSTips Video)
During this year's Drupalcon North America, Dries took to the stage at his DriesNote speech and mentioned that Drupal has never been more stable. The adoption rate for Drupal 9 is faster than any other version of Drupal ever and modules are ready for Drupal 9 faster than ever before. So of course, he went straight into Drupal
Here we go again! The changes coming to Drupal 10! Let's dive in.
"If you've installed or updated Acquia’s DevDesktop lately, you've seen this message:
And so you know that DevDesktop is approaching end of life.
In this video, I'm going to give you two alternatives to Acquia’s DevDesktop For Local Drupal Development. You know I've used this software for years now and introduced literally thousands and thousands of people to Drupal using Acquia’s DevDesktop. It's a shame that it's going away, but we've got alternatives.
Let's dive in.
The process of migrating data into a Drupal database from a CSV file can be fulfilled through Drupal’s integrated Migrate API and three extra custom modules (Migrate Source CSV, Migrate Plus and Migrate Tools).
This is known as the ETL (Extract - Transform - Load) process, in which data is fetched from one source in the first step, transformed in the second step, and finally loaded to its destination on the Drupal database in the third step.
This tutorial will explain the creation of 12 book nodes for a library database. Keep reading to learn how!
We are going to use Bootstrap 4 in Drupal 8/9 with Bootstrap Barrio. The Bootstrap Barrio theme for Drupal 8/9 integrates Bootstrap 4 (or Bootstrap 5 if you want) with your Drupal site.
Bootstrap is a very popular framework for building websites. It provides designers and developers with a common language to communicate, making the development process a lot easier.
Creating a subtheme of Barrio is a straightforward process. This tutorial will explore the basic configuration options of the theme, which are managed through a complete graphical user interface.
Keep reading to learn how!
So you're working away on your Drupal site using Acquia’s DevDesktop just like we do here at OSTraining, and you want to take a snapshot of your site to use for another project. Or maybe you just want to keep a backup of it at a certain state in your Drupal site development.
In this video, I'm going to show you exactly how to create Drupal site copy in Acquia’s DevDesktop. It's really simple.
Let's get to It.
We all know that Drupal 9 is here, but is your site ready?
In this video, I'm going to share with you 3 ways to check to see if your modules and themes are ready to move to Drupal 9.
Alright, let's go.
How would you like to be able to set up an ecommerce platform on your drupal site in less than 60 seconds? You can!
In this video, I want to share with you my little frustration with drupal and drupal e-commerce. It's really hard to set up! However, there's a fantastic e-commerce platform called ecwid that allows you to set up your store in no time. Then you can literally have it embedded on your Drupal site in less than 60 seconds. People will never know the difference, because everything stays on your Drupal site!
Let's check it out.
From its conception, the fundamental (ground) idea of the internet was the exchange of information through code snippets of a markup language. This is still the ground principle that moves the internet these days. There are, of course, a lot of other things you can do over the internet, but it all comes down to an exchange of information.
With this kind of freedom, it is not surprising, that people abuse this for their own benefit. Spam comments are a form of abusing this privilege.
The combination of the Drupal modules Honeypot and Antibot will ensure that your site is “almost” % protected from spam (at least the ones produced by robots).
Keep reading to learn how to Control Spam in Drupal with Honeypot and/or Antibot!
I don't know about you, but as a site builder when I add a date field to a content type in Drupal, and I tell it I do NOT want the time just the date and then I go to a node, and I enter the date, and it shows me both the date AND the time it kind of drives me crazy!
How do we fix it? In this video, I'm going to show you how to create new date & time formats in Drupal sites, so you don't have to worry about getting a time and a date when you only want the date. And, as a bonus, you'll get it in the format that you want.
Let's get started!
With the Drupal Book module, it is possible to create collections of related pieces of documents presented in a hierarchy. This format is suitable for handbooks and tutorials, for example.
Notice: This module is not for creating ebooks.
The Book module comes by default (disabled) with Drupal core modules, so there is no need to download or install anything additional on your system.
Keep reading to learn how to use this module!
Let's take a look!
Sometimes, when developing a site with many content types, it can happen that your Drupal system may slow down “a little bit”. In most cases, that has nothing to do with Drupal itself, but it lies in the lack of resources of your local environment.
In those cases, it helps to save time by avoiding one or two clicks (that implies one or two page-loads) on the backend of your Drupal site.
The Drupal Coffee module provides a floating text box, which filters the results of the backend menus, according to the user’s input, whereas the Admin Toolbar module turns the default Drupal Toolbar into a dropdown menu.
Keep reading, to learn how to use these modules!
I've never understood why you can't schedule the publication or unpublish a node in Drupal. WordPress does it. Joomla does it. Well guess what - Drupal does it too!
In this video, I'm going to show you how to use the scheduler module to publish and unpublished nodes on your schedule. Now, you won't have to go to work at midnight on Friday night!
There are cases, in which you do not need full e-commerce functionality (like Drupal Commerce) in your Drupal site, because you only sell a few products and the implementation of such a solution is financially and/or timely not viable.
PayPal allows you to create as many buttons as you like and embed them on your site through an HTML snippet.
This snippet will be then hardcoded at the template (theme) level on your Drupal system. This is not the most accurate solution for this problem, however, it is the quickest and simple to implement.
Keep reading to learn how!
One of the great things about Drupal's new media manager is the ability to easily see all the media you're using on your website.
What if you want to replace one of those images or even more likely a PDF that needs to be updated?
Well in this OSTip, I'm going to show you how.
You can create your own Digital Asset Management System right inside your Drupal 8 website using nothing but core modules. Watch our video and learn how!
This service provides additional protection by detecting if the user accessing your site is a real person or a robot.
Keep reading to learn how to use this module!
The default Content overview in Drupal is a view. You can perform actions on multiple nodes by selecting one of them from the dropdown and applying it in bulk.
The Views Bulk Operations module for Drupal 8 enhances this list of actions by adding some more actions to it. For example, you can change the author or delete the comments of one or multiple nodes with just one click.
Keep reading to learn how to use this module!
The Sidr module for Drupal 8 allows site builders and themers to add one or more sliding menus to their sites in a very uncomplicated way. It makes use of the open-source Sidr jQuery library. Keep reading if you want to learn this useful module!
Keep reading to learn how!
Subthemes inherit the theme resources of their parent theme. If you want to build your site with Bartik, which is the default theme in a Drupal installation, you will have to create a subtheme. That way, you can make CSS, JS or template overrides to the subtheme, without having to worry about losing those changes when the parent theme gets updated.
Keep reading to learn how!
Mega menus are not a design trend anymore, but an essential part of most of the websites related to news or eCommerce.
The Menu Item Extras module for Drupal 8 improves the default menu system in Drupal, by allowing the site builder to add fields to the menu items. That way, it is possible to create a mega menu with a couple of simple steps.
Follow along to learn how to use this module. Let’s start!
One of the important aspects of keeping your Drupal 8 site up-to-date, secure and performing well is to remove unused modules.
There are a number of reasons why you would want to do this:
- Security - Every module should be kept up-to-date. If you're not using a particular feature, you're just giving yourself more work to do.
- Performance - Drupal is an event-based CMS so at every point in the page-build process, Drupal is checking to see if any module on your site wants to do something. All of this adds up!
- Site clutter - The "Extend" menu is long enough! Not to mention any configuration menu items that a module might add.
- Fluff - Some modules just don't belong - Some development modules such as Devel should never be on a production server. It's always best to remove those completely.
The best solution, of course, is to add it to the theme (preferably a sub-theme); however many times site builders and editors don't have access to the codebase of a Drupal site.
To accomplish this, you can use the Asset Injector module. This module combines CSS Injector and JS Injector from Drupal 7 into one.
Let's get started
Drupal is well known for its flexibility in managing and presenting content. Drupal View Modes allow you to render (display) a Drupal entity or entities (like nodes) in a certain way, based on a particular context.
This tutorial will demonstrate the usage of Drupal View Modes with an example. We will install and also use the modules Field Group and Display Suite.
Let’s get started!
When Layout Builder was introduced into Drupal 8 Core, it gave Site Builders a tremendous amount of flexibility previously reserved for Front End Developers (or Themers). While it represents a major leap for Drupal, there are still some shortcomings in the module, and that's where some great additional contributed modules are really helping.
In this blog post, we will highlight three of the best modules currently available. (Note: more are being added all the time!). For a complete list of contributed modules for Layout Builder, visit https://www.drupal.org/docs/8/core/modules/layout-builder/additional-modules.
For years, Drupal site builders have endured a less than great experience with any media they wanted to use. It was difficult to manage and reuse images; let alone video, audio, and other media. A number of excellent contributed modules tried to bridge that gap in Drupal 7; however Drupal 8 committed to having a media manager in core.
As of December , that wait is over with the Media module now officially out of "experimental" and fully integrated into Drupal core.
Popular New Posts
All our blog posts are published under the Creative Commons Attribution-NonCommercial license:
- You can re-use these tutorials.
- You can modify these tutorials.
- You must link back to our original tutorial.
- You can't use these tutorials commercially.
Full license details.
drupal 9 development tutorial
Michaels Stickers Letters, North Parade, Falmouth, Premier League 2 Live Stream, Lee's Summit West Baseball Schedule, 12th Man Flag Raiser , Glenn Jacobs Campaign,
Installing Drupal 9 "Core Layout Builder" Tutorial
The Drupal Core Layout Builder module allows you to customize the design of entities such as content types, taxonomy, users, etc… with a new drag-and-drop interface. This is different from our commercial Drupal layout builder "DXPR Builder" because our product is only used to author and edit content, not content types.
Content editors always look for an easy-to-use experience when it comes to page building. Drag-and-drop and WYSIWYG tools are something they expect when they want to create and design pages. Drupal Core Layout Builder offers this exact experience with its easy-to-use page building capability in Drupal core.
Drupal Layout Builder allows you to select multiple sections for your page. For example one column, two columns, three columns and four columns, and you can specify each column's width.
Drupal Core Layout Builder can be used in two separate ways. It can be used to create a layout for each entity type on the website, and also to create a layout for an individual piece of content.
Enabling Drupal Core Layout Builder Modules from Drupal Core
Go to Extend and enable both Layout Builder and Layout Discovery module from Drupal core
Or, if you use Drush run the following command to enable it:
drush en layout_builder
drush en layout_discovery
1. Use Drupal Core Layout Builder to Customize Entity Type
1. Once you are ready with enabling the modules, navigate to Structure, Content types and click on “Manage display” for any content type. For now we will use the “article” content type.
2. Scroll to the bottom; collapse Layout options and select “Use Layout Builder” then click on Save.
3. Once you’ve completed the above step, you can see a “Manage layout” option instead of field formatters.
4. Click on “Manage layout” to go to the article content items, and the layout builder page.
2. Adding Sections to Layout Builder
1. Let's add a few sections to our layout by clicking on the “Add Section” option. You will be provided with layout options for your section, on the right side of the screen. For now, let's select “Three column section”.
2. Once we select the “Three Column” section for our layout, it will display some variants, let's select “25%/50%/25%” for our layout.
3. The layout with your selected width for each column is presented.
3. Add Blocks to the Section Regions
After choosing your section for the layout, you can add blocks to your section. To add a block just click on “Add Block” and the “Choose a block” option will slide out from the right.
Let’s select the "Authored by" field to be displayed in our column
Let's add an image field for the second column and a custom block for the third column and save our changes by clicking the “Save Layout” button at the top.
After saving this layout, if you visit an article content type page, you will be able to see a preview of the layout which you just built.
4. Override Default Layout
The Drupal layout which we just built for the article content type will be applicable to all the article content. If you want to build a customized layout for a particular article, you have to enable “Allow each content item to have its layout customized.” option in "Manage display".
Now when you visit any article view page, you will see "Layout" as a local task tab.
5. Restricting Layouts and Blocks
You can use contrib module Layout Builder Restrictions, to restrict layouts and disable the unwanted/unused layout from your layout builder
Install the modules using Composer, and enable it them your project, once done you will get the new "Default restriction" option in Manage Display of your entity
1. Blocks available for placement (all layouts and regions)
Under this option, you can control certain blocks, and whether they should be displayed in your selected layout builder.
For example, in the below screenshot, we are restricting only two fields from the content fields to be displayed in the layout builder, so "Authored on" and "Body" fields will not be displayed in the layout builder.
The "Authored on" and "Body" fields are not displayed, because they are restricted under content fields.
2. Layouts available for sections
In this option we can restrict particular layouts to be selected in our layout builder, so we will have the layout we need instead of all the layouts
For example, we will select a Two Column and Three Column layout to be used in our layout builder, so we will get only Two Column and Three Column layout options to be used in our layout and not all layouts.
6. Applying Styles for Layout Builder
You can use contrib module Layout Builder Styles, to allow users to apply styles to their layout builder blocks and sections.
Install the module using Composer, and enable it in your project. Once done you will need to visit the modules configuration page - /admin/config/content/layout_builder_style, where you can add a layout builder style.
You can specify multiple classes for a layout builder style, and select type either block or section. Let's select a section.
Now when you visit the your layout builder page and edit any of the sections, you will get a Style field with the style which we created earlier
Now the CSS will be applied to your entire section, in the style which we have selected.
9 tutorial drupal
Before you can do that To complete this action, sign in to your Community account or create a new one.
The author selected the Diversity in Tech Fund to receive a donation as part of the Write for DOnations program.
DDEV is an open-source tool that uses Docker to build local development environments for many different PHP frameworks. Using the power of containerization, DDEV can greatly simplify how you work on multiple projects that use multiple tech stacks and multiple cloud servers. DDEV includes templates for WordPress, Laravel, Magento, TYPO3, Drupal, and more.
Drupal 9 was released on June 3, for the Drupal CMS. Known for its ease of use and a massive library of modules and themes, Drupal is a popular PHP framework for building and maintaining various websites and applications of all sizes.
In this tutorial, you will begin developing a Drupal 9 website on your local machine using DDEV. This will allow you to build your website first, and then later, when you are ready, deploy your project to a production server.
To complete this tutorial, you will need:
Note: It is possible to develop Drupal 9 using DDEV on a remote server, but you will need a solution to access in a web browser. The DDEV command works with ngrok, which creates a secure tunnel into your server for you and other stakeholders to view your development site. For personal use, you could also install a GUI on your remote server and access your development site through a web browser inside that interface. To do this, you could follow our guide on how to install and configure VNC on Ubuntu For an even quicker GUI solution you can follow our guide on how to set up a remote desktop with X2Go on Ubuntu
Step 1 — Installing DDEV
In this step you will install DDEV on your local machine. Option 1 includes instructions for macOS while Option 2 provides instructions for Linux. This tutorial was tested on DDEV version
Option 1 — Installing DDEV on macOS
DDEV advises that macOS users install their tool using the Homebrew package manager. Use the following command to install the newest stable release:
If you prefer the absolute newest version, you can use to install :
If you already have a version of DDEV installed, or if you ever wish to update your version, shut down DDEV and use to update your installation:
Once you have installed or updated DDEV, run to verify your software:
You will see an output like this:
DDEV includes a powerful CLI, or command line interface. Run to learn about some common commands:
You will see the following output:
For more information about using the DDEV CLI, visit the official DDEV documentation.
With DDEV installed on your local machine, you are now ready to install Drupal 9 and begin developing a website.
Option 2 — Installing DDEV on Linux
On a Linux operating system, you can install DDEV using Homebrew for Linux or using the official installation script. On Ubuntu, begin by updating your list of packages in the package manager (you can use in Debian, otherwise use the equivalent package manager associated with your Linux distribution):
Now install some prerequisite packages from Ubuntu’s official repository:
These packages will allow you to download the DDEV installation script from their official GitHub repository.
Now download the script:
Before running the script, open it in or your preferred text editor and inspect its contents:
Once you have reviewed the script’s contents and you are satisfied, save and close the file. Now you are ready to run the installation script.
Use the command to make the script executable:
Now run the script:
The installation process might prompt you to confirm some settings or to enter your password. Once the installation completes, you will have DDEV available on your Linux operating system.
Run to verify your software:
You will see an output like this:
DDEV is a powerful CLI, or command line interface. Run without anything else to learn about some common commands:
You will see the following output:
For more information about using the DDEV CLI, you can visit the official DDEV documentation.
With DDEV installed on your local machine, you are now ready to deploy Drupal 9 and begin developing a website.
Step 2 — Deploying a New Drupal 9 Site Using DDEV
With DDEV running, you will now use it to create a Drupal-specific filesystem, install Drupal 9, and then initiate a standard website project.
First, you will create a project root directory and then move inside it. You will run all remaining commands from this location. This tutorial will use , but you are free to name your directory something else. Note, however, that DDEV doesn’t handle hyphenated names well. It is considered a best practice to avoid directory names like or .
Create your project root directory and navigate inside:
DDEV excels at creating directory trees that match specific CMS platforms. Use the command to create a directory structure specific to Drupal 9:
You will see an output like this:
Because you passed to your command, DDEV created several subdirectories and files that represent the default organization for a Drupal website. Your project directory tree will now look like this:
A Drupal 9 directory tree
will be the main folder for the ddev configuration. will be the docroot for your new project; it will contain several specific files. You now have the initial scaffolding for your new Drupal project.
Your next step is to initialize your platform, which will build the necessary containers and networking configurations. DDEV binds to ports and , so if you are running a web server like Apache on your machine, or anything else that uses those ports, stop those services before continuing.
Use the command to initialize your platform:
This will build all the Docker-based containers for your project, which include a web container, a database container, and phpmyadmin. When the initialization completes you will see an output like this (your port number might differ):
Note: Remember that DDEV is starting Docker containers behind the scenes here. If you want to view those containers or verify that they are running, you can always use the command:
Alongside any other containers that you are currently running, you will find four new containers, each running a different image: , , , and .
has successfully built your containers and given you an output with two URLs. While this output says that your project “can be reached at and ,” visiting these URLs right now will throw an error. Starting with Drupal 8, the Drupal core and the contrib modules function like dependencies. Therefore, you’ll first need to finish installing Drupal using Composer, the package manager for PHP projects, before anything loads in your web browser.
One of the most useful and elegant features of DDEV is that you can pass Composer commands through the DDEV CLI and into your containerized environment. This means that you can separate your machine’s specific configuration from your development environment. You no longer have to manage the various file path, dependency, and version issues that generally accompany local PHP development. Moreover, you can quickly context-switch between multiple projects using different frameworks and tech stacks with minimal effort.
Use the command to download . This will download Drupal core, its libraries, and other related resources and then create a default project:
Now download one final component called Drush, or Drupal Shell. This tutorial will only use one command, and this tutorial provides an alternative, but is a powerful CLI for Drupal development that can improve your efficiency.
Use to install :
You have now built a default Drupal 9 project and installed . Now you will view your project in a browser and configure your website’s settings.
Step 3 — Configuring Your Drupal 9 Project
Now that you have installed Drupal 9 you can visit your new project in your browser. To do this, you can rerun and copy one of the two URLs that it outputs, or you can use the following command, which will automatically launch your site in a new browser window:
You will encounter the standard Drupal installation wizard.
Here you have two options. You can use this UI and follow the wizard through installation, or you can return to your terminal and pass a command through . The latter option will automate the installation process and set as both your username and password.
Option 1 — Using the Wizard
Return to the wizard in your browser. Under Choose language select a language from the drop-down menu and click Save and continue. Now select an installation profile. You can choose between Standard, Minimal, and Demo. Make your choice and then click Save and continue. Drupal will automatically verify your requirements, set up a database, and install your site. Your last step is to customize a few configurations. Add a site name and a site email address that ends in your domain. Then choose a username and password. Choose a strong password and keep your credentials somewhere safe. Lastly, add a private email address that you regularly check, fill in the regional settings, and press Save and continue.
Your new site will load with a welcome message.
Option 2 — Using the Command Line
From your project’s root directory, run this command to install a default Drupal site using :
This will create your site just like the wizard will but with some boilerplate configurations. Your username and password will be .
Now launch the site to view it in your browser:
You are now ready to begin building your website, but it is considered best practice to check that your permissions are correct for the directory. While you are working locally, this is not a significant concern, but if you transfer these permissions to a production server, they will pose a security risk.
Step 4 — Checking Your Permissions
During the wizard installation, or when your welcome page first loads, you might see a warning about the permissions settings on your directory and one file inside that directory: .
After the installation script runs, Drupal will try to set the directory permissions to and for all groups: this is a permissions setting. It will also attempt to set permissions for to , or . If you encounter this warning, run these two commands from your project’s root directory. Failure to do so poses a security risk:
To verify that you have the correct permissions, run this command with the , , , and switches:
Check that your permissions match the following output:
You are now ready to develop a Drupal 9 website on your local machine.
Step 5 — Creating Your First Post in Drupal
To test some of Drupal’s functionality, you will now create a post using the web UI.
From your site’s initial page, click the Content button on the upper menu’s left-hand edge. Now click the blue add content button. A new page will appear. Click Article, and another page will appear.
Add whatever title and content you like. You can add an image, too, like one of DigitalOcean’s wallpapers. When ready, click the blue save button.
Your first post will appear on your website.
You are now developing a Drupal 9 website on your local machine without ever interacting with a server, thanks to Docker and DDEV. In the following step, you will manage the DDEV container to accomodate your workflow.
Step 6 — Managing the DDEV Container
When you have finished developing your project, or when you want to take a break, you can stop your DDEV container without worrying about data loss. DDEV can manage rapid context-switching among many projects; this is one of its most useful features. Your code and data are always preserved in your project directory, even after you stop or delete the DDEV container.
To free up resources, you can stop DDEV at any time. From your project’s root directory, run the following command:
DDEV is available globally, so you can run commands from anywhere, as long as you specify the DDEV project:
You can also view all your projects at once using :
DDEV includes many other useful commands.
You can restart DDEV and continue developing locally at any time.
In this tutorial, you used Docker and the power of containerization to develop a Drupal site locally, with the help of DDEV. DDEV also integrates well with numerous IDEs, and it provides built-in PHP debugging for Atom, PHPStorm, and Visual Studio Code (vscode). From here, you can also learn more about creating development environments for Drupal with DDEV or developing other PHP frameworks like Wordpress.
The module system in Drupal 9 is virtually identical to the Drupal 8 module system (so if you’re coming from that ecosystem, this shouldn’t be a big jump!) However, if you’re coming from an older version of Drupal (like Drupal 7) then there are going to be some really significant differences. This post is all about preparing you for the new experience!
What is a module and why do you care?
Drupal core provides a super robust set of features out of the box. Thanks to the configuration management system you can tweak and build a lot of features for common, modern websites without ever writing a line of code. That’s super cool!
BUT there are a lot of things you might want to do that you just can’t out of the box. Let’s take generating a sitemap.xml file for SEO as an example. Drupal provides no mechanism for doing this. Instead, you need a module. Now, thankfully, in this particular example there are community created modules (contrib modules) that have been created for this purpose. For a sitemap, I typically recommend the simple sitemap module.
However, you can’t always find a module for “everything.” Sometimes there are specific features required for a site, proprietary data changes, etc. that only apply to “your” code that you still need. That’s where a custom module comes into play!
A module, at its very simplest, is a folder and one or more files that define the module for Drupal and provide functionality.
- 20 x 35 house plans
- Fabulous en español
- Incubus demon
- Monster hook shackle
- Seattle accident yesterday
- Pink and grey hand towels
Drupal is a free, powerful content management system that lets you create custom websites, blogs, portals, and more. It has all the features you need to build a fully functional website, is highly customizable, scalable, and free to use.
In this step-by-step Drupal tutorial, we will show you how to build a website using the latest version of the Drupal CMS which at the time of this writing is Drupal 9.
However, using Drupal is not as easy as creating a website with WordPress or website builders. While it’s not that hard to pick up, to really customize your site, knowledge of HTML and CSS would be helpful.
Here’s what this Drupal 9 tutorial for beginners will deal with:
All clear? Then let’s get started.
What Kind of Websites Can You Built With Drupal?
Before getting into the tutorial part of this post, let’s have a quick look at what Drupal can do for you. If this is the first time using this CMS, you might be asking yourself what exactly Drupal is suitable for. It turns out, Drupal can be used to create almost any kind of website:
- Personal or business websites
- Blogs and news websites
- Potfolio, art, music, and multimedia sites
- E-commerce sites and online shops
- Social networking sites
This versatility has resulted in the fact that a number of prominent users rely on Drupal to power their websites, including:
You can find additional examples in the Drupal showcase section.
To summarize, whatever website you are aiming to build, Drupal allows you to do so. And as a Drupal user, you will be in good company.
Let’s now have a look at how the CMS can help you.
1. Find Web Hosting for Your Drupal site
Before you can build a website, you need a place where it is located and reachable aka web hosting.
Already have hosting? Move on to step 2 of the Drupal tutorial.
In hosting, you need to consider four main factors:
- Uptime – Uptime percentage shows how much of the time your site will be up and running. We recommend that you choose something that meets or exceeds the industry standard of %.
- Page load speed – You should choose a host that loads faster than ms, which is the current average.
- Customer support – You’ll have to sort out issues with support at some point. Consequently, it makes sense to choose a host that has high-quality and responsive customer support.
- Price – Hosting services vary widely in price. Choose the one that you can afford and also that has satisfactory ratings on the first three factors.
To make things easier, we’ve compared over 40 different web hosting providers. You can check our list of the top 10 web hosting providers to find the right option for you (for building a Drupal site, we especially recommend Bluehost).
Most providers should have the right system requirements for Drupal (see the documentation). The best among them (e.g. Bluehost) also have “one-click-install” for CMS like Drupal and Joomla, so you don’t need to mess with the manual installation.
2. Run Through the Drupal Installation
There are two ways to install and set up a Drupal website: One is to use a web hosting company with a “quick install” option. The other is to download and install Drupal manually. We’ll explain both options in the following.
2a. Install Drupal Automatically on Bluehost.com (Quick Install)
Let’s start with a tutorial on how to install Drupal automatically. Once you’ve signed up and grabbed a domain at Bluehost, log into your account and click Advanced.
Then scroll down and click Portals/CMS.
From there, use the search field in the upper left corner to search for Drupal and click on the result when you have found it. Then, hit Install Now.
Doing so will get you to this screen:
Select Quick Install in the upper right corner. This will take you here:
You’ll notice that your Bluehost domain is already set up in the default settings. It’s best to leave everything as is unless you know what you’re doing.
Fill in your admin username, password, and email address. After that’s done, just click Install. Before the installation can continue, you will likely get a message like this:
That’s normal, so don’t worry about it. It’s just talking about the default files present in your Bluehost installation. Simply check the box and click Install again. The installation will then start.
After it is finished, you’ve successfully installed Drupal on your Bluehost domain and you can use the displayed links to check out your new site and get to the login screen. Well done!
2b. How to Install Drupal Manually (Any Web Host)
If you are not using Bluehost or a web host that can automatically install Drupal, you can also set it up manually. It’s quite straightforward.
Download the Files
As the first step, go to the download section of the official Drupal website and hit the big blue button.
Once on your hard drive, unzip the file you just downloaded. Then, connect to your server via FTP (e.g. with FileZilla) and start uploading its contents to the server location that your domain is pointed at (usually the root directory). This will take a bit.
Create a Database for Drupal
In the meanwhile, navigate to your host’s management panel for MySQL databases. Here, be sure to create a dedicated database for your Drupal installation. While the process will be slightly different depending on your provider, you should end up with the following:
- Database name
- A user name with all privileges for that database
- The user’s password
- A database host address
Keep all of this information handy, you will need it soon.
Run the Installation
Once the files have finished uploading, navigate to your site domain. Doing so will start the Drupal installation process.
The first step is to choose the language you want your site to operate in. Take your pick and click Save and continue.
After that, you need to choose your so-called installation profile. This determines whether some of your site features will be pre-configured or not. The choices here might differ depending on the distribution of Drupal you are using. Again, make your choice and move on.
For this tutorial, we go with the standard Drupal profile. If you are more experienced, you may also use a minimal option.
In the next step, the installation checks whether your environment is sufficient to run the software. Any problems will show up as warnings so you can address them. Continue when you are satisfied.
Now it’s time to put the database information to use that you collected earlier. Input the database name, user name, and password. If your MySQL host address is not localhost, you can change it under Advanced Options. In the same place, you can also assign a database prefix if needed (for example, when you have several sites in one database). Save and continue once you are done.
After that, the actual installation begins.
The final step is to set up some basic information about your site.
Here’s how to fill it in.
- Site name — The name of your website. You can change this later on, so don’t get too hung up on getting it right.
- Site email address — The email address from which users will receive site notifications.
- Username — The user name of your sites’ main admin account.
- Password — Select a strong password to keep your account safe and don’t forget to confirm it once more.
- Email address — The email address associated with your main user. Drupal will automatically fill in the site email address, change it as needed.
- Default country — The default country for your site.
- Default time zone — The time zone your site will use for displaying dates and similar information.
In the end, you need to decide whether your site should check for updates automatically and notify you if any are available. When satisfied, save once more and you are done with the installation.
3. Get to Know the User Interface
After you have finished the installation process, this is what your newly created Drupal site will look like:
When logged in (you can always get to the login screen via http://yourdomain.com/user/login), at the top of the screen, you see links to all parts of the back end where you can make changes to your site. We will use a bunch of them in the course of this Drupal tutorial, but for understanding’s sake, let’s quickly highlight what each of them contains:
- Content — Here, you can create basic content like posts and pages. It is also where you take care of comments and find your site’s media library.
- Structure — This is where you manage all structural elements of your site including blocks, forms, content types, menus, and taxonomies.
- Appearance — It contains the settings for themes and other appearance-related options as well as site updates.
- Extend — Under this menu, you can install, update, and uninstall Drupal modules.
- Configuration — Gives you access to your site settings.
- People — Contains options for users, roles, and permission levels.
- Reports — Here, you find logs, update information, status reports, errors, search phrases, and other information about your site.
- Help — The central hub for helpful information about basic site administration as well as any modules installed on your site.
By the way, under Shortcuts, you can define your own links to parts of the admin interface that you use often.
That way, you can improve your workflow and make it faster. All clear? Then let’s put this new knowledge to good use.
4. Change Your Drupal Site’s Theme
At the bottom, you see the front end of your site, meaning what your visitors will see. Right now, it’s still a bit bland, so the first thing you want to do is change the default theme that your site comes with to something else. You find an option for this under Appearance > Install new theme.
Find a Theme in the Directory
However, unlike other content management systems, it is not possible to find themes from inside the Drupal back end. For that, you need to go to the official Drupal theme directory, for which you also find a link at the top of the theme installation page.
At the time of this writing, you have a choice of more than 2, themes. The directory gives you several ways of filtering them so you can find what you are looking for.
However, you might still be overwhelmed by the sheer number. In that case, it’s good to start off with one of the many best-of lists found on the web. Reviewing themes is a bit beyond a Drupal tutorial for beginners.
When choosing a theme, make sure it fits your level of technical ability, allows you to create the design vision you have in mind, and is mobile responsive (a must these days). All themes in the directory also have their own page where you can read up on their details and check out a live demo.
Install the Theme on Your Drupal Site
When you have found the right one, installing it on your site is quite easy. Either download the theme from the directory (you find options at the bottom) or right-click the download link and copy its location.
After that, you can use either the file or the URL to upload the theme to your site.
After that, you still need to install it from the Appearance tab and activate it (called Set as default in Drupal).
When you have done so and you go back to your site (there is a button in the upper left corner), you can see the new theme in action.
5. Configure Your Theme
Once you have installed and activated a new site theme, you find it at the top of the list in the Appearance menu. Most themes come with configuration options that you can access by clicking the Settings link next to them. Alternatively, use the Settings tab on top and then pick the theme that you want to edit.
Both get you to this screen.
Here, you are able to make any changes that your theme offers and, depending on your theme, even preview it at the same time. This can be to change the color scheme, enable/disable user pictures, upload logos and favicons, set backgrounds, filters, and a lot more. When you build a website with Drupal, definitely make sure to swing by here so you can take advantage of everything your theme has to offer.
While You Are at It, Change Your Admin Theme as Well
Drupal not only allows you to change the front end of your site with themes, but it also offers the same possibility for the back end. One thing you can try out is the experimental new back-end default theme called Claro that Drupal 9 ships with. You can find it under Uninstalled themes in the Appearance menu.
To use it, click the Install link to get it onto your site (you will have to confirm your choice because it’s currently experimental) and wait for the installation to finish. After that, you can choose the new back end theme from the drop-down menu under Administration theme.
When now save the configuration, the back end looks a lot more modern and elegant.
There are other admin themes, you can find additional examples here. Some of them also come with their own modules to add extra functionality.
6. Set Up a New Front Page
Now your site looks better but it is still pretty empty. Changing that is the next step in our Drupal tutorial.
Create a Page and Fill it With Content
For starters, we want to create a front page so that visitors get to see something when they swing by. For that, go to Content > Add content > Basic page. It will take you to this screen:
Here, you are able to create content with a basic editor. At the top, you have the option to define a page title that will also appear on your site.
Below that, you find a link that says Edit summary. When you click it, it gives you the option to provide a summary for your post or page. This is kind of like an excerpt that will appear in certain parts of your site.
Below that, there is the option to input and format the body text. For example, you can make the text bold and italic, add and remove links, create lists, define block quotes, insert images, and use the drop-down menu to define headings. Additional options such as inputting tables or horizontal dividers are available when you switch to Full HTML at the bottom.
If you have ever worked with a word processor or any other content management system, you should find your way around quickly and be able to put together the content you want.
Once you are done, make sure that on the right side under URL Alias, you define a slug or URL ending for your page. This happens simply by inputting something like /front-page into the field.
After that, at the bottom, save the post and make sure that the box before Published is ticked.
So far so good.
Define as Front Page
In order to use your new page as the front page, you now have to go to Configuration > System > Basic site settings. Here, under the Default front page, input the same slug that you just defined for your new page.
Once you have done that and saved the configuration, your content should show up on the front page of your Drupal site.
7. Create Another Page and Add It to the Menu
As a next step, we now want to create an About page and add it as a menu item. The first few steps are the same as before. Create a basic page, populate it with content (if you want to know how to create a killer about page, read this post) and set a slug (e.g. /about).
However, this time, before publishing, make sure to click on Menu Settings and tick the box that says Provide a menu link.
Here’s how to fill in the settings that appear:
- Menu link title — This is the text of the link that users will see on the navigation menu. Make it something instantly recognizable. In this case About Me is a good choice.
- Description — An optional description that will appear when someone hovers their mouse over the menu link. It can say something like Find out more about what I have to offer.
- Parent item — If you have other menu items already, this setting allows you to create sub-items.
- Weight — With this setting, you can determine the order of your menu items. The higher the number the further in front they will appear.
Once you are satisfied with your settings, save the page (with Published active). Drupal should automatically take you back to your front end where you will see both your new page and the new menu item.
But wait, what if the menu is in the wrong order? No problem, simply hover over it and then click the pen icon that appears. This should give you the option to choose the Edit menu.
When you do, you get to the screen below.
Here, you can simply drag and drop the menu items into the order that you want via the icon on the left. Save when you are done to translate the changes to your site.
Last tip: you can also use the Add link button on top to manually add more pages to the navigation menu and you can also get to this menu via Structure > Menus.
8. Make a Blog and Start Posting
Of course, many people who want to create a website also want to start a blog. Naturally, as a proper CMS, Drupal also has functionality for that, which is what this tutorial will deal with next.
Write Your First Article
In order to set up a blog, we will first create some content. Because what is a blog without content? An empty page.
Creating blog content in Drupal is not all that hard. When we were putting together pages earlier, you might have already seen that besides the Basic page, there is a second type of content called Article.
This is to create less static content like press releases, updates, and — you guessed it — blog posts. It works pretty much the same way as pages: simply create a new article, enter a title, summary, and content, add the URL ending, and publish it.
However, there are some differences. In contrast to basic pages, articles also come with comment settings on the right (by default, comments are enabled) and the ability to add tags and a featured image at the bottom (browse, upload, and add an alternative text).
Besides that, under URL alias, you should consider including the blog address into the URL, so something like /blog/post-title if that’s how you want to organize your content. Otherwise, your blog articles will simply appear under http://yourdomain.com/post-title. Under Authoring information can also change the publishing date and time, in case that becomes relevant.
Here is the finished result:
Set Up a Blog Page
Once you have created a blog post, it’s now a matter of making it show up on the page. So far, anyone who knows the link can see it, however, wouldn’t it be nice to have all blog posts displayed in one place and ordered chronologically? Exactly.
For that, we have to create a so-called View. This is what Drupal calls lists of content and creating them is not that hard. You find the option for them under Structure > Views.
Configure the View
Here, click Add view to get to this screen:
Here’s how to fill in the View basic information:
- View name — This is the name that will show up in the Views menu to help you identify it.
- Description — This, again, shows up in the Views menu as an explanation for what the view does. Filling it in is optional.
Under View settings, you want to pick to show Content of the type Article sorted by Newest first. This way, your latest blog post will always be at the top.
After that, it’s time to move on to Page settings:
- Create a page — Enable this to have Drupal create an individual page for this view.
- Page title — The title of the page. In this case, a Blog is probably appropriate.
- Path — The page’s URL ending. Again, a blog is an obvious choice. Be sure to make it the same as what you have chosen in the post if you entered anything there.
- Page display settings — Choose in which format to display posts (grid, HTML list, table, unformatted list) and what part to show (teasers, titles, linked titles, or fields). In this case, we went with an Unformatted list and Teasers.
- Items to display — How many posts you want to show on the page.
- Use a pager — Whether to include pagination for this view.
- Create a menu link — We’ve covered this earlier in the part of the tutorial on Drupal menus. Just don’t forget to pick your main navigation from and configure a link title (may we suggest Blog?).
Hit Save and edit and then you should find your newly created blog on the front end of your page.
9. Learn to Delete and Modify Content
If you ever want to make changes to or get rid of any of the pages or articles you have created, there’s nothing easier than that. Simply go to the Content menu to see a list of all content on your site.
If you have a lot of it, use the filter options at the top to find what you are looking for by title, content type, publishing status, or language.
On the right side, click the Edit button to get back to the editing screen for an individual content piece. Alternatively, click the drop-down button to access the Delete option.
You can also make changes to multiple items at once by checking the little boxes on the left side and choosing an action from the drop-down menu above.
Besides publishing, unpublishing, and deleting content, you can also make it sticky, unsticky, promote it to the front page or remove it from there as well as save content to update its timestamp. Don’t forget to click the Apply to selected items button to actually implement your changes.
Activate and Deactivate Default Modules
Alright, by this point in the tutorial, you should have a basic understanding of how to get around Drupal. If you have ever worked with a content management system or website builder before, it should be pretty familiar. However, the system can do a lot more and be extended for any type of purpose.
For that, you will most likely use modules. As mentioned, these are little programs that can add all sorts of features and functionality to your Drupal site. The core software comes with a bunch of them that you can find under Extend.
Not all of the modules will be installed and active by default. To change that, simply tick the box in front and then scroll down and hit Install. The CMS will then take care of the rest.
Conversely, any modules you no longer need, you can get rid of under the Uninstall tab.
It basically works the same way as installing them, only in reverse. Uncheck any undesired extensions, then scroll down to hit Uninstall.
Add Contributed Modules
Besides the default modules, there are also a lot of options available from third-party developers. Adding them to your site very much works like installing Drupal themes, which we covered earlier in the tutorial.
First, you need to find modules you like in the official directory. Once you have settled on one, either download it or copy its location. You can then add it to your site via Extend > Install new module.
There are a lot more modules to choose from than themes, namely 46,+. If you are not sure which of them make sense to install, here are a few great options:
- Token — Tokens are little sections of text placed via a placeholder system. By now, much of the functionality of the Token module has been written into Drupal core, but some modules still require it, like the Pathauto module.
- Chaos Tools Suite — AKA Ctools, allows you to create your own modules as well as forms, dialogue boxes, pluggable content types, and more.
- Pathauto — Drupal’s built-in Path module lets you create URLs by hand. This is annoying to do manually for every post and Pathauto relieves you of that drudgery. You can assign custom replacement patterns and user account page paths so the URLs match your SEO and usability standards. Remember: Pathauto requires the Token and Ctools module.
- Gutenberg — If you are coming from WordPress to Drupal, you might be delighted (or terrified, depending on your opinion) to hear that the new Gutenberg block editor is also available for Drupal. It allows you to editor your site with the help of blocks and is freely available.
- Google Analytics — Fo those who want to use Google Analytics to get information about their site usage, this module will make integration easy.
For more useful Drupal modules, check this article.
Get Familiar With Blocks
Once you have the key contributed modules in place, you may want to add a sidebar with different features. Content like that comes in the form of blocks in Drupal, which we will talk about a bit more at the end of the tutorial. You can place these in different areas as well as adjust their appearance, shape, size, position, and which website pages they appear on.
Check Your Block Regions
Depending on your theme, modules, and other components on your site, you will have access to different kinds of blocks. You can find all the options for managing them under Structure > Block Layout.
Blocks are saved by theme, so at the top, you find a list of the themes that are installed on your site. Below is a list of all the places you can add blocks to, called regions. If you are not sure where all of them are, click the Demonstrate block regions at the top. You will then see a view of your site with highlights and labels for where each block region is.
Add Blocks to Regions
To add one somewhere, simply scroll to the desired region and click Place block. This will give you a list of available options.
When you click Place block next to the one you want on your site, you then get to the configuration options.
These will be slightly different depending on what you are placing. In the case of breadcrumbs, for example, you are able to add a title (and determine whether to show it) and configure the visibility of the block. At the bottom, you are also able to change the region where you want it to appear (in case you picked the wrong one).
Once satisfied, Save block will add it to your site.
Manage Existing Blocks
Of course, you can also change anything you want about blocks that already show up on your site. Use the drop-down menu under Region to move them to another location or simply drag and drop them from one block region to another.
On the right, a click on Configure lets you access the block settings in order to change them. If you click on the arrow icon instead, you get the option to disable or completely remove blocks.
When you have made changes, don’t forget to save them at the bottom of the screen.
Configure Blocks on the Front End
You can also edit particular blocks from the front end of your site. Hover over any of them so that the pen icon appears, click it, and then do a second click on Configure block.
This gets you to the same menu as before.
Here, you are able to change any settings, assign them to a new region, and also remove blocks.
By the way, a click on the Edit link in the top right corner lights all editable elements on the page up with symbols so you can more easily find where to make changes.
Create Custom Blocks
As a final point on Drupal blocks in this tutorial, you should know that you can also create your own custom blocks. This can make sense if, for example, you have information that you want to display in different areas of your site. This could be the opening hours of your business or a particular piece of news you want visitors to see.
If you want that, go to Structure > Block layout > Custom block library (the tab at the top).
Here, hit Add custom block to get to this screen:
Enter a block description so that you and other administrators know what it is about. Then, enter the content you want the block to display in the editor below.
Once you are done, save your custom block. When you do, you can then assign it to different regions on your site in the same way as other blocks.
Check the Latest Drupal Feature: Layout Builder
Like WordPress, Drupal recently introduced a sort of block editor for content design. Since this is such a big new feature, no Drupal tutorial would be complete without mentioning it.
In Drupal’s case, the new editor is called Layout Builder and is one of the core modules, however, it is not installed by default. To remedy that, in the list of modules under Extend, look for Layout Builder and Layout Discovery.
Tick both boxes, scroll to the bottom and hit Install.
Once the Layout Builder is active, you still need to configure what content you want to use it for. For that, go to Structure > Content Types.
Here, you find a list of all content types on your Drupal site (currently it should be the Article and Basic page). Use the drop-down menu at the end to choose the Manage display for whichever content type you want to modify. Another way is to click Edit or Manage fields and then clicking the Manage display tab at the top of the next screen.
Either should take you to the same place. When you have arrived there, scroll all the way down to activate Use Layout Builder and save.
Get to Know the Drupal Layout Editor
Since this is a Drupal beginner tutorial, we will only give you a short overview of what the Layout Builder can do. Basically, it allows you to change the structure of your content types via a drag-and-drop editor.
In the Manage display menu, with the Layout Builder activated, you will now see a Manage layout button that wasn’t there before.
When you click this, you get to an example page for that content type with the possibility to edit its layout.
The editor basically consists of sections and blocks. When you click on the Add section, you have the possibility to choose between different layouts, like different numbers of columns and their dimensions.
Pick one, input a name for the section, and click Add section to include it in the page layout.
After that, you can add blocks to the section with a click on the button of the same name. When you do so, you get another slide-in menu with a list of available blocks on your site as well as the possibility to create custom blocks.
Click one to configure it, then hit Add block to get it onto the page.
You are also able to drag and drop existing blocks around to place them in different locations. Other options include the ability to remove entire sections, configure block settings, and more.
When you are done and click Save layout, the changes will apply to all content of that type. Seems quite practical, doesn’t it?
Use Layout Builder for Individual Pages
In addition to making global changes for specific types of content, you can also use the Layout Builder to make changes to individual content pieces.
For that, make sure you activate the Allow each content item to have its layout customized option under Manage display.
When you do and attempt to edit an existing piece of that type of content, you now get a new Layout tab at the top that takes you to the same editor.
Here, you can make changes for individual content pieces that override the global settings so that they have their own layout.
The abilities of the Layout Builder can be extended by modules and there are additional options. For more information, check the documentation.
Final Thoughts: Drupal Beginner Tutorial
While the above tutorial is enough to give you a solid foundation for building a website with Drupal, keep in mind that it takes some patience to harness its power fully. The learning process takes time and one of the best ways to get more experienced s to play around with the tools and system and figure out how to implement things you want on your site.
In addition to that, if you want a more systematic approach to learn Drupal, the following resources are really helpful:
Whatever you want to learn, the information is likely already out there. So, don’t hesitate to google it until you find it. We hope this beginner Drupal tutorial has helped you take the first step.
Have you tried to set up a website with Drupal? What roadblocks did you hit along the way? Anything to add to the Drupal tutorial above? Let us know in the comments below!