norfipc.com - Ideas

Mostrar la fecha de última actualización con JavaScript y PHP

Por: Norfi Carrodeguas
Actualizado: 14 de enero del 2023
Cómo logré agregar e insertar en las páginas de mi sitio web de forma automática, la fecha de publicación o última modificación, requisito que exige Google. Comparto como hacerlo.
Mostrar la fecha de última actualización con JavaScript y PHP Google sugiere incluir en las páginas de los sitios web que desean salir en los resultados de las búsquedas, de forma tal que sea visible, la fecha de firma, que es la fecha en la que dicha página web se ha actualizado o publicado.
En caso de páginas que se vayan a actualizar con el tiempo debe ser el primer parámetro.

Mostrar la fecha de firma en páginas web

La fecha de firma se puede agregar manualmente, lo que en caso de ser un sitio con varias páginas es trabajoso.
También se puede hacer de forma automática usando PHP o JavaScript para escribir los datos correspondientes al día, mes y año.
Comparto a continuación como he implementado esta función en las páginas de este sitio usando los dos métodos.

¿En qué lugar de la página insertar la fecha de la publicación o modificación?

Google recomienda mostrar la fecha de modificación entre el H1 y el resto del contenido de la página.
Debe comenzar con alguno de los siguientes enunciados: Publicado, Última actualización o Actualizado.

Escribir la fecha de la última modificación de una página con PHP

Agregar la fecha de la última modificación en páginas servidas como PHP es bastante sencillo.
Podemos hacerlo con función de PHP getlastmod() de la siguiente forma:
<?php 
echo "Actualizado: ".date("F d Y.", getlastmod());
?>
Como resultado se obtiene el día, el mes y el año, pero con el inconveniente de que el mes se muestra en idioma inglés.
Podemos agregar strftime, para traducir el resultado al español de la siguiente forma:
<?php
setlocale(LC_TIME, 'es_ES'); $date = date ("F d Y", getlastmod()); 
echo "Actualizado: " .strftime('%d de %B del %Y',strtotime($date));
?> 
strftime es una función de PHP para dar formato a una marca de tiempo de Unix en función de la configuración regional actual, mediante la setlocale.
El inconveniente es que está en desuso a partir de PHP 8.1
Si usas una versión de PHP inferior puedes usarla perfectamente.

Escribir la fecha de la última modificación de una página con JavaScript

Puede usar JavaScript para escribir la fecha de la última modificación de una página, de la siguiente forma.
<script>
function makeArray() {
for (i = 0; i<makeArray.arguments.length; i++)
this[i + 1] = makeArray.arguments[i];}
var months = new makeArray('Enero','Febrero','Marzo','Abril','Mayo',
'Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre');
var date = new Date(document.lastModified);
var day = date.getDate();
var day2 = (day < 10) ? '0' + day : day;
var month = date.getMonth() + 1;
var yy = date.getYear();
var year = (yy < 1000) ? yy + 1900 : yy;
var fecha = day+" de "+months[month]+" del "+year;
document.write("Actualizado: "+fecha);
</script>
Es solo un ejemplo, document.write no está recomendado.
En las páginas servidas como HTML en mi sitio web agrego la instrucción en un script que escribe los datos en un contenedor DIV situado entre el encabezado H1 y el contenido, usando innerHTML.
<div id="lastmod"></div>
<script>
function makeArray() {
for (i = 0; i<makeArray.arguments.length; i++)
this[i + 1] = makeArray.arguments[i];}
var months = new makeArray('Enero','Febrero','Marzo','Abril','Mayo',
'Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre');
var date = new Date(document.lastModified);
var day = date.getDate();
var day2 = (day < 10) ? '0' + day : day;
var month = date.getMonth() + 1;
var yy = date.getYear();
var year = (yy < 1000) ? yy + 1900 : yy;
var fecha = day+" de "+months[month]+" del "+year;
document.getElementById('lastmod').innerHTML= "Actualizado: "+fecha;
</script>
Mas informacion sobre Como mostrar la fecha y hora en las páginas web usando Javascript
Esta página es una página estática alojada en el servicio Páginas de Cloudflare y debido a la naturaleza de este servicio no funciona el método que explico.
La fecha de la última actualización tengo que agregarla manualmente cada vez que hago algún cambio.

Escribir la fecha de la última modificación en los datos estructurados con PHP

Agrego a este articulo también el modo en el que escribo la fecha de la última modificación de las paginas servidas en PHP, en los datos estructurados.
Uso la función getlastmod, para escribir la fecha de la última modificación de la página, en los datos estructurados que agrego en cada página en formato JSON-LD de la siguiente forma.
<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Article",
  "datePublished":"2023-01-12T01:25:47+01:00",
  <?php    
    echo '"dateModified": "'. date ("c", getlastmod()).'",';  	
?>     
}
</script>

Sobre el estilo visual del código
El código que comparto en esta página es resaltado con Rainbows usando el tema Rainbows disponible en Github.

Artículo etiquetado como: #javascript, #php


Páginas relacionadas

✔ Directrices de Google para propietarios de sitios web
✔ Todos los factores que Google usa para posicionar un blog o sitio web
✔ Solucionar errores de datos estructurados AMP en WordPress


Inicio | Mapa del sitio | Buscar | Sobre mí

Norfi Carrodeguas, Copyright © 2023 NorfiPC

SUBIR