Properly Configure Block Visibility Settings

Drupal's block system (/admin/structure/block) allows you to place custom blocks of content in specific theme regions. But beware, even if you do not output a region in your theme (likely page.tpl.php), the blocks you assigned to that region will still be processed by the Drupal stack. That's because Drupal can't know in advance what regions will be output to the user, so it generates all blocks depending on their visibility settings.

The solution is to properly configure when you want to show a block. To this end, each block has a range of Visibility Settings:

Be as specific as you can be where to show the block, using the tabs Pages, Content Types, Roles and Users. Several third party extension may provide other visibility options. Alternatively, you may also consider using the Context module for even greater flexibility.


  • Avoid unnecessary block generation load on pages where you do not output the block's region(s).