Nube de etiquetas

Personalizar error 404 en joomla con y sin sh404sef

Trabajando en nuestra nueva tienda online de informática, me he encontrado con un pequeño error a la hora de personalizar la página de error 404 desde la extensión sh404sef para Joomla!, y me costó un poco dar con la solución, así que la comparto para quién le pueda ayudar, tanto utilizando sh404sef, como sin utilizar esta extensión en Joomla!.

Primero que nada comentar el problema que me encontré, la extensión sh404sef tiene una configuración para personalizar los errores 404 que aportan un plus a las páginas de error del core de joomla, este plus es que permite mostrar en esta página personalizada, posibles url alternativas o similares a la url que dio el error, por lo que es un salto cualitativo en cuanto usabilidad para el usuario el poder disponer de posibles páginas relacionadas y no simplemente un mensaje de error que a la mayoría de usuarios no le aporte nada más allá de cerrar la web y marcharse a otra web.

Si tienes este componente instalado en Joomla! y te pasa que te muestra la página 404 del core de joomla, esa con la cabecera roja que pone, “404 – Componente no encontrado … a dirección mis-typed…”, probablemente el problema estará en que por algún motivo este componente no pudo crear la página 404 personalizada, dentro del propio gestor de Joomla, para resolverlo simplemente haz lo siguiente:

  • Vete a: componentes -> sh404sef ->configuration -> error page configuration
  • En la pestaña “pagina 404 por defecto” selecciona y copia el contenido de la misma.
  • Crea un nuevo artículo de contenido: Contenido -> gestor de artículos -> nuevo
  • La sección puedes poner sin clasificar.
  • Lo más importante, pon de titulo a este artículo el siguiente título:  __404__ (con dos guiones bajos)
  • Pega el contenido que habías copiado de la configuración del sh404sef y guarda este artículo.

Y con esto ya conseguirás que se muestre la página personalizada del sh404sef con la característica de que liste también url similares a la no encontrada, por si no encuentras el código, pongo uno a continuación incluyendo los códigos del sh404sef, que te podrían servir:

Lo sentimos, no se encuentra esta pagina!
Buscabas la siguiente url {%sh404SEF_404_URL%}, pero se pudo encontrar.
{sh404sefSimilarUrlsCommentStart} Tal vez puede estar interesado en las siguientes páginas de nuestro sitio:{sh404sefSimilarUrlsCommentEnd}
{sh404sefSimilarUrls}

Y si no usas sh404sef, pero te gustaría mostrar una página 404 personalizada e integrada junto con el resto de tu web Joomla!, lo podrías hacer de la siguiente forma:

  • Crea un artículo de contenido con el texto que quisieras mostrar en esa página 404 personalizada y guardarla sin clasificar en ninguna sección.
  • Enlaza a este artículo que acabas de crear desde un menú del Joomla!,  vete al frontend o portada de tu web y copia la url a la que apunta ese nuevo enlace que publicaste en el menú, tendría que ser algo como “http://www.tuweb.com/index.php?opti…
  • Despublica en enlace que acabas de publicar en tu menú, era simplemente para poder copiar la url.
  • Desde el administrador de archivos de tu panel web, que podría ser un cpanel o desde algún componente que tengas instalado en tu Joomla! o desde ftp, tiene que copiar el archivo “error.php” que se encuentra normalmente en /public_html/templates/system a la carpeta de tu template, por ejemplo /public_html/templates/tuplantilla
  • Modifica el archivo error.php para Joomla! 1.5 añadiendo justo después de la linea:
    • defined( '_JEXEC' ) or die( 'Restricted access' );
    • La siguiente linea

    • if (($this->error->code) == '404') {
      header('Location: /index.php?option=com_content&view=article&id=1');
      exit;}

Asegurate de poner justo después del index.php?… lo que copiaste anteriormente de tu menú.

Si utilizaras Joomla! 1.6 o 1.7 utiliza el siguiente código:

  • if (($this->error->getCode()) == '404') {
    header('Location: /index.php?option=com_content&view=article&id=1');
    exit;}

Para que te quedara perfecto, tendrías que añadir la siguiente linea a tu archivo robots.txt

    Disallow: /index.php?option=com_content&view=article&id=1

Asegúrate, igual que antes, de personalizar esa url con la que corresponde con tu artículo.

Enlaces relacionados:

Mejores prácticas para personalizar las páginas 404: http://www.alistapart.com/articles/perfect404/

Documentación oficial de Joomla! sobre como personalizar las páginas 404: http://docs.joomla.org/Creating_a_Custom_404_Error_Page

Compártelo:
  • Google Bookmarks
  • del.icio.us
  • Facebook
  • BarraPunto
  • Meneame
  • MySpace
  • LinkedIn
  • TwitThis
  • email
  • Print
  • BlogMemes
  • Ping.fm
  • MisterWong
  • Digg
  • Technorati
  • Sphinn
  • Live
  • Tumblr
  • Furl
  • Spurl
  • StumbleUpon

2 comments to Personalizar error 404 en joomla con y sin sh404sef

  • Información Bitacoras.com…

    Valora en Bitacoras.com: Trabajando en nuestra nueva tienda online de informática, me he encontrado con un pequeño error a la hora de personalizar la página de error 404 desde la extensión sh404sef para Joomla!, y me costó un poco dar con la sol……

  • Luc

    there is a missing step for this to work as well as the fiirtelng, if you are using the JCE editor (and who isn’t!) you also have to Check that the Editor Profile Parameters allow IFrames.In the JCE Control Panel, click on the Editor Profiles button.Click on the Profile name that the user, usergroup or component is assigned to, eg: Default’Click on the Plugin Parameters tab, then on the Media Support tab.Check that the Allow IFrames is set to Yes.

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>