At a glance
Count of catalogue products missing a pageTitle (SEO title tag). The single most direct organic-ranking lever in the catalogue, the title tag is what Google uses as the headline result text and weights heavily in the ranking algorithm. Missing or default-cloned title tags are pure ranking-loss with zero offsetting benefit.
| What it counts | COUNT(products WHERE pageTitle IS NULL OR pageTitle = '' OR pageTitle = product.name). We count both empty values and “default-cloned” values where the merchant hasn’t customised, BC’s default behaviour is to use the product name as the page title. That’s marginally better than empty but loses the SEO opportunity to include category, brand, or modifier keywords. |
| VAT / tax treatment | n/a, catalogue metadata. |
| Shipping | n/a. |
| Discounts | n/a. |
| Refunds | n/a. |
| Cancelled / voided orders | n/a. |
| Currency | n/a. |
| Channels / sources | Catalogue-wide count. The pageTitle field is BC’s SEO-specific title separate from name (the product display name). On rendered pages, BC uses pageTitle if set, falls back to name if empty. |
| Why BC SEO is more sensitive than Shopify | BC gives merchants direct control over pageTitle, metaKeywords, metaDescription, and URL slug per product. Shopify’s product URL is forced to /products/<handle> and meta tags are auto-generated with theme-controlled overrides. BC’s flexibility is an advantage for stores that fill out the SEO fields and a disadvantage for stores that don’t. This card surfaces the gap. |
| Default-cloned vs custom-authored | A pageTitle equal to the product name reads as default-cloned (BC’s auto-fill behaviour). A pageTitle that’s distinct from name is custom-authored, the SEO-optimised state. We surface both gaps but treat empty as more urgent than default-cloned. |
| The 60-character window | Google truncates title tags around 60-65 characters in search results. A title that’s 80+ characters wastes the keyword positions beyond the truncation. We do not yet flag overlong titles; that’s on the V2 backlog as “page title quality” alongside this presence check. |
| Marketplace feed implications | Amazon, Google Shopping, and other feeds use pageTitle (or name as fallback) as the listing title. A missing pageTitle defaults to product name, which often lacks the keywords that drive marketplace search ranking. |
| Time window | RT (real-time, refreshed each catalogue sync) |
| Alert trigger | >5% of catalogue, sentiment key missing_seo |
| Roles | owner, marketing |
Calculation
Worked example
A US homewares brand on BigCommerce Pro with 4,820 active SKUs, snapshot at 12 Apr 26.pageTitle state | Product count | Share | SEO impact |
|---|---|---|---|
| Custom-authored, optimised (with category / brand / modifier) | 1,610 | 33.4% | Strongest organic ranking |
| Custom-authored, basic (1-3 words) | 920 | 19.1% | Some ranking benefit |
| Default-cloned (equals product name) | 1,840 | 38.2% | Marginal, missing the SEO opportunity |
| Empty | 450 | 9.3% | Empty alert, falls back to name in render |
| Total | 4,820 | 100% |
- 9.3% truly empty fires the alert. That’s 450 products with no SEO title. They render with the product name, but BC merchants who don’t fill
pageTitletypically also don’t optimise other SEO fields, the gap correlates. - The 38.2% default-cloned share is the real story. These products have a
pageTitleequal to theirname, e.g.pageTitle = "Linen Bedding Set"instead of optimisedpageTitle = "Linen Bedding Set, King Size, Stonewashed | Brand Name". The SEO-optimised version targets long-tail keyword variations and brand association; the default version captures only the head term. - Combined underweight share is 47.5%, almost half the catalogue is operating below SEO ceiling. Lifting the underweight 47.5% to optimised typically generates a 15-30% organic-traffic uplift over 60-90 days, the biggest single SEO lever for catalogue stores.
- The empty group is concentrated in 1-2 brands, almost always. A single supplier’s bulk import without
pageTitledata accounts for 80%+ of the empty count. Identify the supplier; fix the import workflow; the gap closes. - Default-cloned is concentrated by import-source. Products imported via BC’s CSV import or via PIM-sync without a
pageTitlemapping default topageTitle = name. Configure the import to write a structured pageTitle ({name} | {brand} | {category}) and the default-cloned share drops dramatically without manual editing.
- Fix import workflow first. Audit your PIM-to-BC sync or CSV import templates; add
pageTitleas a mapped field. Generate it programmatically as{name} | {brand} | {category}if no specific title is provided. - Bulk-update default-cloned products. A SQL-style transform
UPDATE products SET pageTitle = CONCAT(name, ' | ', brand, ' | ', category) WHERE pageTitle = namelifts the underweight cohort in one operation. - Sort missing-pageTitle by
revenueRankand hand-author the top 50-100. The top products deserve human-crafted titles; the long tail can use the templated version. - Set a catalogue validation rule. BC supports product-validation; configure
pageTitle != null AND pageTitle != nameas a soft warning at product save time. - Cross-check against
google_search_console.gsc_indexed_pagesto identify which under-titled products are actually getting search impressions. Fix high-impression-low-rank products first.
Sibling cards merchants should reference together
| Card | Why pair it with Missing SEO Title Count |
|---|---|
| Products Missing Description | Sister card. Together they catalogue the two main on-page SEO data gaps. |
| File Library by Type | Catalogue-health peer covering image format. The three SEO levers: title, description, image format. |
| Top Products | Revenue-weighted. SEO gaps on top products are emergencies. |
| Product Status | Active vs disabled. Missing pageTitle on disabled products is non-urgent. |
| Products by Vendor | Brand decomposition; gaps usually concentrate by supplier. |
| Products by Type | Type decomposition; some product types chronically lack SEO data. |
google_search_console.gsc_indexed_pages | The downstream measurement. Indexed pages with low CTR usually have weak titles. |
google_search_console.gsc_avg_position | Average ranking position. Title-tag optimisation typically lifts position 3-8 places per page. |
Reconciling against the vendor’s own dashboard
Where to look in BigCommerce Control Panel: Catalogue → Products → {product} → SEO tab shows the per-productpageTitle, metaDescription, and metaKeywords fields. There is no native catalogue-level “missing SEO” report. Bulk export to CSV and filter the Page Title column to identify gaps.
For external SEO validation, Google Search Console shows the title tags Google sees on each indexed page; mismatches between BC’s pageTitle and what GSC shows usually mean the theme is overriding.
Why our number may legitimately differ from a manual BC catalogue audit:
| Reason | Direction |
|---|---|
Default-cloned detection. We flag pageTitle == name as effectively missing; a manual count of empty-only would not. | Vortex IQ HIGHER count |
Theme overrides. Some Stencil themes generate a custom title from name + category at render time, regardless of pageTitle. The rendered HTML differs from the BC database value. | Theme-dependent |
HTML / whitespace edge cases. A pageTitle of or reads as non-empty in BC’s database; we strip and check. | Vortex IQ HIGHER count |
| Sync lag. Recent edits propagate within 5-30 minutes. | Vortex IQ slightly LAGS |
| Disabled products. We include them; merchants may want to exclude. | Vortex IQ HIGHER count |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
google_search_console.gsc_pages_with_title_issues | GSC’s “Missing or empty title” report should overlap | GSC sees the rendered HTML; theme overrides may generate titles even when BC’s pageTitle is empty. |
screaming_frog.sf_missing_titles | Screaming Frog’s crawl-time check shows the same | Screaming Frog and GSC both see the rendered output; this card sees the BC-side data. |
shopify.missing_seo(planned)adobe_commerce.missing_seo(planned)
Known limitations / merchant FAQs
My pageTitle equals product name on most products, why is that a problem? Because productname typically lacks the keyword variations that drive search ranking. A product named “Linen Bedding Set” will rank for that exact phrase but miss long-tail queries like “Linen Bedding Set King Size”, “Stonewashed Linen Bedding”, or “Linen Bedding Set [Brand Name]”. Optimised pageTitles target those variations explicitly. The lift is usually 3-8 ranking positions per product.
What’s the right pageTitle format?
The structural template most stores use: {Product Name} - {Modifier or Variant} | {Brand} | {Store Name}. Example: “Linen Bedding Set - King Size | Brand Name | Store”. Total length under 60 characters when possible. Adapt to category norms; furniture and electronics often need more specs in the title.
Should I include the brand in every pageTitle?
For brand-aware shoppers, yes. For commodity categories, no. Test on a sample (50 products) and measure GSC CTR for 30 days; the answer becomes obvious. Most fashion / homewares stores benefit from brand inclusion; commodity categories (parts, accessories) often do better without.
My theme generates titles automatically, do I still need to fill pageTitle?
Depends on the theme. Most Stencil themes use BC’s pageTitle directly with no override; a few generate a custom title from name + category at render time. Verify by viewing source on a product page; if the <title> tag matches your pageTitle field, the theme is using BC’s value. If it differs, the theme is overriding.
How quickly does title-tag optimisation show in rankings?
Typically 14-60 days depending on how often Google re-crawls. High-traffic pages re-crawl in days; low-traffic pages may take weeks. Use Google Search Console to monitor; submit affected URLs for indexing to speed up.
Is there a character-count limit?
Google truncates around 60-65 characters in search results (technically the limit is pixel width, but 60 chars is the rule of thumb). Beyond that the truncation eats your keyword positioning. Aim for 50-60 characters; up to 70 is acceptable if the most important keywords are in the first 50.
Should I stuff keywords?
No. Keyword stuffing has been a ranking penalty for 10+ years. The current best-practice is “natural keyword inclusion”, write a title that’s genuinely descriptive and incidentally includes the target keywords. Google’s RankBrain detects unnatural keyword density.
My empty-pageTitle products still rank, why bother?
They rank below their potential. A product with empty pageTitle that ranks at position 12 might rank at position 5 with an optimised title. The cost of inaction is invisible (you don’t see the missed traffic) but real.
Can I bulk-update pageTitle via the BC API?
Yes. The PUT /catalog/products/{id} endpoint accepts pageTitle in the request body. Bulk updates of 100-500 products take 5-15 minutes via API; appropriate for scripted regeneration. Always backup first.
My product name is already long (75 chars), what do I put in pageTitle?
A shortened version. Drop the brand or store-suffix from the front, drop any verbose modifiers. The pageTitle should be the most important 50-60 characters from the customer’s search-intent perspective; everything else can live in the meta description and on-page heading.