發表文章

為了SEO,我需要在競爭對手的網站上分析哪些內容?

圖片
在評估競爭對手的 SEO 技術時,請記住,如果只專注於他們在做什麼對他們有用的事情,那麼您就會忘記建立更好和原創的東西。 搜尋引擎不需要「副本」 如果您試著依樣畫葫蘆做出類似的文本、設計元素、內部鏈接、架構並獲得相同的反向鏈接,那麼搜尋引擎就更沒有理由顯示您的網站。 為什麼?因為搜尋引擎不需要同一頁面的兩個版本。 如果您添加那些內容是因為競爭對手擁有這些內容,密切模仿他們的成功,那麼您實際上只是在承認他們擁有更好的內容、設計或體驗。 關注他們遺漏的內容或他們正在做哪些與搜尋意圖無關的事情,並始終追蹤他們和您自己的改動。 搜尋引擎只需要其網站的一個版本。如果你創造了更好的體驗,這可能意味著你脫離了那些相似的副本設計,你可能會在榜首位置擊敗它們。 網站架構 也許改善架構並不會讓你的SEO變好,但你可以觀查別人是如何運用架構來拓展自己的相關內容,讓網站更豐富。並試著分類並找到適合自己的架構去拓展內容: 產品頁面。 部落格文章。 登陸頁。 常見問題和資訊。 其它。 另外,你也可以從 menu、sitemap、robots.txt 查看他們優先考慮哪些資料夾和頁面,他們主打哪些關鍵字和主題,以及哪些對他們來說不重要。您可能會發現沒想到的新短語和關鍵字,以及建立您自己網站的更好方法。甚至可以為新的 PPC 活動提出想法。 專有名詞 另外,解釋人們已經知道的事情會浪費他們的時間。如果人們想要知道更多資訊,您絕對可以使用行話之外的內部連結指向專門的帖子,然後他們看完之後可以返回上一頁。這並不是讓使用者操作變麻煩,而是讓有需要的人再去觀看就可以的設計,而且這種方式「可以讓需要的使用者多看一頁」,更可以豐富你的網站內容。 請永遠要記得你的目標是讓使用者更深入了解你的網站,而不是讓他們看一頁就跑了。看的頁面越多,對你的業務感興趣的機率越大。 言下之意就是不要看到很酷炫的更多資訊跳出來,就跟風去一起用,並不是每個網站都適合。

各網頁會互相影響SEO

圖片
其實這件事大家心裡應該都有個底,但沒有百分之百的證據,而Google對於流量下降的解說有些許的更新,我們可以從中觀察出網站內的網頁是會互相影響的。 流量下降的解說更新 請記住,排名不是靜態的。Google的搜尋結果本質上是動態的,因為開放網路本身隨著新的和更新的內容而不斷變化。這種持續的變化可能會導致自然搜尋流量的增加或減少。 排名小幅下降 小幅下降是指頂部結果中的排名發生小幅變化(例如,排名從 2 下降到 4)。在 Google Search Console 中,可能會看到流量大幅下降,但曝光總數卻沒有大幅變動。 位置的小波動可能隨時發生(包括返回位置,而無需執行任何操作)。事實上,如果您的頁面已經表現良好,Google建議避免進行徹底的更改。 排名大幅下降 排名大幅下降是指您發現多種術語的排名前十的結果顯著下降(例如,排名從前 10 下降到第 29 位)。 在這種情況下,請對整個網站(而不僅僅是單一頁面)進行整體自我評估,以確保它有用、可靠且以人為本。如果您對網站進行了更改,則可能需要一段時間才能看到效果:某些更改可能會在幾天內生效,而另一些更改可能需要幾個月的時間。例如,Google的系統可能需要幾個月的時間才能確定某個網站現在正在產生長期有用的內容。一般來說,您可能需要等待幾週,再次在 Google Search Console 中分析您的網站,看看您的努力是否對排名位置產生了有益的影響。 請記住,Google無法保證您對網站所做的更改會對搜尋結果產生明顯影響。如果有更多高品質的內容,它的排名將會繼續在SERP中領先。 不實用內容的影響 再加上之前提到的,Google有在 實用內容和 Google 搜尋結果常見問題 中提到:移除不實用的內容,是否能提升我其他內容的排名? 我們的系統主要是在網頁層級運作,以便盡可能顯示最實用的內容,即使該內容所在網站同樣代管不實用的內容也不例外。話雖如此,要是網站中有特別多不實用的內容,可能會讓網站的其他內容在 Google 搜尋中的成效降低,但影響程度不一。移除不實用的內容,可能有助於提升其他網頁的成效。 結論就如同開頭所說的,網站內的網頁是會互相影響的。

10 steps、「ライブ会場を沸らせる、フロアを沸かす」ミーム動画の作り方 (Viggle AI)

圖片
日本近期流行的「ライブ会場を沸る」或是稱為「フロアを沸かす」的迷音AI短片,是怎麼製作生成的?下面我們用英文和影片帶你一步一步做,完全不用動腦。 (続いて英語でステップバイステップで説明します。操作手順動画も用意しているので、頭を使わずに簡単にできます。) 操作步驟 steps: Enter to Viggle AI's Discord server (https://discord.gg/viggle). Select any of these rooms named "animate" and click to enter. Type "/" to bring up a list of commands. Select "animate" from the list of commands. Upload your image. motion_prompt: type "$lil_yachty_stage_entrance". background: select "From template". finetune: select "On". Hit Enter or click on the submit button to send the command. Wait for approximately 1 to 5 minutes for the AI animation to be generated. 日本語操作手順: Viggle AIのDiscordサーバーに入る(https://discord.gg/viggle)。 任意の「animate」ルームを選択して、クリックして入る。 "/"を入力して、コマンドのリストを表示し、「animate」を選択します。 コマンドのリストから「animate」を選択します。 画像をアップロードします。 motion_prompt: "$lil_yachty_stage_entrance"を入力します。 background:「From...

用color-scheme和light-dark()寫出更彈性的dark mode

圖片
dark mode 的CSS寫法一直以來都不是很方便,在偵測使用者作業系統是不是dark mode的時候,我們可以用prefers-color-scheme來另外寫一套CSS。現在多了另一種寫法 light-dark() 。 prefers-color-scheme prefers-color-scheme寫法如下,當然還有很多東西要考慮,例如border、hightlight…等等,但為了方便說明,只用文字和背景顏色舉例。 :root { --text-color: #333; --background-color: #eee; } @media (prefers-color-scheme: dark) { :root { --text-color: #efefef; --background-color: #222; } } 新的語法 light-dark() light-dark()可以搭配color-scheme使用達到自動偵測使用者作業系統是不是dark mode: :root { color-scheme: light dark; --text-color: light-dark(#333, #efefef); --background-color: light-dark(#eee, #222); } 除此之外,還可以用input讓使用者自己選擇要不要用dark mode: :root { /* 偵測使用者作業系統 */ &:has(input[name="scheme"][value="light dark"]:checked) { color-scheme: light dark; } /* 不用 dark mode */ &:has(input[name="scheme"][value="light"]:checked) { color-scheme: light; } /* 使用 dark mode */ &:has(input[name="scheme"][value="dark"]:...

2024年Google的核心和spam更新

Google一直致力於減少無益和非原創內容,近期更是如此。 根據Google官方的評估,結合此次更新和先前的努力,搜尋結果中的低品質、非原創內容將減少40%。若再加上核心更新可能會有大量的排名波動:Google宣稱,由於這次更新相當複雜,相較於一般核心更新,排名的波動更大,因為不同系統會全面更新並相輔相成。 大規模內容濫用 Goole 試圖禁止那些使用自動化工具產生的內容來操作搜尋排名,無論是 AI 還是真人都抓。 例如,提供的內容假裝有答案,但其實對使用者沒有用。 網站聲譽濫用 即受信任的網站託管低品質的第三方內容,以利用託管網站的良好聲譽。 除此之外,Google 也稍微降低了「連結」的重要性。 不再強調連接「重要」 Google的SEO指南的內容有稍做修改: 舊版本:Google uses links as an important factor in determining the relevancy of web pages. 新版本:Google uses links as a factor in determining the relevancy of web pages. 為連結操作所建立的內容 強調內容如果是為了操作連結和其它排名訊號,是沒有用的。 我們姑且猜測這句話的意思是PBN(一個專門為連結到另一個網站並提高其自然搜尋可見性而創建的網站。這個想法是「饋送」網站將連結資產傳遞回主網站,這將提高其權威性,從而提高其排名能力)。 與傳出連結相關的新訊號 任何意圖操縱 Google 搜尋結果排名的連結都可能被視為垃圾連結。這包含任何操縱指向您網站的連結或從您網站發出的連結。 結論 Google除了注意到AI工具的濫用之外,也對於連結好壞的判定更嚴格,甚至不惜降低重要性。 除了劣質的反向連結之外,刻意操作的反向連結和濫用的內部連結也會被Google抓出來重新審視。至於方法和判斷基準,還是那句老話:「對使用者有用、可解決使用者問題」。而反向連結也是很理想的看法:內容很優質,自然會有人分享你的網頁。 以上內容,我想我們可以濃縮成「使用者意圖」與「不要濫用排名訊號」。在AI技術越來越發達的現在,真正能提供使用者想要的訊息或解方的網頁內容,才是最重要的。 相關連結 Google處理搜尋中的垃圾內容、低...

破解Content Decay SEO的迷思

圖片
你維護的網站的網頁數是否有上千頁或上萬頁?如果答案是YES的話,一定會存在History SEO這個問題,因此會有人提出許多意見。 什麼是History SEO? History SEO並不是一個官方正式的名詞,你可以想成網站長久維護下來產生的重覆內容、錯誤資訊、已經沒有在經營的產品……等等所產生的SEO負面問題。 另外,爬蟲的效能也有限,這也是為什麼網頁速度很重要的原因,速度越慢,爬蟲每天在你的網域爬到的頁面數量就越少。因此,也有人會有網站瘦身的想法。 為何要重視這個問題?根據 Google的常見問題 之中,有一段話寫得很明確: 移除不實用的內容,是否能提升我其他內容的排名? 我們的系統主要是在網頁層級運作,以便盡可能顯示最實用的內容,即使該內容所在網站同樣代管不實用的內容也不例外。話雖如此,要是網站中有特別多不實用的內容,可能會讓網站的其他內容在 Google 搜尋中的成效降低,但影響程度不一。移除不實用的內容,可能有助於提升其他網頁的成效。 常見的例子就是官方新聞稿或是blog文章,這些網頁可能代表著整個企業的歷史軌跡,刪除是不被高層主管允許的,所以不得不留下來。因此產生一些改善做法: 1. 更新內容 我認為這是最有效的方法,如果主管同意的話。 2. 網頁合併 相似內容且意圖相同的網頁可以考慮合併,但此種方法的困難點除了轉址之外就是主管同意的可能性很低,畢竟合併也代表有網頁會被刪除。 3. canonical 將相似或相同意圖的網頁用canonical指向同一個網頁,可以解決許多問題,但這樣做其實不完全正確,如同下面 John Mueller 所說的一樣,不如直接重定向。 但相對的,非常耗費時間,你必須決定哪些網頁需要canonical到別的頁面,而那個目標頁面又是哪一頁。而且,有一些人認為(未必正確),太多canonical指向的那個目標頁面,會讓爬蟲覺得好像沒有那麼重要,或是刻意操作。 4. noindex 不讓這些網頁出現在搜尋結果中。 5. unavailable_after 設定日期,讓爬蟲知道這個頁面在設定的日期之後就已經不重要了,這個設定也不會在日期之後出現在搜尋結果中。使用方法可以參考Google的 說明文件 。 6. robots.txt 有些人認為(未必正確),爬蟲的效能有限,所以會想在...

主題群集(Topic Cluster)將會因SGE(AI Overview)越來越重要

圖片
什麼是主題群集?有什麼好處? 主題群集(Topic Cluster)是為了讓網站關鍵字優化和結構更完整的SEO策略,又稱為內容叢集或pillar-and-cluster,通常會選取一個主要關鍵字編寫網站的核心主題,內容提到許多次要關鍵字,而這些次要關鍵字也編寫與其相關的內容主題網頁(支柱內容,Pillar Content),並和主要關鍵字的頁面建立內部連結。就像在建造房子一樣,梁柱越多越穩固,也間接提升了網站的可信認度與權威度。 主題群集的做法行之有年,在2017年就已經由HubSpot Research率先提出。主題群集能避免將大量主題塞在同一頁中,分散和歸類各種主題形成支柱內容,優化網站內容架構,讓使用者閱讀起來方便一點。 再簡單一點來說,核心主題、相關的補充內容(支柱內容)與讓它們互相連結起來的超連結,這三樣東西就是主題群集的一切。 為什麼主題群集越來越重要 因為SGE(2024年中改稱為AI Overview)的興起。其實不止如此,Bing Chat(Copilot)和 Gemini 的興起也會影響。 SGE(Search Generative Experience)是Google的「生成式搜尋體驗」,它能讓使用者能簡單又快速地了解某個人事物,並提供相關連結,讓使用者能因其需求選擇要不要點擊進去更深入地探索問題。除此之外,SGE因其對話式的架構,讓使用者可以繼續詢問相關問題。 這是不是和主題群集很像?不論是相關連結或是繼續詢問,都跟支柱內容有異曲同工之妙。 結論 主題群集的SEO做法行之有年,能對網站SEO優化是大家所公認的,內容寫的好,將會為網站在該領域建立領導地位與權威性的形象,無論如何做了都不會吃虧,還有機會提高獲得SGE青睞的機率。另外,也不要輕忽零搜尋量關鍵字的重要性。 「適度地」延伸網站的支柱內容,並在這些頁面深入探討這些次要主題,也許是情境,也許是知識,讓自己的網站架構就像是座堡壘一樣。

Google reCAPTCHA server端PHP的寫法(v2、v3)

v3版本 $msg = array(); $secret = 'your_secret_key'; $gRecaptchaResponse = isset($_POST['g-recaptcha-response']) ? $_POST['g-recaptcha-response'] : null; $ip = $_SERVER['REMOTE_ADDR']; $domainName = $_SERVER['HTTP_HOST']; include_once ("recaptcha/src/autoload.php"); $recaptcha = new \ReCaptcha\ReCaptcha($secret); $resp = $recaptcha->setExpectedHostname($domainName) ->setExpectedAction('homepage') ->setScoreThreshold(0.5) ->verify($gRecaptchaResponse, $ip); if ($resp->isSuccess()) { // $msg['ending']=$resp->toArray(); } else { $errors = $resp->getErrorCodes(); $msg['ending']='recaptchaFail'; $msg['recaptcha']=$errors; echo json_encode($msg); exit(); } 其中,autoload.php是 官方在github 給的檔案: /* An autoloader for ReCaptcha\Foo classes. This should be required() * by the user before attempting to in...

用PHP搭配Cloudflare Turnstile CAPTCHA

網路上有許多機器人驗證的替代方案,這裡介紹與 Google reCAPTCHA 寫法幾乎一樣的 Turnstile 給大家嘗試看看。 下面的寫法給各位參考: 後端PHP傳送與接收資料 與 Google 一樣,將query「response」與「secret」丟過去就可以了(範例多了「remoteip」,這個不一定要有)。 // captcha.php $captcha = $_POST['cf-turnstile-response']; $secretKey = 'your_secret_key'; $ip = $_SERVER['REMOTE_ADDR']; $url_path = 'https://challenges.cloudflare.com/turnstile/v0/siteverify'; $data = array('secret' => $secretKey, 'response' => $captcha, 'remoteip' => $ip); $opts = array( 'http'=> array( 'method'=> 'POST', 'content'=> http_build_query($data) ) ); $query = stream_context_create($opts); $result = file_get_contents($url_path, false, $query); echo json_encode($result); // 如果你想在後端直接判斷有沒有成功 $array = json_decode($result, true); $success = $array['success']; if($success){ // 驗證成功 }else{ // 驗證失敗 } 後端PHP這樣寫沒有問題,但資料回傳到前端JavaScript問題就出現了。 前端JavaScript接收Object $.ajax({ type: ...

違反Google AdSense廣告政策,網頁會在SERP消失

圖片
若你的網站違反 Google AdSense 的廣告政策,你的 Google AdSense 介面會出現警告,也會收到 email,並要求你必需在期限內「申請審查」。 也因為如此,我的某些網頁在 SERP 中消失了(它並不會告訢你哪個網頁有問題,只會說網域),這讓我必需立即著手改善,但我該怎麼做? 判斷違規的原因 首先,我去 政策中心 找尋可能的原因,但還是無法判斷。之後,重新讀一次它在信中提到的可能原因:「試圖讓使用者誤點擊」,所以我把側邊工具欄的廣告全部都刪除了。 結果 在申請審查時,表單會叫你填「做了什麼改善」、「範例網頁」等等的欄位,我當然是填了「刪除工具列的廣告」。而在兩天之後,審查通過了,原本在 SERP 消失的網頁也神奇地復活了。 AdSense審查通過的通知信 疑問 讓我驚訝的是,我以為這樣子的違規逞罰頂多是不讓網站出現廣告,或是網站排名下降而已;但我錯了,是網頁直接消失,而且是消失一週之後才通知我違反廣告政策……。 其實,我在網站工具列放廣告已經放好幾年了,現在才說我違規,而且刪掉那裡的廣告還真的讓我過關了……大開眼界。 你可能會說,這說不定是 Google 核心更新在搞事。但官方公告開始更新的日期是在我審查通過後的三天,所以不太可能。

PHP簡單的字串資料加密與解密方法

圖片
PHP simple encryption and decryption functions php 字串加密與解密簡單的寫法,這裡使用的是 openssl_encrypt 這個語法: // 加密函数 function encryptFunction($data, $key) { $encryptedData = openssl_encrypt($data, 'AES-256-CBC', $key, 0, substr($key, 0, 16)); return $encryptedData; } // 解密函数 function decryptFunction($encryptedData, $key) { $data = openssl_decrypt($encryptedData, 'AES-256-CBC', $key, 0, substr($key, 0, 16)); return $data; } // 因為上面寫了 openssl_encrypt() 至少要16 byte,所以這裡的key至少要16個字 $encryptionKey = 'abcdefghijk123457'; 因為寫了 substr($key, 0, 16) 抓取 $key 的 1~16 位置的文字,所以 $key 沒有16個字的話會報錯,你可以視自己的需求改變長短。 實際使用範例 // for example $tempVariable = 'oh nyo!'; $tempVariableEncrypt = encryptFunction($tempVariable, $encryptionKey); // mmdpiTHs1NnuNZrk7zxnWA== $decryptBack = decryptFunction($tempVariableEncrypt, $encryptionKey); // oh nyo! 這個方法可以簡單運用在存入資料庫,與取出資料庫的資訊給具有權限的人。

PHP 301轉址的方法與其對SEO的影響

圖片
PHP header()重新導向新網址 使用header()語法宣告301 我們可以先跟搜尋引擎的爬蟲宣告這是 301 頁面,之後再轉址。相較於直接重定向轉址,這對爬蟲來說會比較友善,等於是說這一頁被淘汰了,它才不會一直花費效能來這一頁。 另外,宣告 301 也能告知爬蟲,重新導向的網址內容是優於原本網址的版本。 header("HTTP/1.1 301 Moved Permanently"); header("Location: https://example.com/"); exit(); 又或者我們可以這樣寫: header("Location: https://example.com/", TRUE, 301); exit(); 使用http_response_code()語法宣告301 寫法如下: http_response_code(301); header("Location: https://example.com/"); exit(); 301、302、不宣告,分別差在哪裡? 301 狀態碼是「永久轉址」的意思,表示網頁已永久遷移至新的位置。如同前面所述,爬蟲就不會一直白白浪費效能。 302 狀態碼是「暫時轉址」的意思,因為某些原因,暫時轉址到其它頁面。可以告訴爬蟲,未來這個頁面還會再恢復使用。 不宣告直接刪除就跟404找不到頁面差不多意思,會造成使用者體驗不佳;而直接轉址的話,基本上會被視為301;最糟糕的情況是不宣告也不刪除,就直接把原來的內容複製到另一頁,或是在別的頁面更新原內容,這有可能會造成「重複內容」的情況發生。 標準網址含有追蹤碼怎麼辦? 有時候,Google會將含有追蹤碼的網址當成標準網址,原因是主要的參照網頁的網址有追蹤碼的關係,這會造成SERP的網址也包含追蹤碼,來源媒介會不準確。 這時候可以寫一段JavaScript轉址到你要的標準網址,Google會將其視為類似301的修正: const params = new Proxy(new URLSearchParams(window.location.search), { get: (searchParams, prop) => search...

使用這些問題清單評估你的網頁內容

圖片
創造有用又可信任的內容,也就是我們常聽到的 EEAT(經驗、專業知識、權威性和可信度),並顧慮到網頁要以人為出發點撰寫內容。 Google在近期的更新(包含核心更新)都不斷地強調「實用的內容」,到底什麼是實用的內容,他們給出了一些 問題 給網站管理者參考…… 你的SEO是搜索引擎優化還是搜索引擎優先? 或者有人稱之為「最佳化」…… 網頁是給使用者觀看和使用的,你的最終目的畢竟是轉換,而不是為了獲得搜索引擎排名而製作的搜索引擎優先內容,請不要忘記這一點。試著問自己網站內容的撰寫方式,避免自己走火入魔: 內容主要是為了吸引搜索引擎爬蟲而製作的嗎? 是否在許多不同主題上製作了大量內容,希望其中一些內容在搜索結果中得到良好的排名? 是否大量使用「自動化工具」來製作各種主題的內容? 總是在總結別人說的話而沒有增加更多價值? 創造的內容只是因為它們看起來很流行,而不是為了現有的觀眾寫這些東西嗎? 是否會讓讀者需要再次搜索才能從其他來源獲得更好的資訊? 迷信網頁內容要達到特定的字數? 在沒有任何真正專業知識的情況下撰寫某些主題,且主要是因為你認為自己會獲得搜索流量? 內容是否是在回答一些實際上沒有正確答案的問題? 創造以人為本的內容 網站是否有現有或預期的受眾,他們會認為內容對他們很有用嗎? 內容是否清楚地展示了第一手的專業知識和深度(例如,來自實際使用產品或服務或訪問某個地方的專業知識)? 網站是否有主要目的或重點? 有人會覺得他已經足夠理解某個主題,並帶著這些知識幫助實現他的目標嗎? 使用者是否會覺得他們獲得了令人滿意的體驗? 內容的品質 相信大家都知道內容的品質是SEO最著重的部分,除了問自己下列問題之外,還可以考慮讓你信任但與網站無關的其他人提供誠實的評估: 內容是否提供原創訊息、報告、研究或分析? 內容是否完整或全面地描述某個主題? 內容是否提供了有用的分析或有趣的訊息? 如果內容借鑒了其他來源,它是否避免單純地複製或重寫這些來源,而是提供實質性的附加價值和原創性? 主標題或頁面標題是否提供了內容或該段落的描述性、有用的摘要? 主標題或頁面標題是否避免寫得很誇大或震驚? 你認為有人會加入書籤、與他人分享或引用嗎? ...