電癮院

以初學者的角度,來看待電腦教學這回事。

Tag: google

如何讓Google Bot抓取虛擬主機網頁的頻率變慢?

Google Bot, Crawl, Spider對虛擬主機造成太大的負擔?

一般來說,我們都巴不得Google機器人(Google Bot, Crawl, Spider)來「臨幸」我們的網站,天天來、常常來最好,好好的將我們網站內的資料,收錄到Google的資料庫中,但有時Google機器人太常來造訪,反而會造成我們的困擾…

前一陣子,忽然間我有個網站,流量大減,用「網站管理員工具」看了才發現到Google的機器人,居然無法讀取我的網站,在詢問了虛擬主機商之後,才發現虛擬主機商的程式,把Google Bot的IP位址,給Ban掉設為黑名單了,在請主機商把IP位址從黑名單給移除後,才又正常了。

幾天過後,同樣的情況又再度發生,Google Bot,又進了黑名單了…,經詢問主機商說,Google Bot造成太大量的存取,影響到了主機的運作。

我這個網站,是用Wordpress架起來的,已經運作了一年多,這幾個月以來,瀏覽人數愈來愈多,外掛程式安裝了不少,而且主程式也持續的更新,一直到現在,也變的愈來愈慢了。

我後來在Wordpress,安裝了「Google Bot Bling」這個外掛程式,來觀察Google Bot抓取網站的頻率,如下圖:

change_google_bot_rate-01.jpg

這個外掛程式,每隔一段時間(時間間隔可設定),就會將這段時間,Google Crawl所存取的時間給記錄起來,並且發一封電子郵件給你,從我的這封Log信可以看到,Google Crawl甚至一分鐘會存取個網站三次,如4:56、5:01、5:03。

網路上有教學,說可以設定「robots.txt」,來規定機器人可存取的時間、頻率,例如「Visit-time:0100-1300、Request-rate: 5/1m、Crawl-delay:5」等語法,但實際在Google所提供的robots測試網頁上測試,Google根本就不認識這些語法,換句話說,這些語法並不適用於Google Bot,所以就沒有其它辦法了嗎?

幸好,最後在「網站管理員工具」中,看到了設定的選項,經過設定之後,再來觀察Google Bot存取的頻率,如下圖:

change_google_bot_rate-02.jpg

由上圖可以發現到,Google Bot存取的頻率,已經拉長到2~3分鐘存取一次了,所以我來分享一下,我找到的這個設定方式。

如何減少Google機器人抓取你網站的頻率?

Step 1. 首先,來到「網站管理員工具」,若你還沒有註冊過「網站管理員工具」,就先註冊一下。接著,再點擊〔新增網站〕,來新增你想更改抓取頻率的網站,新增網站時,會需要做一些網站驗證的工作,這部份並不難,先試看看吧。

要注意的是,「Google網站管理員工具」只能針對「網域」及「子網域」來更改頻率,例如:「changyang319.com」或「site.changyang319.com」,若你的網站是「changyang319.com/site/」的話,就只能直接更改「changyang319.com」的存取頻率。

change_google_bot_rate-03.jpg

Step 2. 接著點進你所設定的網站設定檔,接著點擊右上角的「齒輪」圖示,並且點擊選單中的「網站設定」,如下圖:

change_google_bot_rate-04.jpg

Step 3. 接著就可以在「檢索頻率」中看到「允許Google最佳化我的網站(建議內容)」,以及「限制Google的檢索頻率上限」,如下圖:

change_google_bot_rate-05.jpg

Step 4. 接著點擊「限制Gooogle的檢索頻率上限」,就會看到這部份的設定,「低」的意思就是,降低檢索的頻率,所以我們就將滑桿,滑到「最低」的位置,「0.002每秒要求數、500兩次要求間秒數」,最後再點擊〔儲存〕,如下圖:

change_google_bot_rate-06.jpg

Step 5. 在點擊〔儲存〕之後,會出現「已成功儲存您的變更,而該變更在xxxx年xx月xx日前都有效」,原來更改這個設定,是有期限的,每更改一次,可以保持90天,換句話說,如果你想要持續的話,就要在2個多月時,再來這邊更改一次設定。

change_google_bot_rate-07.jpg

在更改了設定之後,網站設定檔會有通知訊息出現,在這個訊息中提到「您的要求將在1到2天後生效」,根據我這次的經驗,根本不需要到1~2天的時間,幾個小時過後,就可以看到效果了,真是太有效率了。

change_google_bot_rate-08.jpg

降低負載的方法-網站必須優化

而在我修改檢索的頻率之後,雖然Google Bot應該不會再被主機商設為黑名單了,但實際上,這並沒有減輕多少主機的負擔,最終我還是被主機商告知,我的網站資源使用量太了。

這時我才明白,主機的負擔,主要來自網站本身,也就是在每一次存取我的網站時,因為網站太龐大,才造成主機資源使用過量,聽的懂我要傳達的意思嗎?

如果網站本身不要那麼複雜,就算Google Bot每分鐘存取3次,也不會造成網站資源使用過量;換句話說,如果網站太複雜的話,就算3分鐘存取網站一次,也會造成網站資源使用過量,因此,「優化網站」,才是我們應該要做的,誰叫我們購買「虛擬主機」,要和別人共用主機呢…

如我前面所述,我使用的是Wordpress架設的網站,經過再修正一些網站本身的設定之後,終於將使用主機的資源,降到可允許的部份了,因此我再來分享了一下我修正的內容,供有需要的朋友們參考。

1. 移除所有會耗費CPU的外掛程式(Plug-in):

最明顯的就是移除JetPack這個非常有用的外掛,這個外掛的流量統計功能,可真是個吃資源的怪獸,若不是自架主機,把它關掉也好,就用採外包的方式,用Google Analytics來取代即可。

change_google_bot_rate-09.jpg

2. 優化資料庫:

安裝WP-Optimize這類的外掛程式,來幫我們刪除資料庫中多餘的資料,來做資料庫瘦身的動作。我自己經過最佳化之後,資料庫減少了近一半的容量,真是不可思議。

change_google_bot_rate-10.jpg

3. 重新安裝Wordpress,或降版本:

更新新版的Wordpress,雖然可以解決一些Bug,並且新增一些功能,但從另一個角度來看,也意謂著主機的負擔也會愈來愈重,因此我認為,如果網站運作的很好,就不要一直的往上升級上去,以免整個網站愈跑愈慢,但如果已經升級上去的話,要如何降版本下來呢?

關於這部份,我並沒有另外去爬文,我個人的做法,是直接從資料庫中,備份文章部份的資料表,然後重新再安新安裝一份Wordpress,最後再把備份下來的資料表,給匯進MySQL資料庫裡。

此外,我們在使用Wordpress時,多多少少都會試用一些外掛程式,直接或間接之間,都會在資料庫中新增不少資料表,如下圖:

change_google_bot_rate-11.jpg

因此,整個Wordpress砍掉重練的另一個好處,就是可以徹底擺脫這些包袱,而獲得重生…

我這個原本跑的很慢的Wordpress,經過這樣的調整之後,網站的速度就變的非常的快,相信這樣對於虛擬主機的負載,應該會小很多吧。

怕被盜帳號嗎?使用「兩步驟驗證」來保護你的Google帳戶吧!

什麼是「兩步驟驗證」登入?

簡單的說,就算你密碼被別人知道了,他也無法登入你的帳戶,這神奇了嗎?這種登入方式,第一道使用的是你原有的密碼,而在第二道則使用一種浮動的「驗證碼」,而這組浮動的驗證碼是透過計算出來的,所以除非金鑰在產生時,就洩露了,要不然是不可能會被破解的。

不曉得你有沒有碰過,在使用電腦時,電腦忽然跳出訊息,說你的帳戶目前在其它的地方登入…

我之前Google帳戶就碰過這種狀況,GoogleMicrosoftFacebook…等等這些帳戶,都是我最重要的帳戶,而且都使用同一組密碼,雖然我設定的密碼非常的複雜,但我沒有想到居然也會洩露出去,因此我做了以下的動作。

我把Google、Microsoft、Facebook、DropboxEvernote…等帳戶,全部修改了密碼,並且各自使用獨一無二的密碼,避免一個密碼被猜到,其它的服務也全都淪陷。

由此可以知道,我必需寫個密碼簿來記下這堆密碼,要不然每個密碼都不一樣,我怎麼可能寄下來,所以我把密碼全都寫在「Google文件」裡的某一個文件中,因此我只要記住Google帳戶的密碼就好,之後若要查詢其它服務的密碼,只要登入到Google文件裡,就可以查到。

但這個方式老實說,還真的蠻困擾我的,直到這個「兩步驟驗證」登入方式的出現,才解決了我的問題,我現在可以同樣使用「同一組密碼」,也不用再擔心被盜帳號,也不用再記一大堆密碼了。

不過這和我們目前「網路銀行」使用的二組「固定」的密碼登入不同,因為就算用100組密碼來登入,只要密碼被側錄的話,管你用幾組,只要是固定的,就一定完蛋,怎麼銀行的腦袋這麼死?

登入Google帳戶,並設定兩步驟驗證

Step 1. 首先,來到「Gmail」的登入畫面,並且登入你的Google帳戶,如下圖:

google_two_auth-01.jpg

Step 2. 點擊右上角的帳號圖片,並點擊所開啟的個人帳面資料中的「帳戶」,如下圖:

google_two_auth-02.jpg

Step 3. 接著先切換到「安全性」頁籤之後,再點擊「兩步驟驗證」的「設定」,如下圖:

google_two_auth-03.jpg

Step 4. 看到Google的兩步驟驗證登入介紹,請點擊〔開始設定〕,如下圖:

google_two_auth-04.jpg

Step 5. 在設定之前,兩步驟證登入之前,若你這部電腦還沒設定為「信任」時,這時會先做手機驗證碼的驗證,請點選「文字訊息(簡訊)」,並點擊〔傳送驗證碼〕,如下圖:

google_two_auth-05.jpg

Step 6. 接著輸入手機所收到的驗證碼,並點擊〔驗證〕,如下圖:

google_two_auth-06.jpg

Step 7. 接著如果這部電腦是家中的電腦,你可以勾選「信任這部電腦」,日後有做任何重大設定的變更時,就不用每次都要做簡訊的驗證,但若你是別人的電腦上,或是外面公用的電腦上,來做兩步驟登入設定時,這個「信任這部電腦」就千萬不要去打勾,最後再點擊〔下一步〕,如下圖:

google_two_auth-07.jpg

Step 8. 來到「啟用兩步驟驗證功能」時,請點擊〔確認〕,這時就會完成啟用的動作,接著就是要來設定兩步驟驗證的細部資料。

google_two_auth-08.jpg

出現「動新連結您的應用程式與裝置」時,請點擊〔稍後再進行〕,如下圖:

google_two_auth-09.jpg

而出現「稍後重新連結您的應用程式」時,請點擊〔確定〕。

google_two_auth-10.jpg

Step 9. 來到「驗證碼」的設定主畫面時,請點擊〔改用應用程式〕,來將目前用簡訊驗證的方式,取代為用Google應用程式來驗證,如下圖:

google_two_auth-11.jpg

Step 10. 接著視你的智慧型手機種類來選擇,並且按下〔繼續〕,若你的手機沒有列出來,也不用擔心,你可以改用在後面會介紹的「桌上型應用程式WinAuth」,或是「USB實體驗證器myPass」來驗證,而無論是想使用WinAuth或是myPass,都還是可以選擇「Android」來進入下一步設定畫面。

google_two_auth-12.jpg

Step 11. 接著會來到「設定Google Authenticator」的頁面,這裡提供了最重要的「金鑰」數值,我們的驗證器應用程式,就是利用這組金鑰,來算出通行的驗證碼的。

google_two_auth-13.jpg

而現在,我們先使用智慧型手機類型的APP軟體,來當作我們的驗證碼應用程式,在下一段教學中,我也會利用桌上型應用程式(WinAuth),以及全景軟體的「myPass」來做示範。

Step 12. 接著我們先打開我們的Android手機,先下載「Google Authenticator」並且開啟它,接著再點擊「掃描條碼」,如下圖:

google_two_auth-14.jpg

Step 13. 接著Google Authenticator會要你選擇一個可以掃描條碼的APP程式,我這邊是使用「QR Droid」這個APP程式,如果你手機裡沒有的相關手機掃描條碼軟體的話,可能要先安裝一下,使用這個條碼掃描軟體來掃描網頁上的QR Code之後,再至Google網頁中的「驗證碼」欄位,輸入Google Authenticator所產生的驗證碼,並且點擊〔驗證並儲存〕,如下圖:

google_two_auth-15.jpg

而經過這樣的設定之後,當我們登入Google帳戶時,就會再多了一個步驟叫「兩步驟驗證」,並且要我們輸入「行動應用程式」所產生的驗證碼,如下圖:

google_two_auth-16.jpg

這時當然是開啟你手機裡的Google Authenticator程式囉!

桌上型應用程式:WinAuth

而由於桌上型的應用程式,是屬於純軟體的,所以並沒有「鏡頭」來讓我們掃描QR Code條碼,自然網頁上這組條碼就沒有用,我們需要的是一組實際的條碼,可以讓我們直接手動輸入到電腦裡面。

但你有注意到那個QR Code條碼下方,有一段超連結的文字「無法掃描條碼」嗎?

只要點擊「無法掃描條碼?」,網頁就會顯示出這組QR Code真實的金鑰內容,如下圖:

winauth-01.jpg

(但很抱歉,我自己這組金鑰,被我打了馬賽克了…)

Step 1. 有了上述的金鑰之後,請打開「WinAuth」這支程式,並點擊〔Add〕,再由選單中點選「Google」,如下圖:

winauth-03.jpg

Step 2. 在「Add Google Authenticator」中,先輸入我們上面所得到的金鑰,並且再點擊〔Verify Authenticator〕之後,將產生出的「驗證碼」,立即輸入到Google的網頁中,並點擊網頁中的〔驗證並儲存〕,若配對正確無誤,再點擊WinAuth中的〔OK〕,如下圖:

winauth-04.jpg

這時WinAuth會出現一個「Protection」的畫面,這是為了避免日後有人開啟你的電腦,並且執行WinAuth程式,來取得你所設定好的驗證碼,所以這邊請在「Password」及「Verify」中,輸入你想要設定的「安全密碼」,日後再開啟WinAuth時,就會要你先輸入這組密碼,WinAuth才會開啟產生驗證碼。

winauth-05.jpg

Step 3. 經過上述的設定,WinAuth就會每30秒產生出一組驗證碼了,如下圖:

winauth-06.jpg

全景軟體的實體USB介面「myPass」

全景的myPass,就像一個USB隨身碟一樣,形狀扁平且防水,只不過只能用來存「金鑰」,不能額外當隨身碟來存資料使用。

mypass-01.jpg

而這個「myPass」並不能單獨使用,而是需要另外再下載一個小程式「myPass2.exe」來配合使用(如下圖),而運作的方式,是這支程式在執行時,會先去讀取USB「myPass」裡的金鑰,再來算出我們所需要的「驗證碼」。

mypass-02.jpg

Step 1. 在下載好myPass2.exe程式,以及將myPass插上電腦之後,點擊myPass2.exe程式右上角的「齒輪」圖示,並從選單中點選「系統設定」,如下圖:

mypass-03.jpg

Step 2. 而每一個myPass可以記憶「兩組」的金鑰,首先我們從「設定檔2」來使用,切換到「設定檔2」的頁籤之後,點選「設定兩步驟驗證碼」,並從「選擇帳戶:」中選擇「Google」,如下圖:

mypass-04.jpg

選擇好「Google」之後,會跳出一個「是否開啟網頁設定兩步驟驗證?」的對話盒,如果你已經照我上一段的教學設定好Google的設定,就請直接點擊〔否〕即可。

Step 3. 接著在「秘密金鑰:」的欄位中,請輸入在上一段中,我們所得到的金鑰資料,最後再點擊〔儲存設定〕,如下圖:

mypass-05.jpg

而在按下〔儲存設定〕之後,會再跳出「是否保存設定檔備份?」的對話盒,這邊如果不需要的話,也直接點〔否〕即可,我是認為不需要保存,因為如果我們將設定檔存下來,就必需要妥善的放好,萬一不小心被有心人士給拿走,這反而失去使用這個兩步驟驗證的機制了。

Step 4. 在設定好之後,就可以按下〔X〕,關閉這個「myPass2設定」的視窗。

mypass-06.jpg

Step 5. 而我們在使用時,因為這個myPass能記憶兩組金鑰,所以我們要先選擇好所要產生驗證碼的「設定檔」,我這邊的例子是使用「設定檔2」,如下圖:

mypass-07.jpg

Step 6. 接著先登入Google帳戶,並且點擊要輸入「驗證碼」的欄位之後,再去點擊右下角「myPass」圖案的「圓型金屬」按鈕,如下圖:

mypass-08.jpg

程式所產生的「驗證碼」就會填入到網頁中,這時再點擊〔驗證〕即可,如下圖:

mypass-09.jpg

手機資料重置、遺失,無法登入怎麼辦?

而使用一段時間之後,可能你不小心將手機的「驗證碼產生器」給移除,或是手機維修之後,資料全部不見,甚至是裝有金鑰的智慧型手機遺失、或myPass隨身碟遺失等,導致連你本人也無法登入你的Google帳戶,那不是很糗嗎?本來是要防賊,結果鎖到自家人…

但別擔心,我們還是可以利用手機的驗證方式,重新取得驗證碼,並且登入Google帳戶,這時我們只要再重新按照上面所教學的步驟,重新再設定一次兩步驟驗證即可,接著請看以下的教學。

Step 1. 首先,在輸入驗證碼的頁面中,點擊最下方的「無法收到驗證碼?」,如下圖:

lose_pass-01.jpg

Step 2. 這時視你可能會有「傳送簡訊至您的備用電話號碼:******」、「我需要Google協助我取回帳戶存取權」等方式,在這邊我使用比較常見的方式,也就是使用「簡訊」的方式來做驗證,請選擇「傳送簡訊至您的備用電話號碼」這個選項之後,再點擊下方的〔使用這個方法〕,如下圖:

lose_pass-02.jpg

在手機收到簡訊之後,將驗證碼填入網頁中,就可以登入Google帳戶了。

Google Adsense廣告忽然消失不見了,該如何恢復?

Google AdSense」廣告忽然不顯示了

Google廣告忽然間不見,這驚嚇指數大概要破表了,就在前幾天時,我忽然發現到我自己的網站,除了我「電癮院」之外,有部份網站的Google內容廣告,居然陸陸續續都消失了,是我被停權了?

不對,我還是可以正常登入AdSense帳號,所以我應該沒有被停權,如果連我這麼「守法」的人都被停權了,那就真的沒有天理了,況且我電癮院的廣告也都還在。但我還是覺得很奇怪,在我的後台也沒有出現任何的警告訊息,一般來說,如果你有任何一篇文章,或是網站有違反規定的話,Google都會先提出警告,並給三天的期限請你解決。

所以我就找了一下網路上有沒有人有和我一樣的狀況,沒想到「完全沒有」,找到的都是一些遭到停權相關的文章,另外也有網友是因為Google AdSense廣告發生異常(他認為的),才讓他的網站的廣告消失,但很怪,我使用AdSense至今,Google的廣告服務好像從來沒發生過任何的異常,所以這個應該是個案。

google_adsense-1.jpg

原本是想說再等等看,看看會不會就正常了,不過等了一天之後,狀況依舊,這時非得要想辦法要寫信給Google問看看是發生什麼事了,後來我就在Google Adsense的後台,找到和Google聯絡的方式,我就是透過以下的步驟,來送出我的問題:

Step 1. 先登入Google Adsense之後,點擊右上角的「說明」,接著在跳出的「搜尋說明」中,點擊「說明中心 (https://support.google.com/adsense/?hl=zh-Hant)」。

Step 2. 來到「Google Adsense說明中心」中,請再點擊右上角的〔與我們聯絡〕,如下圖:

google_adsense-2.jpg

Step 3. 最後再根據Google所提供的問題類別,來提出你的問題即可。

google_adsense-3.jpg

我在用線上的表單送出了我的問題之後,Google網頁上的訊息說,他們會在24~48小時內回覆我的問題,我心想真有可能這麼有「效率」嗎?

我之前透過Facebook的表單,送出解決我帳號停權的問題,結果…「石沉大海」。

我曾經也有寫信去Apple公司,詢問有關我在「iTunes」所購買電影消失的問題,後來蘋果公司約是在2~3天後才有人回覆,這個結果跟Facebook公司比起來,我已經是很滿意了。

只是沒有想到,這次寫了意見給Google,沒想到約在一個工作天的時間之內,我就收到Google的來信了,Google的效率真的很快,信中的內容提到說,Google Adsense程式會一直在網路上監控所有廣告顯示的行為,以防止有網友違反規定,而我這次網站會忽然被停止播放廣告,應該是軟體的誤判,他們感到很抱歉,並已經將我的網站再次加入廣告的服務,並提醒我在重新加入廣告後,Google廣告會在48小時內,才有辦法重新再放送,看到Google的信件之後,我這才鬆了一口氣,還好不是我的問題。

大約過了一天,不止是這個提交出去網站已經恢復顯示廣告,沒想到連同我其它一些沒顯示廣告的網站,Google也都一併幫我恢復了,真的是太感謝了。

如果有人也跟我一樣,也發生了同樣的問題的話,建議你也可以寫信去詢問一下Google,這樣問題會比較快解決。

Powered by WordPress & Theme by Anders Norén