Nelio Content analiza la calidad de tus entradas según diferentes criterios:

Este análisis se realiza por JavaScript y, a través de unas pocas líneas de código, puede configurarse totalmente para adaptarlo a tus necesidades.
Calidad de una entrada
En función del estado en que estén cada uno de los criterios individuales que se incluyen en el análisis de calidad, la calidad que Nelio Content asigna a tu entrada puede ser:
- Pobre, si hay criterios que están mal o son mejorables.
- Mejorable, si la mayoría de criterios están bien pero queda alguno que esté mal o hay varios mejorables.
- Buena, si casi todos los criterios están bien salvo alguno que es mejorable.
- Perfecta, si todos los criterios están bien.
Como ves, la única forma de conseguir una entrada perfecta es tener bien todos los criterios. Si ese no es el caso, puedes configurar cómo Nelio Content decide si una entrada es pobre, mejorable o buena indicando cuántos criterios puede haber en cada estado. Por ejemplo, puedes hacer que 3 criterios malos (y todos los demás buenos) sean una entrada pobre, pero que 3 criterios mejorables sean una buena entrada.
Para realizar dicha personalización, debes usar la función updatePostQualitySettings
:
NelioContent.editPost.updatePostQualitySettings( options );
con los siguientes parámetros:
allowedBads
: te permite indicar cuántos criterios malos son «aceptables». Por defecto, solo permite1
, con lo que dos o más criterios malos dan como resultado una entrada pobre.unacceptableImprovables
: Si la combinación de criterios malos y mejroables es mayor o igual que este número, la entrada seguirá siendo pobre. Por defecto, el valor es2
.allowedImprovables
: Suponiendo que todos los criterios son buenos o mejorables, este ajuste te permite decidir si la entrada debe darse por buena o sigue siendo mejorable. El valor por defecto es4
.
Aquí tienes un ejemplo de cómo llamar a esta función:
NelioContent.editPost.updatePostQualitySettings( {
allowedBads: 1,
allowedImprovables: 2,
unnacceptableImprovables: 4,
} );
Si lo que quieres es personalizar los criterios de calidad de forma individual, a continuación te contamos cómo.
Cómo es un criterio de calidad internamente
Un criterio en Nelio Content es un objeto JavaScript con los siguientes atributos:
icon
: un string con un icono de Dashicons.interval
: un número opcional que especifica la cantidad mínima de milisegundos que deben pasar entre una comprobación de este criterio y la siguiente.settings
: un objeto opcional con los atributos por defecto que determinan el funcionamiento de este criterio, ofreciendo así un mecanismo para modificarlo y adaptarlo a tus necesidades.attributes
: una función JavaScript que recibe como parámetro un objetoselect
para acceder a los almacenes Redux de WordPress. Esta función debe devolver un objeto con los atributos necesarios para determinar si ese criterio se cumple o no.validate
: una función JavaScript que recibe como primer parámetro los atributos que se han calculado en la función anterior y como segundo parámetro la configuración del criterio (los atributos desettings
). El resultado debe ser un objeto con dos atributos:status
: un string cuyo valor debe sergood
,improvable
obad
. En función del valor, el criterio se pintará en verde, naranja o rojo.text
: el texto que debe acompañar al criterio.
Para añadir un nuevo criterio, hay que usar la función registerQualityCheck
, indicando un nombre único para dicho criterio y el objeto que acabamos de describir. Para quitar un criterio, tenemos la función
, la cual necesita únicamente su nombre:deregisterQualityCheck
NelioContent.editPost.registerQualityCheck( name, definition );
NelioContent.editPost.deregisterQualityCheck( name );
Ejemplo
Uno de los criterios por defecto que incluye Nelio Content es la longitud del contenido de tus entradas: según cuántas palabras hayas escrito, Nelio Content te dirá si son suficientes o hay que escribir más. Por defecto, si has escrito menos de 700 palabras te da un error, si has escrito entre 700 y 1000 te dice que es mejorable, y si has escrito más de 1000 te dice que está todo bien.
Pues bien, así es cómo está definido este criterio en Nelio Content:
registerQualityCheck( 'nelio-content/content-length', {
icon: 'edit',
interval: 2000,
settings: {
improvableThreshold: 700,
goodThreshold: 1000,
},
attributes: ( select ) => {
const { getContent } = select( 'nelio-content/edit-post' );
return {
content: getContent(),
};
},
validate: ( { content }, { improvableThreshold, goodThreshold } ) => {
const wordCount = countWords( content );
if ( wordCount < improvableThreshold ) {
return {
status: 'bad',
text: _x( 'Write a longer copy', 'user', 'nelio-content' ),
};
}
if ( wordCount < goodThreshold ) {
return {
status: 'improvable',
text: _x( 'Write a longer copy', 'user', 'nelio-content' ),
};
}
return {
status: 'good',
text: _x( 'Copy length looks good', 'text', 'nelio-content' ),
};
},
} )
En otras palabras, esto es lo que estamos definiendo:
- El criterio se llama
nelio-content/content-length
. - El icono es
edit
. - La comprobación se realiza, como mucho, cada 2 segundos.
- Este criterio define dos atributos para configurar su funcionamiento:
improvableThreshold
: el número de palabras mínimo para que el criterio pase debad
aimprovable
.goodThreshold
: el número de palabras mínimo para que el criterio se consideregood
.
- La función
attributes
obtiene el contenido de la entrada que estamos escribiendo. - La función
validate
cuenta las palabras del contenido y, usando los dos parámetros de configuración que acabamos de ver, determina el valor del atributo actual. Por ejemplo, si hay menos deimprovableThreshold
palabras, el resultado que da esbad
y nos dice que debemos «escribir una entrada más larga».
Criterios por defecto de Nelio Content
Estos son los principales criterios por defecto que incluye Nelio Content junto a sus atributos de personalización:
nelio-content/author
: comprueba que el autor de la entrada no sea un administrador del sitio.
Configuración: un atributo boolean llamadouseBadStatus
que indica si este criterio debe mostrarse comobad
o comoimprovable
cuando no se cumple.nelio-content/content-images
: comprueba que la entrada incluya alguna imagen en el contenido.
Configuración: los atributosimprovableThreshold
ygoodThreshold
.nelio-content/content-length
: comprueba que la longitud de la entrada tenga una longitud mínima.
Configuración: los atributosimprovableThreshold
ygoodThreshold
.nelio-content/editorial-tasks
: comprueba que no haya tareas editoriales pendientes de completarse.
Configuración: el atributouseBadStatus
.nelio-content/excerpt
: comprueba que la entrada tenga un resumen asociado.
Configuración: el atributouseBadStatus
.nelio-content/external-links
: comprueba que la entrada incluya una cierta cantidad de enlaces hacia fuentes externas.
Configuración: los atributosimprovableThreshold
ygoodThreshold
.nelio-content/internal-links
: comprueba que la entrada incluya una cierta cantidad de enlaces hacia la propia web.
Configuración: los atributosimprovableThreshold
ygoodThreshold
.nelio-content/featured-image
: comprueba que la entrada tenga una imagen destacada.
Configuración: el atributouseBadStatus
.nelio-content/tags
: comprueba que la entrada esté etiquetada con una o más etiquetas.
Configuración: el atributouseBadStatus
.
Cómo personalizar los criterios que usa Nelio Content
Para personalizar el análisis de calidad de Nelio Content tienes cuatro opciones:
- Modificar el análisis global de calidad cambiando el número de criterios que pueden estar en un estado determinado usando la función
updatePostQualitySettings
. - Añadir nuevos criterios usando la función
registerQualityCheck
. - Quitar criterios usando la función
deregisterQualityCheck
. - Modificar la configuración de un criterio existente usando la función
updateQualityCheckSettings
.
Simplemente, añade el siguiente snippet de código en tu web (tal y como te explicamos aquí) con las personalizaciones concretas que quieras:
function nc_customize_criteria() {
$script = <<<JS
// Personalizaciones aquí.
JS;
wp_add_inline_script( 'nelio-content-edit-post', $script );
}
add_filter( 'admin_enqueue_scripts', 'nc_customize_criteria' );
Por ejemplo, imagina que queremos bajar los umbrales de longitud del contenido de una entrada y que queremos eliminar la comprobación de que haya o no imágenes en nuestro contenido. Esto lo podemos lograr de la siguiente forma:
function nc_customize_criteria() {
$script = <<<JS
NelioContent.editPost.updateQualityCheckSettings(
'nelio-content/content-length',
{ improvableThreshold: 250, goodThreshold: 500 }
);
NelioContent.editPost.deregisterQualityCheck(
'nelio-content/content-images'
);
JS;
wp_add_inline_script( 'nelio-content-edit-post', $script );
}
add_filter( 'admin_enqueue_scripts', 'nc_customize_criteria' );