Genesis layout repair

Genesis Layout Broken: Sidebars, Widget Areas and Styles That Stopped Agreeing

A Genesis page has up to three opinions about its own shape: the site default in Theme Settings, a layout saved on that page, and a filter in the child theme's code that can overrule both. When a sidebar turns up where nobody wanted one, one of those opinions is winning, and the page will tell you which.

October 16, 2026 · 8 min read

The short answer

A Genesis layout usually breaks for one of four reasons: the page carries its own layout setting that overrides Customize, Theme Settings, Site Layout; the child theme forces a layout in code; the homepage relies on widget areas that were emptied or converted to block widgets; or child theme CSS and block styles disagree about widths. Check the body class first.

On this page
  1. A sidebar under the post, a homepage with holes in it
  2. Who decides a Genesis page's shape
  3. Five causes, checked from the body tag outward
  4. Putting the columns back in a safe order
  5. Keeping Genesis layouts where you left them
  6. Four places to look for one sidebar

A sidebar under the post, a homepage with holes in it

Genesis layout faults come in a few recognizable shapes, and the shape narrows the search before you open a single file. Note which pages are affected. One page broken while its siblings look fine is almost always a setting on that page. Every page broken at once is code, CSS or cache. Only the homepage broken is very often widgets.

  • A sidebar on a page meant to be full width, or a full-width page that lost its sidebar.
  • A homepage with missing sections, where blocks of featured posts, calls to action or image rows used to sit.
  • Wide and full-width blocks that stop at the content column, or that spill past it into the sidebar.
  • Footer widgets stacked in one column instead of sitting side by side.
  • A design that looks like plain browser defaults on old pages, with boxes in the wrong order after a framework update.

Who decides a Genesis page's shape

Genesis registers a set of named layouts, such as content-sidebar, sidebar-content and full-width-content, and every child theme chooses which to keep. Genesis Sample, for instance, unregisters the three-column ones. Which layout a given page uses is then settled in a fixed order, documented in the Genesis developer docs.

Where Genesis layout choices are made and stored
Where you set itWhere Genesis stores itWhat it beats
Site defaultCustomize, Theme Settings, Site LayoutThe site_layout key of the genesis-settings optionNothing; it is the fallback
Archive and author layoutsArchive settings and the author's profileTerm meta and user meta named layoutThe site default, on those archives
Single page or postThe Genesis sidebar in the block editor, or the Layout Settings box in the classic editorThe _genesis_layout post meta fieldThe site default, on that page
Child theme codeA genesis_site_layout filter in functions.php or a page templateNowhere; it runs on every loadEverything above it

The useful part is that Genesis prints the winner. It adds the current layout's slug to the body tag as a class, so View Source on the broken page and search for body class. If it says content-sidebar on a page you set to full width, something above your setting is overruling it. If it says full-width-content and the page still shows a sidebar, the problem is CSS or a cache, not the layout system.

Five causes, checked from the body tag outward

1. A page-level layout nobody remembers choosing

Editors pick layouts in the Genesis sidebar, imported demo content arrives with layouts already set, and a page duplicated from another inherits its meta. The site default then looks broken when it is simply being overridden. The block editor only shows the selector for post types that support both genesis-layouts and custom-fields, so a custom post type without them falls back to the default silently. Check: open the page in the editor and look at the layout panel. Set it to the default and compare.

2. A layout forced in the child theme

The docs show how to force full width with a genesis_site_layout filter, and also warn to use it sparingly. Child themes use it in landing page templates and front-page.php, which is fine until someone assigns that template to the wrong page or copies the filter into functions.php, where it hits every page. Check: search the child theme for genesis_site_layout and __genesis_return_ and note which files contain them.

3. Widget areas that were holding the homepage up

Many StudioPress child themes built their homepages from widget areas such as Front Page 1, Front Page 2 and so on, which front-page.php prints only when they contain widgets. Empty one and its section vanishes without an error. WordPress 5.8 replaced the widget screen with block widgets; Genesis 3.3.4 kept the classic screen unless the theme opts in with the use_widgets_block_editor filter. Opt in, or install a plugin that does, and widgets saved as blocks can produce different markup from the classic widgets the child theme's CSS was written for. Check: under Appearance, then Widgets, confirm each front-page area still holds what it used to.

4. Child theme CSS and block styles pulling apart

A Genesis page can draw styles from the child theme's style.css, a separate block stylesheet (Genesis Sample loads lib/gutenberg/front-end.css), Customizer CSS printed inline, and Genesis Blocks or Genesis Pro. Wide and full-width blocks need the theme's align-wide support and room to grow, and a content-sidebar layout gives them none. Footer widgets are another case: Genesis creates the number of footer areas the theme asks for, but the docs say the child theme must provide the CSS that lays them out. Check: in DevTools, select the misbehaving element and read which stylesheet sets its width.

5. Markup from an older Genesis era

Genesis 3.0.0 removed all non-HTML5 output. A child theme that never declared HTML5 support was styling the older markup, and after the update its selectors match nothing, so the page falls back to bare defaults. Check: look for add_theme_support( 'html5' ) in functions.php. If it is missing and the theme is very old, the design layer needs rework, not a setting.

Putting the columns back in a safe order

  1. 1

    Copy the site to staging

    Layout fixes involve settings, widgets and theme files at once. Make them where visitors cannot watch.

  2. 2

    Read the body class

    On the broken page and on a working sibling, compare the layout class in the body tag. The difference tells you whether to look at settings or at CSS.

  3. 3

    Reset the page layout

    Set the page's layout back to the site default in the Genesis sidebar or the Layout Settings box, save, and reload logged out.

  4. 4

    Audit forced layouts

    Move any genesis_site_layout filter out of functions.php and into the specific template that needs it, or wrap it in a conditional for that page.

  5. 5

    Refill or restore the widget areas

    Put the homepage widgets back in their areas. If the site switched to block widgets and the design broke, return to classic widgets until the CSS is updated.

  6. 6

    Fix width conflicts in the child theme

    Give pages built from wide blocks the full-width-content layout, and add CSS for footer widget columns if the theme lacks it.

  7. 7

    Purge caches and retest

    Clear the optimizer, host and CDN caches, then check desktop and phone. If style edits still refuse to show, see Genesis CSS not updating.

Two neighbors of this problem: PHP warnings printed into the page can shove a layout apart, which Genesis PHP errors covers, and a menu that collapses the header on phones belongs to Genesis mobile menu not working.

Keeping Genesis layouts where you left them

Most layout drift comes from settings scattered across many pages and nobody owning the list. Keep layout choices at the site default wherever possible, and record the handful of pages that override it and why. When someone duplicates a page, they should check its layout panel before publishing.

  • Leave forced layouts in templates, never in functions.php, so they cannot spread.
  • Treat the switch to block widgets as a project with its own staging test, not a checkbox.
  • Test the homepage after every Genesis Blocks, Genesis Pro or WordPress update, since that is where widgets and blocks meet.
  • Keep the child theme in version control so you can see what changed when a layout moved.

For the cross-theme view of broken layouts, including builder width conflicts that Genesis sites rarely have, read WordPress theme layout broken. For updates that broke a design overnight on any theme, see theme broke after an update.

Four places to look for one sidebar

Count the layers involved in this page alone: a site setting, page meta, PHP filters, widget areas, the child theme stylesheet, a block stylesheet, inline Customizer CSS and block plugins. Each is reasonable. Together they mean a sidebar can be controlled from four screens and two folders, and only a developer who knows Genesis can say which one is in charge without looking.

A Next.js site puts each page type's layout in one component, versioned and tested before it ships. Editors change content, not structure, which is a limitation and also the reason layouts stop moving on their own. It costs more up front. The full trade is in Genesis vs Next.js, the move is mapped in Genesis to Next.js, and owners edit afterward in Athena CMS, where every version is kept.

If Genesis still suits the site, our Genesis review explains why it might, and the Genesis speed guide covers the child theme weight worth trimming while you are in there. Our theme repair service puts layouts back on a staging copy, and the theme troubleshooting team takes the stranger cases. Other fixes are in the troubleshooting section.

Questions people ask before they call

Because the page has its own layout saved, and a page-level layout beats the site default. Open the page in the editor, find the layout selector in the Genesis sidebar or the Layout Settings box, and set it back to the default. If the body class still shows a sidebar layout afterward, look for a genesis_site_layout filter in the child theme.

On many StudioPress child themes the homepage is built from widget areas such as Front Page 1 and Front Page 2, and front-page.php prints each one only if it holds widgets. If a widget was deleted, the theme was switched or widgets were converted to blocks, sections disappear quietly. Check Appearance, then Widgets, and restore what each area held.

Yes, with genesis_register_layout() in the child theme, or by overriding config/layouts.php. Since Genesis 3.6.0, translated labels belong in config/layouts-labels.php rather than in layouts.php. You also need CSS for the new layout's body class. It is a short developer task, and our theme customization team quotes it before starting.

Wide alignments need the theme to declare align-wide support and to give the content area room. In a content-sidebar layout the sidebar takes that room. Set pages built from wide blocks to the full-width-content layout, and confirm the child theme's block stylesheet handles the alignwide and alignfull classes.

Keep reading

Free · No obligation

Put your Genesis layout back the way it was

Tell us which pages broke and when. We trace whether a setting, a widget area or the child theme is responsible, fix it on staging and quote the work first.

Which of these sounds like you? (pick any)

Rather talk now? Call (210) 346-0848.

CallGet a quote