alleyinteractive / alleyinteractive/wp-seo
Add a global title separator setting
- 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
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