Every HubSpot CMS fix we catalog
SEOLZ catalogs 7 fixes for HubSpot CMS across 2 areas — SEO, answer-engine readiness, accessibility, security and site-health. Each lists the exact steps for HubSpot CMS, with a link to the official docs.
SEO · 5 fixes
Meta description too longQuick win
Shorten your meta description to 150–160 characters so Google displays it in full instead of cutting it off with "…" in search results.
On HubSpot CMS
- Open the page in HubSpot. Go to Marketing → Website → Website Pages (or Landing Pages / Blog) and click Edit on the relevant page.
- Click 'Settings' (top of the editor) → Scroll to 'Meta description' → Edit the field.
- HubSpot shows a live search-snippet preview. Keep the description within the preview's visible area (under 160 characters).
- Click 'Publish' or 'Update' to apply.
<meta name="description" content="Award-winning Bang & Olufsen headphones, speakers and TVs. Visit our Malaysia showroom at The Gardens Mall, Level 2. Free shipping on orders over RM500.">Place this inside the <head> element of every page. Replace the content value with your page-specific description (max 160 characters).
Missing meta descriptionModerate effort
Write and add a unique meta description (120–160 characters) to every page that is missing one, so Google can display an accurate, compelling snippet in search results.
On HubSpot CMS
- For a website page or landing page: Marketing → Website → Website Pages (or Landing Pages) → click the page → 'Settings' tab → 'SEO & Sharing' → 'Meta description' field.
- For a blog post: Marketing → Website → Blog → click the post → 'Settings' tab → 'SEO & Sharing' → 'Meta description'.
<head>
<meta charset="UTF-8">
<meta name="description" content="Shop our full range of handmade leather wallets. Free shipping on orders over $50. Slim, durable & personalised — order yours today.">
<title>Handmade Leather Wallets | YourStoreName</title>
</head>Place this tag inside the <head> element of every HTML page. Keep the content between 120–160 characters.
Missing og imageModerate effort
Add an og:image meta tag to every page so that social media platforms and messaging apps display a rich, branded image preview whenever someone shares your store's link.
On HubSpot CMS
- In HubSpot, navigate to Marketing → Website → Landing Pages (or Website Pages / Blog) and open the page editor.
- Click Settings → Advanced → scroll to 'Featured Image' or 'Social Sharing Image'. Upload a 1200×630 px image — HubSpot uses this as the og:image when the page is shared.
- For the site-wide default, go to Settings → Website → Pages → Templates and set a default social sharing image.
- For blog posts, set the 'Featured Image' in the blog post editor (right-hand panel) — HubSpot automatically uses this as the og:image.
- Validate with the Meta Sharing Debugger.
Missing titleQuick win
Add a unique, descriptive title tag (30–60 characters) to every page that is missing one.
On HubSpot CMS
- In HubSpot, go to Marketing → Website → Website Pages (or Landing Pages) → select the page → click Settings (gear icon) → go to the 'SEO & Sharing' tab → fill in 'Page title'.
- For blog posts: Marketing → Blog → select the post → Settings → 'SEO & Sharing' → 'Page title'.
- Click Publish or Update.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Slim Bifold Leather Wallet | BrandName</title>
</head>
<body>
<!-- page content -->
</body>
</html>Place this inside the <head> element of every HTML page. Keep the text between 30–60 characters.
Title too longQuick win
Shorten your page title tag to 60 characters or fewer so it displays fully — without truncation — in Google search results.
On HubSpot CMS
- Go to Marketing → Website → Website Pages (or Landing Pages / Blog).
- Open the page editor, click 'Settings' at the top, and edit the 'Page title' field to ≤60 characters.
- Click Publish or Update to save.
<head>
<meta charset="UTF-8">
<title>Running Shoes for Men | YourBrand</title>
</head>Place inside the <head> element of every HTML page. Keep the total character count at or under 60.
Answer Engine Optimization · 2 fixes
Article missing authorQuick win
Add a structured-data author field (schema.org Person) to every article or blog post so AI engines and Google can identify and trust who wrote the content.
On HubSpot CMS
- In HubSpot, go to Marketing → Website → Blog and open a blog post.
- The post author is set via the 'Author' field in the post settings sidebar — ensure each author has a complete profile (name, bio, social links) under Blog → Authors.
- HubSpot auto-generates some structured data; to add full Article + Person JSON-LD, edit the blog post template in Design Manager → Templates → Blog Post template.
- Add an HTML module or custom module in the <head> section of the template that outputs the JSON-LD block, using HubL tokens like {{ content.blog_post_author.display_name }}.
- Validate with the Rich Results Test.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "How to Choose the Best Running Shoes",
"datePublished": "2024-03-10T09:00:00+00:00",
"dateModified": "2024-06-20T14:00:00+00:00",
"author": {
"@type": "Person",
"name": "Alex Johnson",
"url": "https://www.yourstore.com/about/alex-johnson",
"sameAs": [
"https://www.linkedin.com/in/alexjohnson",
"https://twitter.com/alexjohnson"
]
},
"publisher": {
"@type": "Organization",
"name": "Your Store Name",
"logo": {
"@type": "ImageObject",
"url": "https://www.yourstore.com/assets/logo.png",
"width": 300,
"height": 60
}
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://www.yourstore.com/blog/how-to-choose-running-shoes"
}
}
</script>For any static site or custom CMS: paste inside the <head> of each article page and fill in real values.
Missing schema articleModerate effort
Add Article schema markup (JSON-LD) to every blog post and editorial page so Google can identify and rich-result-enhance your content in search.
On HubSpot CMS
- Go to Marketing → Website → Blog → Blog Settings → check if HubSpot is injecting Article schema automatically (it does for most templates since 2021). Verify with the Rich Results Test first.
- If schema is missing or incomplete, open the HubSpot Design Manager, locate your Blog Post template, and add an HubL 'html_tag' or raw HTML module containing the JSON-LD script block.
- Use HubL variables ({{ content.name }}, {{ content.publish_date }}, {{ content.blog_author.display_name }}) to populate fields dynamically.
- Publish and validate with the Rich Results Test.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>How to Choose the Right Running Shoes</title>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "How to Choose the Right Running Shoes",
"description": "A complete guide to selecting running shoes based on your gait, terrain, and training goals.",
"image": {
"@type": "ImageObject",
"url": "https://www.example.com/images/running-shoes-guide.jpg",
"width": 1200,
"height": 630
},
"author": {
"@type": "Person",
"name": "Jane Smith",
"url": "https://www.example.com/authors/jane-smith"
},
"publisher": {
"@type": "Organization",
"name": "Example Store",
"logo": {
"@type": "ImageObject",
"url": "https://www.example.com/logo.png",
"width": 250,
"height": 60
}
},
"datePublished": "2024-03-15",
"dateModified": "2024-06-01",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://www.example.com/blog/how-to-choose-running-shoes"
},
"url": "https://www.example.com/blog/how-to-choose-running-shoes"
}
</script>
</head>
<body>
<!-- page content -->
</body>
</html>Place this entire block inside the <head> element of any article or blog-post page. Fill in all values before publishing.