# How to set up SEO meta tags in Bubble

- Tool: Bubble
- Difficulty: Beginner
- Time required: 15-20 min
- Compatibility: All Bubble plans
- Last updated: March 2026

## TL;DR

Configure SEO in Bubble at two levels: app-wide defaults in Settings → SEO/metatags (title, description, OG image), and per-page overrides in each page's Property Editor. Dynamic pages use expressions to generate unique meta tags from database content. Submit an XML sitemap to Google Search Console for indexing. Bubble serves meta tags server-side for immediate crawler access.

## Set Up SEO Meta Tags in Bubble

This tutorial covers the complete SEO meta tag setup in Bubble — from app-wide defaults to page-specific overrides and dynamic meta tags for content pages. Proper meta tag configuration is essential for search engine visibility and social sharing.

## Before you start

- A Bubble account with an existing app
- Basic understanding of SEO (meta tags, titles, descriptions)
- A Google Search Console account (recommended)

## Step-by-step guide

### 1. Configure App-Wide SEO Defaults

Go to Settings → SEO/metatags. Set 'App title' to your brand name. Set 'Page description' to a 155-character default description. Upload a default OG image (1200x630px). Set 'App favicon' in Settings → General. These defaults apply to any page without custom meta tags.

**Expected result:** App-wide default meta tags are configured.

### 2. Set Unique Meta Tags Per Page

For each important page, click the page background in Design tab → Property Editor. Set 'Page title' to a unique, keyword-rich title under 60 characters. Set 'Page description' to a unique 155-character description. Set 'OG image' if different from the default. Every page should have unique metadata.

**Expected result:** Each page has unique meta title and description.

### 3. Add Dynamic Meta Tags for Data Pages

For pages with Type of content (product, blog post), use dynamic expressions. Page title: Current Page Product's name & ' | YourApp'. Description: Current Page Product's description :truncated to 155. OG image: Current Page Product's image. These resolve server-side.

**Expected result:** Data-driven pages have unique meta tags from database content.

### 4. Add Structured Data and Advanced Tags

In Settings → SEO/metatags → Script/meta tags in header, add Twitter Card tags, canonical URLs, and JSON-LD structured data for rich search results. Example: <meta name="twitter:card" content="summary_large_image">.

**Expected result:** Advanced meta tags and structured data are in the page header.

### 5. Create and Submit a Sitemap

Build a sitemap page or use a sitemap plugin that generates XML listing all your app's URLs including dynamic pages. Submit the sitemap URL to Google Search Console → Sitemaps. Monitor indexing status in the Coverage report.

**Expected result:** Google knows about all your pages and is indexing them.

## Complete code example

File: `Workflow summary`

```text
SEO SETUP CHECKLIST

1. Settings → SEO/metatags
   App title: YourApp
   Default description: 155 chars describing your app
   Default OG image: 1200x630px branded image

2. Per-page meta tags (Property Editor)
   Home: "YourApp — Build Products Without Code" 
   Pricing: "Pricing Plans | YourApp"
   About: "About Us | YourApp"
   Blog: "Blog | YourApp"

3. Dynamic pages
   Product: Current Page Product's name & " | YourApp"
   Blog post: Current Page Post's title & " | YourApp Blog"

4. Header tags (Settings → Script/meta tags)
   <meta name="twitter:card" content="summary_large_image">
   <meta name="robots" content="index, follow">

5. Sitemap
   Submit to Google Search Console
   Include all static and dynamic page URLs
```

## Common mistakes

- **Using the same title on every page** — Google penalizes duplicate titles and may not index pages properly. Fix: Set unique titles for every page with relevant keywords.
- **Writing meta descriptions over 155 characters** — Google truncates descriptions longer than ~155 characters, cutting off your message. Fix: Keep descriptions between 120-155 characters.
- **Forgetting to set OG images for social sharing** — Links shared on social media show no preview image, reducing click-through rates. Fix: Set OG images on every page — use the default for non-critical pages.

## Best practices

- Set unique meta titles (under 60 chars) and descriptions (under 155 chars) for every page.
- Include primary keywords near the start of page titles.
- Use dynamic meta tags on all data-driven pages.
- Upload OG images at 1200x630px for optimal social sharing.
- Submit an XML sitemap to Google Search Console.
- Add structured data (JSON-LD) for rich search results.
- Monitor indexing status regularly in Search Console.

## Frequently asked questions

### Does Bubble serve meta tags server-side?

Yes. Page titles, descriptions, and OG tags are served server-side in the HTML head. Search engines and social platforms see them without JavaScript rendering.

### How do I check if my meta tags are working?

View page source (Ctrl+U) to see the head section. Use Facebook Sharing Debugger and Google Search Console's URL Inspection tool.

### Can I set meta tags conditionally?

No. Bubble's built-in meta tag fields do not support conditions. For different meta tags based on state, use separate pages.

### Do I need a paid plan for SEO?

SEO meta tags work on all plans. However, free plan apps show Bubble branding and cannot use custom domains, which limits SEO effectiveness.

### How long until Google indexes my pages?

New pages typically take days to weeks. Submitting a sitemap and requesting indexing in Search Console speeds this up. For comprehensive SEO strategies, RapidDev can help maximize your search visibility.

### Should I use a Bubble SEO plugin?

Plugins can help with sitemaps and structured data. For basic meta tags, Bubble's built-in settings are sufficient.

---

Source: https://www.rapidevelopers.com/bubble-tutorial/setup-seo-meta-tags-in-bubble
© RapidDev — https://www.rapidevelopers.com/bubble-tutorial/setup-seo-meta-tags-in-bubble
