Public Profile Page
A professional link-in-bio landing page for your nutrition practice — with services, testimonials, FAQ, and booking.
Every MealStack practice gets a free public profile page at mealstack.io/p/your-slug. It's designed as a link-in-bio for Instagram, WhatsApp status, and business cards — a single URL that tells potential clients who you are, what you offer, and how to reach you.
The public profile is available on all plans (including Free). Some customization features are gated to higher plans — see the plan gating section below.
What it looks like
The page renders up to 8 configurable sections in a mobile-first, single-column layout:
- Hero — your photo or logo, name, credentials, and trust signals
- About — your bio and approach
- Specializations — badge chips (weight management, PCOS, diabetes, sports nutrition, etc.)
- Services — packages with name, duration, price, and booking buttons
- Testimonials — client reviews with star ratings
- Contact — phone, email, address, business hours
- Social Links — Instagram, YouTube, Facebook, Twitter/X, LinkedIn, website
- FAQ — accordion-style Q&A
Sections with no content are automatically hidden. The page looks professional with zero configuration — data is pulled from your existing practice profile.
Enabling or disabling
The public profile is enabled by default. To disable it:
- Go to Settings → Client Portal → Public Profile
- Toggle Enable public profile page off
When disabled, visitors to your profile URL see a 404 page. The URL is removed from the sitemap.
Accessing settings
All public profile configuration lives in Settings → Client Portal → Public Profile. The settings page shows:
- Your live profile URL with Copy Link and Preview buttons
- The master enable/disable toggle
- Headline, subtitle, and CTA configuration
- Section visibility toggles with drag-to-reorder
- Content editors for services, testimonials, and FAQ
- Override fields for photo, bio, social links, and contact info
Headline and subtitle
By default, the page auto-generates a headline from your name and title (e.g., "Dt. Archana Batra"). You can override this with a custom headline and subtitle:
| Field | Default | Example override |
|---|---|---|
| Headline | Auto from name + credentials | "Transform Your Health with Expert Nutrition" |
| Subtitle | Auto from tagline | "Helping busy professionals build sustainable eating habits since 2018" |
Leave fields empty to use the auto-generated defaults.
Call-to-action buttons
The page supports two CTA buttons that appear prominently below the hero:
Primary CTA
| Type | Behavior |
|---|---|
| Portal Login (default) | Links to the portal login page — "Existing Client? Login" |
| External Link | Opens any URL you specify (Calendly, Google Forms, etc.) |
| Opens WhatsApp with your phone number pre-filled |
Secondary CTA (optional)
Enable a second button below the primary. Same type options as above. Common pattern: Primary = "Existing Client? Login", Secondary = "Enquire on WhatsApp".
For maximum conversions, use the primary CTA for your most important action (booking or portal login) and the secondary for WhatsApp enquiries. Indian clients overwhelmingly prefer WhatsApp for first contact.
Section configuration
Visibility and order
Each section can be toggled on/off independently. Drag sections to reorder them — the public page renders sections in the order you set.
Services
Add services/packages that potential clients can browse:
| Field | Required | Description |
|---|---|---|
| Name | Yes | Service name (e.g., "Initial Consultation") |
| Duration | No | How long it takes (e.g., "45 min", "4 weeks") |
| Price | No | Price in ₹. Leave empty to show "Contact for pricing" |
| Description | No | Brief description of what's included |
| Booking URL | No | External link — renders a "Book" button on the service card |
When a service has a booking URL, visitors see a clickable "Book" button that opens the link in a new tab. This works with Calendly, Google Forms, Practo, or any booking system.
Testimonials
Add client testimonials to build trust:
| Field | Required | Description |
|---|---|---|
| Client name | Yes | Display name (e.g., "Priya S.") |
| Text | Yes | The testimonial content |
| Rating | No | 1–5 star rating. Shows as filled stars when set |
FAQ
Add frequently asked questions in an accordion format:
| Field | Required | Description |
|---|---|---|
| Question | Yes | The question text |
| Answer | Yes | The answer text |
Common FAQ topics: consultation process, online vs in-person, pricing, what to expect, dietary approach.
Content overrides
The public page pulls data from multiple sources (practice profile, export settings, team profile). To avoid navigating between settings pages, the Public Profile settings include inline override fields:
| Override | Falls back to |
|---|---|
| Profile photo | Practitioner photo → org logo |
| Cover banner | Portal header image |
| Bio | Practitioner bio → export settings bio |
| Social links | Export settings social handles |
| Contact info (phone, email, address) | Export settings contact info |
Override fields show a hint: "Falls back to [source] if left empty". This means you can have a different bio on your public page than what appears on PDFs — useful for marketing-focused copy vs clinical descriptions.
Cover banner
Upload a full-width banner image that appears behind your hero section (similar to a LinkedIn cover photo). Recommended size: 1200×400px.
The banner is configured in the Profile Appearance section of the Public Profile settings. If no banner is uploaded, the hero section uses a clean white/themed background.
Brand colors
Your portal's primary color is automatically applied to CTA buttons and accent elements on the public page. This ensures the page matches your overall brand without additional configuration.
Trust signals
The hero section can display trust badges below your credentials:
| Signal | Toggle | What it shows |
|---|---|---|
| Client count | On/Off | "Trusted by X+ clients" (auto-counted from your client database) |
| Years active | On/Off | "X+ years of experience" (calculated from your account creation date) |
Floating WhatsApp button
When your practice has a phone number configured, a floating WhatsApp button appears in the bottom-right corner for non-authenticated visitors. Tapping it opens WhatsApp with your number pre-filled.
The button is only shown to visitors who are NOT logged into the portal (authenticated clients see the portal navigation instead).
SEO and discovery
The public profile is optimized for search engines out of the box:
Structured data (JSON-LD)
The page outputs HealthAndBeautyBusiness schema with:
- Practice name, description, address, phone, email
- Services as
hasOfferCatalog→Offeritems (enables service cards in Google) - Testimonials as
reviewitems withaggregateRating(enables star ratings in Google) - Opening hours specification (if business hours are set)
Meta tags
- Title:
{Name} — Nutrition Practice | {AppName} - Description: Auto-generated from bio or specializations
- Canonical URL:
https://mealstack.io/p/{slug} - OG image: Dynamically generated with your name, photo, and credentials
- Twitter Card:
summary_large_imagewith title and description
Sitemap
All enabled public profiles are automatically included in the sitemap at mealstack.io/sitemap.xml. Disabled profiles are excluded.
Analytics
Page views
Every visit to your public profile increments a view counter. You can see total views in the Public Profile settings.
CTA click tracking
When a visitor clicks your primary or secondary CTA button, the click is tracked. This helps you understand which CTAs drive action.
Detailed analytics (daily breakdown, traffic sources, scroll depth) are planned for a future release. Currently, only total page views and CTA clicks are tracked.
Auth-aware behavior
The public page detects whether the visitor is an authenticated portal client:
| Visitor type | Primary CTA behavior |
|---|---|
| Anonymous visitor | Shows your configured CTA (login, WhatsApp, or external link) |
| Authenticated client | Shows "Access Your Meal Plan →" linking directly to the portal |
This means the same URL works for both marketing (new visitors) and as a portal entry point (existing clients).
Plan gating
| Feature | Free | Starter | Pro | Clinic |
|---|---|---|---|---|
| Public profile page | ✅ | ✅ | ✅ | ✅ |
| Basic sections (hero, about, contact) | ✅ | ✅ | ✅ | ✅ |
| Custom CTA text | ❌ | ✅ | ✅ | ✅ |
| Services section | ❌ | ✅ | ✅ | ✅ |
| Testimonials | ❌ | ❌ | ✅ | ✅ |
| FAQ section | ❌ | ✅ | ✅ | ✅ |
| Section reordering | ❌ | ❌ | ✅ | ✅ |
| Hide "Powered by MealStack" | ❌ | ❌ | ❌ | ✅ |
| Analytics | ❌ | ❌ | ✅ | ✅ |
Sharing your profile
The settings page provides multiple ways to share your profile URL:
- Copy Link — copies the full URL to clipboard
- Preview — opens the page in a new tab
- QR Code — downloadable QR code image for business cards and printed materials
Where to use it
- Instagram bio link
- WhatsApp status / business profile
- Business cards (QR code)
- Email signature
- Google My Business website field
- Facebook page "About" section
The public profile URL is short and memorable: mealstack.io/p/your-name. Choose a slug that matches your brand — you can change it in Settings → Practice Profile.