Duplicate or Missing Title Tags
The title element is the line of text that names a page in the browser tab and is usually the source of the clickable headline in search results.
When the Meta Tag Analyzer reports a title problem, it is normally one of four things: the title is missing or empty, it is repeated on other pages, it is so short it says nothing, or it is so long that the useful part is lost. Most of these come from templates rather than from people. This guide shows how to list every title on a site, trace repeats to their cause, and replace them with titles that are specific to each page.
What the analyzer is telling you
Each title finding points at a different underlying fault, and the fixes are different, so it is worth being clear which one you have before changing anything.
| Finding | What it usually means | Typical source |
|---|---|---|
| Missing title | No <title> element in the head at all | A hand-built page, a custom landing page template, or a JavaScript app that sets the title only in the browser |
| Empty title | The element is there with nothing in it | A template variable that has no value for this page type |
| Duplicate title | The same text appears on two or more addresses | A default title in the theme, pagination, filters, variants, or copy-and-paste page creation |
| Too short | A title such as "Home", "Services" or just the brand name | The page name used on its own with nothing to say what or where |
| Too long | The meaningful words are pushed out of sight | Stacked keywords, a long tagline, or a brand suffix added twice |
| Multiple title elements | Two <title> tags in the head | A theme and an SEO plugin both printing one |
Of these, duplicates matter most on larger sites. Two pages with the same title are hard for a searcher to tell apart, hard to distinguish in a browser with many tabs open, and give search engines one less clue about what makes each page different. Where hundreds of pages share a title, it is also a hint that the pages themselves may be too similar.
<title> element for accessibility.
That is not the page title and is not a duplicate. Only the title in the document head counts.How Google uses the title
Google's documentation on title links says the title element is the main source it uses for the headline
of a result, but not the only one. It can also draw on the main visible heading, og:title,
text in links pointing to the page, and other prominent text. It chooses something else more often when
the title element is missing, empty, repeated across many pages, stuffed with keywords, or does not describe
the page. Its guidance asks for titles that are descriptive and concise, that avoid repeated boilerplate,
and that brand the page briefly.
So fixing titles has two benefits: better headlines in your own words, and fewer cases where Google replaces them. Why Google replaces a title that looks fine is a separate question, covered in fixing Google rewriting your title.
A note on length
There is no length limit for the title element in HTML, and Google does not cut titles at a fixed number of characters; it shortens them to fit the width of the result, which depends on the device and the letters used. As a working rule, most titles between about 30 and 60 characters display in full on desktop and say enough to be useful. Very short titles are the bigger problem in practice. The pixel-width detail is covered in fixing truncated titles, so this guide concentrates on getting every page a distinct, accurate title.
Listing every title on the site
The analyzer checks pages one at a time, which is ideal for seeing each finding in context. To find duplicates you also need every title side by side. A site crawler will export them. For a small or medium site you can do it from the XML sitemap with a few lines at the command line:
curl -s https://example.co.uk/sitemap.xml \
| grep -o "<loc>[^<]*" | sed "s/<loc>//" \
| while read u; do
t=$(curl -s "$u" | tr -d "\n" | grep -o "<title[^>]*>[^<]*" | head -1 | sed "s/<title[^>]*>//")
printf "%s %s
" "$t" "$u"
done > titles.tsv
cut -f1 titles.tsv | sort | uniq -cd | sort -rn | head -20
The last command lists the titles used more than once, most repeated first. If the sitemap is split
into several files, run the same loop over each child sitemap. Open titles.tsv in a spreadsheet,
sort by title, and add a column for the page type, such as product, category, post, tag archive or location
page. Patterns appear quickly.
In Google Search Console, the Performance report shows which pages earn impressions for which searches. That tells you which duplicates to fix first: repeated titles on pages that get impressions are costing you something today; repeats on pages nobody finds can wait.
Where duplicate titles come from
| Cause | Example | Right fix |
|---|---|---|
| Theme default | Every page titled "Northgate Heating | Home" | Output the page's own name through the SEO plugin or template variable |
| Pagination | /blog/, /blog/page/2/, /blog/page/3/ all titled "Blog" | Add the page number: "Blog, page 2" |
| Filters and sort orders | /boots?colour=black and /boots?sort=price titled "Boots" | Usually a canonical to the unfiltered page, not a new title. Give a title only to filtered pages you want indexed |
| Product variants on separate addresses | Five sizes of one jacket with one title | Canonicalise to the main product, or add the variant if each is meant to rank |
| Tag and category archives | A tag and a category both called "Boilers" | Distinguish them, or noindex thin tag archives |
| Cloned location or service pages | "Plumber in Derby" duplicated as the template for twenty towns | Different titles alone are not enough; each page needs genuinely local content |
| HTTP, www and slash variants | The same page reachable at four addresses | Redirect to one address; this is not a title problem at all |
The last two rows matter. A duplicate title is sometimes a symptom of duplicate pages, and rewriting the title hides the symptom without fixing it. If two addresses show the same content, the fix is a redirect or a canonical, covered in fixing missing or broken canonicals. If twenty pages differ only by a town name, giving them different titles makes them look more like doorway pages, not less.
The fix, step by step
Step 1
Export every title with its address
Run the Meta Tag Analyzer on one page of each type to see the title findings in context, then collect every title on the site with a crawler or the sitemap loop in this guide. Put the results in a spreadsheet with columns for title, address and page type. Sort by title and count repeats, so you can see at once which titles appear on many addresses and which pages have none.
Step 2
Group the repeats by cause
For each repeated title, decide which of the known causes applies: a theme default, pagination, filter or sort parameters, variants, archives, cloned pages or address variants. Mark each group in the spreadsheet. Groups caused by duplicate addresses go to redirects or canonicals instead of new titles. Groups caused by a template default or pagination get fixed once in the template, which often clears hundreds of rows together.
Step 3
Fill missing and empty titles at the template
Find the template behind each missing or empty title and make it output a value,
with a sensible fallback. A product template should use the product name, a post template the post heading,
an archive the archive name. For JavaScript apps, make sure the title is in the HTML the server sends,
not set only by a script after loading. Never leave <title></title> empty when
a variable has no value.
Step 4
Write a title pattern for each page type
Set a rule per page type in the SEO plugin or template, built from fields that differ on every page. Put the distinguishing words first, followed by the brand once, such as product name, key attribute, then brand. Add the page number on paginated archives. Check the pattern against ten real pages, because a rule that reads well for one product can produce clumsy or repeated wording on others.
Step 5
Hand-write titles for the pages that matter most
Patterns are fine for the long tail, but the home page, main service pages, top categories and best-selling products deserve a title written by a person. Describe what the page offers in the words customers use, include the place if you serve a local area, and check it is different from every other title on the site. Use the Search Console Performance report to pick these pages by impressions.
Step 6
Remove any second title element
If
the analyzer reports two title elements, view the page source and find which parts of the site print
each one. In WordPress this is usually a theme with a hard-coded <title> in header.php
alongside an SEO plugin; in Shopify, an app injecting its own. Keep the one controlled by your SEO settings
and remove the other at its source, rather than editing both copies to match.
Step 7
Recrawl and compare against the export
Clear page and CDN caches, then repeat the export and compare the repeat counts with the first spreadsheet. The remaining duplicates should be only those you chose to leave, such as filtered pages with a canonical. Rerun the Meta Tag Analyzer on the same sample of pages to confirm no missing, empty or double titles remain, then watch search results for the key pages over the following weeks.
Title patterns that work, by page type
These are starting points, written for a fictional heating firm and a fictional outdoor shop. Adjust the order to lead with whatever a searcher would recognise first.
| Page type | Pattern | Example |
|---|---|---|
| Home page | What you do, where, then brand | Boiler Repairs and Servicing in Chesterfield | Northgate Heating |
| Service page | Service, qualifier or area, brand | Combi Boiler Installation, Fixed Quotes | Northgate Heating |
| Category | Category, a useful attribute, brand | Women's Walking Boots, Waterproof and Wide Fit | Fellside Outdoor |
| Product | Product name, key attribute, brand | Scafell GTX Walking Boot, Brown, Wide Fit | Fellside Outdoor |
| Article | The question or topic, brand optional | How Often Should a Boiler Be Serviced? |
| Paginated archive | Archive name, page number, brand | Heating Advice, Page 3 | Northgate Heating |
| Contact page | Action, area, brand | Contact Us for a Boiler Engineer in Chesterfield | Northgate Heating |
When the brand earns its place
A short brand at the end helps people recognise you in results, and Google's guidance suggests branding titles concisely. It does not need to appear twice, and a long tagline after it rarely helps. On long article titles where space is tight, the brand is the first thing to drop. On the home page, it often belongs at the start, because people searching for the business by name are looking for exactly that.
Things to avoid
- Lists of keywords separated by pipes or commas, such as "Boilers | Boiler Repair | Boiler Service | Cheap Boilers".
- Capitals throughout, or symbols used only to catch the eye.
- Claims the page does not support, such as "Best Prices" or "Free" when it is not free.
- Titles that differ only by one swapped word across dozens of near-identical pages.
Changing titles on common platforms
WordPress
The theme should declare add_theme_support( 'title-tag' ) and leave the title to WordPress
and the SEO plugin. Yoast and Rank Math both set site-wide templates per content type using variables
for the post title, page number, separator and site name, with a field on each post to override it. A
theme that also has <title> typed into header.php produces two titles.
Plugin-specific settings are covered in meta
tags in WordPress.
Shopify
Themes print the title in layout/theme.liquid from the page_title object.
Current themes add the tag filter, the page number and the shop name, which is what stops paginated collections
sharing a title:
<title>
{{ page_title }}
{%- if current_tags %} – tagged "{{ current_tags | join: ', ' }}"{% endif -%}
{%- if current_page != 1 %} – Page {{ current_page }}{% endif -%}
{%- unless page_title contains shop.name %} – {{ shop.name }}{% endunless -%}
</title>
If yours prints only page_title, collections will repeat their title on every page. Individual
titles for products, collections and pages are set in the search engine listing section of each item.
Next.js and single-page apps
Titles must be in the server-rendered HTML. In the Next.js App Router, a title template in the root layout adds the brand to every child route. Details are in meta tags in Next.js.
Keeping titles unique
- Required fields. Make the page name or product name a required field in the CMS, so a template never has an empty value to print.
- A duplicate check before publishing. Some SEO plugins warn when a title is already
in use; if yours does not, a monthly export and
uniq -dtakes minutes. - Rules for new page types. When a new template is added, such as an events list or a brand page, write its title pattern at the same time.
- Watch migrations. Platform moves and theme changes are when theme-default titles most often return.
Titles and descriptions work as a pair in results; fixing meta description quality covers the second half.
1. How long should a title tag be?
There is no fixed limit. Google shortens titles to fit the width available, which depends on the device and the characters used, rather than cutting at a set count. As a working rule, titles of roughly 30 to 60 characters usually display in full on desktop and give enough room to describe the page. More important than the exact number is that every title is unique, accurate, and puts the words a searcher would recognise at the start, so a shortened version still makes sense.
2. Are duplicate title tags a penalty?
No. Duplicate titles are not a penalty and will not get a site removed from search. They are a missed opportunity and sometimes a warning sign. Searchers cannot tell the pages apart in results, Google is more likely to write its own headline, and a large number of repeats often means the pages themselves are too similar. Fix repeats caused by templates and pagination with better patterns, and fix repeats caused by duplicate addresses with redirects or canonical tags.
3. Should every page have a unique title?
Every page you want to appear in search should have a title that is different from every other indexable page. Pages you have deliberately kept out of search with noindex, or that point to another page with a canonical, can share a title without much harm, because they are not competing for a place in results. Paginated archives are a common grey area: adding the page number is quick and removes the repeat without any other change.
4. Should I put my brand name in every title?
A short brand name at the end of most titles helps people recognise your site in results, and Google's guidance suggests branding titles concisely. It does not need to appear more than once, and a long slogan after it wastes space. On the home page, the brand often works best at the start. On long article titles, it is the first thing to drop if the title would otherwise be cut off. Consistency across the site matters more than the exact position.
5. Why does Google show a different title from mine?
Google uses the title element as its main source but can choose other text on the page, such as the main heading or text in links pointing to the page, when it judges that describes the page better. That happens most often when the title is missing, empty, repeated across many pages, stuffed with keywords or does not match the content. Fixing uniqueness and accuracy reduces rewrites. The separate guide on Google rewriting titles covers the remaining causes in detail.
6. How do I find duplicate titles without paid software?
Use your XML sitemap as the list of addresses, fetch each page with curl, pull out the title, and write title and address to a file. Sorting the titles and counting repeats with uniq shows which ones appear more than once. The command in this guide does exactly that and works for small and medium sites. For very large sites, a crawler with an export is quicker. Run the Meta Tag Analyzer on individual pages to see each title in context.
7. Is the title tag the same as the H1?
No. The title element sits in the head and names the page for browser tabs, bookmarks and search results. The H1 is the main visible heading on the page itself. They often say similar things and should agree about the topic, but they do not have to be identical. A title usually includes the brand and sometimes a location, while the H1 can be more natural and conversational, because it is read by someone who has already arrived.
The Meta Tag Analyzer reads the head of your page and checks title length and uniqueness, description quality, the canonical, robots directives, viewport, Open Graph and X card tags, then lists each finding with the guide that fixes it.
Open Meta Tag Fixes โ