wp_update_seo_meta: actualizar los campos SEO admitidos
Escribe el título y la descripción SEO de una entrada, para Yoast SEO o Rank Math.
Argumentos
| Argumento | Obligatorio | Significado |
|---|---|---|
post_id |
Sí | La entrada o página |
yoast_title |
No | Título SEO de Yoast |
yoast_description |
No | Meta descripción de Yoast |
rank_math_title |
No | Título SEO de Rank Math |
rank_math_description |
No | Descripción de Rank Math |
dry_run |
No | Informar sin escribir |
Solo se escriben los argumentos que pases.
Permisos
Allow content writes abierto —la puerta de contenido, no la de opciones— y edit_post en esa entrada.
Escribe en el plugin que usas realmente
La herramienta no detecta qué plugin SEO está instalado. Escribe las claves que nombres, y escribir campos de Yoast en un sitio con Rank Math almacena valores que nada leerá jamás.
El resultado es silencioso: la escritura se realiza correctamente, la respuesta parece adecuada y el front-end no cambia.
Determina primero qué plugin está en uso, leyendo la entrada y viendo qué bloque tiene valores:
Lee la meta SEO de la entrada 412 y dime qué plugin tiene valores. Luego establece la descripción solo para ese plugin.
Hacer esto una vez al inicio de una sesión es suficiente; la respuesta se aplica a todo el sitio.
Escribir ambos no es un valor predeterminado seguro
Es tentador escribir los cuatro campos para que el plugin que esté activo recoja algo. Evítalo:
- deja valores obsoletos si el sitio migra alguna vez entre plugins, y la migración recoge descripciones de hace años;
- duplica las filas de meta sin ningún beneficio;
- oculta el hecho de que no sabías qué plugin estaba en uso.
Averígualo y luego escribe dos campos.
Los valores se sanean como texto plano
Los cuatro se almacenan como texto saneado, por lo que el HTML no sobrevivirá. Eso es correcto para estos campos: una meta descripción es texto plano por definición.
Qué devuelve
La meta SEO completa de la entrada, con la misma forma que devuelve wp_get_seo_meta. Así, la respuesta funciona también como una comprobación de lectura, mostrando ambos bloques.
Comprueba que el bloque que pretendías tenga ahora valores y que el otro siga vacío.
La prueba en seco
Devuelve el ID de la entrada y el subconjunto de argumentos que reconoció. Eso es realmente útil aquí: si pasaste un nombre de argumento ligeramente mal, faltará en changes y lo verás antes de escribir.
Una anulación reemplaza una plantilla
Ambos plugins generan un título y una descripción a partir de plantillas de todo el sitio cuando una entrada no tiene ninguno. Escribir aquí crea una anulación por entrada.
Esa suele ser la intención, pero implica que:
- una plantilla que producía una buena descripción ya no se usa para esa entrada;
- la anulación no se actualiza cuando cambia el título de la entrada, a diferencia de una plantilla;
- no hay historial de revisiones, por lo que la anulación anterior desaparece.
Lee antes de escribir, como con cualquier meta.
La longitud importa
Los motores de búsqueda truncan. Aspira a una descripción que se lea completa en unos 150–160 caracteres, y a un título que no supere los 60.
La herramienta no impone ni avisa sobre ninguno de los dos. Si un asistente generó el texto, pídelo con la longitud adecuada y compruébalo: Shorten text es la herramienta adecuada para ajustar una descripción a un límite.
Hacer un lote
Una pasada de SEO por muchas entradas es un trabajo realista. Cada entrada es una escritura, por lo que el límite de velocidad de escritura de 20 por minuto lo regula.
Haz primero un piloto:
Lee la meta SEO actual de las tres primeras entradas, escribe descripciones para esas tres, muéstrame los resultados y luego detente.
Después comprueba el código fuente renderizado de un par de páginas, no solo la respuesta de la herramienta. Esa es la única forma de confirmar que el plugin está usando realmente lo que escribiste.
Problemas habituales
| Síntoma | Causa |
|---|---|
| La escritura se rechaza | Puerta de escritura de contenido cerrada |
pom_ai_mcp_forbidden |
No hay edit_post en esa entrada |
| El front-end no cambia | Campos escritos para el plugin equivocado |
| Se ignoró un argumento | Su nombre no coincidía; comprueba el changes de la prueba en seco |
| La descripción se trunca en los resultados de búsqueda | Demasiado larga; los motores de búsqueda truncan |
| El valor anterior ha desaparecido | La meta no tiene historial de revisiones |
| Nada visible tras una escritura correcta | Caché no purgada o los motores de búsqueda no han vuelto a rastrear |
Relacionado
wp_get_seo_meta— lee primero para identificar el pluginwp_update_post_metapara otra meta- Review generated copy before publishing