alleyinteractive / alleyinteractive/wp-seo

Add a global title separator setting

Open
#185 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
PHP
Stars
45
Forks
13
Avg merge
12d 16h
Merged PRs (30d)
5

Description

### Description

Issue #161's MVP requirements call for the ability to customize the separator used in generated title tags. Today there is no dedicated separator setting anywhere in the codebase — the `$sep` parameter on `wp_title()` (`php/class-wp-seo.php`) is a vestigial doc-comment left over from WordPress core's `wp_title()` and is never actually used or output. Admins can only get a separator by manually typing a character into each per-page-type title format string (e.g. `#title# | #site_name#`), meaning changing the separator today requires hand-editing every `*_title` format field across every post type and archive section individually.

### Use Case

Site admins want to set the separator character (e.g. `|`, `-`, `•`) once, globally, and have it apply consistently across all generated title tags, the way comparable SEO plugins (Yoast, RankMath) handle it — rather than having to update dozens of individual title format fields by hand if they want to change it later.

### Proposed Solution

Add a `title_separator` setting (e.g. a dropdown of common separator characters, or a free-text field) plus a corresponding `#separator#` formatting tag, so it can be referenced from any title format string and changed globally in one place.

### Related

- #161 (parent MVP tracking issue)

Contributor guide

Open the contributing guide

Research direction

Start in php/class-wp-seo.php and review issue #161, then trace how title format fields are registered and how formatting tags are processed. Add the global title_separator setting and make the #separator# tag available in generated title formats; done means admins can change the separator once and see it applied consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.