如何停用WordPress的RSS Feeds功能?

一個部落格系統,除了基本的發表文章功能外,當然RSS的訂閱功能不能少。有很多使用者喜歡使用RSS訂閱文章,因為透過RSS可以最即時的接收最新部落格文章,不過若您的網站採用WordPress架設,但是您用不到RSS的功能,想要停掉不要讓使用者自己去抓出RSS位置來訂閱的話,需要怎麼關掉WordPrsss內建的RSS Feeds功能呢?

一直以來很難理解為什麼不提供RSS這樣的訂閱方式?這樣的即時接收資訊不是很好嗎?也有助於訪客接收您的網站更新,定期回流,怎麼看都是很棒的一個做法。但是,這樣的問題卻很常在WordPress的相關討論區上面討論的,但是看上去大多都只是簡單的停用方式,並非完全停用,現在我們可以透過自訂function來停用此功能。


說到RSS,這一個可讓訪客追蹤您網站更新的訊息很重要的方式,若網站是部落格或以內容為主的網站,千萬不要停用RSS Feed功能,因為RSS功能很棒,除了可以讓人使用訂閱工具(ex. Google Reader)訂閱外,還可以燒成固定RSS,開放Email訂閱,彷彿自己網站有電子報功能一般,只要一發文章,隔天訂閱者信箱就會收到新文章通知。

但由於WordPress本身自訂性夠高,越來越多網站都使用WordPress來建置,除了成本低之外,當然就是便利且迅速,因此有些網站型態或許不適合提供RSS功能,那麼它們應該需要將RSS訂閱功能關閉,一般常見做法就是從佈景主題的header.php去拿掉語法,讓瀏覽器或訂閱器抓不到RSS,就無法訂閱了,但是透過網址拜訪,其實還可以突破這樣的限制的。

完全停用RSS、ATOM訂閱功能

現在,我們可以透過WordPress的function來完美停用RSS功能,就算使用者拜訪網址,他依然無法訂閱你網站的RSS,這樣做法其實是比較徹底的,就跟之前介紹的停用搜尋功能很相似的。請您開啟佈景主題的functions.php,將以下語法加入到適當的位置(不要破壞檔案內原本架構),接著儲存並上傳覆蓋即可。

/** Disable WordPres Feeds **/

function wp_disable_feed() {   
  wp_die( '目前不提供 RSS 功能,請前往我們的 <a href="'. get_bloginfo('url') .'" rel="nofollow" >首頁</a>。' );
} 
add_action('do_feed', 'wp_disable_feed', 1);
add_action('do_feed_rdf', 'wp_disable_feed', 1);
add_action('do_feed_rss', 'wp_disable_feed', 1);
add_action('do_feed_rss2', 'wp_disable_feed', 1);
add_action('do_feed_atom', 'wp_disable_feed', 1);

停用之後,請重新拜訪網站的RSS頁面,您就會看到網頁已經出現錯誤訊息,告知您無法訂閱網站的RSS囉!

】RSS 訂閱頁面:

http://您的網址/feed (固定網址)

http://您的網址/?feed=rss2 (預設網址)

如何停用WordPress的RSS Feeds功能?

如果您使用這樣的方法卻發生網頁錯誤訊息部分出現亂碼,那應該是functions.php檔案編碼並非為UTF-8格式,請使用NotePad++,將檔案轉換成「UTF-8(不含BOM標籤)」。詳細的解決方式您可以參考:解決WordPress佈景亂碼問題。另外,別忘了將佈景主題內所有的RSS訂閱連結的地方,將連結拿掉,當然header.php內的超連結也別忘記哦!

如果您有使用Disable RSS外掛停用RSS,現在您可以使用這個方式直接加入語法停用,因為外掛內的語法和上面這串語法是相同的,所以就讓此功能透過語法達成,將外掛停用。少一個外掛,可以減少WordPress的一些負擔,讓WordPress效能更好。

最後,如果您還沒訂閱香腸炒魷魚的RSS,趕快按這裡訂閱本站的RSS囉!