Customizing Ghost: Theme Settings, Code Injection, and When to Edit Handlebars

Ghost keeps most day-to-day customization inside Admin. Knowing which lever to pull saves you from breaking updates or maintaining a fork you never wanted.

Level 1: Built-in settings (no code)

Start here every time:

  • Design / Brand — Logo, icon, accent color, publication details.
  • Navigation — Primary and footer menus.
  • Theme-specific options — Many premium themes (including Zora) expose toggles and style choices in the theme panel.

Level 2: Code Injection

Use Settings → Code Injection for analytics, fonts, or small CSS overrides. Keep snippets documented so you remember why each block exists.

Good uses

  • Privacy-friendly analytics script
  • Custom font link from a CDN
  • Narrow CSS fixes for one component

Risky uses

  • Large layout rewrites that fight the theme
  • Duplicated functionality the theme already provides

Level 3: Editing the theme

Clone or download your theme, edit .hbs templates and package.json theme config, then zip and re-upload. This is for structural changes: new sections, different post layouts, custom routes.

Practical rule of thumb

  1. If the theme author anticipated it, use settings first.
  2. If it is site-wide and tiny, try Code Injection.
  3. If it changes HTML structure or multiple pages, plan a theme edit and version control.

Premium themes like Zora are designed so most publishers never leave Level 1—freeing you to write instead of maintaining templates.