Drupal is a free, open-source software platform for building websites and web applications. Written primarily in PHP, it is installed on a web host and configured to deliver pages, data and services to visitors. Drupal is designed as a modular system: a lightweight core provides basic content handling and user management, while optional modules and themes extend functionality and presentation.
Architecture and components
Drupal separates core, contributed and custom code. Key concepts include content types (collections of fields and settings), entities and fields (structured data units), taxonomy (classified vocabularies), and a permissions system for user roles. Developers extend the system with modules and themes, and increasingly use Composer to manage dependencies. The platform exposes APIs for rendering, routing and caching that support high-performance sites.
Notable features
- Modularity: thousands of contributed modules add search, forms, e-commerce, media handling and more.
- Custom data models: flexible content types and fields allow structured content and complex workflows.
- Scalability & performance: built-in caching, reverse proxies and CDN integration support large sites.
- Multilingual and accessibility: strong support for translation and accessibility best practices.
- API-first: suitable for decoupled architectures and headless use cases.
History and development
Drupal began as a small online bulletin board project and grew into a full content management framework maintained by a global community. Its development moved toward modern PHP practices over time, adopting community frameworks and tools to improve maintainability and developer experience. Governance combines community contributors, an active security team, and organizations that support the project's infrastructure.
Uses and examples
Drupal is used for a wide range of sites: corporate portals, government and NGO sites, universities, news organizations and community platforms. It suits projects that require custom content models, complex user permissions, multilingual publishing, or integration with external systems. High-profile deployments have included government and large institutional websites, demonstrating Drupal's capability for demanding, public-facing applications.
Community, support and ecosystem
A large community contributes modules, themes and documentation, and organizes events and conferences. Paid support is available through agencies and integrators familiar with Drupal. Installation typically requires a web server, a database (such as MySQL or PostgreSQL) and PHP; hosting options range from shared plans to specialized managed environments. The ecosystem includes distributions—preconfigured bundles that speed up common use cases—and a mature security process to handle vulnerabilities.