Drupal is a registered trademark of Dries Buytaert

When Drupal is installed and no content is promoted to the front page, the default Frontpage view renders a "No front page content has been created yet" message along with orphan markup: an empty <div class="view-empty">, a "Subscribe to" RSS feed link inside a <div class="feed-icons">, and their surrounding wrapper elements. Even hiding the "Main page content" block from Block Layout does not remove this output, because the Frontpage view still executes and renders its empty area. The result is garbage HTML in the DOM that affects SEO, confuses screen readers, and looks unprofessional on a freshly installed site.

This module solves that by intercepting the Frontpage view at render time and cleaning up all empty-state output. Site administrators can choose to hide the message completely or replace it with custom HTML content — all from a simple configuration form, without disabling the view, modifying templates, or writing any code. Changes take effect immediately thanks to proper cache tag integration.

New to Drupal? Think of it this way: when your site has no articles on the front page, Drupal shows a default message telling you to create content. This module lets you either remove that message entirely (so your front page is clean) or swap it for your own welcome text, a "coming soon" notice, or any HTML you want — all from the admin panel, no coding required.

Use it when you need a clean front page on a new or content-light Drupal site without disabling the Frontpage view or touching any template files.

Features

The core functionality of this module is straightforward: it hooks into the Frontpage view's render pipeline and modifies its empty-state output based on administrator configuration. When the view has no results, the module removes or replaces the default message and cleans up related DOM elements.

Key features include:

  • Hide the default "No front page content has been created yet" message completely, leaving no markup in the DOM.
  • Replace the default message with custom HTML content using Drupal's text format system (Full HTML, Restricted HTML, etc.), with full WYSIWYG support in the configuration form.
  • Optionally remove the orphan "Subscribe to" RSS feed icon that accompanies the empty front page.
  • Clean up empty wrapper &lt;div&gt; elements (view-empty, feed-icons) from the DOM to prevent CSS interference and accessibility noise.
  • Cache-aware: configuration changes reflect immediately without requiring a manual cache clear, thanks to proper cache tag invalidation on the Frontpage view.
  • Translatable: custom replacement markup supports Drupal's Config Translation API, so multilingual sites can provide different content per language.
  • Enable/disable toggle: restore the default Drupal behavior at any time without uninstalling the module.
  • Works with any theme — no framework dependency, no template overrides, no CSS requirements.

When and why would someone use this module? Use cases include:

  • New site launches: Clean up the front page immediately after installation while content is still being prepared, without disabling the Frontpage view or removing its block.
  • Coming soon pages: Replace the default message with a custom "Coming soon" or "Under construction" notice using the replace mode, styled however you want via the text format.
  • Microsites and minimal installations: Sites that use the front page for blocks or custom markup and simply need the default empty message out of the way.
  • SEO and accessibility: Eliminate orphan markup and empty wrapper divs that produce noise for screen readers and unnecessary DOM weight for crawlers.
  • Multilingual sites: Provide a translated welcome or placeholder message per language using Config Translation, without any custom code.

Post-Installation

After enabling the module, the default behavior is already active — the empty message is hidden and the RSS feed icon is removed. To customize the behavior:

  1. Go to Administration → Configuration → System → Frontpage Empty Message (/admin/config/system/frontpage-empty-message).
  2. The Enable checkbox controls whether the module is active. Uncheck it to restore the default Drupal behavior without uninstalling.
  3. Choose the mode: Hide the message completely removes all empty-state output; Replace with custom content lets you enter your own HTML using a text format field with WYSIWYG support.
  4. The Hide RSS feed icon checkbox controls whether the orphan "Subscribe to" link is also removed.
  5. Save your configuration. Changes take effect immediately — no cache clear required.

If your site is multilingual, you can translate the custom replacement content:

  1. Go to Administration → Configuration → Regional and language → Configuration Translation (/admin/config/regional/config-translation).
  2. Find "Frontpage Empty Message" in the list.
  3. Translate the custom content for each language.

Clear caches (drush cr or via the UI at Administration → Configuration → Performance) if the configuration page does not appear immediately after enabling the module.

Additional Requirements

This module requires no external libraries or third-party APIs. The only requirements are:

  • Drupal core ^10 || ^11
  • Views module (enabled by default in standard Drupal installations) — the Frontpage view must exist and be active, which is the case in any standard Drupal install.

Similar projects

  • Remove Front Page Default Message — Removes the default front page message via a form alter approach. This module takes a different approach by working at the Views render level, which also cleans up empty wrapper divs and the RSS feed icon, and offers the option to replace the message with custom content rather than only removing it.
  • Front Page — A full front page management module that replaces the default front page with configurable content. This module is much simpler: it only controls the empty-state output of the existing Frontpage view, without replacing the view itself or creating new routes.
  • Disabling the Frontpage view manually — The common workaround: go to Views → Frontpage → Disable. This works but also removes any blocks or content placed on the front page via that view. This module leaves the view intact and only modifies its empty-state behavior, so blocks and future promoted content continue to work normally.
  • Overriding views-view--frontpage.html.twig — The developer approach: create a theme template override that conditionally hides the empty message. This works but requires theme-level changes, is harder to maintain across theme updates, and is not configurable by non-developers. This module provides the same result via an admin UI with no template files needed.

If none of the above fits your workflow, this module may be worth evaluating as a minimal, configuration-driven solution that works with any Drupal theme and requires no developer involvement after installation.

The maintainer also develops and recommends the following modules. They integrate cleanly with Drupal's existing systems and work alongside this module without conflicts:

  • CKEditor Advanced Container — Adds a flexbox-based container and column layout system directly inside CKEditor 5. Editors can create responsive multi-column layouts within any text field without touching code or template files.
  • CKEditor Media Image Style — Adds a style selector button to the CKEditor 5 media toolbar so editors can choose an image style (thumbnail, large, etc.) per embed, without creating new view modes.
  • CKEditor Media Title — Lets editors set a custom title attribute on media images embedded through CKEditor 5, directly from the media toolbar.
  • Media Reference Override — Extends Drupal's standard media reference field to allow per-reference overrides of fields like alt text or title, storing the override on the referencing entity rather than the media entity itself.
  • Advanced Image Media Attributes Formatter — Extends Drupal's native image field formatters to expose additional HTML attributes (alt, title, class, etc.) as configurable options, without replacing or patching the core rendering system.
  • Logo Image Enhanced — Extends Drupal's built-in site logo handling with additional image field controls, giving sites more flexibility over how the logo is rendered and attributed without overriding theme templates.
  • Htaccess — Provides a UI for managing .htaccess rules directly from the Drupal admin interface. Useful for hardening production environments without manual file editing.

Commercial Support

This module is developed and maintained by Nelo.
The maintainer is available for professional consulting and architectural guidance related to Drupal site building, module development, production implementations, and enterprise content architecture.

Supporting this Module

- Check out our sponsor, Dom Host Seo, who made this module possible with their support!

Community Documentation

Currently no external videos or demo sites are available. The module includes detailed help text accessible via Help > frontpage_empty_message.

For questions, bug reports, or feature requests, please use the issue queue on Drupal.org.

Activity

Total releases
1
First release
Mar 2026
Latest release
6 hours ago
Release cadence
Stability
100% stable

Releases

Version Type Release date
1.0.0 Stable Mar 6, 2026