Ghost Meta Data and Canonical URLs: The Custom Override
Ghost's per-post Meta data section lets you override title, description, and canonical. Here's when and how to use each field.
Ghost's default meta tag behavior is sensible: the post title becomes the meta title, the excerpt becomes the meta description, and the post URL becomes the canonical. For most posts, this is fine and you don't need to touch it.
But the default behavior isn't always the right behavior. When you're writing titles for engagement rather than search, syndicating content to other platforms, or targeting a keyword phrase that's different from your headline, you need the override. Ghost provides it — it's called the Meta data section in the post settings sidebar, and most Ghost users never open it.
Here's what each field does and when to use it.
Where to find the Meta data section
Open a post in Ghost's editor. On the right-hand side of the screen, click the gear icon to open Post settings. Scroll down until you see the Meta data section. It's collapsible — click the label to expand it if it's closed.
The fields inside are:
- Meta title
- Meta description
- Canonical URL
Below Meta data, there's a separate Twitter card section and a Facebook card section, each with their own title, description, and image override fields.
Field 1: Meta title
Default: the post title.
Override when: your post title is written for clicks and curiosity, not keyword optimization. Headlines like "I Spent 6 Months Doing This — Here's What Happened" work well for social and newsletter, but they're not what someone types into Google. The meta title override lets you keep the engaging headline while giving search engines a title that includes your target keyword.
Format: Primary Keyword | Publication Name or just the keyword-optimized title on its own. Keep it under 60 characters to avoid truncation in search results.
Example:
Post title: "I Audited 100 Ghost Sites — Here's What I Found" Meta title: "Ghost SEO Audit: 12 Issues Most Sites Have | RankCrab"
The post title works for social and newsletter preview. The meta title works for search.
Field 2: Meta description
Default: the post excerpt.
Override when: almost always. Excerpts are frequently written for email preview — they're designed to read as the opening of the post. Meta descriptions are supposed to pitch the search result. These are different writing goals.
A good meta description:
- Includes the primary keyword naturally in the first half
- Is 140–160 characters (140 is safer for mobile)
- Has a specific value proposition: what will the reader get?
- Ends with something action-oriented if space allows
Example:
Excerpt: "Last month I ran a complete SEO audit on a Ghost site that had been live for two years. The results were surprising..." Meta description: "Ghost SEO audit checklist — 12 issues found on 100+ live Ghost sites, with step-by-step fixes for each. 15-minute audit."
Preview your meta title and description in search result format before publishing to catch truncation issues.
Field 3: Canonical URL
Default: the post's own URL.
This is the most consequential field in the Meta data section, and the one most often ignored.
The canonical tag tells search engines which URL is the "original" version of a piece of content. If two URLs contain the same content, the canonical tells Google which one to index and pass PageRank to. Ghost sets the canonical to the post's own URL automatically, which is correct for original content.
Override when: you're syndicating content.
Syndication means publishing the same content on another platform — Medium, DEV.to, LinkedIn Articles, a partner newsletter, a content aggregator. If you publish a post on your Ghost blog first and then cross-post it to Medium with no canonical tag, you've created a duplicate content situation. Google may choose the Medium version as the canonical (especially if Medium has more domain authority), and your Ghost post may not rank.
The fix: set Ghost's canonical URL field to your Ghost post URL before syndicating. Then, on the syndication platform, also set the canonical pointing back to your Ghost URL. Both sides need to agree.
On Ghost, the canonical override is in Post settings → Meta data → Canonical URL. Paste the full URL of the original post (your Ghost URL).
https://yourdomain.com/your-post-slug/
Other canonical use cases:
- Paginated content: If you have a multi-page post or a paginated tag archive, the canonical on page 2+ should point to page 1 (or use
rel="prev"andrel="next"— Ghost doesn't generate these automatically). - URL parameter pages: If your Ghost setup adds UTM parameters or other query strings that create duplicate URLs, the canonical prevents indexing those variations.
- Content migrated from another domain: If you moved a post from an old domain and the original URL is still live, set the canonical on your Ghost post to itself (not the old URL) and make sure the old URL has a 301 redirect.
Use RankCrab's canonical checker to verify your canonical tags are rendering correctly.
Twitter card fields
Ghost's Twitter card section (in post settings) has three overridable fields:
- Twitter title — overrides the OG title for Twitter specifically
- Twitter description — overrides the OG description for Twitter
- Twitter image — overrides the feature image for Twitter card display
When to use: Twitter card images have a different crop behavior than OG images. If your feature image has important content in the edges or corners, it may be cropped oddly in a Twitter card. Uploading a dedicated Twitter image (1200×675px) with the important content centered gives you control over how the card renders.
The Twitter title/description overrides are less commonly needed — most of the time, your OG meta is fine for Twitter as well.
Facebook card fields
The Facebook card section works identically to Twitter: separate fields for title, description, and image.
When to use: Facebook cards render OG tags, same as most other platforms. The Facebook-specific fields are useful when:
- You want a different image crop for Facebook vs. the default feature image
- Your post title is long and you want a shorter version for the Facebook card
- You're A/B testing different descriptions for social traffic
The complete meta tag output
Here's what Ghost outputs in the <head> for a post with all the standard fields set:
<title>Your Meta Title | Publication Name</title>
<meta name="description" content="Your meta description." />
<link rel="canonical" href="https://yourdomain.com/your-post-slug/" />
<meta property="og:site_name" content="Publication Name" />
<meta property="og:type" content="article" />
<meta property="og:title" content="Your OG Title" />
<meta property="og:description" content="Your OG description." />
<meta property="og:url" content="https://yourdomain.com/your-post-slug/" />
<meta property="og:image" content="https://yourdomain.com/content/images/your-image.jpg" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Your Twitter Title" />
<meta name="twitter:description" content="Your Twitter description." />
<meta name="twitter:image" content="https://yourdomain.com/content/images/your-twitter-image.jpg" />
The priority order for each tag:
- The explicit field override (Meta data section or card section)
- The post-level field (post title → meta title; excerpt → meta description; feature image → OG image)
- The site-wide default (publication title, default OG image)
For the full picture of Ghost's SEO defaults — what gets generated automatically and what you need to configure — see the Ghost SEO checklist and the Ghost SEO hub.