Title tag length: the 30 to 75 character range squirrel uses
A page with no title element, or one outside 30 to 75 characters. squirrel measures the title on every crawled page.
What the title element is
The title element names the page. It is what a browser puts in the tab, what a bookmark saves, and one of the sources Google draws the link text of a result from. Google documents that it may use other text on the page instead when that describes the content better.
Length matters because of where it is displayed rather than because of any rule. A desktop search result truncates at roughly 600 pixels, which is around 60 characters of typical text, so anything past that is written for nobody. Too short usually means the title is a single word that could describe any page on the site.
What squirrel checks
The rule runs on every crawled page against the parsed title. It emits one or two checks:
meta-titleanddocument-title, both failing with the messagesMissing page titleandMissing document titleand a null value, when there is no title or the title holds only whitespace. These are the only two checks emitted in that case.meta-title, warning with the messageTitle too shortwhen the title is under the minimum, orTitle too longwhen it is over the maximum. Both carry the title as the value,<min>-<max> charactersas the expectation, and an item holding the page URL with the first 50 characters of the title and its length. The defaults are 30 and 75 and both are configurable below.meta-title, passing with the messageTitle length OKand the title as the value.
A title that prints a missing value, such as undefined | Acme or [object Object] | Acme, is reported by content/placeholder-text, not by this rule.
The title is measured as a browser displays it: runs of spaces, tabs and line breaks collapse to one space and the ends are trimmed, so a theme that indents <title> across several lines is measured by its visible text, and that text is what the value and the item show. A no-break space is part of the title and is not collapsed. Length is counted in characters, so an emoji counted by the browser as one glyph may count as two. Severity is error and weight is 8, the highest in this category.
Pages kept out of the search index are skipped. A page whose <meta name="robots"> tag or X-Robots-Tag header contains noindex (a header scoped to one crawler, such as googlebot: noindex, counts too) gets one skipped check named core/meta-title with the message Skipped: page is set to noindex via robots meta tag (or via X-Robots-Tag header) instead, because its title never appears in a search result. Skipped checks do not count toward the score. Pages are skipped only on a site that is itself being indexed, judged by its homepage, or by the page the audit started from when the homepage was not fetched. When that page is noindex, as on a staging site or a preview deployment (Vercel, Netlify and Cloudflare Pages previews send X-Robots-Tag: noindex by default), nothing is skipped: the whole host is out of search and the audit is most likely checking it before launch. When neither page was fetched, nothing is skipped either. See pages kept out of search for the full list of rules that do this.
How to fix it
<title>Configuring the build cache | Acme Docs</title>Put the specific part first and the brand last, because that is the half that survives truncation. One title per page, describing that page rather than the site.
The common false positive is a title assembled on the client. squirrel reads the HTML the server sent unless browser rendering is on, so a title set by JavaScript after load is reported as missing.
| Rule ID | core/meta-title |
| Category | Core SEO |
| Scope | Per-page |
| Severity | error |
| Weight | 8/10 |
Options
| Option | Type | Default | Description |
|---|---|---|---|
min_length | number | 30 | Minimum title length |
max_length | number | 75 | Maximum title length |
Configuration example
[rules."core/meta-title"]
min_length = 30
max_length = 75Enable / disable
Disable this rule
[rules]
disable = ["core/meta-title"]Disable all Core SEO rules
[rules]
disable = ["core/*"]Enable only this rule
[rules]
enable = ["core/meta-title"]enable replaces the default ["*"], so this is the only rule selected. Leave disable out: a rule that matches any disable pattern is skipped even when enable names it. Only an enabled setting under a rule’s own [rule_options] table overrides both lists.
Related rules
- core/title-unique: whether that title is used on more than one page.
- core/meta-description: the snippet text below the title in a result.
- core/h1: the on-page heading the title should agree with.
- content/title-pattern-outlier: titles that break the site’s own naming pattern.
Core SEO findings ship in every audit next to the performance, security and agent experience rules. See Fix SEO issues with AI for how an agent works through a report.
References
- Influencing your title links in search results, Google Search Central
- The title element, HTML Standard
Check your site
Run squirrel audit https://example.com and open the Core SEO section of the report. Each page reports its title and character count. Signed-out local audits need no account and cost nothing. Signed-in audits spend credits.