J Solutions 是少數把 SEO 的原則運用在網頁設計上的香港網頁設計公司,也是少數提倡遵照網頁標準的公司。我們不捆綁客戶,系統的擁有權全歸客戶。J Solutions 亦致力把正確訊息宣揚,令消費者選用最合自己需要的網頁設計公司和方案,如果你有興趣和本網站交換連結,請
寄電郵提出。
Google 剛推出了一個新工具 Sidewiki,用家只要安裝了Google Toolbar,就可在任何網頁上留言,亦可閱讀其他人在同一網頁上的留言。Google 認為這工具有助提供更多更有用的資訊給用戶。
舊酒新瓶
以第三方工具形式,讓用家在任何網頁上留言的意念亳不新鮮,早在1999年已有類似服務 Third Voice。為什麼以前沒有成功?原因是需要用家登記並安裝瀏覽器插件,以前瀏覽網頁的速度已很慢,更要用插件,慢上加慢當然不受歡迎。後期也有一些公司嘗試,最有 web 2.0 網站感覺的是 Diigo,把 bookmark + content highlight 等設計成個人學習工具,分享評論次之,我相信用戶也以此為主要用途。
時至今日要在網站加入和訪客交流的功能真是易如反掌,免費的留言版、論壇程式或者服務不缺,就算想做到即時回應, Live Chat 、Helpdesk 等也有大量供應商,網站若果未有提供和用戶交流的工具,並非技術和成本問題,而是怕沒時間管理。
Blogger / Webmaster 為什麼不喜歡 Google Sidewiki
用 webmaster 的角度看,Google Sidewiki 帶來的麻煩比好處更多,如前述交流的渠道根本不缺,為什麼要多此一舉呢?Buzzmachine 上的討論相當激烈,筆者嘗試歸納他們關注的問題:
- Google 「偷取」了網站的用戶評論,評論是網頁內容的一部分,而且對受歡迎的網誌來說更是非常重要的部分
- 強制參與,不論你喜不喜歡
- 必須安裝 Google Toolbar
- webmaster 對留言完成沒有監控權,縱使看到惡意評論、廣告等也只可向 Google 提出,會否處理、有沒有時間處理成疑
- 有人在網站留言後沒有通知機制,難以處理回應
- 某些人可能錯以為 Google Sidewiki 是網站的一部分,或者以為 Sidewiki 是網站使用的留言服務,讓立心不良的人有機可圖,例如在慈善網站上留言叫人捐助騙財
目前為止 webmaster 可以做的是向 Google 表明網站擁有權,從而可以在 Sidewiki 上留下一個置頂的訊息。
個人認為最終 Google 會提供一些 API,令留言可以集中在網站指定的地方,如 WordPress comment 或其他留言系統的服務令管理較易,但若果網站希望可以退出或者刪除 / 審核留言內容,估計機會很渺茫。
惡意留言、廣告、欺詐
Google 對處理惡意留言、廣告、欺詐訊息問題相當有信心,認為其系統可以杜絕以上問題,我不下結論,不如大家去 Youtube 上看看,你覺得他們做得出色嗎?在英國已有人試用 Sidewiki,在《每日郵報》網站上叫人轉看《衛報》。我估計很多以打廣告為生的公司已蠢蠢欲動,國內很多用戶上不到 Youtube 網站,不過 Google Sidewiki 絕對是商機無限。如果你經營一個商業網站,自然不希望競爭對手的訊息出現在自己網站之上。但使用 Sidewiki 很易令人有機可乘。事實上不一定要到直接的競爭對手網站上留言,假如我經營印囍帖的生意,我大可以到婚禮相關行業的網站上留言打廣告。
賈君鵬事件中,可見有些公司玩「馬甲」已玩到出神入化,難辨真偽,而寫軟文偽原創是國內做 Internet Marketing 的基本模式,你認為 Google 有多少能力打勝這場仗?又願意付出多少保障網站的權益?
Sidewiki 會成為主流嗎
寫這篇文章之時我很留意究竟有沒有人利用 Twitter 製作同類服務,目前已找到2個。這一類不需要網站安裝,利用既有服務,把留言討論功能加在網站的服務看來是方興未艾,究竟會否受用家歡迎,變成日後留言討論的集中點仍是未知知數,希望筆者和眾 webmaster 的想法只是杞人憂天。
筆者不是 RSS is dead (大意是 RSS 的功能已被 Twitter 取代,因後者更快) 的支持者,RSS 仍是我日常獲取資訊的主要渠道。不過若把 WordPress 作為網站 CMS 的情況下,RSS 則並非必要。要關閉 WordPress 的 RSS 功能,最好要做到「內外兼顧」。
關閉 RSS feed 輸出功能
首先從內部入手,令 WordPress 不會輸出 RSS feed。WPengineer 教大家使用 WordPress 的 hook ,指示系統取消 RSS feed 輸出,辦法是在 template 的 functions.php 檔案 (如果 template 沒有這檔案可以自行創建),加入以下 function:
-
/**
-
* disable feed
-
*/
-
function fb_disable_feed() {
-
wp_die( __(‘No feed available,please visit our <a href="’. get_bloginfo(‘url’) .‘">homepage</a>!’) );
-
}
-
-
add_action(‘do_feed’, ‘fb_disable_feed’, 1);
-
add_action(‘do_feed_rdf’, ‘fb_disable_feed’, 1);
-
add_action(‘do_feed_rss’, ‘fb_disable_feed’, 1);
-
add_action(‘do_feed_rss2′, ‘fb_disable_feed’, 1);
-
add_action(‘do_feed_atom’, ‘fb_disable_feed’, 1);
由於這方法是在 template 檔案上實行,因此必須謹記當改用另一個 template 時,必須在新 template 中加入相同 function。另外,template 內 RSS 相關的連結也需要去除。
刪除 Template 內所有 RSS feed 的連結
網頁上顯示的 RSS feed 連結相信大家也可輕易移除,不過有一些「隱藏」的連結,則會透過瀏覽器而被發現,例如 Firefox 就有 RSS auto-discovery 功能,雖然開啟這連結也只會顯示錯誤訊息,但最好還是把這些「隱藏」連結一併移除。
首先要刪除 template (通常是 header.php) 內以下的代碼 (如有)
-
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="<?php bloginfo(‘rss2_url’); ?>" />
-
<link rel="alternate" type="text/xml" title="RSS .92" href="<?php bloginfo(‘rss_url’); ?>" />
-
<link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="<?php bloginfo(‘atom_url’); ?>" />
某些 template 使用 wp_head() 來加入網頁 head tags 的內容,如果刪除 template 中的 wp_head() 則會同時刪除其他有用的資訊。其實可以用上述關閉 RSS feed 輸出的方法,來設定 wp_head() 令其只會不輸出 RSS feed links 但保留其他資訊,方法是在 functions.php 上加入:
-
remove_action( ‘wp_head’, ‘feed_links_extra’, 3 );
這樣就可以完全刪除 RSS 的連結了。
最近比較忙,偷空分享一個 WordPress 的小技巧。
WordPress 用家應該都知道,每篇文章都可加入標籤,方便讀者找到題材相近的文章。如果可以在網頁上顯示這些文章的標題和連結,製作成一個列表,相信對讀者很有幫助,亦可增加網誌的 Page View。筆者以前介紹過用分類 (Category) 製作「相關文章」列表,今次改用標籤來做,而另一個不同之處是把這列表放在側欄上。放在側欄和放在文章內容下方有什麼不同呢?答案是絕大部分 Template 中,前者是 The Loop 完結後才運行,而很多 template tags 是只可用在 The Loop 之中,如果你發現以前修改 template 時常常遇到問題,很可能是沒注意到這問題,故亂把內文一些元素移到側欄之上。
要以相同標籤製作「相關文章」列表,首先當然要獲取文章的標籤,可使用 get_the_tags(post_id) 這個 function:
-
-
<?php
-
-
$alltags = ”;
-
$posttags = get_the_tags($post->ID);
-
if ($posttags) {
-
foreach($posttags as $tag) {
-
$alltags . $tag->name . ‘,’;
-
}
-
}
-
?>
-
以上方法可取得文章所有標籤,每個標籤用,分開,用意是之後顯示包舍上述任何一個標籤的文章,如果希望顯示包括所有標籤的文章,則用+號分隔。
之後可用以下方法抽取相關文章,特別要注意的是用 get_posts function,這 function 用於 The Loop 之外。
-
-
<?php
-
-
‘numberposts’ => 5,
-
‘post__not_in’ =>
array($post->
ID),
-
‘orderby’=>‘rand’,
-
‘tag’ => $alltags
-
);
-
$myposts = get_posts($args);
-
foreach($myposts as $post) {
-
-
the_permalink();
-
-
the_title();
-
-
}
-
?>
-
以上幾個 arugments,意思分別是顯示5篇相關文、不顯示目前這篇文章及隨機顯示,另外需要設計只有獨立顯示一篇文章時,才使用這功能。