Base44 meta tags: how to set titles, descriptions and Open Graph images
How Base44 generates page titles, why meta descriptions and record pages need your attention, and how to set Base44 meta tags per page or take them over in code.
9 min read
Base44 gives every page a title generated from its URL and adds canonical and social tags on its own. It doesn’t write meta descriptions, and it can’t give record pages titles of their own. Set titles and descriptions on the SEO & GEO page’s Meta tags tab, and ask the AI to set titles from the data on pages that show records.
This post covers the panel, the record-page problem, Open Graph images, and when to take over meta tags in code. For the rest of the setup, see the Base44 SEO guide.
What Base44 sets on its own
On a custom domain, per Base44’s SEO documentation:
- Titles: “Each page has a unique meta title based on its URL (for pages without URL parameters).” Our test sites mostly used the pattern
Page | App name. - Canonicals: self-referencing on every page, with tracking parameters such as
utm_*andfbclidstripped and content parameters such as?id=123kept. - Open Graph and Twitter tags: title, description and image from your app settings, with the image resized to 1200 × 630.
And what it doesn’t: “Base44 does not set a custom meta description for each page by default.”
In practice, the homepages in our test of 47 Base44 sites all had a meta description, because their owners had set one or used the SEO & GEO scan’s fixes. Inner pages were patchier: on 6 of the 47 sites, one description was repeated on every page we sampled.
Set titles and descriptions per page
- Open your app’s Dashboard and go to SEO & GEO.
- Open the Meta tags tab.
- For each public page, set a Title (Base44 suggests 10 to 60 characters) and a Description (up to 160).
- Publish.
Since the 17 June 2026 update, this also works for pages inside nested folders.
A few rules that hold on any platform:
- Write the title in the words people search with. “Pricing | Acme” tells nobody anything. “Acme pricing: plans for teams of 5 to 500” matches what people type.
- One page, one description. A description copied across pages is worse than none, because Google has to guess which page answers the query.
- Google may rewrite either. It picks the title link and snippet from several sources. A title that matches the page’s H1 and content is the one most likely to survive.
The record-page problem
“For pages without URL parameters” is the phrase that matters. A Base44 app shows records through template pages: one ProductDetail page renders every product at /ProductDetail?id=.... Base44 generates one title for that page, and every product shares it.
We saw this on live sites. On a reading app, every series page was titled “Series | StoryNook” with no description, even though the rendered page contained the series’ own name and summary. On a football app, every match page was “Match | The Big Ball Game.”
The fix is to set the title and description from the record once it has loaded. Ask the AI chat something like:
On the ProductDetail page, once the product has loaded, set the document title to
"{product name} | Acme" and the meta description to the first 155 characters of the
product summary. Also set og:title and og:description to the same values.
Two things to confirm afterwards:
- The title changes in the browser tab when you open two different records.
- Crawlers get it. Base44’s pre-rendered copy for crawlers is a render of the page, so a title set from loaded data can reach crawlers. Test it with Googlebot’s user agent:
UA='Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'
curl -s -A "$UA" 'https://yourdomain.com/ProductDetail?id=abc' | grep -o '<title>[^<]*</title>'
If the response contains id="seo-snapshot", the page has no cached render yet, and crawlers are getting Base44’s generated summary instead of your title. Check again after your next publish. If a rendered response still prints the generic title, platform meta injection may be overriding yours (see below).
Open Graph images
Base44 builds social previews from the title, description and logo in your app settings, and resizes the image to 1200 × 630. The April 2026 SEO & GEO release added per-page titles, descriptions and Open Graph images, so set a real image for pages people share, such as your homepage, pricing page and articles.
A logo stretched to 1200 × 630 makes a weak preview. Use an image designed for the ratio, with text large enough to read in a feed. The link previews guide covers how Slack, LinkedIn, WhatsApp and X read these tags and how to force them to refresh.
Taking over meta tags in code
If you manage tags yourself, from a library or from code that sets them per record, Base44’s injected tags can overwrite yours. The docs give the right way to stop that:
- On the SEO & GEO page, open Advanced Settings.
- Turn off Platform meta tag injection.
- If you also manage JSON-LD, turn off Platform structured data injection.
- Keep Enable SEO for this app on.
For tags that must be in the raw HTML of every page, like verification tags or analytics, edit index.html in the Code tab. Anything there ships on every page before JavaScript runs. Don’t put page-specific titles there, since every page would share them.
Check your work
for p in / /pricing /about; do
echo "== $p"
curl -s -A 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)' \
"https://yourdomain.com$p" \
| grep -oE '<title>[^<]*</title>|<meta name="description"[^>]*>|<link rel="canonical"[^>]*>'
done
Each page should print a distinct title, a distinct description and a canonical pointing at itself.
What to do next
- Set titles and descriptions for every page you want found, starting with the homepage and pricing.
- Find your template pages that show records and give them data-driven titles.
- Add a proper Open Graph image to shared pages.
- Run the SEO & GEO scan and read what it flags, using the SEO & GEO score guide as a reference.
Frequently asked questions
- Does Base44 set meta descriptions automatically?
- Not per page. Base44's docs say it doesn't set a custom meta description for each page by default. You can set one per public page on the SEO & GEO page's Meta tags tab, and if you don't, search engines write their own snippet from the page.
- Where do I edit page titles in Base44?
- On the SEO & GEO page in your app dashboard, under Meta tags. Base44 suggests titles of 10 to 60 characters and descriptions of up to 160. Since June 2026 this also works for pages inside nested folders.
- Why do all my Base44 product pages have the same title?
- Base44 generates titles from the page's URL, and only for pages without URL parameters. A template page that shows many records, like /Product?id=123, gets one title for all of them. Ask the AI to set the document title and meta description from the loaded record.
- How do I stop Base44 from overwriting my own meta tags?
- On the SEO & GEO page, open Advanced Settings and turn off Platform meta tag injection. Keep the main Enable SEO toggle on, because turning it off also disables pre-rendering for crawlers.
Read next
Keep going
-
Base44 SEO: what the platform handles and what you fix
A complete Base44 SEO guide: how Base44 serves pages to Google and AI crawlers, what it automates, and the checklist for custom domains, sitemaps, titles and records.
-
Base44 link previews on Slack, LinkedIn, WhatsApp and X
Why a Base44 link preview shows the wrong title or image, how Base44 builds Open Graph tags, and how to fix and refresh previews on each platform.
-
Base44 SEO & GEO score: what the scan checks and misses
What Base44's SEO & GEO scan measures, how Fix with AI works, why a high Base44 SEO score doesn't mean crawlers see your pages, and what to check yourself.
-
Adding structured data (JSON-LD) to a Base44 app
Which schema Base44 adds automatically, how to add Organization, FAQPage, LocalBusiness, Product and Article JSON-LD to a Base44 app, and how to validate it.