¿Cómo le dice a los motores de búsqueda que aún no indexen esta página, pero tal vez en el futuro?


8

La empresa para la que trabajo tiene un sistema de administración de contenido que crea páginas automáticamente para cierto contenido.

Por ejemplo, hay una página en nuestro sistema que tiene la capacidad de mostrarle información sobre cualquier compositor en nuestra base de datos, según los parámetros de entrada y la información que tenemos sobre ellos. Sin embargo, de vez en cuando, hay un compositor que no tiene ninguna información, por lo que la página muestra una página en blanco. ¿Cómo podemos decirle a Google que no indexe la página en ese momento, pero tal vez en el futuro?

Debido a que el contenido se genera automáticamente, no podemos simplemente bloquear las páginas para que no sean visibles, ya que la información sobre ese compositor puede aparecer en cualquier momento.

Editar

Tenga en cuenta que nuestro sistema CMS que realiza la recuperación es muy complicado y profundo. La parte de contenido de la página devolverá algún tipo de datos, por lo que ejecutar un archivo empty($content) ? xx : yycomo se ha sugerido no es una solución rápida. Si no existe un compositor, el sistema no tendrá una página para ese compositor, si el compositor existe, el sistema sí lo tendrá. Cuando se representa la página de ese compositor, el sistema busca todos los tipos que se refieren a compositores, como obras, para crear una página dinámica.


2
¿Qué quiere decir exactamente con "página en blanco"? ¿Quiere decir que literalmente no se envía HTML? ¿O tienes el diseño básico 'shell' pero sin contenido?
DisgruntledGoat

Respuestas:


13

Si no hay contenido para un compositor en particular, use la metaetiqueta:

<meta name="robots" content="noindex, follow">

Tan pronto como se agregue contenido y se elimine la metaetiqueta, Google lo indexará.

Ejemplo:

<?php if(empty($composerInfoArray)): ?>
    <meta name="robots" content="noindex, follow">
<?php endif; ?>

1
FWIW "seguir" es el comportamiento predeterminado, puede descartarlo si lo desea (no causa ningún problema, y ​​tal vez sea más para los humanos que lo leen, así que también puede dejarlo).
John Mueller

4

Si las páginas "faltantes" no contienen información real, pero son simplemente marcadores de posición para "puede haber una página aquí en el futuro", entonces recomendaría configurar su servidor web para que les devuelva el código de estado 404 No encontrado .

Los navegadores seguirán mostrando tales páginas al usuario, tal como muestran las páginas de error 404 normales (al menos mientras sean lo suficientemente largas ), pero los motores de búsqueda simplemente tratarán la página como si no existiera en absoluto.

Este es el método utilizado, por ejemplo, por Wikipedia para páginas inexistentes como esta . Una de sus ventajas (además de ser, posiblemente, semánticamente correcta) es que garantiza que los motores de búsqueda tratarán esas páginas exactamente de la misma manera que normalmente tratan las páginas faltantes que devuelven un código de estado 404.

Una desventaja potencial es que, si tiene enlaces a páginas que devuelven un código de estado 404, aparecerán como "errores 404", por ejemplo, en las Herramientas para webmasters de Google. Sin embargo, esto es perfectamente normal y no es algo de qué preocuparse .


Para ayudar aún más a los motores de búsqueda a descubrir sus nuevas páginas, cuando obtienen un contenido real y dejan de devolver 404, también debe mantener un mapa del sitio XML actualizado regularmente que enumere todas las páginas de su sitio que sí tienen contenido. Esto permite que Google y otros motores de búsqueda descubran nuevas páginas directamente a través del mapa del sitio, en lugar de tener que encontrarlas al azar mientras vuelven a rastrear su sitio.

PD. Ver también: ¿ No es una página de índice que no tiene contenido relevante?


Karenon, devolver un 404 es igual a no hacer nada, ese es el comportamiento normal del servidor web; El ejemplo de Wikipedia es solo una página 404 personalizada.
Binarysurf

1
@Binarysurf: Según el OP, están utilizando un script personalizado para servir contenido dinámico para "páginas virtuales" construidas a partir de la información almacenada en una base de datos (al igual que Wikipedia, SE y la mayoría de los sitios web más importantes lo hacen hoy en día). Esto significa que no se aplica el "comportamiento normal del servidor web": en lo que respecta al servidor web (Apache, IIS, nginx, etc.), el script generador de contenido existe y se ejecuta, por lo que su valor predeterminado es " 200 OK ", a menos que el script indique lo contrario. Solo estoy sugiriendo que el OP debe hacer que su script envíe una respuesta 404, si no hay contenido real para mostrar.
Ilmari Karonen

hay un script personalizado que recupera los datos del compositor de la base de datos, ¿qué pasa si el nombre de alguien no está allí? usando la lógica, el script no obtendrá registros de la base de datos, ¿qué debería hacer? quizás enviará 404 no encontrado. Si el script encontró algo, tal vez solo metadatos (su nombre) y ningún otro dato, enviará 200 y una página con contenido vacío. Incluso si tiene un script personalizado, ¿seguirá el comportamiento predeterminado del servidor web ?, ¿o responderá 200 por cada solicitud? Se verá como spam sin contenido específico.
Binarysurf

Una vez que está ejecutando un script, el script es responsable de enviar el código de estado, y el código correcto para enviar cuando una consulta no tiene resultado es 404.
Wossname

1

Personalmente, crearía un mensaje en el sistema que le permitiría al usuario saber que, aunque se completó su solicitud, no se encontraron compositores para los parámetros dados. Esto evitará que el usuario piense que la página / enlace está "roto".


1

Si la página no tiene contenido, su sistema CMS no debería estar vinculado a ella. Vincular a páginas en blanco es malo tanto para los usuarios como para los motores de búsqueda.

Me gusta la sugerencia de Wayne Whitty sobre cómo poner la metaetiqueta en la página del compositor. Debería encontrar una manera de hacer algo similar en el lugar donde enumera todos los compositores y los vincula a ellos:

<?php foreach ($composers as $composer) {
    if ($composer->countCount > 0)
         print "<li><a href=\"$composer->url\">$composer->name</a></li>";
    } 
} ?>

Si hace esto, los motores de búsqueda ya no encontrarán las páginas en blanco para empezar.


1
... es decir, a menos que haya algo significativo que los usuarios puedan hacer incluso con una página "en blanco", como proporcionar información para ello. (Aún así, sin embargo, puede ser mejor no vincular directamente a la página en blanco, sino a alguna URL diferente que indique la (posible) ausencia de datos. Tenga en cuenta que tendrá que lidiar con el caso límite donde un usuario sigue dicho enlace después de que la página se haya creado recientemente; vea, por ejemplo, cómo lo hace Wikipedia .)
Ilmari Karonen
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.