Soporte » Guías – Resolución de problemas » Mantener SEO cuando subo una página "En construcción"

  • Resuelto Mauricio Gelves

    (@mgelves)


    Buenos días gente, explico la duda que tengo:

    Tengo un sitio web WordPress funcionando con un cierto ranking en WordPress.
    El cliente me ha pedido subir una página «en construcción» hasta tanto subamos el tema con los nuevos estilos.
    Hice la página en un .html con un .css propio.

    He aquí la duda:
    ¿Cómo puedo modificar el .htaccess para que el dominio siempre apunte a este .html y esto no afecte al SEO de la página?

    Muchas gracias,
    Mauricio

Viendo 6 respuestas - de la 1 a la 6 (de un total de 6)
  • Personalmente lo veo como una panacea, vincular TODAS las URLs a un comingo soon y no perder posicionamiento.

    Podrías usar redireccionamiento 302, que es temporal, pero aún así algo se verá afectado.

    De todos modos, espera a un experto en SEO a ver su respuesta.

    cybmeta

    (@cybmeta)

    En corto: no lo hagas.

    En largo: si tienes una web funcionando, ¿como va estar en construcción? En todo caso entrará en modo mantenimiento, así que déjala funcionando.

    El día que vayas a hacer el cambio puedes redireccionar todo el tráfico a la página de «En mantenimiento» (que NO «En construcción»). Aunque es común hacer esta redirección con código 302, NO es correcto.

    La redirección 302 indica que el «contenido ha sido movido a otra URL de forma temporal». Y esto NO es el caso. La URL a la que redireccionas no es una localización temporal del contenido.

    El código correcto es 503 – Service Unavailable (Servicio no disponile).

    El código de estado 503 – Service Unavailable indica, según las especificaciones, que el servicio no está disponible temporalmente por sobrecarga del servidor o por estar realizando tareas de mantenimieno:

    The server is currently unable to handle the request due to a temporary overloading or maintenance of the server. RFC2616 -HTTP/1.1 Status code definitions

    Así que los motores de búsqueda sabrán que es una caída temporal por mantenimiento y no les estás engañando con redirecciones.

    Además, puedes añadir una cabecera HTTP Retry-After indicando la fecha y la hora en la que esperas que la web esté de nuevo online. Con .htaccess se haría con algo así:

    Header set Retry-After "Sat, 18 Mar 2016 18:27:00 GMT"
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/mantenimiento.html [NC]
    RewriteRule .* http://ejemplo.com/mantenimiento.html [R=503,L]

    Y Google está totalmente de acuerdo con esto: https://webmasters.googleblog.com/2011/01/how-to-deal-with-planned-site-downtime.html

    cybmeta

    (@cybmeta)

    Toma pedazo de respuesta que te he dado!!! 😉

    Iniciador del debate Mauricio Gelves

    (@mgelves)

    Gracias Rubén Martín.
    Cybemeta, no podía esperar menos de un profesional como tú ¡Te debo unas cañas!

    cybmeta

    (@cybmeta)

    WoW me has llamado profesional!!! Jajaja

    Pues este profesional de pacotilla no probó el código y no está bien del todo. La redirección sola no va a mostrar tu página de mantenimiento, mostrará la página predeterminada configurada en el servidor para ese error (es que para los códigos de error 4xx o 5xx no se puede hacer una redirección real, verás como la URL en la barra de direcciones no cambia). Así que faltaría una directiva ErrorDocument 503 para establecer el documento que quieres mostrar para ese error.

    También me acordado lo coñazo que es el formato de fecha/hora para HTTP; puedes utilizar también un número de segundos en Rety-After, que es mucho más cómodo en la mayoría de casos, por ejemplo 1 hora = 3600 segundos.

    Y ya para ser profe del todo, quita toda posibilidad de caché, no vaya a ser que se quede la respuesta cacheada para algún usuario.

    Y todavía más, no generes el error para tu IP para que puedas acceder.

    Header set Retry-After "3600"
    RewriteEngine On
    RewriteCond %{REMOTE_ADDR} !^111\.111\.111\.111$
    RewriteCond %{REQUEST_URI} !^/mantenimiento.html [NC]
    RewriteRule .* http://ejemplo.com/mantenimiento.html [R=503,L]
    ErrorDocument 503 /mantenimiento.html
    Header set Cache-Control "max-age=0, private, no-store, no-cache, must-revalidate"
    Header set Pragma "no-cache"
    FileETag None
    Header unset ETag
    Header unset Last-Modified

    PD: Anoto las cañas!!

    Joder que nivelazo de respuesta del señor Cybmeta!

    Yo iba a decirte, muy cutremente, que hice algo así justo el otro día, y que si pones un index.html siempre se carga antes que el .php, eso si, no sé muy bien lo que pasa con el SEO por que, en este caso no había problema por no tener ningún ranking que salvaguardar.

    De todas formas, me aplico la solución del señor Cybmeta y le doy gracias mil por el aporte!

Viendo 6 respuestas - de la 1 a la 6 (de un total de 6)
  • El debate ‘Mantener SEO cuando subo una página "En construcción"’ está cerrado a nuevas respuestas.