阿布龜毛的個性,一篇文章常常寫寫調調改改,因為預覽是一回事,實際放上版面又是另一回事,所以不得不邊寫邊發佈,而 RSS Feed 有輪詢抓取更新的特性,也因此常常發個呆寫到一半的半成品就被抓走了…後來成立了一個草稿格專門拿來讓阿布改到爽,再放上來發佈…所以其實阿布洛格,是兩個部落格分工打造出來的…
是的…反正開新格不用錢…阿布想到了同樣的方式來解決自定訂閱的問題…
文章備份與架構設計
Blogger 的文章/意見(迴響)備份十分完備,也十分簡單。後台介面中 設定 > 基本 就可以看到。(基本!看到沒…真不知道國內某 BSP 竟然關掉這樣的功能實在是令人瞠目結舌的沒 Sense!)
匯入網誌 - 匯出網誌 - 刪除網誌 您可以從先前匯出的 Blogger 網誌匯入文章和意見、匯出此網誌,或將其永久刪除。 |
用匯出網誌把主格舊文匯出成一個 XML,再用匯入網誌灌給新成立的格子,就跨出了第一步。
再來,責任的劃分,新格只負責產出 RSS Feed,流量/閱讀還是要導給主格。
所以,規劃目標要餵出去的每則文章架構是這樣:
文章標題(新格文章網址,這裡避不掉,RSS Feed 沒加工過燒起來就是這樣) 自訂的引導文,可長可短,自由控制。 自訂的引導文,可長可短,自由控制。 自訂的引導文,可長可短,自由控制。 繼續閱讀(可自訂樣式,連結主格文章網址) |
所以,除了一一編修在新格匯入的文章成為想要的引言長度與格式外,一個重要的課題,就是萬一 RSS Feed 訂閱者是點文章標題(新格文章網址),而不是點繼續閱讀(主格文章網址)的時候,怎麼打回去主格文章網址?
Blogger 的命名規則 (Naming Rule)
一篇 Blogger 文章,在後台介面「設定 > 存檔」中,如下設定為啟用文章網頁時:
[張貼網頁] 讓您的每篇文章除了能出現在您的網誌首頁以外,還能擁有自己的唯一網頁。 |
- YYYY(四碼年份):文章第一次發佈/匯入時所設定張貼日期的年份
- MM(兩碼月份):文章第一次發佈/匯入時所設定張貼日期的月份
- 文章檔名的規則就複雜了點:
- 檔名為文章標題中數字、英文及符號「-」所組成,而空格(space)會換為符號「-」
- 所有其它的中文字,特殊符號都會被完全過濾
- 如果是全中文的標題,則系統會預設以「blog-post」為預設檔名
- 如果「YYYY/MM/」底下已有「 blog-post」存在,則系統會附加編號成為「blog-post_編號」作為文章的檔名。
會特意解釋這一大段,是因為『匯入網誌』的動作,系統會依循這樣的命名規則,為每一篇匯入的文章成立它的檔案名稱(在匯入的當下就決定了,不是發佈的時候才決定)。所以,要做到主格新格在「/YYYY/MM/文章檔名.html」部分的一致,在下標題的時候就要先下點功夫。
中文標題在「blog-post_編號」的命名規則的情況下,編號很難掌控,在新發佈的時候跟匯入的時候,編號產生的規則又不太一樣,而且用的是「_」分隔,即便想用英文標題矇混搞偷吃步都沒機會。所以在發佈的時候盡量不要使用中文標題,不管是為了 SEO 也好,還是文章管理考量也好,都請讓標題/檔名處在可被掌控的情況下。
網址轉換的魔術
前面的文章匯入/編修以及主格新格「/YYYY/MM/文章檔名.html」的一致都只是準備工作。接下來要變一個魔術,把所有「http://新格URL/YYYY/MM/文章檔名.html」的連結都把它導向「http://主格URL/YYYY/MM/文章檔名.html」。整個在 RSS Feed 動的手腳就可以接近無痕了!
是的!JavaScript 的 location.replace 是我們需要的。
插入的位置,阿布是放在 head tag 後的第一行。作用就是把所有「http://新格URL/YYYY/MM/文章檔名.html」強制轉換到「http://主格URL/YYYY/MM/文章檔名.html」,即便是直接連結「http://新格URL/」也會被導向「http://主格URL/」。
<script type='text/javascript'>
var urlStr = location.href;
urlStr = urlStr.replace('新格URL','主格URL');
location.replace(urlStr);
</script>
因為期望對外網址的統一,所以做了這樣的轉址動作,當然這樣的統一對 SEO 也有所幫助。為什麼不把新格隱藏起來就好?因為隱藏的格子/有設定讀取權限的格子,會對 RSS Feed 的產生限制,這也是合理的邏輯。當然,訪客要強行撞進來還是撞得進來,也不難撞進來,只是即便撞進來意義也不大,主要的資訊提供還是會引導到主格去。
這樣自定訂閱的方式,有很大的人工介入,但是其實不難,端看部落格中有多少文章需要整理。很多事情,是要趁早起步逐漸累積的。放出去給人訂閱的,就是這個加工過的新格 RSS Feed,不過,這也代表著,如果主格有新作發表,還需要多一個去新格同步發佈的動作。
這跟站內的繼續閱讀不同,RSS Feed 是要吐出去給 FeedBurner,給 Reader 的,任何程式化的控制方式,像是 CSS/JavaScript,可能都使不上力。不知道是不是阿布太龜毛了,沒看過類似的討論與實作,希望能幫到有需要的人。如果有更好的實作方式,也期待您與阿布分享。
0 回應 :
張貼留言
讓阿布知道你對這篇文章的想法吧!