2009年11月1日 星期日

HTML再接再厲(十一):META旗標

啥!META!沒聽過!

許多網友可能沒有聽過META旗標,如果你使用 "所見即所得(WYSIWYG)" 的HTML軟體,更會覺得 "鴨子聽雷"、"不知所云"。的確如此,因為META旗標是放在網頁的"頭部" — HEAD旗標 內,其內容不會顯示在瀏覽視窗內,讓你幾乎忘了它的存在。大部份的META旗標設定與搜尋引擎有關,內容也比較枯燥;不過,有一個指令倒是蠻有用的 — 重新下載(refresh),就拿它做為本單元的開場。

重新下載

如果你有逛過一些財經網站或運動網站,大概會發現:它們都提供"即時消息",每分鐘自動更新網頁一次,以顯示當時的股價、指數或是比賽成績等等……。

這是怎麼做到的?你知道若你要重新下載網頁,每次都得點選工具列上的重新下載按鈕(Refresh, Reload)啊!若果真如此,你可能得在你的網頁上加上一段紅色的提示文字,請每一位網友們每分鐘自已去點選一次重新下載才行,雖然有點兒殺風景,不過也不失為方式之一!

自動更新

自動方式非常簡單,我在這兒提供語法,你就 複製及貼上 到你的網頁即可。語法如下:

<META HTTP-EQUIV="refresh" CONTENT="15">

你要做兩件事:

  • 把它放在網頁的"頭部" — HEAD旗標內。
  • 設定合適的秒數,上例為每15秒重新下載(refresh)網頁一次。再舉個例子,你若希望網頁每五分鐘自動更新一次,就設定CONTENT="300"。

提醒:若你的網頁內容是固定的,就沒有必要設定自動更新。即使設定了自動更新,網頁內容也不會改變。

手動更新

手動更新不屬於META旗標,也不用放在網頁的"頭部",你可以放在網頁的任何一個位置。試試底下的連結:

重新下載

其語法如下:

<A HREF="javascript:history.go(0)">重新下載</A>

這個方法是呼叫HTML內建的爪哇語法,(javascript):history的意思是歷史,將其設為0的意思是當它是全新的,在硬碟中沒有暫存的快取檔(cache);go的意思就是去把網頁拿來,因為是全新的,所以只能從網站上重新下載了。

你也可以裝個按鈕,效果是相同的:

其語法如下:

<INPUT TYPE="button" onClick="history.go(0)" VALUE="重新下載">

轉址服務

個人網頁通常都會在網路上找個免費空間,有時候"家"建好一陣子了,才發現"誤入賊窩",例如:該空間連線頻寬不足、經常當機而連不上,或是該空間的廣告打太凶而佔去太多版面等等,無奈何只好搬家了。但是之前已辛苦登錄了一大堆搜尋引擎,發了無數e-mail給親朋好友,再重頭來一次或是另發一次遷移啟事實在太麻煩了!這時候,較好的解決方法是保留原網站的首頁,在上面登個喬遷聲明及新址連結以導引網友。若是怕網友懶得點選新址連結,利用自動更新做為轉址服務,無疑是增加了一層保障。例如:蝠蝠洞首頁曾設於PCHOME免費空間及Yahoo!Geocities免費空間,那麼在舊的蝠蝠洞首頁就加上自動更新的語法如下:

<META HTTP-EQUIV="refresh" CONTENT="3;URL=http://alfredcave.blogspot.com/">

通常設定3~10秒以顯示一小段搬家訊息,你也可以設定為0秒,立即轉址。

META與搜尋引擎

許多網站提供了搜尋服務,它們是怎麼知道這個世界上的網頁呢?其實,它們所知的極其有限,像是Google登錄了數十億篇以上的網頁,Yahoo登錄了數百萬個以上的網站,但據估計仍不及網際網路上的內容十分之一。META旗標就是來協助這些搜尋引擎,並且協助網友們找到你的網站,增加你的網站流量。

首先非常簡略的區分搜尋網站的登錄方式,第一種是人工登錄,最著名的例子是Yahoo,它聘有專人審核和分類從全世界寄去的登錄申請,是以每個網站為登錄主體。第二種是派出 "小機器人",定期 "爬" 過網際網路,其中翹楚為Google和AlltheWeb,是以每篇網頁為登錄主體。目前,搜尋網站多半同時採取兩種方式,它們的核心搜尋引擎功能也大同小異,主要的區別在其資料庫的容量大小。

但無論登錄的是網站或網頁,在搜尋網站的資料庫中都要以一些關鍵字(Keywords)做為網頁索引,也要存一小段網頁描述,與其讓搜尋引擎"猜"你的網頁有些什麼,不如你用META旗標直接告訴它,互利互惠嘛!

每個關鍵字用逗號(,)隔開;最好不要加上空白,例如:"key word keyword",因為有些搜尋引擎會將它們視為三個不同的字,有些搜尋引擎會把它們當成一個字(視空白為一個字母)。理論上,你可以加上無數個和你的網頁有關的關鍵字。

過去,有些搜尋引擎會比對網頁中的關鍵字出現的次數作為搜尋結果的排行順序,那麼豈不是輸入一大串相同的關鍵字,例如:"key,key,key,key,key,key,key,key,key,……,etc.",就可以讓你的網頁排在最前面的搜尋結果了呢?錯了!現在的搜尋引擎恨死了這種方式,它會將這種"作弊"的登錄從資料庫中刪除,轉列入黑名單上面。你也不能用八竿子打不著的詞彙做為關鍵字,例如:"Yahoo"經常被搜尋,你就以"Yahoo"為關鍵字,其實你的網頁壓根沒提到Yahoo,這樣的行為也會被列入黑名單。

製作軟體

語法如下:

<META NAME="generator" CONTENT="Notepad">

我不知道它的真正目的是什麼,用Notepad不見得比較笨,用Dreamweaver也不見得比較有錢。不過大部份 "所見即所得(WYSIWYG)" 的網頁製作軟體都會自動(偷偷)加上這行字。

關鍵字

語法如下:

<META NAME="keywords" CONTENT="key,word,keyword,關鍵字">

網頁內容摘要

語法如下:

<META NAME="description" CONTENT="好棒的網頁啊!">

如果沒有這行指令,通常搜尋引擎都會以網頁的前廿五字做為網頁內容摘要,列於搜尋結果上。有時候網頁的前廿五字只是一些不能代表網頁的內容,例如:日期、時間、向大家問好……等等。最好的方式就是由你來提供網頁的內容摘要。

作者、版權、有效期間……

語法如下:

<META NAME="author" CONTENT="艾爾弗烈德">

告訴搜尋引擎這篇網頁是由誰製作的。

<META NAME="copyright" CONTENT="本網頁著作權屬艾爾弗烈德所有">

告訴搜尋引擎這篇網頁是……你知道嘛!

<META NAME="expires" CONTENT="31 December 2002">

告訴搜尋引擎這篇網頁何時需要從登錄資料庫中刪除。

<META NAME="distribution" CONTENT="global">

告訴搜尋引擎這篇網頁是全世界性的。

<META NAME="revisit-after" CONTENT="30 days">

告訴搜尋引擎30天之後再來一次這篇網頁,也許要重新登錄。不過現在的搜尋引擎都很有主見,不見得會聽你的話。

<META NAME="robots" CONTENT="all">

告訴所有的搜尋引擎的"小機器人",來登錄這篇網頁吧!不過現在的搜尋引擎都很有主見,不見得會聽你的話。

<META NAME="robots" CONTENT="index, noarchive">

告訴所有的搜尋引擎的"小機器人",來登錄這篇網頁吧!不過不要製作庫存網頁。

<META NAME="robots" CONTENT="noindex, noarchive">

告訴所有的搜尋引擎的"小機器人",不要登錄這篇網頁,也不要製作庫存網頁。

<META NAME="expires" CONTENT="-1">
<META NAME="pragma" CONTENT="no-cache"> (僅IE適用)

告訴瀏覽程式不要將這篇網頁放在電腦暫存檔中,當然同時告訴搜尋引擎這篇網頁不需要登錄至資料庫。

最後的叮嚀

我們在前面說過:MATA旗標要放在網頁的"頭"部,頭部很大呢!到底放在那裡呢?通常是放在TITLE旗標的下一行,讓搜尋引擎的 "小機器人" 知道本篇網頁的標題,然後再登錄相關內容。

你也可以主動登錄你的個人網站資料至各大搜尋引擎網站,不過它們是否接受就不一定了。通常英文的搜尋引擎網站會有 "Submit it" 的字樣,點選後進入登錄畫面;中文的搜尋引擎網站會有 "登錄網站" 或 "推薦網站" 的字樣,點選後進入登錄畫面。

此外,若你現在才加上META旗標,而你的網頁已經送至各大搜尋引擎登錄,是否可以重新登錄,就要看它們的政策了,也沒有一定的規則。

本文配合HTML 4.0撰寫,新版HTML均可向前相容。

0 留言:

張貼留言