Évitez les erreurs 404
Assurez-vous que les internautes ne se retrouvent jamais devant un page d'erreur 404 page non trouvée, dénuée de sens. La page d'erreur par défaut de Joomla est particulièrement laide mais aussi complètement différente de l'aspect du reste de votre site, les internautes pourrait même penser que votre site n'est plus fonctionnel et le quitter.
Si cela arrive souvent cela peut avoir un impact négatif sur votre positionnement dans les moteurs de recherche (SEO Ranking).
Le mieux est de créer un page 404 customisée pour votre template. Si votre page d'erreur est suffisamment sensée pour les internautes ils vont simplement suivre vos indications, que vous proposiez un lien vers une page de recherche ou vers votre page d'accueil.
Évitez les erreurs 404
La 1ère chose à faire est d’éviter que les internautes rencontrent la page d 'erreur 404. Évitez de renommer vos articles ou vos éléments de menu (à moins que vous ne gardiez les mêmes alias), car les internautes pourraient rencontrer cette page d'erreur lorsqu’ils sont redirigés via Google. Assurez vous aussi de ne pas avoir de liens internes à votre site qui pointerait vers des pages non-existantes. Ce type d’erreur est mauvaise pour votre SEO. Si vous devez impérativement changer vos Urls, assurez-vous d'utiliser une redirection 301 pour pointer l'ancienne URL vers la nouvelle.
D'autre part suivez vos erreur 404 en utilisant le composant redirect Manager (ou utilisez une extension similaire). Vous pouvez aussi utiliser un service non Joomla qui vérifiera votre site et détectera les 404. Pour se faire vous pouvez utiliser des outils tel que Screaming Frog SEO spider ou des outils gratuits tels que www.brokenlinkcheck.com ou des outils SEO audits tels que WebCEO and SemRush.
Soyez conscient que toutes les erreurs 404 ne sont pas si mauvaises. Si vous avez un article ou un produit d'une vente en ligne qui sont obsolètes, retirer ce genre de page conduira sur une page d' erreur 404. Mais dans ce cas, l'erreur 404 peut être utilisée par que Google & Bing pour désindexer ces items de leur index. Google a précisé que dans ce cas cela n’affectera pas votre SEO.
Créer une page d'erreur 404 customisée pour Joomla
La création de page 404 customisée pour Joomla est facile.
- Dans une premier temps créer un article qui sera visible aux internautes quand il verrons cette erreur.
- Nommez cet article comme vous le souhaitez (404, erreur page, etc.) ajoutez y le texte de votre choix et un lien vers votre page d'accueil ou une page de recherche.
- Maintenant notez l'ID de votre article (la dernière colonne si vous êtes dans la vue de gestion des articles). Dans notre exemple nous prendrons 999
- Optionnellement (mais recommandé) pour cette article les paramétrage Robots seront NOINDEX, NOFOLLOW pour évitez que cette page ne soit indexé par google.
- Optionnellement ajouter cet article à un menu caché
- Puis créez un fichier vide nommez le error.php
Nous avons deux options.
Option 1 : montrez simplement une page 404
C'est la solution standard qui est utilisée sur d'autres blogs, mais ce n'est la solution préférée (voir l'option 2). Cette option vous fournira une page simple 404-page après la détection d'une erreur. Vous créez un nouveau fichier error.php dans un des dossier de vote template avec ce seul code :
<?php
defined('_JEXEC') or die;
if (($this->error->getCode()) == '404') {
header('Location: /index.php?option=com_content&view=article&id=999');
exit;}
?>
Remplacez 999 avec l'ID de votre article.
Si vous avez assigné l'article-404 à un item de menu, vous pourrez avoir un code plus simple. Si vous l'assignez a un menu item appelé Page Non trouvé. le ligne commençant avec header devient maintenant :
header('Location: page-non-trouve');
Le désavantage de cette méthode tient au fait que le navigateur reçoit toujours un code 200-header en réponse, ce qui complique la tache des moteurs de recherche pour savoir si cette page existe ou n'existe plus. Cette méthode est appeler soft-404. Consultez le blog Webmaster blog pour comprendre pourquoi cette méthode n'est pas encouragée.
Option 2: amélioré le code avec une HTTP-reponse correct
Une alternative qui est nettement meilleur que l'exemple ci-dessus, est de remplacer la ligne commençant avec header("Location.... par:
header("HTTP/1.0 404 Not Found");
echo file_get_contents(JURI::root().'index.php?option=com_content&view=article&id=999');
Ce que fait ce code est d'envoyer un header HTTP 404 au navigateur, reste sur la même URL et retrouve le contenu de la page 404. Cette méthode est appeler hard-404, ce qui est la méthode à appliquer.
Une note finale au sujet de ces solutions : beaucoup de fournisseur de templates commerciaux ont leur propre mécanisme pour fournir des pages 404, ce qui parfois rend plus difficile de mettre en place cette solution. Mais tant qu'ils fournissent une page 404, ce n'est pas un problème.
Cet article est une traduction libre du tutoriel de Simon Kloostra : Avoid 404-errors