Drupal (current version 9.4.8) is one of the most powerful, full-featured and functional CMS in the world. To be precise, this is no longer just a CMS, but rather an open-source CMF (Content Management Framework). This is a framework created to develop complex web applications and interfaces with a ready-made admin panel. What’s more, Drupal has acquired all the capabilities to work as a headless or decoupled CMS, starting from version 8.
You can build any project with Drupal, including highly reliable and maximally secure banking and government services etc. The system is very flexible and can be customized for any project type. The core is updated regardless of the rest of the code, ensuring a high level of security and performance at any time.
Drupal was released in 2001. The author and current project leader is Dries Buytaert. The system is written in the PHP programming language, using the popular PHP framework – Symfony – as the basis for many functions. Although, Drupal is currently used on 1.2% of websites only (according to w3techs statistics), it is included in the list of top ten most popular engines.
Drupal offers all the necessary tools out of the box: performance reports, access and user role management system, layout builder (works similarly to block-based website builders), moderation system, REST API, built-in function testing system, customizable taxonomies etc.
It’s close to impossible to list all Drupal features, but one thing is clear – this is a corporate-level system developed by professionals. Despite this, Drupal remains completely free and open source. All add-ons to it (there are thousands of them) are also distributed completely for free.
![]() |
|
Pros and Cons
Beginners as well as many experienced webmasters tend to avoid Drupal. The thing is that the entry threshold for this CMS is very high. You need to know and understand a lot to start working with this system. You might have to hire a professional developer without experience and niche knowledge. This automatically results in the increase in project expenses and longer launch time.
But is it really that bad? Actually, no. Otherwise, the system would not be so popular in the world. Let’s review all the key advantages and disadvantages of Drupal below.
Pros: | Cons: |
✔ Highly customizable for different types of projects; ✔ Huge number of development tools built into Drupal core (including various APIs, filtering, testing, data serialization and deserialization systems etc.); ✔ Suitable for use as a Headless CMS; ✔ High core security and individual updates of the main code. All calls and functions are automatically tested; ✔ Ready-to-use distributions (sets) for different types of tasks (for example, you can download a ready-made set with demo data to open a media portal, a blog, a social network, a web store etc.); ✔ Powerful SEO capabilities provided out of the box as well as a sufficient number of niche add-ons; ✔ Confident handling of large data amounts even under heavy loads. There is a built-in caching system and compatibility with any server technologies; ✔ Built-in tools to work with images + plugins and Image API; ✔ Built-in separation of environments into testing and production (you can move all changes from the sample under development to the live configuration with a few clicks); ✔ Multilingual support; ✔ Access control and a system of complex user role distribution. Drupal works great for teamwork; ✔ Interface builder (this is not a Drag-and-Drop solution, of course, but it provides incredible flexibility when working with interface elements for a system of this level); ✔ The system of additional fields and fine-tuning of content types sorting according to various criteria; ✔ Huge number of plugins and sufficient supply of themes. | ✘ Drupal initially targets professional developers as well as large, complex, and high-traffic projects. It is not recommended to use this CMS for small business websites; ✘ The software requires a specific environment and server configuration. For example, the latest versions require Composer (it is not available on all shared hosting providers); ✘ Plugin and template development frequently lags behind core engine updates. Therefore, it may not always be possible to find necessary add-ons for the current core version (version compatibility issue is one of the most serious). ✘ The engine has quite complex support cycles. For example, version 7 support will be active till November 2022 (security updates), while version 8 support has already ended. The current version 9.4 will be supported till December 2022, and active support will then be shifted to version 9.5, followed by 9.6 etc. Active development of version 10 is currently in the process. ✘ It makes sense to test the functionality of external add-ons after their installation (many plugins available in the catalog have bugs and are no longer supported by developers for a long time, they may require source code adaptation). ✘ Multiple ready-made template sets are abandoned. Thus, you won’t be able to quickly get started in certain areas/niches. ✘ Template and plugin installation from the official catalog requires access to the Composer console or manual installation to the corresponding server directories. There is no built-in store for themes/plugins in Drupal, only installation via a link to an archive is available here. |
The above mentioned drawbacks don’t seem that serious for professional developers familiar with Drupal core and features. All of them can be easily solved and handled. The system, however, seems too confusing for beginners because of its solutions, taxonomies and access rights. No one claims, however, that Drupal is a simple and user-friendly CMS system. Instead, it will be just ideal for a certain set of tasks.
Drupal CMS: Minimum Requirements
Regarding the requirements for webmasters and website owners, Drupal is not designed for widespread use. This can be seen from the technical specifications of the software. The developers consciously do not lower the entry threshold for beginners in order to protect themselves from the corresponding audience.
Drupal is a powerful, flexible, and high-performance tool, but only when used professionally. Despite all its shortcomings and difficulties, it will always be in demand as the corporate development market remains as it is.
Drupal target audience includes:
- Experienced web developers and small teams involved in creating custom websites for clients;
- Web agencies of any size that need a quality framework;
- Large and medium-sized businesses that require an efficient management tool and environment for centralized content management.
The corporate sector Drupal is compatible with can be attributed to serious media portals, websites of government companies (government portals), universities, financial and tech companies (it will even suit large banks), large retail websites etc.
Despite the availability of modules for blog/forum organization, launching a small information website on Drupal is not the smartest solution. It is justified only if you need non-standard functionality and complex logic for generating blocks on different web page types.
It doesn’t make any sense to install this CMS for landing pages, business cards and other small websites. It is more logical to use one of the website builders for small business needs (this will be cheaper and faster).
As a result, the minimum requirements for webmasters are high. It will be very difficult to get started without HTML, CSS and JavaScript knowledge as well as without mastering the software features. Much time should be devoted to learning.
Minimum Hosting Requirements
Drupal 9 can work with various types of database servers: MySQL (5.8.3 and above), MariaDB (10.3.7 and above), Percona Server (5.7.8 and above), SQLite (3.26 and above), PostgreSQL (version 10 and above).
Apache 2.4.7 or Nginx 0.7 and above are recommended as web servers.
The minimum PHP version for stable operation is 7.4. Starting with Drupal 9.4, the software supports PHP 8.0 and 8.1.
For the upcoming major Drupal version 10 (currently under development), the minimum required PHP version will be 8.1.
It is desirable to have OPcache and PHP APCu to improve caching.
Starting with the version 9, Drupal recommends using the Composer package manager. It allows installing the software and managing extra extension packages.
How to Use Drupal
Although the Drupal core comes with a fully-featured admin panel that allows configuring all system settings without using the console or accessing the source code, Drupal does not claim to have a beginner-friendly interface.
This admin panel, however, provides full control over all website functions and can easily be customized for different user roles. This happens, for example, when a whole team uses a website. Moreover, many business processes and interactions between employees from different groups/departments can be automated (Workflows and Triggers module combination is required).
The Drupal interface is complex for beginners, but it is convenient for professionals and allows for quick solution of typical tasks.
Getting Started
To install the Drupal distribution kit, it should be initially downloaded from the official website and then unpacked in the root of the basic directory of your website. Many hosts offer one-click Drupal installation (HostGator, for example, surely has such an option).
The classic installation via the web interface is available. It does not differ a lot from the installation of other popular scripts:
- Choose the interface language;
- Specify the initial configuration parameters (minimal, standard – available as a set of the most necessary modules, and a set with demo content, but it is not recommended to use demo content on a real website);
- Configure the connection to the database (various servers are supported, including NoSQL) to initiate the checkout of minimum system requirements;
- Wait for the load of additional modules and for script installation;
- Enter the credentials for the administrator login.
A new recommendation has been introduced in the latest Drupal core versions – Composer availability. With its help, you can manage the dependencies of PHP packages, install templates, add plugins from official repositories etc.
This is how the Composer console commands to install the software with demo data look like:
- composer create-project drupal/recommended-project drupal
- cd drupal && php -d memory_limit=256M web/core/scripts/drupal quick-start demo_umami
We recommend starting with demo content.
If any installation recommendations are violated, the system will notify you.
An important issue for beginners is as follows: if you are interested in a specific sphere of software application, browse the catalog of ready-made Drupal sets. Perhaps, there are comprehensive solutions to your problem there. You won’t have to start from scratch, but with a fully configured and ready-to-work configuration.
Website Editing
This is what you can manage in the admin panel: web page/post content, website structure (tags, categories and other taxonomies), website layout, user permissions, and other script settings. Additionally, you can upload and install add-ons, view reports and activity logs.
Drupal is a control panel.
With the right approach, you should design the layout of different content types (e.g. post pages, archive pages, home pages etc.), determine the blocks they will be composed of, relate each block to its material type etc.
To speed up the process, however, there are pre-installed content types that let you publish your first materials with a couple of clicks.
In the “Structure” section, you can manage contact forms, menus, views, blocks (e.g. widgets in sidebars), taxonomies (tags, categories of materials etc.), material types (articles, pages etc.), and media types.
In the “Content” section, you can create new material, the structure and parameters of which were defined in the “Structure – Material Types” section.
Interestingly, such an approach is very complex for a quick start, but it lets you fine-tune the assets a user with the appropriate permissions can publish as well as the place and way of publishing. You can add any additional fields to the material structure and create a complex design to display each separate parameter.
A recipe page is a simple example. Separate fields can be added to indicate the cooking complexity level, time, main recipe steps, a separate field for ingredients, the number of servings etc.
This can be done for each specific content type. In reality, all subsequent work will be done faster and each input element will be flexibly displayed in the design. Moreover, you can adjust the position and order of any content in block output settings – as in a website builder.
What is remarkable, the publication interface in the new software versions has become very similar to the standard editor of the WordPress engine, where all the necessary elements are found on one page. For example, this includes management of titles, content, publication date (you can set a future date, thus postponing publication), comments, URL synonyms (these are the so-called human-friendly URLs) and even material versions (they are saved automatically).
Website Publishing
If your access rights include the ability to publish materials, then any new material on the website will be available to users immediately after its creation.
However, if the access role logic in your user model is more complex, then new material may undergo moderation, for example, and will be published only at the discretion of users with the appropriate rights.
There is no need to separately publish created pages in Drupal as in multiple website builders.
Nevertheless, the administrator may disable website access during technical maintenance (for example, to install plugins or templates as well as for other tasks). If you are the administrator, make sure that the “Transfer the website into maintenance mode” option is disabled in the settings section.
What is noteworthy for Drupal, there is no need to manually reset the created cache in this CMS. All updates on the website are automatically changed in cached pages.
Features and Flexibility
Even a basic set of modules with the Drupal core can provide the most typical website functions to work with websites of any size or topic. The following features are supported in the standard set:
- Management of user-friendly URLs (without automation, only manual URL output handled by the Path module);
- Image editing (with the GD2 library installed on the server) and optimization;
- Built-in search engine;
- Automatic updates of translations, plugins and the Drupal core;
- Integration with the CRON task scheduler;
- Flexible creation of different content types and additional fields for them;
- Management of taxonomies (categories, tags and other attributes for content filtering);
- Content moderation system and complex access control system (with logging of actions);
- Loading and installation of third-party plugins/templates;
- Multilingual support;
- Built-in testing of functions and calls for automatic detection of weak points, with a convenient monitoring and reporting system;
- Management of interface output blocks like in website builders;
- Built-in caching system and other tools to improving website performance;
- Import/export of website configurations;
- Opportunity to install a website with demo content or download thematic sets;
- Multiple APIs for different tasks – Drupal can be used as a headless CMS;
- Triggers and automation of business processes;
- Built-in modules to build a blog and a forum, help sections, interactive website tours, news aggregators (RSS) etc.;
- Content versioning with automatic revision history storage;
- Bulk management of materials from a list (filtering, deletion, unpublishing, pinning to lists and to the homepage etc.);
- Built-in commenting system;
- Centralized file management related to published content.
If something is not included in the basic set, you can search for alternative plugin combinations. For example, to replace unreadable service addresses, you can configure automatic human-friendly URLs using the Autopath, Ctools, Token and Transliteration plugins.
What’s New in Version 9.4.8?
The release of version 9 of the software has become a direct successor of version 8 (this is just a minor version 8.9.1 in terms of new features, but with shorter support cycles), which has confirmed Drupal transition to object-oriented principles. Other changes observed in version 9 of the software include:
- Composer is now used to manage package dependencies (although it was first introduced in Drupal 8);
- The software is adapted to work with PHP 8 (up to PHP 8.2, with PHP 7.4 being the minimum recommended version);
- Upgrading (migration) from Drupal 8 is easier than ever before in the software history;
- The Layout Builder has been improved, letting content editors create pages without the help of programmers and designers;
- The API-oriented architecture has been improved, including JSON;
- The media library has been improved, making it easier to manage images, videos and other media files;
- Adaptation to GDPR requirements has been completed (including the work with user data);
- The Twig templating mechanism has been updated from version 1 to version 2;
- API-first, Headless CMS and microservices principles have been prolonged;
- The process automation system keeps developing via integration of the Workflows plugin into the Drupal core;
- CKEditor has been updated from version 4 to version 5. All internal checks and tests have been adapted for compatibility;
- The outdated Bartik theme, which was used as the default template for a long time, has been replaced with the more contemporary Olivero theme (starting with Drupal 9.1). The admin panel now uses the Claro theme;
- The use of jQuery UI and jQuery libraries in the system is gradually replaced with native JavaScript code and the Drupal/once library;
- Many API functions are being replaced with services;
- All images have got the “lazy” loading by default, even if they are located on external resources. Conversion to the modern WebP format has been added;
- Outdated and unstable modules will come with corresponding notifications in the management panel;
- The codebase has been transferred to Symfony 6 framework;
- A large number of bugs and vulnerabilities have been fixed.
Overall, the software has started moving towards simplification. Drupal 8 is positioned as the last complex release in terms of mastering.
Plugins and Integrations
There are over 49 thousand plugins in the official Drupal directory. However, only about 9 thousand of them are compatible with version 9 of the software. Detailed documentation for installation and configuration is provided for each extension.
All of them are completely free and come with the open source code. You will hardly be able to find premium plugins unless these are small add-ons from private developers available outside of the official directory (on their websites).
Plugin installation can be completed:
- Manually (via the hosting panel or using SFTP/FTP connection);
- Via console using Composer (for example, composer require ‘drupal/ctools:^4.0’);
- By uploading the archive in a special field via the admin panel;
- By specifying the link to the extension archive (for example, https://ftp.drupal.org/files/projects/ctools-8.x-3.6.zip).
Mind that the last two options are not available by default. The Update Manager module should be activated to enable them.
Translation files for extensions are imported automatically. If desired, you can manually add missing translation lines (Home > Administration > Configuration > Region and Language).
Any integration types can be done via API. The following integrations are already available in the basic set: HAL, JSON, RESTful, serialization.
Plugins make it possible to modify and enhance any Drupal functions. For example, you can change the page editor (Text Editor and CKEditor 4 are provided by default, while CKEditor 5 is available in the test list), add eCommerce functionality or AMP page support, extend SEO functionality etc.
What also matters is that Drupal doesn’t need additional protection. Everything you need is provided out-of-the-box. Any external modules undergo security and functionality testing. In case of problem detection, you will see corresponding warnings.
SEO
Drupal offers everything you need for SEO out-of-the-box: you can manually rewrite URLs (to make them readable, and you can also automate this process using the bundle we mentioned earlier), add all important meta tags (you can find several plugins to automate this process as well), speed up page load speed with caching etc.
Other SEO tasks can be solved using either template capabilities or special plugins, such as microdata, adaptive layout support, AMP web page versions etc. This can also be implemented in Drupal.
The software delivers good results in terms of page load speed in the PageSpeed Insights test. If desired, these results can be significantly improved. Such technologies as lazy image loading, CSS and JavaScript file compression, BigPipe technology support, management of Cache-Control headers etc. are used to speed up page load speed.
Drupal also offers multiple marketing opportunities. You can easily connect email marketing systems, SMTP gateways, CRM systems and other tools here.
HTTPS Website Version
Starting with version 8 and above, Drupal works with HTTPS protocol out-of-the-box. All you have to do is:
- Get an SSL certificate and upload it to your hosting panel (many hosting providers offer automatic Let’s Encrypt certificates);
- Set up a redirect in the .htaccess file (if needed to redirect all users from the insecure website version to the secure one).
You don’t need to edit or set up anything in the website admin panel or its configurations.
Automated Core and Modules Update
You can update the software either through the Composer console or by activating a special Update Manager module. It will keep track of the latest versions of all installed extensions and core.
However, you need to understand that unlike WordPress, Drupal doesn’t update plugins and code without user (administrator) involvement. The process must be initiated manually to do this.
This is done in case your website encounters a critical error during the update process. A user must have complete control over the process, from the very beginning and up to the end.
Workspaces and Processes
Using the Workflow plugin (it is disabled in the standard CMS installation by default), you can set up your own process for entry (node) passing through custom conditions.
This allows organizing group work and automating business processes to release web pages for publication. For example, one group of users can create content, another one can edit it, while the third one can approve it for publication etc. The conditions can include “Draft”, “Review” and “Published”, for example.
These are called workflows.
The Workflow module can work not only with main entries, but also with comments, forms, pages and other content types.
Websites with a live community may have a more complex structure. In this case, it may be necessary to divide the workspaces into separate environments in addition to or instead of workflows. For example, there can be a separate website section for material preparation and a separate one for published entries.
The Workspace module (currently classified as experimental, but included in the core of the standard Drupal installation set) lets you achieve this effect.
Integrated Reporting System
To start with, Drupal is capable of self-diagnosis and analyzing the current server environment: PHP version used, active modules and those that could be added/enabled, modules that cause errors, restrictions that exist on available resources etc.
All of the summary information can be obtained in a convenient and visual format.
Secondly, the error-related data is collected separately. This includes the time and types of requests that resulted in access denials, website pages that have not been found etc.
Thirdly, all major actions in the system are logged. Journal entries may be sorted by type, importance and time (date of occurrence).
Additionally, Drupal stores the statistics of popular search queries that redirect users to your website without any extra plugins.
Starting a Web Store with Drupal
Drupal does not have tools to quickly and easily create a web store out-of-the-box. However, this doesn’t mean that Drupal lacks eCommerce functionality.
There are several types of eCommerce extensions in the official module catalog, including:
- Drupal Commerce (Centarro Commerce);
- Ubercart;
- Orange E-commerce;
- Drupal Rooms (for hotel booking and management);
- DXPR Builder (a page builder with integrated functions for online sales) etc.
What’s more, the Drupal distribution catalog includes ready-made online store sets – over 40 options.
Drupal Commerce is the most popular and actively developed community solution.
This is a bundle of several modules from the major maintainer, Centarro company, and third-party extensions (this can be anything from payment gateways to integrations with external services).
Main Drupal Commerce features:
- Open source code;
- Readiness to work in a Headless model (a set of all necessary API interfaces);
- A set of ready-made templates and opportunity to install (create) your own design;
- Custom module system (to expand web store functionality);
- Unlimited product catalog with flexible filters and attributes;
- Dynamic product pages with fine-tuning of element layouts;
- Over 100 payment gateways;
- Everything for order management and a ready-made address book (a storage of customer contact data);
- Automatic tax calculation;
- Everything needed for conducting marketing promotions (discounts, coupons, etc.);
- Ajax cart;
- Custom fields on the checkout page;
- Modules for catalog bulk import and export.
The algorithm for launching an online store on Drupal Commerce does not differ from working with other platforms. You initially need to rent a quality and reliable hosting (we recommend HostGator). Then you have to install the software and the necessary extensions and templates are added to it. The catalog is further filled with products, the payment gateways and other integrations are configured (delivery services, for example). Finally, the testing is carried out. Further work should not stop. This includes promotion, advertising purchases, analysis etc.
Starting a Blog with Drupal
A standard module set includes the Comment extension. It ensures convenient work with a commenting system.
If you have chosen the standard profile during the software installation, it already comes with the pre-configured “Article” content type. There is a separate “Page” content type for general descriptive pages (“About Us”, “Terms of Use” etc.).
Thus, Drupal can work with blogs “out of the box”.
However, if the custom options are not enough for you, you can use other add-ons from the official directory to create archives, generate the related posts block, prevent bots (e.g. CAPTCHA), and authenticate via social media APIs etc.
The system abounds in essential features. The main challenge is proper configuration. If you are not satisfied with the default settings, you will need to spend some time to make your content display as required. This is actually done once. You will further need to publish new materials and respond to comments.
By the way, content and comment moderation systems as well as personal user accounts are also included in the basic Drupal package.
If you already have a website on WordPress, you can find an add-on for quick migration via the import/export system.
For those who do not want to deal with fine-tuning, ready-made distributions for blog creation are available in the Drupal catalog.
Design and Templates
Drupal doesn’t have as many ready-made templates as WordPress, but there is still quite an extensive selection of themes compared to other popular CMS platforms.
For example, the official directory has over 3,000 templates, although only about 400 of them are compatible with version 9. That, however, is not a problem. Templates can be found in third-party catalogs, including popular platforms like ThemeForest or TemplateMonster.
What’s more, you can always order the development of a unique theme or create one yourself.
You can install a Drupal template just like any other extension – through the admin panel (with a link to the archive or manual selection of the package on your PC), through the Compose console or through SFTP/FTP upload to the server.
You’ll need to further activate and set the theme as the default solution.
Template installation is not the main problem, when it comes to Drupal. Their configuration and setup is what matters most. To be precise, this is the configuration of the content display.
The thing is that design themes are only responsible for element decoration. The actual order of blocks and elements within them is determined at the system level in the block view and scheme settings.
What website owners and developers will definitely appreciate is that the software automatically outputs only the CSS properties and JavaScript files that are involved in web page creation. For example, if a certain form is not available on a page, its CSS/JS files will be absent. The Libraries API is responsible for this.
Interface Block Scheme
Each Drupal theme has a source layout that includes output points for main blocks, similar to the WordPress widget scheme. When it comes to WordPress, though, widgets are usually small complex elements that come along the main content. As for Drupal, it allows assembling any set of blocks. This can be content, specific fields, special filters with a list of materials or anything else.
You can configure access (display) rights and other parameters for each block. You can disable or remove a block at any time. Since the same element can be displayed in different website parts, you can configure or create your own display options.
Blocks can be ready-made or composite elements. You can manually assemble them based on complex logic. For example, each block can have its own header and footer, its own title, a set of fields (with different filtering criteria), pagination, its own CSS properties etc. You can configure visibility and behavioral parameters in case of zero results.
Contact Form and Input Field Builder
You won’t need extra plugins or external services. Contact forms can be created in any quantity and displayed where required.
You can specify any email address (one or a whole list) as the recipient of the form submission notification.
Having submitted the form, a client can further be redirected to the specified URL.
Form fields can include: text elements, date, time, images, files, numbers and even taxonomy terms.
You can link a form element to a specific system element and customize the order of display for fields and additional elements. To do this, you can use the built-in builder or layout editor.
Tech Support
Drupal users can find out more about the system in the following ways:
- on official or third-party forums, niche communities;
- from the official software documentation;
- in general chats and other communication channels used by the developer community (e.g. Slack);
- from books dedicated to Drupal;
- taking official training courses held by Drupal Association partners (courses may be paid);
- from other online sources (niche blogs of developers, specialized services for finding answers like Stack Overflow etc.).
Additionally, the official website offers services from software partners for support and launching projects on Drupal.
The entry threshold requires that beginners may need to get ready for a time-taking manual exploration and many hours of practice or for extra budget investment to hire professional developers.
Links to premium technical support can be found in the description of some popular extensions. For example, the Centarro company provides support for the Drupal Commerce plugin, with services starting at $499/month.
Pricing Policy
Drupal license excludes the possibility to earn money by distributing the core code or its add-ons. The main source of income for developers is to provide services for software setup, launch, customization etc.
It is very difficult to find premium plugins even on third-party platforms. The exception is templates, which can be purchased at the same prices as for other popular systems. The cost ranges between $45 and $70 per theme, but you can buy them on third-party platforms only.
Developer and hosting services make up the major category of Drupal expenses. While the prices for hiring developers, designers and SEO specialists are always discussed individually depending on the amount of work and task complexity, it’s still easier to calculate hosting prices.
Let’s review the hosting price range offered by HostGator (one of the best hosting providers with unlimited plans):
- Shared plans – start at $2.75/month. Includes one-click Drupal installation from the hosting panel, a gift domain provided for 1 year, free SSL certificates offered by Let’s Encrypt, opportunity to host 1 website in the starter plan;
- Unlimited plans – start at $3.50/month. You can host an unlimited number of websites, while the disk space is unlimited;
- VPS server plans – start at $23.95/month (for the configuration with 2 CPU cores, 2 GB RAM and 120 GB SSD);
- Dedicated hosting (dedicated server rent) starts at $89.98/month.
The final cost of Drupal website starts at $78 for the first year ($45 per template, 12*$2,75 for hosting, gift domain name for the first year of use).
Bottom Line
Drupal is the most advanced free open-source CMS in the market. Starting with version 8, the developers have drastically changed the direction of the software development. It has now become a universal platform for any large and medium-sized business tasks. You can use Drupal to launch not only complex high-traffic portals, online stores, social networks, and other types of projects but also to organize the maintenance of modern web applications (Drupal can work as a Headless CMS and all the most popular API types are already included in the set up package).
The principle of relating Drupal to CMS platforms is already outdated. This is more like a CMF (a framework with a ready-made admin panel). At the same time, the software does not work well for beginners and small businesses, at least for implementing tasks on small single-page websites. Otherwise, this is a very flexible system that will appeal to professional developers and web agencies.




