Quantcast
Channel: WFU BLOG
Viewing all 571 articles
Browse latest View live

本站 Blogger 即日起關閉訪客自刪留言功能

$
0
0
這是一篇公告文章,有可能在本站留言的讀者,請注意本篇內容,即日起在本站的任何留言,都將無法刪除。

(圖片出處: pixabay.com)


一、網路資訊共享


重申一下「本站的精神與理念」,基於網路資訊共享的便利性,公開流通的訊息可讓所有富求知慾的使用者都受益。

在本站相關文章的公開提問,只要符合留言注意事項的規定,WFU 都會撥時間回覆,因為分享可以讓時間的效益最大化。


二、自刪留言的結果


過去管理「Blogger 中文社群」時,偶爾會看到成員貼文求助,但得到回答後卻自刪該討論串。如此不但回覆者投入的時間沒了,連帶應得的感謝也一併消失。

社群就是眾人的討論區,當資訊無法流通傳承時,討論便失去意義,因此社群規定「自刪貼文、留言」都會有版規懲處。

不過相對之下,Blogger 部落格就比較沒有約束力,有時我也會在本站看到怎麼讀者自刪留言了,但又能如何呢?就算想設立黑名單,但留言者何其多,誰有辦法記得住,時間不該投入在這樣的事件。

不過這次無意間看到的情形,真的有誇張到,也成為壓垮駱駝的最後一根稻草。下面出自這篇「Blogger 多層下拉選單實作」的留言 #9 ~ #11:



上圖也只是其中一部份而已,看著整片的「作者已經移除這則留言」,我的一大串回覆成了自言自語,逝去的寶貴時間如同被竊賊洗劫一空。

留言得到答案後又自刪,形同進行私人諮詢,WFU 的時間並不準備免費提供給這樣的提問方式。



三、注意事項


為了往後心情不受到影響,那麼就請讀者們注意一下:

  • 不認同本站理念的話,建議不要留言提問喔,因為現在開始不准刪了!
  • 留言內容有誤沒關係,再多留言一次進行更正就好。
  • 提問若不想公開,我會要求使用者付費,因為佔用了我的私人時間。
  • 想要免費也是有管道,可申請「Blogger 長期免費諮詢」。

是否痞客邦、WordPress 的 SEO 比 Blogger 好,有這樣的事嗎?

$
0
0
許多站長在架站、或搬家前,很關心的一件事就是 SEO,想瞭解這個部落格平台的文章容不容易被搜尋到。四處打聽的結果,可能會接收到「痞客邦的 SEO 比較好」、或「WordPress 的文章比較容易搜尋到」這樣的訊息。那麼,由於 Blogger 在台灣的使用者本來就少,原本屬意在 Blogger 定居的站長,可能就因此而動搖、或改投他處。

其實這類的說詞或經驗分享,從 "特定的角度"來看不能說是錯,但為了不讓站長們因著片面的觀點而做出錯誤的決定,我想提出一個比較客觀的說法:

"幾乎"沒有任何一個部落格平台,能夠長久影響文章的 SEO。

我要表達的是,部落格平台不會是左右 Google 搜尋排名的主因,同樣的一篇文章,不管出自哪種部落格,根據其價值,Google 最終都會給予應得的、對應的搜尋排名。

為了節省讀者的時間,本篇的結論我已經先講了。不過要驗證以上各種說法的真偽,需要一些篇幅來論述,有耐心的讀者請繼續往下看。

(圖片出處: pixabay.com)


一、存活者偏誤


在開始之前,需要先建立這個概念。

英文 "Survivorship Bias",中文翻成「倖存者偏差」或「存活者偏誤」,是一個重要的邏輯概念,它也可以說是後見之明(白話說的 "事後諸葛")。簡略的說明可參考這篇「可怕的邏輯陷阱 -- 存活者偏差」,想更深入案例研究可參考「存活者偏差與騙術」。

簡單的說,這個世界是贏家說話,我們聽不到輸家的聲音,因為已經被淘汰了。但,贏家說的話一定是對的嗎?他所自認為的致勝關鍵,很有可能只是運氣好,也可能是剛好沒犯輸家的錯。

要找出在市場上存活的真正關鍵,除了聽贏家的說詞,還需要使用「反證法」來驗證。因此,為了不落入 "存活者偏誤"的思考陷阱,還得追蹤輸家的作法與看法。



二、是否 OOO 的 SEO 比 XXX 好?


關於「痞客邦的 SEO 比較好」、或「WordPress 的文章比較容易搜尋到」,這些說法到底正不正確,暫且先不下定論,試著用 "存活者偏誤"的邏輯來驗證。

  • 假設有「A 部落格的 SEO 比 B 部落格好」這件事存在

1. 這樣的說法可能是由 A 部落格的人氣站長傳出來,而且 A 的使用者多、人氣站長也多,這樣的說法還不少。不過由於 B 的使用者少,就算有 B 站長表示 SEO 還不錯,也可能這說詞沒流傳出來。所以不能代表 A 方說詞比較可靠。

2. 如果可以利用反證的方式,找到人氣不高的站長,從 B 搬到 A,經過一段時間之後(3~6 個月),同樣的一篇文章,Google 搜尋結果三級跳,這樣 A 的 SEO 就可能比較好。

3. 另外一種反證的方式,找到人氣不錯的站長,從 A 搬到 B,經過一段時間之後(3~6 個月),同樣的一篇文章,Google 搜尋結果大跳水,這樣就足以證明 B 的確會給 SEO 帶來不好影響。

以上 3 點是論證真偽的小實驗,如果樣本數越高,就越能支持論點。

因此,在讀者決定相信「A 部落格的 SEO 比 B 部落格好」之前,最好先找到足夠多的反證,以免陷入 "存活者偏誤"的陷阱。

只聽贏家的話,不足以讓你成為贏家。



三、Google 如何決定搜尋排名


要繼續論述部落格平台對 SEO 的影響之前,需要瞭解 Google 是怎麼決定搜尋排名的。基本上我的所有想法已經整理在這篇「部落格網站是否加強 SEO 就能帶來流量?」,簡單歸納一下:

  • 搜尋排名由文章的價值來決定
  • 文章需要注意內容(產品好)、市場(受眾夠多)、行銷(進行宣傳),流量才會提升
  • 流量高了,Google 認為文章價值提升,也會提升排名

不過 Google 決定排名的因素有數百種,以上流程不代表所有影響排名的因素。而文章的價值也不會一直不變,隨時都有變數、隨時有挑戰者產生。

1. 假設你是領先者

例如你有一篇文章目前在搜尋結果排前三名,Google 為了證明你有前三名的實力,有新的同主題文章產生時,可能會把你的順序往後調一點,給新人一點機會。

如果訪客點進新文章後,很快就跳開網頁,Google 就知道新人沒實力;而同一時間,訪客點進你的文章後,跟往常一樣看得津津有味,Google 就知道薑還是老的辣,過沒多久就會把你的文章排回前三名。

就像美國職棒大聯盟,每個能存活下來的選手都不簡單,就算王建民現在只能當敗處的中繼投手,他也是要持續戰勝不斷升上來挑戰的小聯盟選手,才能保住大聯盟的位置。

Google 每天也是在反覆進行這樣的驗證工作,你的文章為了維持前三名,就得持續禁得起市場(訪客)的考驗。


2. 假設你是挑戰者

例如你有一篇新文章,自己覺得內容很好,但目前在搜尋結果第十頁,一開始你必須靠自己的行銷來努力提升流量。

當流量提升了,Google 會幫你提升名次;當有人在搜尋結果點了你的文章,Google 也會為你加分;如果點進文章後訪客讀得久、不會馬上跳開,Google 把這一切都看在心理;當吸引到越來越多網站連結這篇文章,Google 也會不斷幫你提升排名。

只要時間拉長,Google 都有辦法判斷出每篇新文章的價值,市場的反應會說明一切,最終文章會得到應有的排名順序。

就像目前公信力比較高的電影評分 IMDB 網站,由全世界影迷共同投票,有時新電影會有一股熱潮、或是特定族群進行灌票行為,導致短時間內排名暴增。

然而特定族群的數量跟全世界影迷的數量,終究無法相比,只要時間拉長後,一部電影該得到幾分的評價,最終都會真實反應。



四、各家部落格平台 SEO 優缺點


現在可以來看一下,台灣這幾個部落格平台,在 SEO 方面的特性。沒有括號的項目,代表影響 SEO 分數,有括號的項目,代表流量影響因素:

1. 痞客邦

  • 台灣的網域權重高:從「Alexa 台灣排名」可看到,目前痞客邦排第 2
  • 可自訂網址字串、不能自訂文章搜尋描述
  • 不支援 HTTPS
  • 平台強制擺放的廣告很多,會影響網頁載入速度
  • (痞客邦首頁有精選文章、平台會幫忙讓文章曝光,就算自己沒有推廣,也能一定程度增加流量)
  • (大陸看不到)


2. Blogger



3. WordPress

  • 沒有網域權重:用 WP 架站要買網址,等於從零開始。
  • WP 可以控制前、後台軟硬體,因此有各種方法可加快網頁載入速度
  • 任何其他部落格平台能做到的 SEO 設定,就算 WP 官方沒有提供,也可以自己寫、或想辦法找外掛。
  • 可購買 HTTPS
  • (需要自己推廣文章)
  • (大陸看得到,同時建議參考這篇「我的部落格網站需不需要拓展大陸市場?」,只要自認實力足夠就適合投資 WP 進軍中國。)



五、沒有部落格平台具有真正的 SEO 優勢


從以上各家特點看起來,其實沒有任何一家平台有壓倒性的優勢,只能說各有所長而已。

而且很重要的一點是,各家優缺點的加總評分後,最能影響文章 SEO 的時間點,也只是該篇文章踏入 Google 搜尋排名的那一刻而已。

從那一刻起,這篇文章就要持續接受市場的考驗與洗禮,每天反覆進行「三、Google 如何決定搜尋排名」的驗證過程,直到一段時間、或幾個月後,才能看出這篇文章的最終排名。

那麼,最初從部落格平台獲得的 SEO 加成,對於幾個月後文章的最終排名,現在你還覺得真的能造成什麼影響嗎?

如果參加百米賽跑,一開賽可以從 20 公尺處起跑,當然是賺很多;如果參加的是馬拉松,真正厲害的選手不會在乎這 20 公尺吧,讓你 1 公里都行。

只要部落格想要長久經營,我認為在哪個平台落腳,都不會影響最終 SEO 排名,你的身價有多少,不會因為居住地點而有所改變。

如果怕有什麼 SEO 基本動作沒做好的話,可參考這篇「Blogger 只要做到這幾件事, 就能輕鬆加強 SEO 搜尋排名」。



六、但 Wix 具有絕對的 SEO 劣勢


記得開頭提到的「"幾乎"沒有任何一個部落格平台,能夠長久地影響文章的 SEO」嗎,為何要用 "幾乎"這兩個字呢?

的確有個架站平台需要小心,只要避開 Wix 這個知名的免費平台,就可以安心經營網站。

請參考這篇「三個使用 Wix 開店平台前 你應該知道的問題」,這實在太可怕了,Wix 的網頁內容竟然都是用 JS 跑出來的,這也就是說,搜尋引擎機器人跟本抓不到文章內容,當然就無法索引頁面資料,這樣子文章要如何出現在搜尋引擎呢?

那麼除了 Wix 之外,站長在選擇部落格平台時,就不需要考慮 SEO 因素了,可參考「Blogger 是否搬家到 Wordpress 的比較﹍部落格經營觀念釐清」,放心地針對自己真正的需求進行選擇吧!


更多 SEO 相關文章:

痞客邦搬家到 Blogger 後,SEO 問題要如何解決?

$
0
0
pixnet-move-to-blogger-seo-痞客邦搬家到 Blogger 後,SEO 問題要如何解決?前陣子有位從痞客邦搬到 Blogger 的讀者,尋求 SEO 方面的協助。她表示「我計畫將主站從痞客邦搬到 Blogger,但遇到一個難解的問題,在 Blogger 發表的文章經常無法搜尋到,即使該文瀏覽數達數萬,可否提供專業協助?」

其實剛搬家的站長都可能遇到這個現象,在短時間內看不到 SEO 有起色時,心理都會很著急。

一方面什麼事讓痞客邦站長想出走,會稍微提一下,另一方面則會說明,SEO 比較建議的處理方式。

(圖片出處: pixabay.com)


一、痞客邦現況


1. 廣告擺設問題

相信最近有逛過痞客邦網站的話,應該都知道發生了什麼事,網頁版幾分鐘沒動靜後,就會出現蓋版廣告。

這次的案主則表示「現在痞客邦的手機板被站方插了滿滿的廣告」,於是特地開了手機版來觀摩,才發現痞客邦實在太有才了,沒說的話還以為是哪一家內容農場呢!除了四處的廣告之外,明明在文章頁面,還弄了個「展開全文」的按鈕,真是十足的農場擺設~


2. Google 濟出處罰

根據 +熊工作 這篇「Google搜尋結果將調降自動跳出蓋版或插頁廣告的網站網頁排名」,從明年(2017)初 1 月起,Google 會對痞客邦這樣的蓋版廣告進行處罰

那麼痞客邦站長還滿無辜的,因為這些廣告不是自己能控制的,但 SEO 仍會受到影響,也許在年底之前要觀察痞客邦會不會改善,否則可能必須考慮搬家事宜。



二、搬家到 Blogger 後的 SEO 基本動作


為了讓搬家到 Blogger 後的文章內容,能夠快速地被 Google 索引,我已經整理了一篇「Blogger 只要做到這幾件事, 就能輕鬆加強 SEO 搜尋排名」,只要按著步驟一一執行,沒幾天 Google 就會收錄 Blogger 新網站的文章,並且基本的 SEO 效果都能有效加強。

如果擔心 Blogger 的 SEO 效果比別的部落格差,相信這篇「是否痞客邦、WordPress 的 SEO 比 Blogger 好~~有這樣的事嗎?」,可以讓你比較安心。



三、重複內容的問題


1. 案主的現況

不過案主做完「二、搬家到 Blogger 後的 SEO 基本動作」之後,還是覺得 SEO 有問題,她表示:「如果打關鍵字搜尋,Google都會將新網站的文章歸類為類似項目隱藏不顯示,得點選顯示所有結果才找對到...例如搜尋 "XXX涮涮鍋",痞克邦文章會出現,而Blogger的則必須選擇顯示所有結果,他才會出現」

這樣的狀況代表:

  • 痞客邦跟 Blogger 兩個網站,有相同的文章內容
  • Blogger 才剛搬過來,網站的權重很低;痞客邦經營很久,網站權重比較高。
  • Google 對於重複內容的文章,會優先顯示權重高的網站


2. Google 如何處理搜尋結果

那麼 Blogger 的重複內容文章,為何無法出現在搜尋結果,而且要點擊「顯示所有結果」才會出現?

要說明這一點,需要先瞭解 Google 搜尋引擎運作的原理。

Google 的工作,是讓使用者搜尋資料時,能夠得到最有用的答案,因此 Google 認為最有價值的內容,排名就會越前面

如果有 3 個網頁是一樣的內容,對於搜尋的人來說,他只需要看到其中一個網頁就好了,那麼 Google 自然沒有必要,把另外 2 個網頁也列出來給搜尋者參考,因為這是在浪費使用者的時間啊!

開網頁也是要時間的,你可以想像,使用者開了兩三個網頁,結果發現是一模一樣的內容後,他還會不會想要再使用這個搜尋引擎。

所以相信讀者現在應該瞭解了,重複內容的網頁,不一定會出現在搜尋結果。


3. 如何處理重複內容的文章

為了讓搬家後 Blogger 的文章,也能出現在搜尋結果,讀者應該可以猜到要怎麼做,就是「不要讓兩個網站的文章內容一模一樣」。

如果你想把痞客邦當作主站,那麼就修改 Blogger 的文章內容,例如只留下前幾行的文字就好。

如果你想把 Blogger 當作主站,那麼就修改痞客邦的文章內容。



四、痞客邦的處置


如果你準備把 Blogger 當作主站,那麼建議進行以下的工程,這樣才能夠把流量從痞客邦導到 Blogger 網站。

1. 搬家公告

pixnet-move-to-blogger-announcement-痞客邦搬家到 Blogger 後,SEO 問題要如何解決?

可參考這個網站「建蛋的部落格」的作法,在每篇文章上方製作上圖這樣大大的公告,連結到 Blogger 的對應文章,這個方式導流量的效果最好。


2. 文章內容只留前幾行

接著文章內容只需要留前幾行的文字就好,才不會讓 Blogger 的文章成為重複內容。

同時因為文章內容簡短,訪客不得不前往 Blogger 對應的文章,形成導流量的效果。


3. 批次處理

文章很多時,前面 2 點處理起來很費事。如果熟悉痞客邦的 API,可寫程式自行處理。

如果需要代為處理以上事項,這也是本站的服務項目,可參考「Blogger 服務項目」→「4. 部落格相關業務」→「A. 搬家」,用該網頁的聯絡表單與我聯繫。



五、Blogger 的處置


匯入 Blogger 的文章內容,其實也是有需要處理的地方,例如:

1. 圖片

如果用的是第三方圖床,例如 Flickr,那麼就沒什麼問題。

如果用的是痞客邦圖床,不確定在 Blogger 是否都能正常讀取。如果發現破圖的話,最好轉換成 Picasa 圖床比較保險


2. 文章內的連結

匯入的文章內容,相信會有不少原本痞客邦文章的連結。如果讀者點擊了文章連結,又跳回痞客邦,然後在痞客邦又看到搬家畫面,得兩邊不斷地跳來跳去,那麼給讀者的閱讀體驗會不太好。

最好是將所有痞客邦的連結,全部改成 Blogger 的對應文章連結


3. 批次處理

以上兩點同樣是本站的服務項目,提供此訊息給有需要的讀者。



六、購買網址


對於注重 SEO 的站長,我會另外建議購買自己的網址。

如果部落格想要長久經營,那麼更應該趁早累積自己網址的權重,否則你做的一切努力,都只是在幫 pixnet.net、以及 blogspot.com 這些網址累積權重。

當然,有了自己的網址,好處不只是 SEO 權重,這只是一小部分而已,更多的附帶價值,可參考我當初購買網址寫的心得「買網址的附加價值」、「WFU BLOG 換新網域的考量」。

更多買網址的相關心得,例如跟哪家代理商、或優惠卷資訊,可參考本站「電腦-部落格-網域」這個標籤的相關文章。


更多 SEO 相關文章:

對抗 Blogger 垃圾留言全紀錄

$
0
0
blogger-spam-comment-對抗 Blogger 垃圾留言全紀錄雖然本站沒有限制 Blogger 帳號才能留言、沒使用字詞驗證,不過也不太擔心垃圾留言,因為我會 "手動標示"垃圾留言,讓 Blogger 過濾系統好好學習判斷模式。因此現在若遇到一般的色情廣告留言,基本上都會被系統直接判定為垃圾留言,不太需要操心。

但是前陣子遇到一個進化過的「垃圾留言開發人員」,無論我如何用各種手段封阻,他都有辦法持續在 WFU BLOG 成功留言,連多次類似的留言內容都不會被 Blogger 判為垃圾留言。

對於這個奇特的模式與案例,著實讓我花了點時間來研究破解方法,請見本篇詳細的紀錄。

(圖片出處: 699pic.com)


一、Blogger 處理垃圾留言的原理


1. 過濾機制

基本上 Blogger 過濾垃圾留言的能力不弱,而且還有學習能力,詳細的運作原理可參考這篇「Blogger 的垃圾留言過濾機制是甚麼回事?」。

簡單說,只要 Blogger 使用者越勤勞,無論是將沒被判定為垃圾留言的留言,手動標示為垃圾留言,或是將誤判為垃圾留言的留言,手動恢復為正常留言,都能幫助 Blogger 過濾系統越來越強大

另外,官方如何定義垃圾留言的範圍,可參考官網頁面「Blogger 內容政策」。


2. 反制策略

既然 Blogger 使用共同學習的機制,那麼會不會「水能載舟,也能覆舟」?

有心人士在發垃圾留言之前,先大量在自己能控制的 Blogger 留言特定內容,自己標示非垃圾留言,讓系統學習起來,確保將來不會被判為垃圾留言。

如果這招能成立,那麼就是系統的盲點了。



二、最棘手的案例


最近遇到的垃圾留言攻擊事件,奇特的是看起來像機器人般、有著固定模式,但卻又有辦法針對我的防禦,進行見招拆招。

blogger-spam-comment-1-對抗 Blogger 垃圾留言全紀錄

上圖是 10/4 這天的所有攻擊紀錄:

  • 對手非常厲害,這些留言全部沒有被判定為垃圾留言,縱使我一看到留言,馬上手動標為垃圾留言,仍然沒有被系統學習起來。
  • 仔細看了留言內容,雖然都是相似的句子,但每句話都刻意替換一兩個單字,讓每則留言不會成為完全一樣的字串,看來有針對系統漏洞,進行亂數腳本的設計。
  • 同時也讓我懷疑攻擊者有研究過「一、Blogger 處理垃圾留言的原理」→「2. 反制策略」的可能性。
  • 一般複製貼上的留言,很容易就被判定為垃圾留言,但這個攻擊者顯然不使用複製貼上,推斷他使用「按鍵精靈」之類的程式進行機械化輸入
  • 仔細觀察其模式,留言時間非常規律,每 5 ~ 10 分鐘就發一則留言,可確定是利用程式在跑
  • 確定是程式就好辦了,於是使出絕招,開啟「字詞驗證」,這樣機器人就沒輒了吧 → 沒想到竟然失效,照樣可以正常留言!!
  • 百思不得其解,那麼唯一的可能性,就是對方使用綜合技:亂數留言程式 + 按鍵精靈 + 手動輸入字詞驗證
  • 為了對付這個最極端的對手,只好放大絕招:開啟「留言審查」!
  • 說也奇怪,留言審查一啟動之後,攻擊者發現留言無法立即出現在網頁上後,就停止留言了!

這樣的結果,讓我確定攻擊者的確混合了 "自動"與 "手動"的留言方式,才有辦法洞悉我開啟了留言審查,這真是我遇過最頑強的對手!

一方面可以確認「留言審查」是對付垃圾留言的最強武器,一方面也可知道,攻擊者發現網站對垃圾留言的防禦力很高時,也會為了節省時間精力,而另尋攻擊目標。



三、留言最佳處理方式


1. 事件後續

由於我不喜歡開啟「留言審查」,因此看到攻擊者沒再留言後,推測已經轉移目標,就關閉了「留言審查」功能。

blogger-spam-comment-2-對抗 Blogger 垃圾留言全紀錄

結果沒想到 10/6 又看到此人的留言,看來他還是不時會試探有無攻擊的可能性。

因此我只好持續開啟「留言審查」好幾天,觀察到他 10/7 再留一次發現無效果(需要審查) 之後,至今沒有再看到留言了。


2. 啟用「留言審查」時期

從本篇 WFU 的經歷可瞭解,在遭到垃圾留言的攻擊期間,可開啟「留言審查」來應付。

不過啟用此功能後,需要記得設定留言管理的信件通知,否則我們就無法得知有留言了。

blogger-comment-moderation-對抗 Blogger 垃圾留言全紀錄

從後台 → 設定 → 文章、留言和分享設定 → 留言管理 → 一律 → 將電子郵件管理要求寄給 → 填入 email,最後按螢幕右上角的「儲存設定」即可。


3. 承平時期

為了讓讀者使用上有好的友善體驗,我不喜歡「禁止匿名」、使用「字詞驗證」、「留言審查」等限制,這會降低讀者的留言動力

畢竟"對付垃圾留言"的麻煩,跟 "獲得讀者留言意見"的益處,兩者遠遠無法相提並論,不太可能為了省下處理垃圾留言的時間,而犧牲了與讀者交流的機會。

同時,讀者留言對 SEO 也是有益處的,可參考「Blogger 官方留言板的優點及妙用﹍加強 SEO 搜尋排名」。

因此,建議承平時期,也就是不會遭受垃圾留言攻擊的期間,就將「留言審查」等功能關閉。

等真的有遭受攻擊時,再開啟「留言審查」來防範即可。攻擊者有一大堆口袋名單等著攻擊,不太會專門針對單一網站。因此只要久攻不下,就會立刻轉移對象的。



四、補充


會不會有一種攻擊者,沒有口袋名單,就是要找我們網站的碴,每隔一段時間就來放垃圾留言呢?

真是如此的話,那麼「三、留言最佳處理方式」也將失效。

不過,WFU 連「BLOGGER 留言有禁止訪客自刪的功能嗎?」都能寫出來了,再弄個 "留言黑名單"的功能也不是什麼難事,就看會不會有這樣的留言者出現了。


更多 Blogger 留言相關文章:

專業又有質感的網頁文章註解外掛 BigFoot﹍CDN 安裝懶人包

$
0
0
post-footnote-bigfoot-js-專業又有質感的網頁文章註解外掛 BigFoot﹍CDN 安裝懶人包前陣子有案主需要將文章中的註腳功能,結合資料庫進行管理,也就是讓多處重複的註解,可以直接從試算表讀取,而不必一筆筆註釋。

因為這個案子而接觸到這個文章註腳外掛「BigFoot」,測試之後覺得效果跟質感都很好,比之前在「jQuery 展開收合效果安裝懶人包」介紹的另一個外掛 Footnote 還棒。

它可以讓網頁文章像閱讀書籍,將所有註腳完整地在文末列出,同時文末的註腳也有錨點可以跳回文章中對應的註解之處。



由於官方說明文件不是那麼易懂,再加上「Google Drive 關閉外連」的緣故,要安裝這個外掛是有些麻煩的。

運氣不錯的是,WFU 發現這個外掛竟然也有 CDN 支援,那麼請按照本篇的教學,不必另外尋找網路空間,就能簡單又方便地使用這個註解外掛了。



一、CDN 檔案


1. CDN 優點

檔案放在 CDN不但不需擔心網路空間的問題,而且傳輸速度還更快,因為 CDN 會偵測靠我們距離最近的節點來傳輸。


2. CDNJS

這是非常知名的 CDN 服務「CDNJS」所提供的 BigFoot 檔案連結列表:


令人驚訝的是,居然每一種版本的檔案都有提供,不過當然是引用最新版本的檔案啦~

要用到的檔案數其實不多,但是列表的檔案這麼多,會讓人一時之間不知怎麼引用,那麼請繼續往下看說明。



二、3 種註解效果


BigFoot 提供了三種註解效果:

  • 註解顯示為 "..."
  • 註解內容從螢幕下方彈出
  • 註解顯示為數字編號

三種效果都滿不錯的,不過 BigFoot 的說明頁面沒有提供 step by step 的步驟,如果沒讀過本篇教學的讀者,會很難知道第 2 及第 3 種註腳要如何顯示出來。

想要看到這三種效果的話,可進入「BigFoot 官網」,參考本文的封面圖,會看到一顆大大的「DEMO」按鈕,按下去。


bigfoot-1-專業又有質感的網頁文章註解外掛 BigFoot﹍CDN 安裝懶人包

出現上圖的頁面後,確認 "on"這顆按鈕有按下


bigfoot-2-專業又有質感的網頁文章註解外掛 BigFoot﹍CDN 安裝懶人包

螢幕往下捲,可看到三種效果的按鈕,按下想要的效果後,再往上捲到手機畫面,點擊註解就可看到對應的效果了。

如果想要將檔案放在自己的網路空間,按完效果的按鈕後,在這個頁面找到一個 "download"按鈕,可下載相關檔案,例如上傳到自己的 Dropbox 空間,再用「Dropbox 外連產生器」取得連結。

若是使用本文的 CDN 安裝懶人包,則不必下載檔案。



三、CDN 安裝懶人包


如不知道要引用哪些檔案,可直接使用以下整理好的連結。

1. 安裝 jQuery

由於 BigFoot 是 jQuery 外掛,首先必須引用 jQuery 檔案。

在修改範本之前,如果第一次安裝本站工具的讀者,建議先閱讀「備份範本的訣竅」系列文章。

以 Blogger 為例,請到後台「範本」→「編輯 HTML」,游標點進範本區塊,按 Ctrl-F 搜尋 這個字串,找到後在此字串的前一行,插入以下程式碼:

<script src='//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js'></script>

可參考「引用 jQuery 的注意事項」,檢查範本是否已安裝過 jQuery,如果已經安裝過請刪除此行,以免重複安裝。

接下來 3 種效果,也就是 2~4 點,只需要擇一安裝即可


2. 安裝預設效果

在範本中接續 jQuery 程式碼的下一行,插入以下程式碼:

<script src='//cdnjs.cloudflare.com/ajax/libs/bigfoot/2.1.4/bigfoot.min.js'></script>
<link href='//cdnjs.cloudflare.com/ajax/libs/bigfoot/2.1.4/bigfoot-default.min.css' rel='stylesheet'></link>

存檔後即完成所有需要檔案的連結引用


3. 安裝底部顯示效果

在範本中接續 jQuery 程式碼的下一行,插入以下程式碼:

<script src='//cdnjs.cloudflare.com/ajax/libs/bigfoot/2.1.4/bigfoot.min.js'></script>
<link href='//cdnjs.cloudflare.com/ajax/libs/bigfoot/2.1.4/bigfoot-bottom.min.css' rel='stylesheet'></link>

存檔後即完成所有需要檔案的連結引用


4. 安裝數字效果

在範本中接續 jQuery 程式碼的下一行,插入以下程式碼:

<script src='//cdnjs.cloudflare.com/ajax/libs/bigfoot/2.1.4/bigfoot.min.js'></script>
<link href='//cdnjs.cloudflare.com/ajax/libs/bigfoot/2.1.4/bigfoot-number.min.css' rel='stylesheet'></link>

存檔後即完成所有需要檔案的連結引用



四、執行 BigFoot


接著在範本中搜尋 </body>這個字串,找到後在此字串的前一行,插入以下程式碼:

<!--BigFoot註解 start-->
<script>
//<![CDATA[
$.bigfoot({
actionOriginalFN: "ignore" // 另外顯示註解內容
});
//]]>
</script>
<!--BigFoot註解 end-->

如果不需要另外顯示註解內容的話,可將字串 "ignore"改為 "hide"。

基本上比較常用的就是 actionOriginalFN 這個參數,如果有更多需求的話,可參考這篇「Bigfoot.js:以對話方塊顯示網頁文章註解」,有部分參數的中文化說明。

而完整的參數使用方式,還是要參考官網文件。



五、文章中的註解語法


最後,還必須設定在文章中出現註解的位置,以及註解的內容。

1. 註解位置

在文章中要出現註解的位置,插入類似以下的 HTML 語法:

<sup id="fnref:1">
<a href="#fn:1" rel="footnote">第 1 個註解字串</a>
</sup>
<sup id="fnref:2">
<a href="#fn:2" rel="footnote">第 2 個註解字串</a>
</sup>

注意一下 id 及 href 中的序號要吻合,每個註解字串要使用不同的序號。


2. 註解內容

註解內容通常是放在文末,請使用以下語法:

<div class="footnotes">
<ol>
<li class="footnote" id="fn:1">
第 1 個註解的內容。<a href="#fnref:1" title="回到本文"> ↩</a>
</li>
<li class="footnote" id="fn:2">
第 2 個註解的內容。<a href="#fnref:2" title="回到本文"> ↩</a>
</li>
</ol>
</div>

同樣注意一下 id 及 href 中的序號要吻合,而且序號要跟「1. 註解位置」相匹配。

文章儲存後即可看到效果,就像這個展示頁面:




六、補充說明


非 Blogger 平台的話,大致沒什麼問題。不過使用 Blogger 的話,還需要注意以下兩件事。

1. 只在文章中執行

如果多篇文章在首頁執行註解,彼此可能會打架。如果希望只在文章中執行 BigFoot 的話,可參考「Blogger 七種頁面形態判斷語法詳解」,幫「四、執行 BigFoot」這部分的程式碼,前後加上文章頁面的判斷式語法。


2. 編輯文章時切換模式

由於 BigFoot 使用了錨點,這會造成 Blogger 在後台編輯文章時,只要切換過「HTML 模式」與「撰寫模式」,錨點語法就壞掉了。

解決方法可參考「Blogger 文章編輯模式只要切換, 就可能產生異常現象? 教你徹底解決的技巧」,要嘛避免切換模式,不然就採這篇文章的方法,將文章內容重新編碼,才不會被 Blogger 這個問題給搞瘋。


更多 jQuery 相關外掛:

Google AMP 技術,號稱讓行動版網頁秒開,不過我的觀察心得有不同看法

$
0
0
google-amp-Google AMP 技術,號稱讓行動版網頁秒開,不過我的觀察心得有不同看法前陣子讀者詢問如何在 Blogger 網站使用「Google AMP」技術,剛好免費資源網路社群發佈了這篇「在 WordPress 網站使用 Google AMP 技術,提升頁面開啟速度教學」,因此對這項技術也滿好奇的,便來瞭解一下詳情。

在手機測試使用 Google AMP 的網頁後,效果的確令人驚艷,幾乎是點擊連結的瞬間,網頁就開出來了。而這也正是 Google 的目的,改善行動網頁的效能。

不過先說結論,經過深入研究後,倒是覺得部落格不一定需要安裝這樣的技術,以下會詳細說明原因。



一、Google AMP 的特點


AMP 是 Accelerated Mobile Pages 的縮寫,就是加速手機頁面的意思,詳細的介紹與說明可參考官網「Google 搜尋指南:AMP 網頁」。

如果讀者有使用過手機版「Opera Mini」這一類的瀏覽器,我覺得 Google AMP 就是使用類似的技術,將手機網頁取出文章區塊的文字內容,而與文章不相關的部分則摒棄(例如廣告、輪播、留言、小工具等等),那麼自然而然載入、執行的速度都很快。而 Google AMP 可以更快的原因是,他把索引頁面都建立了快取,在技術、硬體方面都更勝一籌。

不過為了判別出文章區塊的內容,必須將網頁的語法改為符合 Google AMP 的標記或結構化資料,才能讓 Google 好好索引,會有點麻煩。

而且網站的每個頁面是個別索引的,很可能某些頁面有通過 Google AMP 標準、而有些沒有,因此在手機的搜尋結果,不一定每個網頁都能符合 Google AMP。



二、安裝 Google AMP


如果是 WP、自架平台,安裝 Google AMP 可以參考前述的參考文章「在 WordPress 網站使用 Google AMP 技術,提升頁面開啟速度教學」。

如果是 Blogger 平台,可參考這篇「How to Create a Google AMP Blogger?」,步驟很多,需要花點耐心研究。



三、Google AMP 網頁實測


接下來實測一下 Google AMP 的網頁效果,試著用手機來搜尋字串 "CDN 選擇",結果如下:

google-amp-1-Google AMP 技術,號稱讓行動版網頁秒開,不過我的觀察心得有不同看法

第一個搜尋結果剛好就是 AMP 網頁,會有上圖紅框的閃電圖示,網頁版的搜尋結果就不會這樣了。

這個 AMP 網頁,點進去之後的畫面如下:

google-amp-2-Google AMP 技術,號稱讓行動版網頁秒開,不過我的觀察心得有不同看法

網頁開啟速度用秒開還不足以形容,跟本是 "瞬間開啟",果真見識到 AMP 的威力!

網頁最上方紅框處,有個打叉的按鈕,按下後會瞬間回到 Google 搜尋畫面,方便使用者繼續看其他搜尋結果,這的確是個對使用者非常便利的設計!

繼續往下看完整篇文章後,覺得似乎哪裡怪怪的,好像除了文章以外,就沒其他內容了,原本的網頁應該不會如此設計才對呀?



四、探訪原始網頁


為了解開我的疑惑,於是開啟了同一篇文章的「手機版網頁」,果然畫面差很大:

google-amp-3-Google AMP 技術,號稱讓行動版網頁秒開,不過我的觀察心得有不同看法

上圖才是正常網頁應有的設計,最上方有導覽下拉選單、搜尋框,也有完整的網站名稱、副標題,以及代表網站精神的標頭圖案。

往下捲到文章結束處,後面還有很多內容,例如相關文章推薦、留言區塊、讀者留言等等,這些元素都非常重要,不過在 AMP 網頁都被排除了。

很明顯的,Google 對於 AMP 網頁只準備留下文章內容,方便使用者以最快的速度找到需要的資料,並可立即按下網頁最上方的打叉按鈕,繼續未完成的搜尋任務。

給我的感覺很像是,AMP 網頁的主體性、及原始網站精神完全被剝奪,任何一篇文章都成了 Google 這個大農場裡面的作物,雖然文章原本各自屬於不同的網站,但現在則統一成為 Google 作物的一份子。

AMP 這樣的設計,對於搜尋資料幫助很大,不過對於寫文章的人,能帶來什麼好處嗎?



五、AMP 感想


經由本文的實驗,WFU 的想法是,身為內容提供者,也就是部落格站長,我壓根不會想要安裝 AMP 技術,因為弊遠大於利,幾乎不成正比。

每個部落格絕對都希望,訪客看完一篇文章後,能夠有一些誘因,讓訪客再多看幾篇文章,最好能成為網站的忠實粉絲。

部落格的許多設計,都是為了留住訪客而生,諸如導覽列、搜尋框、相關文章工具等等,在在提供了友善的使用體驗。同時看完了文章,有所感觸的訪客,可能會想要與作者交流、留下一些意見,甚或看看其他讀者是怎麼評論這篇文章的。

不過以上所述的這些功能,都不存在於 AMP 網頁,更不用提想要利用網站賺點零用錢的站長,文章區塊以外的廣告也不用想在 AMP 網頁顯示了


那麼看完以上的分析,我相信當你在搜尋資料時,會樂於看到出現 AMP 標誌的網頁;而如果是經營網站,就不太會喜歡 AMP 了。


更多 Google 搜尋相關文章:

Chrome 更新後, 無法正常開啟網頁的有效治本方法

$
0
0
google-chrome-default-setting-Chrome 更新後, 無法正常開啟網頁的有效治本方法似乎近年來 Chrome 更新版本後,出包的機率還滿大的。過去曾發生更新後,造成中文輸入法有問題;今年初的更新則是造成「Chrome 會自動重新讀取分頁內容」。

最近更新到 v54 版後,除了網頁、書籤列整個變大外,主要問題是三不五時就無法正常打開網頁,需要連續開第二次才能成功開啟。

收集了一下相關資訊,發現有使用者跟我是類似狀況,但樣本數感覺沒那麼大,因此也不確定是否為普遍性問題。不過如果讀者也有相同困擾的話,可以參考本篇的心得來解決此事。



一、Chrome 異常狀況整理


1. PTT 整理

在 PTT 搜尋了一下 Google 版,近期 Chrome 更新版本後,開啟網頁出問題的,大致有這些狀況:

  1. 總是出現空白分頁畫面,點擊書籤也是一樣
  2. 開網頁的速度變得非常慢,連設定頁面也是
  3. Chrome 砍掉重新安裝也沒有用

其中第 2 點連結的推文,有人提到修改 Chrome 「網路服務」的相關設定值,可以改善狀況。


2. 我的狀況

chrome-redirect-to-google-search-Chrome 更新後, 無法正常開啟網頁的有效治本方法

其實我在 Chrome 自動更新後的狀況,跟上述使用者完全不同,在以下這些操作時,有時會被轉址到上圖畫面:


發生異常的狀況通常是,第一次操作時,會被自動轉址到如上圖網址(有一堆參數)的 Google 搜尋頁面,但連續做第二次相同的動作時,就可正常開啟。

例如第一次點擊 Gmail 檢查信件外掛來開啟 Gmail 信箱,會被轉址;第二次點擊就可正常進入 Gmail 信箱。


3. 修改 Chrome 設定

於是我嘗試使用「1. PTT 整理」提到的修改 Chrome 「網路服務」的相關設定值,有時有效、有時無效。

經過嚴謹的測試流程、交叉比對,得到的結論是,我的異常情形純粹是隨機出現的,與 Chrome 設定值沒有正相關,即使是多次修改設定值後又重開機測試,仍是隨機狀態。



二、有效的方法


由於我的情形、與其他使用者的狀況,感覺上都不算普遍,在網路不容易下關鍵字搜尋、也不容易找到答案,所以一時之間還滿難處理的,尤其當有使用者說重灌也是一樣的時候。

在這個國外論壇討論串「Websites not opening in Chrome browser 」,這位常駐論壇的專家回答得很簡短,不過我覺得可能很管用:

If the issue still persists, create a new browser profile for Chrome Stable and see if that makes any difference.

中文的原理大致是說,網頁開啟持續有問題時,試著重新建立「新的使用者設定檔」。

這還滿有道理的,有時可能是未知的原因(例如 Chrome 不正常關閉),導致「使用者設定檔」的格式或內容,產生了瀏覽器預期之外的數值、或是損毀,才會出現本文我整理的、不同使用者的各種異常狀態、但又不具普遍性

經我測試使用新的使用者設定檔後,Chrome 果然恢復正常,不再出現本文提到的各種異狀,網頁開啟速度也快很多



三、建立新的使用者設定檔


那麼現在就來說明,如何建立新的使用者設定檔。但是很奇妙的是,昨天我還按照國外論壇建議的 Chrome 官方說明頁面操作,結果今天要寫這篇心得時,原本「建立新的使用者設定檔」的官方說明頁面,竟然已經被強制轉址到這個頁面


也許官方認為,不必重新建立「新的使用者設定檔」,直接將 Chrome 恢復為出廠預設值就有相同效果,那麼讀者可以先測試這個方法,看看能否解決你的問題。

google-chrome-default-setting-Chrome 更新後, 無法正常開啟網頁的有效治本方法


如果還是不行的話,我 Google 到這篇「Chrome 重設使用者設定檔」,紀錄了原始的官方操作步驟,請按該篇說明進行。

或者你也可參考我的步驟,作業系統為 Win7:

  • 先關閉 Chrome
  • 從檔案總管找到 Chrome 「使用者」資料夾路徑
  • 路徑為 C:\Users\使用者名稱\Local Settings\Google\Chrome\User Data
  • 將 User Data 裡面的資料夾 Default 改名(或是刪除)
  • 重新開啟 Chrome 後,系統就會自動建立一個新的 Default 資料夾,內含所有預設的檔案

設定檔清理乾淨後,通常大部分的異常問題就都能解決了,我認為這是最有效的治本方法。


更多 Chrome 相關技巧:

讓標題過長的多行文字自動省略﹍跨瀏覽器 CSS 技巧

$
0
0
livia-multiliine-ellipsis-讓標題過長的多行文字自動省略﹍跨瀏覽器 CSS 技巧之前寫過「讓標題過長的文字自動省略﹍單行 CSS 技巧」,用來處理單行標題過長的問題。不過最近處理多個網站時,剛好都是旅遊美食類型,文章標題比起一般部落格會長上許多。

在特殊版型下(例如區塊寬度不夠),文章標題使用單行省略文字的方式,不容易辨識主題意涵,會導致點擊率下降。如果能夠使用 2~3 行的高度來顯示標題,超過的部分能自動出現省略符號(ellipsis) "..."的話,會是比較恰當的作法。

只是多行省略號的 CSS 語法,有跨瀏覽器的問題,要如何處理比較恰當,請見本篇的整理。

(圖片出處: liviatravel.com)


一、多行省略文字的情境


1. 卡片式文章縮圖列表

multi-line-ellipsis-1-讓標題過長的多行文字自動省略﹍跨瀏覽器 CSS 技巧

例如這是「首頁最新文章的區塊」,這個版型使用上圖的配置後,由於文章標題的寬度不夠,只顯示 1 行恐怕很多主題會看不出所以然。

改為設定 2 行後,顯示的關鍵字夠多,就能看出主要的意思。額外的好處是,文章標題下方為單行標籤 + 省略號,文章標題使用 2 行的配置讓畫面看起來比較協調。


2. 行動版效果

multi-line-ellipsis-2-讓標題過長的多行文字自動省略﹍跨瀏覽器 CSS 技巧

由於手機的寬度不夠,文章標題在很多地方都用得上本篇的技巧。就像上圖「手機模擬畫面(連結需用手機開啟)」,大圖下半部的文章標題適合擺放 2 行文字 + 省略號,來呈現較為完整的訊息。

另外小縮圖右邊的文章標題,由於高度足夠,就可擺 3 行文字 + 省略號,讓左右高度能夠均衡。



二、跨瀏覽器 CSS 語法


這裡先列出通用的語法邏輯:

<style>
.multi_ellipsis {
display: block; // 如果不是區塊元素的話,要加這一行
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: N;// N 填入要顯示的行數
line-height: X;// X 填入行高 px 值
height: X * N;// 限定高度為 X * N 的 px 值
}
</style>

<div class="multi_ellipsis">文章標題文字</div>


上半部 style 標籤內是 CSS 設定,下面 div 標籤內是文章標題。

  • 紅字 multi_ellipsis 可改為自訂的 class 名稱,兩處的紅字必須一致。
  • display: block 這一行一般不需要使用,但如果用在行內元素,例如 span, a 的話,就必須加這一行,後面的高度設定才能生效。
  • 藍字這 4 行,是多行產生省略號的關鍵,但是很可惜只有 webkit 瀏覽器有支援,例如 Chrome、Safari、Opera
  • 為了讓 FF、IE 等瀏覽器,能處理多行文字自動省略(但無法產生省略號),必須加入橘字這兩行。
  • 橘字兩行按照綠字註解填入對應的 px 值,即可限制文字出現的行數,超出的部分會被隱藏起來。
  • FF、IE 也有產生省略號的語法,網路上可找到 CSS 技巧,但不建議使用,因為當文字較短時,照樣會出現省略號,造成畫面不美觀。

瞭解 CSS 語法後,以下來看實例。



三、多行省略文字範例


以下是 HTML 原始碼:

<style>.multi_ellipsis {
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3; // 限制文字只出現 3 行, 結尾出現省略號
line-height: 24px;
height: 72px;
}</style>
<div class="multi_ellipsis">文章出處為「可商業用途及修改的高畫質免費 CC0 圖庫整理」,只要我們使用了 CC0 或 Public Domain 的圖片後,就可以安心的對圖片做這些處置:商業使用、任意修改、不必標示出處。需要注意的地方為,CC0 雖然原作者放棄了著作相關權利,但不代表可以將著作權佔為己有,不可將圖片下載、或經過編修後,逕自宣稱「我才是圖片的原創者」,或「版權所有請勿盜用」。用 Google 搜尋關鍵字 "CC0"就能找到很多圖庫網站資料,以下的名單依照圖片被 Google 收錄的數量來排序,同時這些都是水準很高的圖庫:</div>


以下為展示效果:
文章出處為「可商業用途及修改的高畫質免費 CC0 圖庫整理」,只要我們使用了 CC0 或 Public Domain 的圖片後,就可以安心的對圖片做這些處置:商業使用、任意修改、不必標示出處。需要注意的地方為,CC0 雖然原作者放棄了著作相關權利,但不代表可以將著作權佔為己有,不可將圖片下載、或經過編修後,逕自宣稱「我才是圖片的原創者」,或「版權所有請勿盜用」。用 Google 搜尋關鍵字 "CC0"就能找到很多圖庫網站資料,以下的名單依照圖片被 Google 收錄的數量來排序,同時這些都是水準很高的圖庫:

可分別使用 Chrome、FireFox 觀看,效果會不一樣。



四、其他解決方案


1. Javascript

有個 jQuery 外掛「dotdotdot」,可處理多行文字,一律加上省略號 "..."。

不過如果是 WFU 的話,不太想因為這個小功能而多裝一個外掛,可參考「為何部落格最好避免第三方外掛?」。

用 JS 處理的另一個缺點是,在某些情況下,截斷處剛好是全形符號的話,會截成亂碼。


2. HTML5

HTML5 提供了新的標籤 "detail"及 "summary"可處理省略文字的問題,不過太新的規格總是會有 "某些瀏覽器"不支援,詳情可參考這篇「The details and summary elements」。

在新技術普及之前,可能本篇的方式還是目前的最佳解。


更多 CSS 相關技巧:

Blogger 相關文章 V4﹍行動版專用

$
0
0
不少讀者都詢問過「相關文章 V2 (含縮圖功能)」能否裝在手機版,實際上如果真的這麼做的話,一定馬上就破版,因為行動裝置有著各種不一樣的螢幕寬度,加上直立、橫躺的操作,各種專為行動版而設計的工具一定要符合 RWD 才行。

除此之外,V2 的版面也不適合做成 RWD,如果要將「相關文章 + 縮圖」放在行動裝置,也許擺設上需要 "左半部縮圖、右半部文章標題"這樣的配置。

因此這個為行動版設計的「相關文章 V4」,就是採取這樣的版面。如果你的行動版網站,不想只放純文字的相關文章,那麼可以考慮 V4 這個版本。



<< 請注意!本篇文章含會員加值文章內容,需點數兌換 >>

(圖片出處: pexels.com)


一、相關文章特點


1. V4 介紹

如果沒用過本站相關文章工具的讀者,以下簡單介紹一下 V4 的特點:

  • 自動從該篇文章的標籤,隨機挑選指定篇數的文章來顯示
  • 可自訂縮圖尺寸
  • 可自訂版面 CSS
  • 需要使用 PICASA 圖床(從 Blogger 上傳)才能正常處理縮圖

下面是行動版的模擬效果圖:

blogger-related-posts-v4-demo-Blogger 相關文章 V4﹍行動版專用


2. 其他適合行動裝置的版本

以下的相關文章版本,沒有縮圖,以純文字顯示:




二、準備動作


請到後台「範本」→「編輯 HTML」,游標點進範本區塊,再搜尋 </head>這個字串,找到後在此字串的前一行,插入以下程式碼:

<script src='//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js'></script>
<style>
/* 相關文章 V4 */
.rltPost4_caption {
margin: 15px 0;
font-size: 14px;
font-weight: bold;
line-height: 20px;
}
.rltPost4_post {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
margin-bottom: 10px;
}
.rltPost4_title {
padding-left: 10px;
font-size: 14px;
font-weight: bold;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
line-height: 20px;
height: 60px;
}
</style>

第一行綠色字串可參考「引用 jQuery 的注意事項」,檢查範本是否已安裝過 jQuery,如果已經安裝過請刪除此行,以免重複安裝。

其餘的部分,如果對 CSS 熟悉可自行修改參數。



三、安裝程式碼


接著請搜尋 </body>這個字串,找到後在此字串的前一行,插入以下程式碼:


以下參數修改請參照以上程式碼行號:

F:顯示相關文章的數量(例如設為 5 代表最多顯示 5 篇,若該篇文章的標籤,沒有足夠的相關文章,則不一定能顯示到 5 篇)

G:設定縮圖的寬度

H:設定縮圖的高度

I:相關文章工具的標題文字

J:文章沒有縮圖時的替代圖片,可改為自訂圖片網址(只限 PICASA 圖片)。

K:如果希望這個小工具出現在留言區塊之前的話,那麼不必變動此參數;如果是非官方範本、或想擺放在自訂位置,請更改本行參數──
  • 如果要填入區塊的 id,請填入 "#" + id 名稱,例如 "#related-post"。
  • 如果要填入區塊的 class,請填入 "." + class 名稱,例如 ".related-post"。




四、聯絡表單


加值文章關閉留言板功能,使用上有任何問題請用下面的表單與我聯繫:




五、常見 FAQ


日後若有常見問題,會持續補充在此。

Q1: "相關文章推薦"的大標題有時候會顯示不出來,有時候可以,不知道可能是哪裡有問題呢?

Ans: 可能該篇文章的標籤沒有其他文章,就無法產生相關文章。


Q2: 我昨天換了圖源(為了增加專頁的瀏覽量)之後,「相關文章」都抓不到圖片,只能顯示預設圖片,不知道為什麼?

Ans: 抓不到圖片表示部落格 feed 抓不到縮圖資料,可能性有很多種,圖床不對、格式不對、隱私權設定不對...。要讓 Blogger 抓到縮圖,最簡單的方法是文章裡第一張圖片,從後台編輯文章的畫面上傳,就絕對抓得到了。


Q3: 我某些文章可以顯示相關文章、某些文章不行?

Ans: 除了「官方文件」註明標籤名稱不得使用的字元 &<>@!+,之外,注意到你的標籤使用了 "#",也請不要使用這個字元,相關文章就能正常顯示了。


更多實用工具:

Blogger 自製真正的站內搜尋小工具﹍以日期排列

$
0
0
前陣子接到一個需求,希望 Blogger 搜尋結果能以日期排列。這個要求乍聽之下不太瞭解用意,一般來說,搜尋結果會依照 "關聯性"來排列,對訪客而言,應該會希望越相關的文章,排越前面才對啊?

不過由於案主是人氣很高的美食旅遊部落格,文章數量很多,她表示希望例如在搜尋 "台北"時,日期最新的文章能排列在前。後來仔細想想也有道理,對於特定類型的網站,臆測訪客搜尋模式的確必須從不同的考量點切入,有時最新的資訊才是最重要的,例如日期較久遠的文章,該文介紹的店家可能早已關閉,或是介紹的景點已經過時、不熱門了。

因此,針對特殊需求的部落格,本篇會示範如何製作「依照日期排列」的搜尋框工具。

(圖片出處: pixabay.com)


一、Blogger 搜尋工具介紹


1. 三種方案

之前曾在「Google 自訂搜尋」介紹過三種 Blogger 可以安裝的搜尋工具:

  • Blogger 導覽列搜尋框:網頁最上方導覽列的搜尋框
  • Blogger 官方搜尋框工具:可從後台安裝的官方工具
  • Google 自訂搜尋

這三個只有「Blogger 導覽列搜尋框」是真正的站內搜尋工具,保證可以搜尋到部落格每一篇文章的內容,也是本篇要介紹的主角。


2. Ajax 動態載入功能

「Blogger 導覽列搜尋框」的缺點就是,每次搜尋都需要重整頁面,執行速度較慢,因此 WFU 以該工具為藍圖,製作了這個「Blogger 最強搜尋框工具」,支援 Ajax 動態載入功能,不必重整頁面就能看到搜尋結果,執行速度飛快。


3. 自製站內搜尋工具

「Blogger 最強搜尋框工具」安裝流程比較麻煩,需要兩篇文章的操作才能完成,因此可能出錯的地方不少。

如果你只需要一個非常簡單的 Blogger 站內搜尋工具,那麼可參考本篇的安裝流程,將「Blogger 導覽列搜尋框」搬到網站的任何地方擺放,例如側邊欄,或是像下面這個搜尋框這樣:




二、安裝程式碼


請將以下的程式碼,複製到任何想擺放的地方,或是側邊欄「HTML/Javascript」小工具即可:

<!--Blogger 站內搜尋-->
<form class="site_search" action="/search" method="get" role="search">
<input class="search_input" name="q" placeholder="搜尋文章" type="text" />
<input name="by-date" type="hidden" value="true">
<input class="search_btn" type="image" src="http://3.bp.blogspot.com/-fpi6-9d3JpQ/Vo0LXN6iUDI/AAAAAAAANPA/89JVfzXNtXg/s1600/search-icon.png" />
</form>
<style>
.site_search {
width: 90%;
margin: auto;
}
.search_input {
margin-right: 5px;
height: 20px;
width: calc(100% - 100px);
border: 1px solid #d9d9d9;
padding: 4px 10px;
background: #f0ede9;
color: #8B8B8B;
font-size: 15px;
vertical-align: middle;
}
.search_btn {
width: 13px;
height: 13px;
padding: 8px 25px;
background-color: #d9d9d9;
border: 1px solid #bbb;
border-radius: 2px;
vertical-align: middle;
}
</style>
<!--Designed by WFU BLOG-->

  • 如果希望搜尋結果以關聯性排列,可刪除紅字這一行;沒有刪除的話,就會「依照日期排列」。
  • 藍色字串為搜尋框內的提示字串,可自行修改。
  • 樣式設計成支援 RWD,會隨不同區塊寬度自行調整。
  • 如果熟悉 CSS 語法可自行修改參數、樣式

這個小工具的安裝十分簡單,複製貼上就完成了,不太會出錯,顏色樣式也中規中矩,相信大部分部落格都能輕易套用。



更多 Blogger 搜尋相關工具:

部落格如何處理「結構化資料」標記 + 修復錯誤訊息

$
0
0
structured-data-testing-tool-error-部落格如何處理「結構化資料」標記 + 修復錯誤訊息關心 SEO 的站長,可能會研究「結構化資料標記」這個主題,而且使用「結構化資料測試工具」時,會發現不少錯誤訊息。由於不少讀者都曾問過這件事,因此本篇來做個整理。

不過為了節省讀者時間,先說結論:「部落格網站基本上忽略這件事也沒有大礙」。

「結構化資料標記」最主要是幫助特定類型的網站、資料,能被搜尋引擎理解分析,進而展示更容易被關注的資訊。這樣的話,部落格網站有設置「結構化資料標記」是很好,但這件事沒做、或沒修正錯誤,也不至於會讓 SEO 扣分。

以下會說明原因、大致介紹「結構化資料標記」、以及修正錯誤的準則。



一、什麼類型的網站需要結構化資料標記


1. 哪些網站的搜尋結果可能不好?

簡單舉幾個例子:

  • 購物網站:消費者最需要商品名稱、價格、尺寸、顏色等資訊
  • 電影資訊:消費者最需要電影名稱、上映時間、上映戲院等資訊
  • 店家資訊:消費者最需要營業時間、營業地點、商品、價格等資訊

如果在搜尋上述內容,無法優先顯示消費者最需要的資訊,該網站就會錯失可能的成交機會。

要幫商業網站解決這個問題,那麼關鍵就會是索引資料的精確度,搜尋引擎有沒有辦法從一個網頁之中,辨識出 "商品價格"、"電影上映時間"、"營業時間及地點"等特定資訊,並優先顯示出來?


2. 結構化資料

解決的方法正是「結構化資料」(structured data),為網頁的特定資訊(價格、地點、時間等),使用結構化的標記語言來註記,就類似 HTML 標籤的作用,讓搜尋引擎能正確索引這些特殊的資訊。

雖然說起來容易懂,但做起來很複雜,結構化資料標記其實有多種格式:Microdata、RDFa、JSON-LD,本篇不進行技術研究,有興趣的讀者可參考這些文章:



3. 適用結構化資料的網站

解決了商業網站特殊資訊的索引問題後,我們來看看有那些類型的資訊,適用於「結構化資料」。根據 Google 官網「標記協助工具支援的資料類型」,大致有這些:

  • 文章
  • 活動
  • 當地店家
  • 電影
  • 商品
  • 餐廳
  • 軟體應用程式

例如用 Google 搜尋最近熱門的 HBO 影集「Westworld」(西方極樂園),畫面如下:

westworld-structured-data-部落格如何處理「結構化資料」標記 + 修復錯誤訊息

紅框標示的資訊,會是使用者最關注的相關資訊 "觀眾評分"、"投票人數",因為有助於快速評判是否為高水準、值得一看、樣本數多(資訊的信賴度高)的影集,這是 IMDB 網站使用了「結構化資料標記」的效果,那麼這個搜尋結果的連結,必定比其他的搜尋結果,來得更加有信賴感及吸引力。

因此商業類型的網站,為了增加銷售量與信賴度,非常有必要瞭解如何設定「結構化資料標記」。



二、部落格網站如何處理


基本上部落格網站,提供的是 "資訊內容",而非 "商品",所以似乎沒有什麼需要 "評分",或是提供 "價格"、"營業時間地點"的需要,那麼網頁的文章內容其實並沒有需要「結構化資料標記」,才能藉以提升搜尋排名這樣的事

前面的內容提到,「標記協助工具支援的資料類型」包含了 "文章"這一項,如果有興趣的話,部落格站長是可以設定「結構化資料標記」的。

1. Blogger 平台

對於免費的部落格平台,範本應該都會預設好「結構化資料標記」的語法,例如 Blogger 已經內建了相關語法,不用再額外加入。

不過麻煩的地方在於「結構化資料標記」並非已經一統江湖,他的規格可能會修正、會升級,那麼 Blogger 範本原本的標記語法可能會過時,需要被修改。


2. 自行架站的部落格

自行架站的話,範本不一定有「結構化資料標記」,需要自行加入,那麼可參考這篇「給部落格來點 SEO」,介紹了如何為文章頁面加入相關標記語法。

另外 Google 官方也提供了「結構化資料標記協助工具」,可以快速幫網頁加入標記語法。



三、修正結構化標記錯誤


Google 官方提供了「結構化資料測試工具」,進入該網頁後,以本站為例,輸入網址後的測試結果如下:

wfublog-structured-data-error-部落格如何處理「結構化資料」標記 + 修復錯誤訊息

結果慘不忍睹,說是滿江紅也不為過,但實際上這都是 Blogger 範本的預設內容。

本篇並未準備列出所有的錯誤訊息,一方面各種狀況很多,不一定能列齊,一方面 Blogger 預設內容也會報錯的話,代表規格標準一直在改,可能曾經是正確的內容,將來也會被修正。

這樣的話,建議讀者搜尋日期較近的教學文章來操作即可,會是比較保險的作法。以上圖為例,報錯的項目有 "limage_url"、"blogId"、"postId"等等,那麼例如用 Google 搜尋 "blogger limage_url"類似的字串就可找到相關教學。

我找到了這篇「How to Fix Errors on Google Webmaster Tools Structured Data」,一次可解決 "limage_url"、"blogId"、"postId"等這幾個常見的錯誤,其圖文操作寫的滿詳細,按步驟進行即可。而其他的錯誤,請舉一反三搜尋對應的字串,來找到教學。



四、補充


最後小小重申一下,對於部落格而言,文章內容能被 Google 搜尋引擎索引,才是最重要的事。以 Blogger 而言,請按照「Blogger 只要做到這幾件事, 就能輕鬆加強 SEO 搜尋排名」進行即可。至於「結構化標記」有錯誤,對搜尋結果不會有什麼影響,這件事可以輕輕放下沒有關係。


更多 SEO 相關技巧:

申請 Facebook 應用程式 APP ID 流程

$
0
0
apply-fb-app-id-申請 Facebook 應用程式 APP ID 流程FB 有些網頁 (部落格) 小工具在安裝或使用時,需要申請 APP ID 才能生效,這個流程不但有些麻煩,而且 FB 的網頁介面常常更改,不熟悉電腦操作的使用者可能會感到很頭痛。

有時我需要協助處理 FB 應用程式的相關事務,但會卡在 APP ID 的申請,因為這部分需要使用者自己的 FB 帳號才能跑完流程,不能由他人代勞。

雖然網路的教學很多,不過 FB 改版的頻率實在太高,為了自己及案主的作業流程方便,還是整理一篇教學,以後若是 FB 改版了也可自行更新內容。

以下先簡單介紹申請 APP ID 能做到的事,想直接進行流程請跳到「二、申請流程」。



一、FB 需要 APP ID 的功能


簡單介紹幾個 FB 需要申請 APP ID 才能啟用、或是執行的功能。

1. FB 留言框

在部落格安裝「FB 留言框」,若沒有設定 APP ID 以及管理者 ID 的話,就只是個單純讓訪客留言的工具,你不會知道何時有人留言,系統不會通知,也無法刪除不當言論的留言。

申請 APP ID 並正確設定後,就可啟用以下這些實用的功能:

  • 審核留言
  • 留言通知(進入 FB 可看到通知)

另外比較特別的是可以啟用這個功能:

  • 文章的留言與 FB 粉絲頁留言同步

這個主題會另外發一篇說明。


2. FB 數據統計

使用 FB API 可以取得 FB 的相關數據統計,例如某網頁的按讚數、留言數等等,這樣就可以製作「文章列表 + 讚統計」這樣的工具。

不過沒有申請 APP ID 的時候,短時間內要取得多個網頁的按讚數,數量(流量)是會受到控制的,超過額度時就無法從 FB 存取數據資料。而申請了 APP ID 後,就可以大幅放寬流量限制,讓這樣的工具可以順利執行,一次讀取大量網頁的按讚數。


3. FB 登入功能

如果想要開發一些身份確認的功能,在網站擺放 FB 登入按鈕,就能做到很多應用,例如:




二、申請流程


1. 登入 Facebook 帳號,進入 FB 開發人員頁面:


如果從未申請過,應該是以下的畫面:

apply-fb-app-id-1-申請 Facebook 應用程式 APP ID 流程

按下「立即註冊」

有時 FB 可能會再確認一次登入的密碼。


apply-fb-app-id-2-申請 Facebook 應用程式 APP ID 流程

接著選擇「是」,按下「繼續」。


apply-fb-app-id-3-申請 Facebook 應用程式 APP ID 流程

輸入手機號碼,按下「以簡訊發送」,輸入確認碼,按下「註冊」。

下個畫面按下「完成」。


2. 註冊完畢後,會自動跳出以下畫面:

apply-fb-app-id-4-申請 Facebook 應用程式 APP ID 流程

因為要安裝網站小工具,請選擇「網站」。


apply-fb-app-id-5-申請 Facebook 應用程式 APP ID 流程

為應用程式取個名稱,按下「建立新的 Facebook 應用程式編號」。


apply-fb-app-id-6-申請 Facebook 應用程式 APP ID 流程

填入 email,「類別」隨意選(可根據你的網站性質),按下「建立應用程式編號」。

接下來可能出現驗證碼,請努力通過眼力測試。


3. 完成以上流程後,將來進入「FB 開發人員」頁面時,就會看到剛剛建立的應用程式了。

apply-fb-app-id-7-申請 Facebook 應用程式 APP ID 流程

滑鼠移到右上角「我的應用程式」,在出現的下拉選單中,點擊你建立的應用程式名稱,例如上圖的 "wfublog"。


apply-fb-app-id-8-申請 Facebook 應用程式 APP ID 流程

畫面中兩個紅框處,所顯示的「應用程式編號」,這些數字就是本篇的主角:FB 應用程式 APP ID。

記下這些數字後,設定到 FB 留言版(可參考「FB 留言板安裝懶人包」→「六、管理 FB 留言」),就能讓留言版的功能更加強大。


更多 Facebook 相關文章:

Line 處理待辦事項的技巧:讓已讀訊息保持未讀狀態

$
0
0
line-message-remain-unread-todo-task-Line 處理待辦事項的技巧:讓已讀訊息保持未讀狀態Line 已經越來越像傳統 Email 扮演的角色,以往收件匣未讀的信件就是我們的待辦事項,但現在越來越多待辦事項,會來自於 Line 的訊息,無論是上司、客戶、家人朋友,或是一大堆的群組。

但很可惜 Line 的訊息系統,無法像郵件軟體 (或 APP) 般好整理,除了不同性質、不同優先度的郵件可以分類或上標籤,已經打開的郵件也能標示回未開啟的狀態,來提醒我們需要如何處理這封郵件。也許即時通的功能或介面,將來會有大革新,用來解決上述需求。

在那之前,Line 有沒有什麼好的待辦事項處理技巧呢?



一、為何 Line 不容易處理待辦事項


1. 最佳處理方式

看待 Line (或 FB) 最好跟郵件的處理方式一樣,不要常常查看訊息、不要常常回覆,這會讓我們的注意力被嚴重剝奪,時間無法集中在更重要的事情上

設定每天固定的時間點,可以一次或多次(視訊息量而定),批次處理全部訊息,這樣就不太會有漏掉待辦事項的狀況。


2. 為何會漏掉待辦事項

說實在,上一點算是理想狀態,有些情境不允許定時才檢視 Line 訊息,也許可能有重要人物、或客戶的訊息,也許有需要競爭訂單的時效性,也許從事服務性質的業務等等,那麼很多情況不得不趕快點開。

不過點開後有可能就是麻煩的開始,如果能直接處理掉是最好,萬一點開後發現是不急、但一段時間後必須處理的事項,那麼很有可能連點數個訊息後,就忘了這個待辦事項。

在辦公或可供作業的環境點開訊息是還好,很容易有工具或方法可以紀錄待辦事項;萬一在不方便的場所點開 Line 訊息,對於這件不急的事,有很大的機率最後就是忘了辦

大腦真的沒那麼可靠,記不住是無可避免的事。如果 Line 能像郵件一樣,當場把已讀改成未讀,那麼這件事將來絕對不會忘了處理


3. Line 無法將已讀改為未讀

很可惜的是,這篇「如何讓LINE不顯示已讀」指出:

LINE的「已讀」功能,是為了確認親友安危,不需要回覆也至少知道對方有收到訊息,之前LINE社長才針對這個功能說過他們「不考慮改變」。

為了解決本篇處理待辦事項的問題,得另謀其他的工具。



二、PC 裝置


在電腦裝置使用 Line 的話,不會有任何待辦事項的問題,因為有各種技巧、工具可以立即紀錄。

例如一看到需要列入待辦事項的訊息,滑鼠選取文字後,使用熱鍵就能把待辦事項存到「Evernote」軟體,絕對不會忘了處理,也不需要將 Line 訊息改為未讀。

行動裝置的 Line版本,設計上比較不好的一點,在於訊息文字只提供 "複製"功能,沒有 "分享"功能,因此不能立即將文字傳送到 Evernote,成為待辦事項。為了要解決這件事,必須求助於第三方 APP。



三、Android 裝置


1. 已讀不回神器

對於 Android 行動裝置,安裝這個 APP 後,可以完美地解決各種待辦事項困擾:


line-message-remain-unread-todo-task-1-Line 處理待辦事項的技巧:讓已讀訊息保持未讀狀態

安裝上需要注意上面官網連結的說明,否則會無法生效,摘錄內容如下:

軟體設定方法:

Android 4.3 以上版本
『設定』→『安全性』→『通知存取能力』→『已讀不回神器』(打勾)

Android 4.2(含) 以下版本
『設定』→『協助工具』→『已讀不回神器』(開啟)


LINE 的設定方法:

開啟 LINE 『其他』→『設定』→『提醒』
『提醒』及『顯示訊息內容』打勾,並將『螢幕開啟時』設為OFF
1. 如果LINE有上密碼鎖,請再次到『其他』→『設定』→『提醒』把『顯示訊息內容』打勾回來
2. 如果群組的訊息無法顯示,請到群組聊天室中點開右上角的倒三角形,再點一下『開啟提醒』


2. 使用技巧

這個 APP 可以預先瀏覽 Line、FB 訊息,不需要進入 Line 裡面,所以不會影響 Line 的已讀狀態。

看完該則 Line 訊息之後,如果可以馬上處理、或是不需要下一步動作時,也就是沒有待辦事項的話,就可以放心進入 Line,把訊息點開成為已讀狀態。

若是該訊息會產生待辦事項,這個 APP 可以解決 Line 無法分享訊息的困擾,對著這則訊息長按後,會產生下圖的選項:

line-message-share-Line 處理待辦事項的技巧:讓已讀訊息保持未讀狀態

按下紅框的「分享訊息」,就可以將文字傳到 Evernote 成為待辦事項。



四、iOS 裝置


1. iPhone6s

上面介紹的 Android APP 沒有 iOS 版本,因此蘋果行動裝置處理這件事會有點麻煩。如果你使用 iPhone6s 以上機型,可參考這篇「免越獄!LINE不顯示已讀祕技」。

這個功能稱為 3D Touch 的 peek and pop 功能,操作上需要一點技巧,不熟悉的話應該會常常失敗。如果按壓 Line 訊息時力道適中的話,稍微用點力,能夠預覽對話內容,又不會點開對話窗,可以保持未讀狀態

不過這個功能倒是比 Android 方便,不需要安裝第三方 APP,就能直接預覽 Line 訊息,確認不是重要訊息後,就可直接點開成為已讀狀態,不像 Android 還需要再進入 Line 才能點開訊息。


2. 較舊機型

如果是 iPhone6s 以下的機型,那麼處理 Line 的待辦事項就沒什麼捷徑了,只能用比較花時間的方法。以下舉例一種可行的流程:

  • 點開訊息,若產生待辦事項後,儲存到 Keep 之中。
  • 每天定時檢查 Keep 有無待辦事項,若有的話,整理到 Evernote。
  • 清空 Keep 之中的待辦事項。

這個流程多了幾道無謂的手續,而且操作挺麻煩的,也很有可能忘了每天要檢查 Keep,這些工作如果有第三方 APP 可以代勞就好了。

需要 Keep 操作說明的話,可參考這篇教學「蘋果迷帶你認識Line新功能~Keep」。



五、步驟整理


最後簡單整理一下本篇處理 Line 訊息待辦事項的操作步驟:

  • 為了有效收集、整理待辦事項,最好每日在電腦端,定時處理 Line 訊息,將待辦事項轉到 Evernote。
  • 需要使用 Android 行動裝置預先查看 Line 訊息時,可安裝「已讀不回神器」,若產生待辦事項時,可直接將訊息分享到 Evernote,待日後處理。
  • 需要使用 iOS 行動裝置時,iPhone6S 可使用系統預設功能,預先查看 Line 訊息。若產生待辦事項時,保持 Line 訊息為未讀狀態,留待回到電腦端時,一併處理所有未讀訊息即可。
  • 若使用較舊的 iPhone 機型,待辦事項只能當場處理完畢,利用 Keep 功能儲存所有待辦事項,有空時將 Keep 的資料移轉到 Evernote,再將 Keep 清空。


更多 Line 相關文章:

讓 Facebook 留言框與粉絲團的留言能夠即時同步

$
0
0
fb-comment-mirroring-讓 Facebook 留言框與粉絲團的留言能夠即時同步前陣子有案主詢問,「看到有些 FB 粉絲專頁的留言,會自動同步到部落格文章的 FB 留言板,這個可以做嗎?」

如果不瞭解以上描述是什麼狀況的話,用畫面說明比較容易懂,例如下圖是「粉絲團頁面的留言」:

fb-comment-mirroring-1-讓 Facebook 留言框與粉絲團的留言能夠即時同步


下圖是「部落格如何處理結構化資料標記」這篇文章的 FB 留言板留言:

fb-comment-mirroring-2-讓 Facebook 留言框與粉絲團的留言能夠即時同步


看到了嗎?兩邊的留言一模一樣,是互相同步的。這樣的功能有什麼好處呢?

其實優點很明顯,粉絲團跟網站的讀者可能分屬不同族群,一邊是社群粉絲、另一邊的讀者可能主要由搜尋引擎而來;若是兩邊都能看到同樣的留言,就能讓兩處的讀者同時加入討論,參與度、激盪的火花可能更高。如果站長要加入討論的話,也不必兩頭跑,可節省一些管理時間。

以下就來看看這個功能在安裝前,需要先瞭解的注意事項,以及介紹官方提供的安裝流程。


<< 請注意!本篇文章含會員加值文章內容,需點數兌換 >>


一、FB 留言同步的注意事項


1. 請先做好心理準備

與其說是注意事項,不如說是免責聲明,因為 WFU 搜尋資料的結果,這個功能的成功案例不多,反倒是失敗案例佔了決大多數,例如這個 FB 官網的留言「Why comments mirroring is working selectively ?」,多數人都表示留言同步的功能異常,原 PO 表示有的文章可以同步、有的不行,而官方團隊的回答也只是叫人去看說明書,完全無法解決問題。


2. 非正式功能

搜尋資料的過程,其實找不到這個功能的官方正式發佈公告,也沒看到國外有教學文章,因此很有可能,這還只是 "實驗性功能"而已,那麼就不能保證每個網站都能生效。

再加上第 1 點的案例,說實在以樣本數而言,雖然我們可看到某些網站的確能成功執行,不過失敗的比例佔了不少。在官方發佈正式公告之前,這有可能是個令人驚艷,但不知會維持多久的火花。



二、FB 官方安裝流程


進入「FB 留言框外掛的官網頁面」後,搜尋字串 "留言同步",會看到類似以下畫面:

fb-comment-mirroring-3-讓 Facebook 留言框與粉絲團的留言能夠即時同步

這個區塊及附近的內容,都是在說明如何設定「留言同步」的功能,如果能夠理解的話,可以看官網說明來進行設定。

運氣好的話,可能做這些動作就可以了。如果失敗的話,那麼可以嘗試按照接下來的「三、建議安裝流程」,檢查有沒有做過這些事。



三、建議安裝流程


1. 取得 FB 管理者 ID

進入這個網址:http://findmyfacebookid.com

輸入 Facebook 帳號的網址後,按下「Lookup Numeric ID」即可取得管理者 ID。


2. 取得 FB 應用程式 ID

參考這篇教學「申請 Facebook 應用程式 APP ID 流程」即可取得應用程式 ID。


3. 安裝 FB 留言板

如果網站還沒安裝過 FB 留言板的話,網路有很多教學,或是也可參考「FB 留言板安裝懶人包」。


4. 設定應用程式 ID

首先網站必須能夠修改範本,如果是台灣的免費部落格平台不一定能做到。

以 Blogger 為例,到後台「範本」→「編輯 HTML」,游標點進範本區塊,按 Ctrl-F 搜尋 <head>這個字串,找到後在此字串的下一行,插入以下程式碼:

<meta content='100006369483xxx' property='fb:admins'/>
<meta content='457090704320xxx' property='fb:app_id'/>

  • 第 1 行的紅色字串請改為為自己的 FB 管理者 ID
  • 第 2 行的紅色字串請改為為自己的 FB 應用程式 ID


5. 啟用留言同步功能

進入 FB 留言工具的設定頁面:


fb-comment-mirroring-4-讓 Facebook 留言框與粉絲團的留言能夠即時同步

如上圖,選擇你之前建立(或管理)的應用程式名稱,例如我為本站建立的名稱為 "WFU BLOG"。


fb-comment-mirroring-5-讓 Facebook 留言框與粉絲團的留言能夠即時同步

按照上圖 A~C 順序:

  • A:按「設定」
  • B:選擇「設定」分頁
  • C:勾選「留言同步」的核取方塊,並選擇你要同步的粉絲專頁。

按下「儲存」後就大功告成了。



四、後續操作


1. 發佈新文章

完成以上流程後,新發佈的文章,FB 留言框可與粉絲團的貼文同步,但舊文章不能同步,這一點請注意!


fb-comment-mirroring-2-讓 Facebook 留言框與粉絲團的留言能夠即時同步

成功的話,例如這篇文章「部落格如何處理結構化資料標記」的 FB 留言框,當訪客留言時,就會標示 "你的留言也會顯示在 Blogger 調校資料庫 的 Facebook 粉絲專頁中";如果沒有標示的話,代表留言同步功能沒有成功。


fb-comment-mirroring-1-讓 Facebook 留言框與粉絲團的留言能夠即時同步

同時,粉絲團的「該篇文章貼文」,粉絲留言時,也會標示 "這則留言也將發佈至 www.wfublog.com";如果沒有標示的話,代表留言同步功能沒有成功。


2. 免責聲明

再次強調一下,這也許不算官方正式發佈的功能,可能你按照本篇流程做了,還是無法留言同步,或是不會每篇文章都能同步,而原因為何我也不會知道,畢竟國外可以搜尋到太多失敗案例。

下面這個 FB 留言框僅供操作測試之用,請恕 WFU 不會在此回覆、診斷問題,目前只協助本站的案主或會員。





五、使用心得


以下心得供曾申請「Blogger 長期免費諮詢」的站長閱覽,以及本站會員也可兌換,若參考此心得仍無法成功,可退回已兌換的點數。



加值文章關閉留言板功能,有兌換本文的會員請用下面的表單與我聯繫:




更多 Facebook 相關技巧:

利用 Google 試算表當小型資料庫 (4)使用 SQL 語法讓搜尋功能更強大

$
0
0
「利用 Google 試算表當小型資料庫」系列文已經寫過三篇,條列如下:


上一篇提供了篩選資料的簡易查詢語法,以及對資料排序的方法,相信這對小型的資料庫處理已經足夠。

不過幾年下來,如果你的試算表已經累積了數千筆、甚至更多的資料,或許你需要的會是正規資料庫的 SQL 搜尋語法,才能處理更複雜的需求,甚至是將整理出來的資料以圖表方式呈現,在網頁呈現即時的長條圖、分布圖等等。

這麼多複雜的功能,其實 Google 都已經幫我們把輪子造好了,不必自己研究,就看我們如何取用。那麼本篇就來說明如何呈現 HTML 效果、以及如何用 Javascript 操作。

(圖片出處: pixabay.com)


一、Visualization API 簡易調用方式


1. Sheet API 功能不佳

Google 試算表官方提供的資料處理介面稱為 Sheet API,使用這個 API 可以做到讀取、寫入功能,不過這個 API 我給的評價不高,因為:
  • 比起系列文前兩篇,操作方式更麻煩。
  • 在功能上來講,能做的事沒幾樣。
  • 沒有搜尋(query)功能,連簡易查詢都沒有。
  • 而且目前還出到 V4 版,感覺上其他管道不但可以取代這個 API,還能做的更好。

2. Visualization API 可進行 SQL 查詢

還好 Google 另外出了「Visualization API」,除了可以使用資料庫 SQL 語法,還能將查詢結果製成各種圖表,功能實在太強大了,可以說是前端工程師必備技能!

引用 Visualization API 的準備動作很多,正規作法需要預先載入不少程式庫,例如:
  • Google JSAPI API
  • Google Visualization library
  • 圖表模組

網路上有很多教學文章,預先載入模組的方式都差不多,有興趣可參考這篇「在Blogger顯示Google試算表的QUERY查詢結果」。


3. Visualization API 簡易呼叫法

在網路上找到一篇神奇的文章「Google Spreadsheet JSON API: SQL Filtering」,作者不是用正規方法引用程式庫,而且這方法也沒有在官方文件看到,也許是 Google 工程師測試用留的後門。

使用這方法呼叫 Visualization API 實在快速又簡單多了,只要一行就搞定,本篇說明將以這個方法為藍本。



二、準備動作


本篇將以這個「會員系統」的試算表進行舉例,範例網址如下:


在開始之前,有三個準備動作:

1. 試算表代號:打開你的試算表,看到網址在 "/d/" ~ "/edit"的字串,就是「試算表代號」。以上面的範例網址為例,就是 "18sp-S2iOQ9uRiuLprZZUDf9emipGesZ81Gfy5LPIR6c"這樣的字串,請紀錄下來,之後會用到。

2. 工作表代號:如果你要使用不是第一個工作表,那麼請記下試算表的工作表代號,也就是網址 "#gid="之後的數字。以上面的範例網址為例,就是 "0"這個數字,請紀錄下來,之後會用到。(若不是第一個工作表,就會是一長串數字)

3. 試算表開啟共用:沒有開啟共用的話,Visualization API 將無法存取這個試算表,因此請將試算表右上角「共用」的權限,改為「知道連結的人均可檢視」就行了。



三、SQL 搜尋結果以網頁呈現


1. 網址基本格式

首先說明如何用 Visualization API 叫出試算表資料,並呈現在網頁上:

https://spreadsheets.google.com/tq?tqx=out:html&tq=填入SQL語法&key=填入試算表代號&gid=填入工作表代號
上面網址有三個紅色字串,填入對應的代號及語法後,即可看到效果。


2. 試算表資料範例

https://spreadsheets.google.com/tq?tqx=out:html&tq=&key=18sp-S2iOQ9uRiuLprZZUDf9emipGesZ81Gfy5LPIR6c&gid=0
上面的範例網址,沒有填入 SQL 語法,將這網址貼到瀏覽器,就可看到這個範例試算表的所有資料。

如果想要將表格貼到自己的網頁或部落格,可以放在 IFRAME 之中,例如以下的語法:

<iframe src="https://spreadsheets.google.com/tq?tqx=out:html&tq=&key=18sp-S2iOQ9uRiuLprZZUDf9emipGesZ81Gfy5LPIR6c&gid=0" style="width: 600px; height: 500px;"></iframe>
藍色字串請置換為自己的網址語法。

綠色數字請改成 IFRAME 想要呈現的寬、高尺寸。

效果大致如下:




3. 使用 SQL 語法

https://spreadsheets.google.com/tq?tqx=out:html&tq=select * where E = '女生'&key=18sp-S2iOQ9uRiuLprZZUDf9emipGesZ81Gfy5LPIR6c&gid=0
上面的範例網址,填入了 SQL 語法,意思是搜尋 E 欄性別為 '女生'的所有資料。

由於 SQL 語法會用到一些比較特別的符號、全形文字、或是中文,放在網址有可能會出錯,因此 SQL 語法的全部內容,最好經過編碼處理,例如使用這個線上服務,將這個字串 select * where E = '女生'編碼:


編完碼後,新的網址字串如下:

https://spreadsheets.google.com/tq?tqx=out:html&tq=select+%2A+where+E+%3D+%27%E5%A5%B3%E7%94%9F%27&key=18sp-S2iOQ9uRiuLprZZUDf9emipGesZ81Gfy5LPIR6c&gid=0
將這網址貼到瀏覽器,就可看到這個篩選後的試算表範例。

若放在 IFRAME 之中,效果大致如下:





四、用 JS 操作 SQL 搜尋結果


接下來示範如何用 jQuery 來操作,使用 SQL 語法取得的試算表資料。

<script src='//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js'></script>
<div id="test"></div>
<script>
(function(window, $) {
var sheetID = "18sp-S2iOQ9uRiuLprZZUDf9emipGesZ81Gfy5LPIR6c", // 試算表代號
gid = "0", // 工作表代號
sql = "select+%2A+where+E+%3D+%27%E5%A5%B3%E7%94%9F%27", // SQL 語法
callback = "callback"; // 回呼函數名稱

$.getScript("https://spreadsheets.google.com/tq?tqx=responseHandler:" + callback + "&tq=" + sql + "&key=" + sheetID + "&gid=" + gid);

window[callback] = function(json) {
var rowArray = json.table.rows,
rowLength = rowArray.length,
html = "",
i, j, dataGroup, dataLength;
for (i = 0; i < rowLength; i++) {
dataGroup = rowArray[i].c;
dataLength = dataGroup.length;
for (j = 0; j < dataLength; j++) {
if (!dataGroup[j]) {
continue;
}
html += (dataGroup[j].f || dataGroup[j].v || "") + "";
}
html += "<br/>";
}
$("#test").html(html);
};
})(window, jQuery);
</script>

以上這段程式碼範例,同樣來自「三、SQL 搜尋結果以網頁呈現」→「3. 使用 SQL 語法」,是從會員系統試算表範例中,篩選出所有性別為 "女生"的資料,在網頁上顯示。將全部程式碼貼在你的網頁,便可看到效果。

比較重要的參數修改,說明如下:
  • 紅色字串請改為自己的試算表代號
  • 藍色數字請改為自己的工作表代號
  • 綠色字串請改為 SQL 語法,如果包含特殊符號的話,請重新編碼,並參考「五、SQL 語法注意事項」。



五、SQL 語法說明


1. 注意事項

Visualization API 所使用的 SQL 語法,有其特別需要注意的地方,不一定能完全照一般 SQL 語法的使用方式,因此請詳讀以下的內容:

  • SELECT、WHERE 等指令,不能使用自己命名的欄位名稱,只能選擇 Google 試算表預設的欄位代號 A、B、C... 等等代號
  • 而且欄位代號不能用小寫,一定要使用大寫的 A、B、C...,否則篩選不到任何資料。
  • 例如 "SELECT A, C, E WHERE B > 50"是正確的語法;"SELECT name,sex WHERE age > 20"是錯誤的語法
  • 儲存格中的資料,放在 SQL 語法中比對時,字串的大小寫有分別。
  • SQL 參數有數字時不需要括號,參數使用字串時,前後一定要用括號包住
  • 由於 SQL 語法要通過網址來執行程式,為了符合網址字串的規範,建議一律進行編碼,可使用「三、SQL 搜尋結果以網頁呈現」→「3. 使用 SQL 語法」這裡提供的線上編碼工具,否則程式有很大的機率無法正常執行。


2. Google 官方教學

本篇提供的 SQL 語法範例相當簡單,但其實 SQL 可以執行很多複雜的功能、函數,來進行比較高階的搜尋方式,例如取某欄位中最大值的資料、篩選特定字串格式的資料、去除沒有資料的儲存格等等。

詳細的說明可以參考 Google 官方文件「Query Language Reference 」,可以學到更多的應用方式。



六、製作圖表


用 JS 執行 SQL 語法,取得試算表資料後,更進階、實用的作法,是將資料轉換成各種圖表,運用在各種簡報上。不過這部分因為與本篇主題無關,這裡簡單帶過就好。

要製作圖表的話,必須另外載入製表的模組,那麼無法經由本篇介紹的「Visualization API 簡易調用方式」來做到。如開頭提到的,必須一一載入 Google JSAPI API、Google Visualization library、圖表模組才行,建議參考以下流程:

1. 這篇「在Blogger顯示Google試算表的QUERY查詢結果」使用正規方法載入各種官方模組,從試算表使用 SQL 語法篩選資料,用表格的方式印出資料。

2. 上一點載入的是表格模組,如果載入各種圖表模組,就能將資料以各種圖表顯示,可參考這篇「Google Chart 製作各種圖表」。

3. 更詳細的語法操作說明,可參考「Google Visualization API 官網手冊」。


製作試算表資料庫系列文章:

讓訪客能自行放大網頁文字,提升友善閱讀體驗

$
0
0
閱讀網路文章時,不免會遇到某些網頁的預設文字過小,不但看起來不舒服,也加重了眼睛的負擔。過去曾介紹過 Chrome 的外掛「讓 Chrome 只放大縮小文字(Zoom Text Only 套件)」,可以單獨調整文字的大小,讓我們閱讀文章時更舒服。

但並非每個訪客都會安裝這樣的套件,如果你是站長的話,想要打造友善的閱讀環境,最好能另外提供「放大文字」這樣的按鈕,讓訪客自行調整文字尺寸,就能照顧到銀髮族、視力不佳、或需要維護視力的族群。

本篇會提供一個「調整文字尺寸」的按鈕,以下先說明設計原理,想直接安裝可跳至「二、安裝程式碼」。


(圖片出處: pexels.com)


一、按鈕的設計構想


1. 按鈕數量

這個功能有多種設計方式,例如:

  • 三顆按鈕:一個放大,一個縮小,一個恢復原尺寸。
  • 兩顆按鈕:一個放大,一個縮小。
  • 一顆按鈕:循環切換

如果想安裝三個按鈕的功能,可參考這篇「Blogspot 文章文字 一鍵調整大小」。

製作這個功能時考量到 WFU BLOG 的版面設計,因為找不出適合多顆按鈕的擺設方式,最後為了節省空間,採取了一顆按鈕的設計方式。


2. 循環切換

由於只有一顆按鈕,不能讓文字無限放大,必須設定一個極限值,超過時回到原始大小,才能讓一顆按鈕做到所有的事,包含放大與縮小。


3. 儲存設定

最後是儲存設定值,讓讀者下次開啟網頁時,能夠讀取設定值,避免每次都要重新按按鈕。

舊瀏覽器只能使用 cookie 來儲存設定值,操作不方便;現在 HTML5 支援了新的儲存方式「localStorage」,操作上直覺又簡單,不過缺點就是舊瀏覽器不支援。

從很久以前 WFU 就決定放生 IE8 以下的訪客,可以讓網頁設計工作更簡化。反正 IE8 以下的市佔率只會越來越少,相信完全被消滅的一天很快就會到來。



二、安裝程式碼


在修改範本之前,如果第一次安裝本站工具的讀者,建議先閱讀「備份範本的訣竅」系列文章。

安裝方式以 Blogger 為例,請到後台「範本」→「編輯 HTML」,游標點進範本區塊,按 Ctrl-F 搜尋 </head>這個字串,找到後在此字串的前一行,插入以下程式碼:

<script src='//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js'></script>
<!--調整文字大小-->
<script>
//<![CDATA[
$(function() {
var postBody = ".post-body", // 文章區塊
minSize = 16, // 最小文字 px 值
maxSize = 32, // 最大文字 px 值
addSize = 4, // 每次點擊按鈕增加的尺寸 px 值
size = parseInt(localStorage.postFontSize) || minSize;
$(postBody).css("font-size", (localStorage.postFontSize || minSize) + "px");
$("#enlarge_font_size").click(function() {
size += addSize;
size = size > maxSize ? minSize : size;
localStorage.postFontSize = size;
$(postBody).css("font-size", size + "px");
});
});
//]]>
</script>
<!-- Designed by WFU BLOG-->

<style>
/*調整文字大小*/
#enlarge_font_size {
display: inline-block;
width: 30px;
height: 30px;
line-height: 30px;
color: #777;
font-size: 16px;
text-align: center;
background: #ddd;
border: 1px solid #bebebb;
border-radius: 15%;
cursor: pointer;
}

#enlarge_font_size:active {
position: relative;
top: 1px
}

#enlarge_font_size:hover {
box-shadow: 0 0 10px #546893
}
</style>

第一行綠字可參考「引用 jQuery 的注意事項」,檢查範本是否已安裝過 jQuery,如果已經安裝過請刪除此行,以免重複安裝。

修改參數:
  • postBody:紅色字串如果是 Blogger 官方範本就不用變更;如果要修改為別的位置,請將字串改為 "." + class 名稱、或是 "#" + id 名稱。
  • minSize、maxSize、addSize 這三個參數,請按照綠字註解修改數字即可。
  • 其他 style 標籤的內容,如果熟悉 CSS 可自行修改樣式。



三、擺放位置


接著在範本中,將以下「調整文字按鈕」的 HTML 碼放到任何你想擺放的位置:

<span id="enlarge_font_size" title="調整文章文字大小">A+</span>
然後儲存範本即可。

如果不清楚要放在哪裡的話,可參考「Blogger 範本﹍(3) 文章及留言區塊的程式碼」系列文。

想要先看效果的話,可前往範例網頁:



更多網頁小工具:

[網頁設計] 有助於色盲使用者的友善體驗 (1)設計構思

$
0
0
color-blink-web-design-1-[網頁設計] 有助於色盲使用者的友善體驗 (1)設計構思前陣子有讀者在「Blogger 文章標題最佳化」留言表示:"建議WFU大,文章的字顏色對比可以強一點,或標個線?這樣對色弱色盲人土比較友善,我完全找不到紅字在哪"。這才發現過去接觸網頁設計的主題時,很少碰到這一塊,因此沒想過要研究這部分的設計。

經查詢資料後,發現色盲、色弱者的比例,比想像中還多不少,站在 "營造友善的使用體驗"這樣的立場,的確應該改善網頁設計,讓這個族群閱讀文章時沒有障礙。

本篇會大致列出協助色盲使用者的網頁設計要點,同時也提出個人的設計構想。

(圖片出處: commons.wikimedia.org)


一、色盲比例


根據維基百科「色盲」的介紹頁面,色盲的程度與分類遠比想像還多,有最常見的紅綠色盲(例如臉書創辦人 Mark Zuckerberg)、藍黃色盲、以及(紅、藍、綠)色弱等。

色盲通常發生在男性,而女性的比例很低,把維基百科頁面各種色盲、色弱的男女比例相加,再除以二後,得到的比例大約是全部人口的 8% 左右,這個數量不可謂不小。


browser-visitor-ratio-[網頁設計] 有助於色盲使用者的友善體驗 (1)設計構思

上圖是今日拜訪本站的訪客,所使用的瀏覽器比例。色盲使用者的人數超越了 Safari、IE 使用者,達到第 3 高的族群。雖然只是小樣本,不過這樣的訪客比例,是否該得到我們的重視呢?



二、友善的網頁設計要點


這篇「為色盲用戶提升網頁可用性的實用設計技巧」整理了不少值得參考的設計要點,將有助於色盲使用者閱覽網頁:

1. 圖片中使用文字時,需要增加對比,讓文字更容易閱讀,例如文字使用陰影。

2. 頁面標示顏色時,最好加註顏色的名稱,因為色盲者可能無法辨識。

3. 有圖片的產品描述,最好加上顏色標示。

4. 網頁的連結最好加上底線→ 這一點很重要,我們的網頁常常為了美觀,將連結的底線去除。雖然我們可以看出連結的文字顏色與一般文字不同,但無論使用何種顏色,都可能讓一部份的色盲、色弱者分辨不出來,因此最好的方法,就是為連結加上底線。

5. 網頁配色:這一點 WFU 不是專家,請直接參考原文來瞭解如何做。

6. 某些用顏色來強調的文字或說明,必須設計出一套機制,讓色盲使用者能理解。



三、是否需要做出妥協?


不可諱言的,部分針對色盲、色弱者的網頁設計,可能會讓頁面看起來不美觀;同時,網頁的配色是很主觀的,如果為了特殊族群而必須改變站長自己喜歡的色系,這也會很難割捨。

那麼對於這樣的網頁設計,有沒有辦法取得折衷點呢?我想這會是更需要思考的一件事。

想了很久,覺得用以下兩個例子來解釋,其實還滿貼切的。

1. 素食者

例如喜宴、聚會的場合,幾乎都有少數素食的賓客與會,當然不會為了顧全大局叫素食者吃葷、或是大家一起吃素。

處理的方法很簡單,將素食者湊成 1~2 桌供餐,或是不足一桌的話,請餐廳個別幫忙上素食套餐即可。


2. 同志

還有最近關注度很高的同性戀婚姻修法問題,根據維基百科「同性戀」的介紹頁面,同志的比例大約是 5%~10%,與色盲佔總人口比例相當。

由於現行的法律制度,無法保障或解決同性戀者結婚後,對於財產、醫療、能否收養等等的問題。那麼最不影響多數人、最節省社會成本的方式,就是針對同性戀者結婚後,會產生的問題,另外制訂相關的法律來解決。

有寫過程式的話應該就能理解,一個架構龐大的程式、或是別人寫好的程式,已經運作很長一段時間後,忽然想要針對其中多處(例如 5~10 處)進行修改,可能沒幾個工程師願意這麼做,因為改了之後會產生的 bug 可能修都修不完,也不知道何時會再冒出來。以工程師的立場可能寧願打掉重寫,或是主體不動、另外寫個補丁來達到修改的目的



四、本站的設計規劃


因此我認為兩全其美的設計方式,就是針對不同的族群,規劃不同的功能或版面,就像是另外寫個小補丁的作法。

例如有的站長看網頁不需要大字,因此網頁的字體設定得很小;但對於某些族群,例如銀髮族、眼力比較差的讀者,就很需要看到大字。那麼最簡單的方法,就是參考「讓訪客能自行放大網頁文字,提升友善閱讀體驗」,在網頁提供可放大、縮小字體的按鈕,讓不同族群各取所需

同樣的,為色盲、色弱的使用者,另外規劃一套版面 CSS 出來,在網頁明顯處提供按鈕來切換,就能解決這個問題了。

根據「二、友善的網頁設計要點」,本站的設計方針大致有:

  • 原本文章區塊為黃底黑字,另一套 CSS 將會使用白底黑字,用來增加對比。
  • 原本文章區塊的連結無底線,另一套 CSS 將會使用底線。
  • 本站文章常用紅字標示重點,同時教學程式碼中包含了大量的紅、藍、綠字串,為了幫助辨識,另一套 CSS 會將常用顏色特別標示出來。

原理說明完畢後,下一篇會進行實作,並附上本站使用的程式碼範例,供讀者設計上的參考。



更多使用者體驗相關文章:

[網頁設計] 有助於色盲使用者的友善體驗 (2)實作範例

$
0
0
上一篇「有助於色盲使用者的友善體驗 (1)設計構思」,提出本站的設計方針為:

  • 原本文章區塊為黃底黑字,另一套 CSS 將會使用白底黑字,用來增加對比。
  • 原本文章區塊的連結無底線,另一套 CSS 將會使用底線。
  • 本站文章常用紅字標示重點,同時教學程式碼中包含了大量的紅、藍、綠字串,為了幫助辨識,另一套 CSS 會將常用顏色特別標示出來。

本篇會將這樣的概念實作出來。不過,我的設計方法不見得適合套用到每個網站,多少都需要調整,畢竟每個網站的配色、功能都不太一樣。

那麼要拿我的範例來修改的話,建議有足夠的 HTML / CSS / JS 基礎,比較適合閱讀這一篇。



(圖片出處: commons.wikimedia.org)


一、設計方法


我的設計方針中,前面 2 點算是比較簡單,稍微瞭解 CSS 語法的站長都知道怎麼做。而第 3 點的設計方法,至少可以有兩種方向,大概簡單說明一下。

1. 使用偽類直接標示

對於文章中使用紅字、綠字來強調重點的文字,要如何讓色盲使用者分辨出來,我採用的方式除了加底線,還另外在該段文字的開頭,註明使用的顏色。

我使用的技巧是 "偽類":before語法,設定顯示字串例如 "紅字",將字體縮小、位置調高,這樣看起來就一清二楚。

同時偽類還有很棒的一點,雖然會顯示字串 "紅字",但卻不會被選取,訪客複製整段時不會將這兩個字包含進去,因此不會造成操作上的不便。


2. Tooltip 提示訊息

另外一個提示色盲使用者,該段文字是紅色的技巧是,使用 "Tooltip 提示訊息",也就是滑鼠經過時,立即出現提示文字。

這個技巧完全可以使用 CSS 來實現,不需要另外寫 JS 程式來控制,可參考「簡單漂亮的 CSS 提示框(tooltip)懶人包實作」系列文。



二、安裝程式碼


在修改範本之前,如果第一次安裝本站工具的讀者,建議先閱讀「備份範本的訣竅」系列文章。

安裝方式以 Blogger 為例,請到後台「範本」→「編輯 HTML」,游標點進範本區塊,按 Ctrl-F 搜尋 </head>這個字串,找到後在此字串的前一行,插入以下程式碼:

<script src='//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js'></script>
<!--色盲模式切換-->
<script>
//<![CDATA[
$(function() {
var mode = localStorage.colorBlindMode || "no",
$color_blind_span = $("#color_blind_span"),
$color_blind_style = $("#color_blind_style"),
switch_color_blink = function() {
if (!$color_blind_style.html()) {
$color_blind_style.html($color_blind_span.html());
} else {
$color_blind_style.html("");
}
};

if (mode == "yes") {
$("#color_blind_btn").addClass("turn_on");
$color_blind_style.html($color_blind_span.html());
} else {
$("#color_blind_btn").removeClass("turn_on");
$color_blind_style.html("");
}

$("#color_blind_btn").click(function() {
$("#color_blind_btn").toggleClass("turn_on");
switch_color_blink();
localStorage.colorBlindMode = mode == "no" ? "yes" : "no";
});
});
//]]>
</script>
<!-- Designed by WFU BLOG-->

<style>
/*色盲模式按鈕*/
#color_blind_btn {
display: inline-block;
width: 30px;
height: 30px;
line-height: 30px;
color: #777;
font-size: 16px;
text-align: center;
background: #ddd;
border: 1px solid #bebebb;
border-radius: 15%;
cursor: pointer;
}
#color_blind_btn:active {
position: relative;
top: 1px
}
#color_blind_btn:hover {
box-shadow: 0 0 10px #546893
}
.turn_on {
box-shadow: 0 0 10px #546893
}
</style>

第一行綠字可參考「引用 jQuery 的注意事項」,檢查範本是否已安裝過 jQuery,如果已經安裝過請刪除此行,以免重複安裝。



三、提供給色盲使用者看的 CSS


接著請搜尋 <body這個字串,找到後在此字串的下一行,插入以下程式碼:

<!--色盲模式 CSS-->
<style id="color_blind_style"></style>
<span id="color_blind_span" style="display: none;">
a:link {
text-decoration: underline;
}
.post {
background: #fff;
color: #222;
}

*[style*='990000'], *[style*='cc0000'] {
border-bottom: 2px dashed #ccc;
}

*[style*='990000']:before, *[style*='cc0000']:before {
content: "紅字 ";
font-size: 70%;
font-weight: bold;
vertical-align: top;
}

*[style*='6aa84f'] {
border-bottom: 2px dashed #ccc;
}

*[style*='6aa84f']:before {
content: "綠字 ";
font-size: 70%;
font-weight: bold;
vertical-align: top;
}

*[style*='3d85c6'] {
border-bottom: 2px dashed #ccc;
}

*[style*='3d85c6']:before {
content: "藍字 ";
font-size: 70%;
font-weight: bold;
vertical-align: top;
}
</span>
<!-- -->

以上 span標籤中,放的就是提供給色盲使用者的 CSS。這裡的內容不一定適合你的網站,請將這一大段 CSS 改為你的設計內容。

這一大段的運作原理為,span標籤的 CSS 內容是沒有意義的,平常不會有作用。而當色盲使用者按下按鈕後,JS 程式會將 span標籤的內容複製到 style標籤,讓這一套 CSS 產生作用。當再次按下按鈕後,則會刪除 style標籤內的 CSS,如此反覆循環。

因為 WFU 都使用 Blogger 後台文章編輯器來設定文字顏色,上面這些用到的紅、綠、藍色碼,都是官方編輯器使用的顏色。如果你用的色碼是不一樣的,請自行修改對應的色碼。



四、擺放位置


最後在範本中,將以下「色盲模式切換按鈕」的 HTML 碼放到任何你想擺放的位置:

<span id="color_blind_btn" title="色盲模式切換">色</span>
然後儲存範本即可。

如果不清楚要放在哪裡的話,可參考「Blogger 範本﹍(3) 文章及留言區塊的程式碼」系列文。

想要先看效果的話,可前往範例網頁:



更多實用工具:

Blogger 使用圖片的各種技巧:上傳+刪除+管理+取得網址 (Picasa 圖床)

$
0
0
blogger-upload-photo-Blogger 使用圖片的各種技巧:上傳+刪除+管理+取得網址 (Picasa 圖床)協助許多使用者架站時,由於不少都是剛接觸 Blogger,不太熟悉這個部落格平台怎麼處理、操作圖片。他們可能用過台灣其他的免費部落格平台,習慣了有個可以專門上傳、管理圖片的後台介面,但在 Blogger 找不到這樣的東西,因此「Blogger 要如何上傳、管理圖片」,變成了常見的問題。

例如熱門的「圖片輪播」功能,使用者可能會困惑 "圖片要放在哪裡"、"圖片網址如何取得"等等,對於有後台管理圖片的部落格,這些都是不用另外說明、自然而然就會操作的事情,但 Blogger 偏偏不是如此。

不過 Google 對於處理圖片的概念有自己的想法,跟台灣部落格截然不同,因此有必要先瞭解一下 Google 的設計理念,心理上會比較容易適應,然後再來說明處理圖片各種的操作方法。



一、PICASA 圖床說明


所有從 Blogger 上傳的圖片,會自動存放在 Picasa 圖床。不過聽到圖片會放在 Picasa 這件事,很多讀者都問我 "「Picasa 不是關閉了」,以後圖片要怎麼辦?",也有很多使用者是直接找別的圖床,例如用 Flickr 來存放圖片。

在這裡簡單做個說明,Picasa 關閉的是 "網頁及應用程式管理介面",但 Picasa 圖床的圖片不受任何影響,所有圖片依然可以外連。

這也就是說,Blogger 照樣可以持續上傳圖片,並取得圖片連結,不必另外尋找圖床來使用。

至於很多人擔心的 "Picasa 會不會有一天完全關閉?"這件事,我認為不妨這樣想

  • 很多人擔心 Blogger 關閉了怎麼辦?在這件事發生之前,Google 得先擔心他們的幾十個官方網站,如果不架在 Blogger,那麼要架在哪裡。
  • 如果擔心 Picasa 圖床完全關閉,在這件事發生之前,Google 得先擔心他們所有放在官方網站的圖片,要改放到哪裡去。
  • 如果使用者選擇把圖片改放到其他免費圖床,那麼得先擔心,這個圖床有沒有辦法存活得比 Google 久。
  • 意思就是說,與其擔心以上的所有狀況,不如擔心 Google 何時會倒閉。



二、Google 的設計理念


由於 Google 推出了「Google 相簿」,這個服務會整合所有其他 Google 服務所產生的圖片,因此所有存放在 Picasa 的圖片,也會同步到 "Google 相簿"之中。

而這個 Google 相簿,可以想像成台灣其他部落格的圖片管理介面,但他的設計理念卻是完全不同的,因此使用者應該會很不習慣。

Google 相簿無法讓你自己建立資料夾來分類,所以按照以往的操作邏輯來使用的話,會很不方便、也很痛苦。

關於 Google 的理念, +esor huang 寫了多篇關於 Google 相簿的文章,可參考「一次搞懂 Google 相簿分類方法」、「Google 相簿適合你嗎?我的12招照片雲端整理術」,簡單來說,Google 希望你:

  • 不要花時間整理圖片
  • Google 會用他的方法幫你整理
  • 你只要一直把圖片丟進去就好
  • 因為在正常使用下,可上傳的圖片數量等於沒有限制
  • 要找圖片時,用搜尋的方法會更快。

意思就是,瑣碎的整理時間交給 Google,我們不用自己分類,可以把時間花在更有意義、需要發揮創造力的事物上。



三、上傳圖片


1. 操作流程

瞭解以上的背景故事後,接下來進入正題。對於不熟悉 Blogger 的使用者,第一步要上傳圖片就會卡關。

Blogger 沒有單獨上傳圖片的介面,必須編輯文章或網頁時,才能上傳圖片。因此想要上傳時,可按以下步驟:

  • 到後台開一篇新文章
  • 按照「官網說明」,在文章編輯器的畫面,按「插入圖片」的圖示,就可以上傳了。
  • 如果這張圖片是要放在文章之中,那麼編輯完文章發佈即可。
  • 如果這張圖片有其他用途,例如當輪播圖片,那麼就不需要儲存或發佈文章,取得圖片網址後,就可以把這篇新文章關閉。
  • 圖片上傳的動作完成後,這張圖就自動存放在 Picasa 圖床了,因此有沒有儲存文章,都不會讓這張圖片消失

2. 上傳準備動作

前面是簡單的操作步驟,實際上在圖片上傳之前,建議進行以下的步驟:




四、取得圖片連結


如何取得圖片網址,對於 Blogger 新手也是一件困擾的事。要取得連結,得先看得懂 HTML 語法。

1. 撰寫模式

使用文章編輯器時,在「撰寫模式」上傳圖片,可能是個糟糕的選擇,一方面,你可能會遇到「Blogger 各種圖片異常狀況處理」→「五、圖片模糊﹍尺寸變小」這樣的情形。

因為「撰寫模式」上傳圖片時,可能不會出現選項,導致系統自動幫你的圖片加入了一大堆奇怪的參數,當你切換到「HTML 模式」,這張圖片的語法也許長得像這樣:

<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-KKjD-TGa8vQ/WFC3W9Z0xsI/AAAAAAAAOqA/rUDoP7T1kegb7dqJ0zYb1Yo1NLtK2-w7gCPcB/s1600/blogger-free-template-problems.jpg" style="margin-left: 1em; margin-right: 1em;"><img height="160" src="https://1.bp.blogspot.com/-KKjD-TGa8vQ/WFC3W9Z0xsI/AAAAAAAAOqA/rUDoP7T1kegb7dqJ0zYb1Yo1NLtK2-w7gCPcB/s320/blogger-free-template-problems.jpg" width="320" /></a></div>

紅字的部分才是圖片網址,不但難找,而且這張圖被縮小為 320px 寬,相信這不是你要的。


2. HTML 模式

因此我強烈建議,切換到「HTML 模式」才上傳圖片,這樣就會看到圖片大小的選項:

blogger-upload-image-option-Blogger 使用圖片的各種技巧:上傳+刪除+管理+取得網址 (Picasa 圖床)


選擇「原始大小」後,你會看到的語法大致像這樣:

<a href="https://1.bp.blogspot.com/-KKjD-TGa8vQ/WFC3W9Z0xsI/AAAAAAAAOqA/rUDoP7T1kegb7dqJ0zYb1Yo1NLtK2-w7gCPcB/s1600/blogger-free-template-problems.jpg"><img src="https://1.bp.blogspot.com/-KKjD-TGa8vQ/WFC3W9Z0xsI/AAAAAAAAOqA/rUDoP7T1kegb7dqJ0zYb1Yo1NLtK2-w7gCPcB/s1600/blogger-free-template-problems.jpg" /></a>
圖片網址就是上面 img標籤中 src 的紅色字串,這樣好找多了。



五、刪除圖片


根據前面提到的 Google 理念,Google 並不會希望你整理、刪除圖片,所以你儘管上傳圖片就是。

但如果真的想要刪除曾經上傳到 Blogger 的圖片,可按照「官網指示」,前往這個「相簿封存檔案」的網址。


google-photo-archive-blogger-Blogger 使用圖片的各種技巧:上傳+刪除+管理+取得網址 (Picasa 圖床)

如上圖紅框標示,內含所有 Blogger 上傳的圖片,進入後看要刪除相簿、或是刪除個別圖片都可以。



六、管理圖片


上傳到 Picasa 後的圖片,會出現在哪裡、要如何管理呢?其實從 Blogger 上傳後,這張圖片會出現在不少地方。

1. Blogger 文章編輯器

如果想重複使用曾經上傳的圖片,在使用文章編輯器、上傳圖片的畫面,有一些選項:

blogger-upload-photo-1-Blogger 使用圖片的各種技巧:上傳+刪除+管理+取得網址 (Picasa 圖床)

上圖「來自這個網誌」可看到所有這個網誌上傳的圖片。

如果要從別的網誌選擇圖片,可選「Google Album Archive 中的相片」,再點入網誌名稱即可。

不過這個介面實在談不上 "管理",因為可能你要的圖片,必須一直捲、捲到手酸才能找得到。


2. Google 相簿

使用 Google 相簿的技巧,這裡就不多談了,可參考前面 Esor大 的相關文章。

如果有按照「三、上傳圖片」→「2. 上傳準備動作」,為圖片取有意義的英文檔名,那麼在 Google 相簿就很方便,可以輕易搜尋到你要的圖片。

不過,WFU 沒有很喜歡使用 Google 相簿,主要是從 Google 相簿取得的圖片連結,算是有點糟糕,網址字串實在是太長了,對於需要常常看程式碼的工程師而言,雜亂冗長的圖片網址字串,管理上、作業上都會是很大的困擾。

另外,如果你還是不習慣 Google 相簿的邏輯,比較想自己建立資料夾來管理圖片,那麼請看下一個方案。


3. Google Drive

如果真的有管理 Picasa 圖片的需求,最推薦的方式,是使用 Google Drive。

請參考這篇「Picasa 關閉之後, Blogger 要如何管理圖片?」,開啟「同步 Google 相簿」的功能,就能建立各種資料夾,為所有的圖片進行分類了。


更多 Picasa 相關文章:

使用 Blogger 免費範本(模版),可能需要面對的問題有哪些?

$
0
0
blogger-free-template-problems-使用 Blogger 免費範本(模版),可能需要面對的問題有哪些?使用 Blogger 的優點之一,就是有取之不盡的免費資源,網路上可找到各種美觀、符合自適應(RWD)、且又免費的範本可套用。

免費範本的確很方便,一陣子後覺得不合用、或想改個新鮮的版面,都可再另外找一個,如同免洗筷一般,再換一雙就好。

但在某種程度上,免費範本跟免洗筷還真的有像,因為製作成本低、品質良莠不齊,有的可能會加雙氧水、漂白劑,吃了不小心就中毒。

WFU 經手處理過的 Blogger 各式範本,案件量十分龐大,看過的免費範本非常多。那麼本篇就來整理一下,使用免費範本可能會遇到哪些問題。

(圖片出處: ivythemes.blogspot.com)


一、程式碼加密


免費範本中的程式碼,或多或少都會有一部份使用加密處理。這其實也算合理,原因大致有這些:

1. 價值比較高

如果遇到完全沒加密的範本,可以算是賺到,但也可能是因為使用的工具語法很簡單,作者自己都認為沒有加密的必要,或者根本這個範本的作者也是複製來的,使用者要怎麼搞他也無所謂。

因此有加密的免費範本,可以視為作者自認內容包含了,附加價值比較高的功能。


2. 保護版權宣告

在智慧財產權觀念比較薄弱的地區,稍微懂點 HTML 語法的使用者,很容易就能將版權連結刪除。為了保護範本的版權連結,作者有可能會使用一段 JS 語法,來防制刪除連結的行為。

同時,為了保護這段 JS 語法不被看到,會將一大段的 JS 程式碼整個加密。而這一大段的加密程式碼,也會跟主要程式打包在一起,若使用者整段刪除,連帶主程式也不會執行,起到保護的作用。


3. 不讓使用者修改

有的作者是不想讓使用者自行修改工具程式,這也是保護自己程式的一種方式,因為你不會知道是不是有人想把程式改了之後,放上自己的版權宣告拿去賣、或讓人下載之類的。


4. 要賣付費版

有的範本會同時提供免費版及付費版,那麼免費的版本就會將部分程式碼加密,而付費版則不會加密,同時也是代表允許移除版權宣告的意思。

所以購買了付費版本,除了可能有更多的功能,也能隨心所欲的自訂各種細節,範本改起來的自由度也比較大。



二、程式碼加密的麻煩


雖然免費範本對程式碼加密很合理,但是對於想要自訂範本的使用者,或是前端工程師而言,這是很困擾的事情。提供幾個我遇到的案例做說明:

1. 範本寫壞了

遇過一個架站的狀況,案主選了某個免費範本,處理了一段時間,才發現某個主要功能無法執行。Debug 半天後,覺得出問題的程式碼,應該是位於某段加密的程式碼之中。

但程式碼加密的情況下,根本無法修改,只好請案主另外找一個範本來進行。

雖然很不願意,但已經花費的時間還得跟案主說明,是必須計費的,因為範本是案主自己選的。

這可以說是個雙輸的案例,案主浪費了金錢,我也浪費了時間做白工。


2. 案主改壞了

這案例不止一次,有的案主為了不想花錢,除了用免費範本,也自己嘗試改範本,但基本上沒什麼寫 code 的能力,大概就是網路 google 教學文章,或抓免費工具來裝,而操作過程也可能出錯,最後解決不了,於是發案給本站。

不過案主發案的時候,不太會說搞砸了什麼事情,可能只會說 "奇怪,輪撥出不來",或是 "最近也沒做什麼動作,但是下拉選單就不正常了"之類,那麼我 debug 起來就很辛苦。

更慘的是,如果範本中還有加密的程式碼時,那更無法知道出錯的原因到底在哪裡了。

吃了幾次暗虧後,現在接案前,我會有一套檢查方法,如果察覺是案主自己改壞範本、或有加密程式碼的話,要嘛我會報得非常高,要嘛這個案子就不接了。



三、程式碼品質不佳


1. 設計師

在比例上,會製作免費範本、免費版型的作者,多半是設計師,而不是工程師,因為使用者挑選版型主要為了美觀、配色要順眼,比較少為了特定工具來挑範本。

設計師不一定會寫程式,因此製作了 HTML/CSS 後,JS 程式的部分就是使用現成的工具、模組來套,這些程式碼的邏輯他們不一定瞭解。若是用了不夠好的工具,將來就可能跟其他程式碼打架。


2. 工程師

免費範本之中,有的工程師可能原本熟悉的語言是 C 家族、或後端語言,看得出寫的工具,不是用 JS 的邏輯在寫。

對於這類的程式碼,可能全域變數滿天飛,或者到處都是 document.write,總之就是讓 JS 的執行效能低落、或佔用系統資源。



四、拿別的範本改


很多的免費範本,無論是 JS、CSS,都可能看到一大段類似或相同的程式碼,這就可能是拿別的範本來改。版面稍微調整一下、換個名稱,就可以多一個作品出來。

這類的範本,有可能殘存一堆無用的 CSS、或 JS,讓範本體積虛胖,增加伺服器讀取或瀏覽器執行的時間。



五、沒用心製作免費範本


同時出免費版、及付費版的範本,有可能在製作上,會比較用心在付費的版本。

通常範本有了問題,使用者會反饋給作者,那麼作者對於付費版的更新、修正會比較來得快速。對於免費版,就不一定會用心除錯,因此會殘留一些 bug。

如果版型做得漂亮,有其他範本沒有的優點,那麼免費版產生的問題,作者也可以選擇不作為、不解決,讓使用者為了這個版型,只好購買付費版。

例如我在「二、程式碼加密的麻煩」→「範本寫壞了」的這個案例,就是同時有免費版及付費版的。



六、外連檔案


免費範本的另一個地雷,就是 JS/CSS 等外連檔案。就連「Google Drive 都會終止外連功能」,那麼免費範本中使用的外連檔案,你會放心嗎?

哪天外連檔案失效了,可能使用者想半天也沒想到故障的原因在此。而且不要妄想免費範本的作者,會去維護這些外連檔案。



七、最佳建議


1. 購買付費範本

有能力自己解決範本問題、懂網頁語言的使用者,網站套免費範本是 OK 的。

除此之外的使用者,有意發案給本站進行架站的話,為了作業順利,我會建議付費購買範本,相對而言會比較有保障。

而且架站費用根據需求程度,大致為數千到 1 萬,那麼購買範本的費用其實不貴,通常只有幾百元,很多都在 USD 10 以下。除了修改範本方便之外,還能合法去除版權連結,CP 值其實很高。


2. 程式碼不要加密

如果要使用免費範本,那麼為了避免出問題,或是確保有機會修復,以下條件是必須的:

  • 範本中不可有加密的程式碼,才有辦法除錯。
  • 為了確保範本是乾淨的狀態、程式碼沒有執行上的問題,使用「Chrome 開發人員工具」檢查時,不可以有錯誤訊息

free-template-error-使用 Blogger 免費範本(模版),可能需要面對的問題有哪些?

上圖是「Chrome 開發人員工具」的錯誤訊息範例,一共有 4 處,範本的 JS 執行上有問題時,此工具就會報錯。

沒有符合以上 2 個要件的話,建議直接找別的免費範本,以免使用一段時間後,才發現產生了無法修復的問題,將來又要再花費一次架站的時間。


更多 Blogger 範本相關文章:
Viewing all 571 articles
Browse latest View live