Landing Settings (clinic branding)

A complete guide to the Landing Settings module — configuring the public landing page branding, colors, content, SEO, contact details, and social media links.

Written By Dev010

Last updated 19 days ago

The Landing Settings module gives Admin users full control over the public-facing landing page without touching any code. Every visible element — clinic name, logo, colors, hero text, contact details, SEO metadata, and social links — is managed from this single module and takes effect immediately on the live site.

Admin only. Landing Settings is accessible exclusively to Admin accounts. It is not visible in the sidebar for Doctor, Receptionist, or Nurse roles.

Accessing the Module

Sidebar → Landing Settings

Direct URL:

https://yourdomain.com/dashboard/landing-settings

Module Layout

The Landing Settings page is organized into tabs. Each tab controls a distinct aspect of the public landing page:

Tab

What It Controls

Branding

Clinic name, logo, favicon, tagline, CTA

Colors

Primary color, accent color, hero background

Content

Hero layout, animation, spacing, footer text

SEO

Meta title and meta description

Contact

Email, phone, address

Social

Social media profile links

Navigate between tabs freely — changes are not saved until you click the Save button within each tab.

How Settings Are Applied

Landing page settings are stored in the landing_page_settings table linked to your clinic. When a visitor opens the public landing page, CareNova loads the saved settings and applies them to the page at render time.

Settings are cached server-side for performance. After saving changes, the public page reflects the updates within a few seconds.

If no custom settings have been saved yet, CareNova falls back to the built-in defaults for your clinic type — defined in lib/data/landing-defaults/ {dental|ophthalmology|general}.json. This means the landing page always renders correctly even before any settings are configured.

Branding Tab

The Branding tab controls your clinic's core visual identity on the public page.

Clinic Identity:

Setting

Description

Clinic Name

Displayed in the header and footer

Site Name

Used in the browser tab title and SEO

Logo:

Setting

Description

Logo (Light)

Shown on light backgrounds

Logo (Dark)

Shown on dark headers or dark mode

Accepted formats and size limits:

Asset

Formats

Max Size

Logo (light)

JPEG, PNG, WebP, SVG

2MB

Logo (dark)

JPEG, PNG, WebP, SVG

2MB

Logos are uploaded to the logos Supabase storage bucket. Confirm this bucket exists and is set to Public before uploading — see the Supabase Setup guide.

Upload both a light and dark version of your logo for the best appearance across different header styles and themes. If only one is uploaded, the same logo is used in all contexts.

Favicon:

Setting

Description

Favicon

Browser tab icon — recommended 32×32px or 64×64px

Format

Max Size

JPEG, PNG, WebP, SVG

500KB

Hero Content:

Setting

Description

Hero Tagline

Main headline displayed in the hero section

Hero Subtitle

Supporting text shown below the tagline

Key Benefits Line

Short line highlighting clinic strengths below the hero

Call to Action:

Setting

Description

CTA Button Text

Text on the primary action button (e.g. Book Appointment)

CTA Button Link

URL the button navigates to (e.g. /appointment)

Footer:

Setting

Description

Footer Text

Custom text displayed in the page footer

Colors Tab

The Colors tab customizes the color palette of the public landing page.

Setting

Description

Primary Color

Main brand color — used for buttons, links, and accents

Accent Color

Secondary highlight color for visual contrast

Hero Background

Background color of the hero section

Colors are entered as hex values (e.g. #4f46e5). They are injected as CSS variables into the landing page theme provider at render time.

Color changes only affect the public landing page. The dashboard uses its own separate design system and is not affected by these settings.

Each clinic type ships with a default color palette:

Clinic Type

Primary

Accent

general

Blue

Teal

dental

Indigo

Soft blue

ophthalmology

Violet

Purple

Customizing colors overrides these defaults. To reset to defaults, clear the color fields and save — the built-in defaults will be applied automatically.

Content Tab

The Content tab controls layout and display options for landing page sections.

Setting

Description

Hero Layout

Layout variant for the hero section

Hero Animation

Animation style applied to hero elements on load

Hero Height

Height of the hero section (e.g. full screen, compact)

Section Spacing

Spacing between page sections (e.g. compact, normal, spacious)

CTA Button Style

Visual style of the call-to-action button (e.g. filled, outlined, pill)

Enable Animations

Toggle — enable or disable all page animations globally

Test the landing page in a new browser tab after saving content changes to review the result.

SEO Tab

The SEO tab configures search engine metadata for the public landing page.

Setting

Description

Meta Title

Page title shown in search engine results and browser tab

Meta Description

Short description shown below the title in search results

SEO best practices:

Element

Recommendation

Meta Title

Under 60 characters — include clinic name and specialty

Meta Description

Under 160 characters — write as a natural sentence

Example:

Meta Title:
CareNova Dental  Expert Dental Care in Casablanca

Meta Description:
Book appointments, manage your dental records, 
and access personalized care at CareNova Dental 
Clinic. Modern dentistry for the whole family.

Update SEO fields before launching the public landing page — they directly affect how your clinic appears in search engine results.

Contact Tab

The Contact tab sets the clinic's publicly displayed contact information.

Setting

Description

Contact Email

Public contact email address

Contact Phone

Public phone number

Contact Address

Physical clinic address

These values appear in the contact section of the landing page and in the footer. They are also stored on the clinics table and used across other parts of the platform.

Social Tab

The Social tab links your clinic's social media profiles. Configured links appear as icons in the landing page footer and contact section.

Platform

Notes

Facebook

Full URL to Facebook page

Twitter / X

Full URL to Twitter/X profile

Instagram

Full URL to Instagram profile

LinkedIn

Full URL to LinkedIn company page

YouTube

Full URL to YouTube channel

Leave any platform blank if your clinic does not use it — empty links do not render an icon.

Landing Page Assets

In addition to the settings configured here, the landing page displays images — hero backgrounds, service icons, team photos — stored in Supabase Storage.

Asset Type

Bucket

Max Size

Hero images

landing-assets

5MB

Service icons

landing-assets

5MB

Other images

landing-assets

5MB

Accepted formats: JPEG, PNG, WebP, SVG.

Default assets load from public/landing/ in the application folder. Images uploaded via Supabase Storage override the defaults.

Confirm the landing-assets bucket exists in Supabase Storage and is set to Public before uploading. See the Supabase Setup guide.

Clinic Type and Landing Page

The landing page layout adapts based on the active clinic type set in Dashboard → Settings → Clinic:

Clinic Type

Landing Components

general

GeneralHero, GeneralServices, GeneralWeCare, GeneralFooter

dental

DentalHero, DentalServices, DentalPricing, DentalWeCare, DentalFooter

ophthalmology

OphthalmologyHero, OphthalmologyServices, OphthalmologyWeCare, OphthalmologyFooter

The settings configured in Landing Settings apply to whichever clinic type is currently active. Changing the clinic type changes the layout but preserves your saved settings.

To preview any clinic type without changing your actual settings, append a query parameter to the URL:

https://yourdomain.com/?clinic=dental
https://yourdomain.com/?clinic=ophthalmology
https://yourdomain.com/?clinic=general

See the Clinic Type / Demo Mode guide for full details.

Multilingual Landing Page

CareNova supports four languages on the public landing page:

Language

Code

English

en

French

fr

Spanish

es

Arabic

ar

Visitors switch language via the selector in the landing page header. The selected language is stored in a landing_locale browser cookie.

Translated copy is defined in:

messages/landing/{dental|general|ophthalmology}/{locale}.json

To customize translated text, edit the relevant JSON file for your clinic type and language. This requires a code change — translations are not editable from the Landing Settings UI.

Resetting to Defaults

To discard all custom landing settings and return to the built-in defaults, run the following in Supabase SQL Editor:

DELETE FROM landing_page_settings 
WHERE clinic_id = (SELECT id FROM clinics LIMIT 1);

The landing page immediately falls back to the built-in defaults for your clinic type. You can then reconfigure from scratch.

Database Schema Reference

landing_page_settings

Column

Type

Description

id

uuid

Unique settings ID

clinic_id

uuid

FK → clinics (cascade delete) — unique

clinic_type

enum

general / dental / ophthalmology

branding

jsonb

Logo URLs, site name, taglines, CTA

colors

jsonb

Primary, accent, hero background

content

jsonb

Layout, animation, spacing, footer text

seo

jsonb

Meta title, meta description

contact

jsonb

Email, phone, address

social

jsonb

Social media URLs

cta

jsonb

Button text and link

footer

jsonb

Footer configuration

typography

jsonb

Font and type settings

updated_at

timestamptz

Last updated timestamp

One row per clinic — enforced by the unique constraint on clinic_id.

Workflow Examples

Configuring the landing page for the first time:

  1. Sidebar → Landing Settings

  2. Branding tab — enter clinic name, upload logos and favicon, write hero tagline and subtitle, set CTA button text and link → Save

  3. Colors tab — set primary and accent colors → Save

  4. SEO tab — write meta title and description → Save

  5. Contact tab — enter email, phone, address → Save

  6. Social tab — add social media URLs → Save

  7. Open public URL in a new tab to review the result

Updating hero text for a seasonal promotion:

  1. Sidebar → Landing Settings → Branding tab

  2. Update Hero Tagline and Subtitle

  3. Update CTA Button Text (e.g. "Book Your Free Checkup")

  4. Save and review on public page

Changing brand colors after a rebrand:

  1. Sidebar → Landing Settings → Colors tab

  2. Update Primary Color hex value

  3. Update Accent Color hex value

  4. Save — colors update immediately on the public landing page

Troubleshooting

Changes not appearing on the public landing page:

  • Hard refresh the browser (Cmd+Shift+R / Ctrl+Shift+R)

  • Settings are cached server-side — wait a few seconds after saving

  • Confirm the save was successful — check for a success toast notification

  • Check Supabase → Table Editor → landing_page_settings to confirm the record was updated

Logo not displaying after upload:

  • Confirm the logos storage bucket exists in Supabase and is set to Public

  • Confirm the file is under 2MB and in an accepted format

  • Paste the uploaded file URL directly in the browser to confirm it is publicly accessible

Landing Settings not visible in sidebar:

  • This module is Admin only

  • Confirm you are logged in with an Admin account

  • Confirm settings.view permission is granted in Dashboard → Permissions

Landing page showing wrong clinic type layout:

  • Check for a landing_clinic_demo cookie in your browser — it overrides the database setting

  • Clear the cookie or open in a fresh incognito window

  • Confirm clinic type is set correctly in Dashboard → Settings → Clinic

Colors not updating on the landing page:

  • Confirm the hex value includes the # prefix (e.g. #4f46e5)

  • Hard refresh after saving — old CSS variables may be cached

SEO metadata not updating in search results:

  • Search engine indexes take time to update — changes may not appear in Google for several days to weeks

  • Verify metadata is correct by viewing the page source and checking the <title> and <meta name="description"> tags

Next Step

Continue to the Blog & News module guide to learn how to create and manage public-facing clinic blog posts and news articles in CareNova.