How to change the title separator in WordPress
To change the title separator with Hydrogen SEO, open Hydrogen SEO → Titles & Meta, and in General pick a Title Separator: -, |, •, /, \, ~, :, » or «. Every title template that uses %separator% updates at once. Without a plugin, return your character from the document_title_separator filter.
The separator is the character between the parts of a title tag, as in "Pour-Over Guide | Acme Coffee". It has no ranking effect. It is a matter of readability and of how many pixels it takes from a title that Google truncates by width.
Step by step
1. See what you have now
Open any post and look at the browser tab, or view the source and find <title>. Core WordPress joins the page title and site name with a hyphen, which its typography filter displays as an en dash: "Post Title – Site Name". Note whether the same character appears on a post, a category page and the homepage, because a mismatch means some templates were edited by hand.
2. Choose the character
- Go to Hydrogen SEO → Titles & Meta.
- In the General section at the top, select a Title Separator.
- Save your changes.
The shipped templates all use the %separator% variable, for example %title% %separator% %site_name% for posts and %site_name% %separator% %tagline% for the homepage, so one choice changes them together.
3. Check templates that were typed by hand
If someone typed a literal character into a template, such as %title% | %site_name%, the setting cannot change it. Scan the Title field of each post type, taxonomy and archive on the same screen and replace any literal separator with %separator%. Press @ in the field to insert the variable from the picker.
4. Check per-post titles
A title written in a post's SEO Settings sheet is used exactly as typed. If you wrote "Pour-Over Guide - Acme Coffee" there, the dash stays. For new titles, type %separator% in the sheet instead of the character, and the post follows the site setting from then on. Find old ones by searching the Posts list for your site name, since custom titles that repeat it are the likely candidates.
5. Without the plugin: use the core filter
Add this to a child theme's functions.php or a small plugin:
add_filter( 'document_title_separator', function () {
return '|';
} );
Core passes its default, a hyphen, through this filter before joining the title parts with a space on each side. The filter only applies when the theme lets WordPress print the title, which it does when it declares add_theme_support( 'title-tag' ). Block themes print the title through WordPress in every case. An old theme that prints its own <title> in header.php ignores it.
6. Verify on three page types
Purge the page cache, then check a post, a category archive and the homepage:
curl -s https://example.com/a-post/ | grep -o "<title>[^<]*</title>"
The new character should appear in each. In the plugin, the snippet preview in the SEO Settings sheet shows the same title with its pixel width.
7. Leave Google's version alone
Google sometimes shows a title of its own making, and its generated titles often use a dash or a colon regardless of yours. That is not a sign the setting failed. Check the source of your page: if your <title> is right, your part is done.
Which separator to pick
Pick on width and clarity. A pipe and a hyphen are narrow, so they leave more room for words before Google cuts the title, which it does by pixel width, at roughly 600 pixels on desktop. Bullets and guillemets are wider and more decorative. Avoid a character that already appears in your titles: if your post titles often contain a colon or a hyphen, use a pipe so the boundary between title and brand stays obvious. Whatever you choose, use one character across the whole site.
After changing it
Nothing needs resubmitting. Google picks up the new titles as it recrawls each page, over days to weeks, and search results show a mixture in the meantime. A separator change does not affect rankings, so there is nothing to monitor beyond confirming the titles look right.
Common questions
Does the title separator affect SEO?
Not directly. It is not a ranking factor. A narrow separator leaves slightly more room for words before a long title is truncated.
Why did changing the separator not change one of my titles?
That title, or its template, has a literal character typed in instead of the %separator% variable. Replace the character with the variable.
Can I use an emoji as a separator?
The setting offers nine plain characters. A custom filter could return anything, but symbols render inconsistently across devices and Google may drop them.