web-dev-qa-db-ja.com

Wordpressで404ページを回避する方法はありますか?

私のサイトでは人々が存在しない投稿にリンクすることができますが、それは私のサイト上の全体の構造なので問題はありません。 Wordpressに404ページを回避する方法はありますか?それでは、投稿が存在しない場合は、404ページであることをGoogleに送信する代わりに他の方法を使用できますか。

1
user1627363

これを行う1つの方法は、 status_header フィルタを使用することです。 functions.phpファイルまたはあなたのテーマ(あるいは適切なプラグインファイル)に次のコードを追加するとうまくいきます。

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;
}

あるいは、@header( $_SERVER[ 'SERVER_PROTOCOL' ] . ' 202 Accepted', true, 202 );呼び出しの前にget_header()を404.phpファイルに追加することもできます。

これのマイナス面は、正当なファイルが見つかりませんを含め、すべての404が202として返されることです。

ユーザーにはまだ404.phpテンプレートが提供されるので、そこにあなたのcreate postフォームを追加してください。

1
Michael Dozark

パーマリンクファインダープラグイン がその目的を果たします。

0
Nabil Kadimi