Rule: title-length
Google displays approximately 50-60 characters of your title tag in search results (or about 580 pixels wide). Titles that exceed this limit are truncated with an ellipsis, cutting off your brand name or key differentiator. Titles that are too short waste valuable keyword real estate. This rule has a weight of 8/100 — one of the heaviest optional rules — because title length directly impacts click-through rates.
What it checks
Indxel counts the number of characters in the title tag (after trimming leading/trailing whitespace). It then compares the length against four threshold bands. The character count includes all visible characters, spaces, and special characters like pipes (|) or dashes (-) used as separators. Template suffixes like ' | Brand' from Next.js title.template are included in the count.
Thresholds
50-60 characters (inclusive)
30-49 characters — too short, wasting keyword space
61-70 characters — slightly long, may be truncated
Less than 30 characters — far too short
More than 70 characters — heavily truncated in SERPs
Edge cases
Next.js title.template adds characters (e.g., ' | Brand' = 8 chars). If your page title is 55 chars and the template adds 8, the final title is 63 chars — a warning. Account for template length.
Emoji characters count as 1-2 characters depending on the emoji. Indxel uses JavaScript string length, so compound emoji (flags, skin tones) may count as 2-4 characters.
Google's display width is pixel-based (~580px), not character-based. Wide characters like 'W' or 'M' take more space than 'i' or 'l'. 60 characters is a safe approximation but not exact.
If title-present fails (no title), title-length is automatically skipped. You can't measure the length of something that doesn't exist.
Configuration
// indxel.config.ts
import { defineSEO } from "indxel";
export default defineSEO({
rules: {
"title-length": true, // enabled by default
},
});
// title-length thresholds are fixed and not configurable.
// If you need to adjust them, disable the rule and implement
// a custom check via the SDK's validateMetadata() API.Frequently asked questions
Why is the sweet spot 50-60 characters, not 60?
Google's truncation is pixel-based, not character-based. 60 characters of narrow letters (like 'i') fit fine, but 60 characters of wide letters (like 'W') get truncated. 50-60 is the safe zone where virtually all titles display fully.
Does the title.template in Next.js count toward the character limit?
Yes. If your template is '%s | Acme' and your page title is 'Pricing Plans', the rendered title is 'Pricing Plans | Acme' (20 chars). Indxel measures the final rendered title, including the template suffix.
Should I prioritize staying under 60 or including keywords?
Both matter, but a truncated title loses impact. Put your primary keyword near the beginning of the title, and keep the total under 60 characters. If you must choose, a complete 55-character title outperforms a truncated 75-character title.