alleyinteractive / alleyinteractive/wp-seo

Define the WP SEO v2 feature taxonomy and recommended feature set

Abierto
#195 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
PHP
Estrellas
45
Forks
13
Merge medio
12 d 16 h
PR fusionados (30 d)
5

Descripción

### Description

**Resolved.** The taxonomy is recorded in `docs/adr/0010-feature-taxonomy.md` on the `v2.0` branch. Summary below; the ADR carries the reasoning.

Features divide by **output type**, not by the surface that produces it or the page type it acts for. Each covers its output everywhere it appears -- post, term, archive, search, 404 -- and owns both its front-end rendering and its editor field.

| Feature | Handle | Source today |
| --- | --- | --- |
| Title Tags | `titles` | `php/class-wp-seo.php` (`pre_get_document_title`, `wp_title`) |
| Meta Descriptions | `descriptions` | `php/class-wp-seo.php` (`wp_head`) |
| Canonical URLs | `canonical_urls` | `php/class-wp-seo.php` (`wp_head`) |
| Robots Meta | `robots_meta` | `php/class-wp-seo.php` (`wp_robots`) |
| Open Graph | `open_graph` | ✅ already migrated |
| Arbitrary Meta Tags | `arbitrary_tags` | `php/class-wp-seo.php` (`wp_head`) |

Handles are flat, lowercase, underscore-separated. Titles and descriptions are separate features, not one combined feature.

### Not features -- infrastructure

Per the sharpened definition in `CONTEXT.md`, a Feature is something a site could choose to do without and would have an opinion about. Scaffolding that exists so features can do their job is not a feature and loads unconditionally:

* **The editor's SEO meta box** stays a single box, registered unconditionally, that enabled features contribute fields to. It renders nothing when nothing contributes.
* **Formatting tags** (`#site_name#`, `#title#`) -- the notation formats are written in.
* **`php/default-filters.php`** dissolves: container wiring becomes infrastructure, per-field bits move to their owning features.

### Deferred

* **Display categories** on the features screen -- decided in principle (`docs/adr/0009-...`), applied later. Categories are display-only and can be added any time without breaking a filter contract, unlike handles.
* **Recommended feature set** -- #200.
* **Page Type axis in the admin** -- #199.

### Remaining work

Each feature migrates on its own branch, wrapped as it moves (wrapping is part of migrating). Each migration deletes a `require_once` from `wp-seo.php`, so they conflict if run in parallel -- stack them.

Still in `php/`, ~3,700 lines: `class-wp-seo.php` (918), `class-wp-seo-settings.php` (1,137, see #194), `admin-template.php` (643), `default-formatting-tags.php` (603), plus helpers.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

The taxonomy decision is already recorded in docs/adr/0010-feature-taxonomy.md on the v2.0 branch, so this issue has no remaining implementation to start. Read that ADR for the rationale, then follow the deferred issues #199 and #200 or the listed feature migration work for current tasks.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
php, wordpress
Área
backend, documentation
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
10/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.