發表文章

目前顯示的是 6月, 2023的文章

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