更新日期:2023-04-13

以前部落格很流行提供 rss ,方便網友使用閱讀器(Reader)追蹤你網站的新文章,不過現在大家閱讀習慣的改變,漸漸 Reader 的服務就紛紛退出市場了,不過 WordPress 裡面還是有提供,既然已經沒什麼用途,就來關閉它。

移除連結

在網頁裡面有兩個訂閱連結,我們要先移除它,避免爬蟲去爬到

remove_action( 'wp_head', 'feed_links_extra', 3 );
remove_action( 'wp_head', 'feed_links', 2 );

讓 feed 頁面失效

我們只是移除連結的顯示,實際上手動輸入網址一樣是會通的,所以必須要讓這個服務停止顯示。

remove_action( 'do_feed_rdf', 'do_feed_rdf', 10);
remove_action( 'do_feed_rss', 'do_feed_rss', 10);
remove_action( 'do_feed_rss2', 'do_feed_rss2', 10 );
remove_action( 'do_feed_atom', 'do_feed_atom', 10 );

增加 404 回應狀態

頁面不顯示內容,但是 header 還是正常回應 200,所以要改變 header 狀態為 404。

function sig_show_404(){
    global $wp_query;
    $wp_query->set_404();
    status_header(404);
    nocache_headers();
}

add_action( 'do_feed_rdf', 'sig_show_404');
add_action( 'do_feed_rss', 'sig_show_404');
add_action( 'do_feed_rss2', 'sig_show_404');
add_action( 'do_feed_atom', 'sig_show_404');

後記

雖然有些 SEO 外掛可以操控,但是他們的功能越寫越繁雜,有時候根本不曉得該關掉哪一個項目。期望 WordPress 官方日後可以提供設定給我們決定要不要使用,不然整個拿掉也可以啦。