¿Cómo evitar que cambios en tus páginas generen Error 404 por falta de redireccionamiento?

Hoy en día, las páginas web de una empresa deben estar ajustándose de vez en cuando por un cambio en el diseño, actualización de productos y servicios, o en la mayoría de los casos ajustes con vistas a lograr un mejor posicionamiento en los buscadores (SEO).

Estos cambios, algunas veces ocasionan un cambio en las direcciones web, y entonces surge el problema con los buscadores ya que hay que idear un mecanismo para que cuando una persona entre en un enlace con una dirección obsoleta (el típico error 404 page not found ) automáticamente los dirija a la nueva url, o cuando un cliente tenga el enlace guardado en sus marcadores o preferencias e intente entrar en nuestra página no tenga un error como resultado.  Esto es de vital importancia,ya que tener errores de este tipo son una fuga clara de posibles clientes, una mala atención para los ya existentes y una pésima estrategia para lograr un buen posicionamiento en los buscadores.

¿Cómo ayudar  a estas secciones de marcadores  así como a los buscadores a encontrar las nuevas páginas?

Con el servicio llamado alojamiento compartido Linux, que soporta el modelo de reescritura de Apache, puedes hacer fácilmente modificaciones a tu archivo .htaccess para redireccionar a quienes visitan desde tus antiguas páginas e incluso antiguas carpetas (directorios y subdirectorios) a las nuevas páginas y nuevas áreas de tu sitio.  Puedes descargar el archivo existente  htaccess, si estás usando WordPress, puedes ver la que se ejemplariza en el siguiente enlace: archivo iniciador htaccess, o bien crear uno en  un bloc de notas o tu editor de textos favorito (no olvides grabarlo como “.htaccess”, sin extensión).  Usualmente este archivo se encuentra en la raíz de tu directorio de documentos.

En alguna parte antes de empieces los comandos para redireccionar tus visitantes de viejas áreas y páginas, dentro de tu archivo .htaccess tendrás dos lineas para encender el motor de reescritura de Apache, y dejarle que conozca el punto de inicio (normalmente  el directorio raíz de documentos el cual se especifica como “/”).

RewriteEngine On
RewriteBase /

Si estás usando el archivo iniciador htaccess antes mencionada, o alguno basado en él, estos comandos ya están incluidos en el archivo; no debes crear duplicados de estos comandos, porque solo necesitas que estén presentes una vez.

Ahora ya estás listo para poner los comandos que ayudarán a tus visitantes  y motores de búsqueda a encontrar las páginas nuevas y las nuevas áreas de tu web.  Hay varias formas de hacerlo, aquí tienes algunas:

  1. Redirecciona de un antiguo nombre de máquina (nombre de subdominio) como de wp.coseom.com a www.coseom.com
  2. Redirecioamiento de páginas individuales a nuevas páginas
  3. Redireccionamiento de carpetas a nueva página o nueva estructura de carpetas.

El primero tipo de redireccionamiento se hace a través del uso de los comandos  RewriteCond y  RewriteRule que se vería así:

# machine name redirects
RewriteCond %{HTTP_HOST} ^ wp.coseom.com $ [OR]
RewriteCond %{HTTP_HOST} ^ www.coseom.com$
RewriteRule (.*)$ https:// www.coseom.com/ [R=301,L]

Este le dirá al servidor web que si un visitante o un motor de búsqueda  está tratando de buscar o enviar al visitante a wp.coseom.com, automáticamente lo envie a https://www.coseom.com.

El segundo tipo de redireccionamiento de página a página, es muy sencillo usando solo un comando por página que quieras redirigir (cada redireccionamiento debe ser solo una línea sin cortes de línea).

# page redirects
redirect 301 /services/domain_name_registration_prices.htm      https://www.coseom.com/managed-hosting/shared-web-hosting/domain-name-registration/
redirect 301 /services/webrates.htm                                              https://www.coseom.com/managed-hosting/shared-web-hosting/shared-hosting-addons-optional-features/
redirect 301 /services/hsphere_server_hardening.htm                  https://www.coseom.co /managed-services/managed-server-security/server-hardening/

El tercer tipo de redireccionamiento, de una carpeta a una carpeta o página tambíen se logra con un solo comando a la vez usando el comando  redirectmatch command (cada redireccionamiento debe ser una linea sin cortes aunque se muestre por el explorador como un paragrafo de varias lineas por el ajuste que automáticamente hace).

# folder redirects
RedirectMatch 301 /customer/help/(.*)$                                  https://www.coseom.com/customer-support/
RedirectMatch 301 /customer/socialmedia/control/(.*)$             https://oldsite.coseom.com/customer/socialmedia/control/$1
RedirectMatch 301 /customer/socialmedia/reseller/(.*)$              https://www.coseom.com/customer-support/reseller-control-panel-documentation/

El primero y el último de los comandos de  RedirectMatch  mostrados como ejemplo redireccionan la solicitud de cualquier página dentro de una estructura antigua de carpetas a una página específica en el nuevo sitio.  El comando de en medio redireccionara a los visitantes de una carpeta o página específica a la misma página en la nueva dirección (el signo  $1 al final mantiene el nombre de la página que la persona el  motor de búsqueda estaban usando).

¿De qué forma encontramos las páginas y carpetas que necesito redirigir?  Hay varias formas de encontrar que páginas no se están encontrando y por tanto generan errores 404:

  1. Puedes usar:  Google webmaster tools
  2. Si usas WordPress, el plugin SEO Ultimate plugin tiene un monitor para detectar errores 404.
  3. Si usas WordPress, otra buena forma de revisar por enlaces rotos (que son los que generan errores 404)  es usar el plugin Broken Link Checker.
  4. Puedes revisar el registro de errores de tu sitio para buscar errores 404 page not found.