Par défaut, Wordpress génère une page des plus sobre suite à l’erreur 404.
Lorsque j’étais sous Drupal, j’utilisais Search 404. Un module qui permet d’effectuer une recherche à partir des mots clés de l’URL.
Tout fraîchement arrivé sous WP je trouve AskApache Google 404 comme étant « The must have ».
Je ne sais pas vous, mais d’après mes statistiques 90% des erreurs 404 sont du à une mauvaise indexation de Google.
AskApache Google 404 propose d’afficher sur votre site, le résultat de la recherche que Google produit en fonction des mots clés de l’URL.
Dans mon cas, strictement aucun intérêt. Effectuer une boucle d’affichage sur des pages inexistantes n’a aucun sens.
Le seul moyen d’afficher des articles dont je suis sur de l’existence, c’est de passer par le moteur de recherche interne à WP.
Je vous l’accorde que je perds la pertinence des requêtes Google, mais au moins les liens seront valides.
Voici donc le code à mettre dans le fichier 404.php (« Admin -> Apparence -> Éditeur de page »)
<? $search_term = urldecode(substr ($_SERVER['REQUEST_URI'], 1)); $order = array('', '/', '_', '-'); $replace = '+'; $search_term = str_replace($order, $replace, $search_term); $search_url = get_bloginfo('url') . '/?s='; $full_search_url = $search_url . $search_term; $full_search_url = preg_replace('/ /', '%20', $full_search_url); print (file_get_contents ($full_search_url)); ?>
Petite explication :
- On récupère les paramètres de l’url
- On remplace » / – _ » par « + » qui est le symbole AND entre deux expressions recherchées sous Wordpress.
- On affiche brute de pomme le résultat qui aurai été effectué de manière manuelle.
Avis aux amateurs de solution plus élégante.
Vous avez aimé l'article ? Alors vous aimerez surement :
- Comment les concurrents de Google sont gérés
- Gérer son référencement : Quelques règles
- Drupal post installation: meta tag
- Drupal – XML Sitemap pour optimiser son réferencement
- Drupal – Avoir un thème partie public différent de la partie admin
Mots-clefs :404, google, Recherche, Wordpress


novembre 21st, 2008 at 15 h 17 min
[...] contre, il va y avoir un impact sur l’ensemble de mes backlinks… Mais comme il y a une page 404 de la mort, il n’y a aucune d’avoir peur des répercutions :p [...]
Bonjour,
Je trouve cette idée très pertinente. Je voudrais l’adopter pour mon blog mais je voudrais afficher une phrase d’explication avant « Resultat de la recherche » mais je suis une bille en php.. un petit conseil ?
Il suffit simplement d’ajouter un autre print
Merci pour ta réactivité, malheureusement j’avais déjà essayé cela… Le probleme c’est que ca n’affiche ce texte que tout en haut à droite et non dans le template. Je ne sais pas si je suis très clair (ex: http://www.synergeek.fr/communication/erreur)
en haut à gauche je voulais dire
En effet, j’ai parlé trop vite :p
Cette astuce pour la page 404 n’est pas la meilleur. En effet, il s’agit d’exécuter une recherche standard en utilisant les mots qui ont conduit l’utilisateur sur la 404. On affiche simplement le résultat de la recherche.
Pour afficher du texte entre les articles trouvés, il faut modifier le résultat de la recherche, fichier : search.php
Mais cette solution fait plutôt office de « bricoleur » qu’autre chose.
Désolé.
ok, en fait ce qu’il faudrait c’est utiliser la page 404.php standard dans laquelle on pourrait donner une expliquation genre « oops la page est introuvable… Mais je peux vous proposer les articles suivants: » et là faire tourner ton script. tu crois que c’est possible ?
Pas dans l’état non.. Désolé
Bon c’est pas grave.. J’ai quand même essayer de le faire tourner avec le plugin exec-php pour faire tourner un script php dans un post wordpress mais je n’ai pas réussi à faire fonctionner.
Merci quand même