Sur mon site, les gens peuvent créer des liens vers des publications non existantes, ce qui est bien, car c'est toute la structure de mon site ... Le problème est que vous obtenez 404 erreurs, ce qui n'est pas bon pour le référencement. Existe-t-il un moyen dans Wordpress d'éviter 404 pages? Donc, si un message n'existe pas, que vous pouvez faire autre chose au lieu d'envoyer à Google qu'il s'agit d'une page 404?
Une façon de procéder consiste à utiliser le filtre status_header . Ajouter ce qui suit au fichier functions.php ou à votre thème (ou à un fichier de plug-in approprié) ferait l'affaire:
add_filter( 'status_header', 'your_status_header_function', 10, 2 );
/**
* Substitutes a 202 Accepted header for 404s.
*
* @param string $status_header The complete status header string
* @param string $header HTTP status code
* @return string $status_header
*/
function your_status_header_function( $status_header, $header ) {
// if a 404, convert to 202
if ( (int) $header == 404 )
return status_header( 202 );
// otherwise, return the unchanged header
return $status_header;
}
Vous pouvez également ajouter @header( $_SERVER[ 'SERVER_PROTOCOL' ] . ' 202 Accepted', true, 202 );
à votre fichier 404.php avant l'appel get_header()
.
L'inconvénient est que tous les 404 seront renvoyés en 202, y compris les fichiers légitimes non trouvés.
Les utilisateurs recevront toujours le modèle 404.php, alors ajoutez votre formulaire de création de publication ici et vous devriez être bon.
Le plugin Permalink Finder sert cet objectif.