Llevamos tiempo investigando y haciendo pruebas con las fechas de publicación de entradas en WordPress y como se muestran en los resultados de búsqueda de Google. Aquí os dejamos algunas conclusiones.
Para los impacientes: La única fecha de los metadatos a los que Google hace caso hoy en día es: datePublished. Esto no significa que Google ignore todos los demás metadatos relacionados con fechas como por ejemplo: last modified, dateModified, dateCreated, etc ya que podría estar usándolos de forma indirecta para posicionar una página web. Pero si que significa que el metadato que Google usa para mostrar en sus resultados de búsqueda siempre (a no ser que alguien nos pueda demostrar lo contrario) es datePublished.
Por tanto por mucho que incluyamos el metadato dateModified en una publicación, Google usará datePublished como la fecha que muestra en el resultado de búsqueda.
Contenidos
¿Modificar la fecha de publicación es peligroso?
A nosotros nos funciona. Cada uno debe averiguar si a él le funciona. Pero como todo, no debería abusarse.
Qué recomendamos: Solo actualizar la fecha de publicación cuando se hayan hechos cambios sustanciales en un post.
Estamos haciendo experimentos a ver que pasa si solo vamos actualizando las fechas de publicación de artículos, sin cambiar nada. Pero sobre esto escribiremos cuando tengamos conclusiones. O si alguien quiere saber más sobre el tema que deje un comentario.
¿Cambiar la fecha ayudar a posicionarse más alto o más rápido?
Llevamos haciendo experimentos con este tema desde hace tiempo y podemos afirmar que aumenta el CTR de los usuarios porque piensan que es contenido muy actual y bajo determinadas circunstancias hemos observado que esos contenidos están mejor posicionados que antes del cambio (pero esto también puede deberse a cientos de otros factores externos).
¿Cómo podemos modificar la fecha que Google muestra en los resultados de búsqueda?
Actualizando la fecha de publicación. No nos sirve añadir una fecha de modificación, hay que cambiar la fecha de publicación.
En WordPress el cambio de la fecha de publicación lo solemos hacer de dos formas distintas:
- Modificando la fecha de todos los posts a nivel de los metadatos del tema
- Modificando la fecha de posts sueltos al actualizar el post
Modificar la fecha de todos los posts a nivel de los metadatos del tema
La primera opción y para nosotros la más cómoda es modificando el tema para que en vez de la fecha de publicación muestre en datePublished la fecha de la última modificación:
Le decimos a datePublished que en vez de coger el valor de: get_the_date( DATE_W3C )
coja el valor de: get_the_modified_date( DATE_W3C )
de cada uno de los artículos.
Y así automáticamente el metadato datePublish siempre se contiene la fecha de la última actualización en vez de la fecha de publicación original.
Lo malo de hacerlo de esta forma es que cualquier modificación que hagamos en un post automáticamente hace que de cara a Google tenga una nueva fecha de publicación. Y esto no siempre lo queremos.
Modificar la fecha de posts sueltos al actualizar un post
Esto se puede hacer a mano cambiando la fecha de publicación antes de actualizar un post o añadiendo un checkbox que automáticamente actualice la fecha de publicación al actualizar el post.
Y esto es lo que os vamos a explicar a continuación.
Cómo actualizar la fecha de publicación automáticamente al actualizar un post
Añadimos en el tema activo (ojo: siempre se debería de utilizar un CHILD THEME del tema activo) al final del archivo functions.php la siguiente función:
add_action( 'post_submitbox_misc_actions', 'apa_update_publishing_date' ); add_action( 'save_post', 'apa_update_publishing_date__save', 10, 2 ); function apa_update_publishing_date() { $nonce = wp_nonce_field( '_apa_css_update_publishing_date', '_apa_css_update_publishing_date_nonce', TRUE, FALSE ); ?> <div class="misc-pub-section apa-css-update-publishing-date"> <label for="apa-css-update-publishing-date"> <input type="checkbox" id="apa-css-update-publishing-date" name="apa_css_update_publishing_date" value="1" /> <strong>Forzar actualización fecha</strong> <?php echo $nonce ?> </label> </div> <?php } function apa_update_publishing_date__save( $post_id ) { if ( wp_is_post_revision( $post_id ) ) { return; } if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) { return; } if ( ! current_user_can( 'edit_post', $post_id ) ) { return; } // IF CHECKBOX IS EMPTY OR NOT if ( ! isset ( $_POST[ 'apa_css_update_publishing_date' ] ) ) { return; } // CHECK NONCE if ( ! wp_verify_nonce( $_POST[ '_apa_css_update_publishing_date_nonce' ], '_apa_css_update_publishing_date' ) ) { return; } $time = current_time('mysql'); remove_action('save_post', 'apa_update_publishing_date__save'); wp_update_post( array ( 'ID' => $post_id, 'post_date' => $time, 'post_date_gmt' => get_gmt_from_date( $time ) ) ); add_action( 'save_post', 'apa_update_publishing_date__save' ); }
Y automáticamente nos aparecerá un checkbox encima del botón de actualizar:
Si seleccionamos ese checkbox antes de hacer click en actualizar automáticamente actualizará la fecha de publicación.
Lo malo de hacerlo de esta forma es que el post que se actualiza automáticamente pasa a ser el que más recientemente se ha publicado. Si hay una página de resumen de todos los posts que se van publicando, automáticamente pasa a ser el primero. Esto puede ser que muchas veces no lo queramos o por lo contrario que si que lo queramos porque nos interese darle visibilidad.
Y después de este rollo: ¿Qué hago con esto?
Pues experimentar y ver si a ti te funciona.
Muy buen artículo y de mucha ayuda para hacer content curation! 🙂
Muchísimas gracias!
Muchas gracias. Nos alegra mucho que te haya gustado y ayudado.
Buenos dias compañeros,
Habéis realizado pruebas sobre esto:
Estamos haciendo experimentos a ver que pasa si solo vamos actualizando las fechas de publicación de artículos, sin cambiar nada. Pero sobre esto escribiremos cuando tengamos conclusiones.
Hola Oscar. Hemos hecho muchas pruebas y la verdad es que siempre ha funcionado. No obstante es algo que no está bien visto por Google. Lo que hemos encontrado es otra solución para modificar la fecha para Google que publicaremos en breve.
Buenos días Óscar. Ya tenemos una solución para este tema que publicaremos próximamente en un post. Pero básicamente se trata de incluir la fecha de modificación de una página/post y en el SCHEMA solo mostrar la fecha de modificación y no la de creación. Cuando en el SCHEMA hay fecha de creación y actualización, Google siempre muestra la de creación; y llevan 3 años diciendo que van a solucionarlo pero no lo hacen. Pero si en el SCHEMA no hay fecha de creación y solo de actualización, Google en los resultados de búsqueda muestra la de actualización. Eso si, recomendamos siempre incluir esa fecha no solo en SCHEMA sino también en la propia página para que Google vea que el contenido del SCHEMA está visible en la página.
Muy buenas!
Habeis hecho el artículo donde explicais lo del como modificar lo del Schema? Puedes indicarme donde está? o a unas malas, explicarme como se hace lo del schema.
Gracias!
Muy buenas. Lo estamos haciendo con SCHEMA PRO. A ver si la semana que viene puedo publicar un post explicando exactamente como lo hacemos.
Muchas gracias!!
Yo también lo uso y lo que hago es poner Published Date con el valor Last Modify Date, sin embargo no veo que funcione. Creo que se debe a que el Yoast superpone su schema.
A ver si puedes explicarnos como hacerlo correctamente
Hola Alberto.
Lo hemos estado mirando y lo que hacemos es lo siguiente:
Published date = -- None --
Modified date = Last Modify Date
Entonces en el SCHEMA no sale el Published Date pero si el Modified Date.
Otra opción que también usamos en algunas webs es el plugin WP LAST MODIFIED INFO que además añade la fecha de modificación automáticamente en el post para que Google vea no solo la información del SCHEMA sino que también está esa información visible para el usuario.
Eso intenté yo, pero cuando pongo el None, me dice «Schema required mapping of Published Date meta fields.»
Como hacéis para mapear con none? A mi ese campo me aparece como obligatorio.
Gracias!
Aunque SCHEMA PRO de un mensaje de error «Schema required mapping of Published Date meta fields», guarda los cambios y al haber asignado NONE a Published date no lo incluye en el marcado. Ellos (SCHEMA PRO) dicen que es obligatorio en el marcado, aunque si no está presente pasa la validación de Google.
Efectivamente, es como tu dices. Me deja guardar el resultado como NONE. Sin embargo, ahora en los resultados de Google ocurre que no muestra ninguna fecha.
Si analizo con google la estructura, me sale un error en «Article» que dice:
datePublished Se requiere un valor para el campo datePublished.
https://search.google.com/structured-data/testing-tool/u/0/#url=https%3A%2F%2Fwww.farobursatil.com%2Fcomo-usar-indicador-koncorde-y-patrones%2F
Si buscas en google «Koncorde Faro Bursatil» verás que mi resultado (el primero) aparece sin fecha. No se si esto puede penalizar el SEO. ¿A vosotros os sale la fecha de modificación? ¿Tuvisteis que hacer algo más para que apareciese?
Muchas gracias
A raíz de tus comentarios hemos vuelto a darle unas vueltas a esto (que lo teníamos olvidado) y hemos visto que ahora la validación SCHEMA da error si no está el DATE PUBLISHED. Antes no lo daba y con el DATE MODIFIED pasaba la validación.
Por otro lado: Antes de ayer hicimos algunos experimentos y vimos que si en el marcado SCHEMA está el DATE PUBLISHED + el DATE MODIFIED y en el post está incluido el DATE MODIFIED, Google muestra el DATE MODIFIED en los resultados. Aquí vamos a seguir haciendo algunos experimentos más.
Saludos.
Otra opción que estamos probando y aunque a Google no le guste es utilizar como DATE PUBLISHED el DATE MODIFIED. Lo que pasa es que hay que tener mucho cuidado por ejemplo con los posts programados ya que el date modified será la fecha en la que se programó la publicación (si no se ha modificado luego) y podemos encontrarnos con que la fecha que aparezca del post en Google sea muy anterior a cuando realmente se publicó (y eso tampoco lo queremos)
Muchas gracias por vuestro trabajo.
Cuando dices «en el post está incluido el DATE MODIFIED, Google muestra el DATE MODIFIED en los resultados», te refieres a meter la fecha dentro del contenido del post?
Por otro lado, cuando dices que a Google no le gusta que utilices como DATE PUBLISHED el DATE MODIFIED, te refieres a que te pueden penalizar?
A ver si dais con la solución ideal y nos la contais 🙂
Cuando dices «en el post está incluido el DATE MODIFIED, Google muestra el DATE MODIFIED en los resultados», te refieres a meter la fecha dentro del contenido del post? Si. Que aparezca la fecha de modificación visible en el post. O al principio al final. Pero que solo esté visible la fecha de modificación.
Por otro lado, cuando dices que a Google no le gusta que utilices como DATE PUBLISHED el DATE MODIFIED, te refieres a que te pueden penalizar? Se supone que va en contra de las normas de Google modificar la fecha de publicación si no se ha añadido bastante información adicional a la publicada incialmente. John Mueller de Google ha hablado de eso en algún Webmaster hangout. A ver si tengo un rato y lo localizo.
Buenas familia!
Tengo un problema y es que al importar un CSV, tengo los productos con las fechas «al revés», osea los productos antiguos con fecha de publicación más nueva, y los productos más nuevos con fecha antigua.
Como puedo «darle la vuelta» masivamente y ponerlos con las fechas bien? Ya que son miles de artículos.
Ejemplo de cómo los tengo:
Producto 3 fecha de antes de ayer.
Producto 2 fecha de ayer.
Producto 1 fecha de hoy.
Los necesito así: (pero con miles de productos)
Producto 1 fecha de antes de ayer.
Producto 2 fecha de ayer.
Producto 3 fecha de hoy.
Gracias por vuestro tiempo y ayuda!!
Hola Adrián. Puedes probar con el plugin «WOOBE – Products Bulk Editor for WooCommerce» que está publicado en el repositorio oficial de plugins de WordPress. En su versión gratuita permite la edición masiva de la fecha de publicación: «FIELDS POSSIBLE TO EDIT IN FREE VERSION OF THE PLUGIN: Date Published».
Parece ser que el checkbox no sale en la nueva actualización de wordpress, ¿A que se debe?
Hola David. Cómo en los sitios que usábamos este código también usábamos el plugin «CLASSIC EDITOR» no nos habíamos dado cuenta que no aparecía al usar Gutenberg. Lo revisamos y actualizamos (si es posible). Gracias por avisar.