首頁 » WordPress, WordPress外掛, 網站架設 » [WordPress]自己做SEO,取代All-in-one SEO
All in One SEO Pack是很多人使用的SEO懶人外掛,只是因為我已經裝了很多外掛了而且聽說很耗資源,想讓他少一點,所以去找了一下如何取代掉他。
一、標準化 title 結構
標準化 title 結構就是將標題改成 文章標題|網站名稱 的格式
首先,在佈景裡的頁首 (header.php)檔案裡,找到
1 | <title><?php bloginfo('name'); ?><?php wp_title(); ?></title> |
這就是原來的標題,有些人或許不一樣,但就是以
1 | <title></title> |
包起來的就是標題。
我是改成,首頁顯示網站標題,而其他頁就顯示文章標題|網站名稱 的格式
故改成
1 | <title><?php if (is_home() ) { ?><?php bloginfo('name')?><?php } else {?><?php wp_title(''); ?> | <?php bloginfo('name')?><?php } ?></title> |
這樣就行了。
二、加入關鍵字和網站說明和文章說明
一般是首頁加入自己的首頁說明和首頁關鍵字,然後在各個文章可加入文章說明和關鍵字,在分類頁面加入分類說明(因為沒有加關鍵字的地方,除非用判斷式一個一個設太麻煩了。)。
而標籤頁也可放說明,只是標籤通常很多,所以就不慢慢放了。
分類頁面我也沒放,後面介紹的META標籤已經使禁止搜尋引擎建立你網站網頁分類頁面和標籤頁的索引。
先用個通用的寫法
一樣是在頁首 (header.php)檔案裡
在
1 | </head> |
之前加上下面的程式碼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php if (is_home()){ $description = "首頁說明"; $keywords = "首頁關鍵字"; } elseif (is_single()){ if ($post->post_excerpt) { $description = $post->post_excerpt; } else { $description = substr(strip_tags($post->post_content),0,220); } $keywords = ""; $tags = wp_get_post_tags($post->ID); foreach ($tags as $tag ) { $keywords = $keywords . $tag->name . ", "; } }elseif(is_category()){ $description = category_description(); } ?> <meta name="keywords" content="<?=$keywords?>" /> <meta name="description" content="<?=$description?>" /> |
前面的首頁說明和首頁關鍵字和All in One SEO Pack一樣要自己填入網站內容的描述和網站的主要關鍵字。
後面elseif (is_single())就是在文章頁面裡,如果在發表文章時有在下面的文章摘要輸入說明則顯示你輸入的說明,若沒有則擷取前220個字當作說明,而文章關鍵字直接以標籤來代表。
最後就是elseif(is_category())判斷分類頁面,如果你讓搜尋引擎不檢索,可以不用加。
而且其說明要自己去分類頁面自己加在說明裡面。
而我因為有用Simple Tags,所以已經有加關鍵字了。而我也沒讓搜尋引擎檢索分類頁,所以以下是我實際加的內容。
1 2 3 4 5 6 7 8 9 10 11 | <?php if (is_home()){ $description = "到處閒晃是一個用Wordpress架設的部落格,主要是作為架站練習以及筆記,並紀錄我從網路上所學習的電腦相關事物。"; } elseif (is_single()){ if ($post->post_excerpt) { $description = $post->post_excerpt; } else { $description = substr(strip_tags($post->post_content),0,220); } } ?> <meta name="description" content="<?=$description?>" /> |
三、防止搜尋引擎重覆檢索
防止重覆檢索是為了使重複的內容不會被搜尋引擎在不同頁看到,減少權重。
這裡用的方法是All-in-one SEO的方法,利用META標籤。
meta的形式大約是如下,一樣加在
1 | </head> |
之前
1 | <meta name="robots" content="index,follow" /> |
robots指的是任何的搜尋引擎可以用GOOGLEBOT代表google搜尋引擎。
index為建立網站網頁的索引,noindex就是不要建立索引。NOIMAGEINDEX就是不見建立網頁圖片索引。
follow的相反就是nofollow。
關於nofollow,可以看google的介紹
nofollow 屬性最初是用在網頁層級的中繼標記裡,指示搜尋引擎不要前往 (也就是檢索) 網頁上的任何連出連結。例如:
<meta name="robots" content="nofollow" />
所以知道使用meta時,他的意思是不檢索網頁上的連結。
以 All in one SEO pack外掛功能,就輸入以下內容就行了。
1 | <?php if (is_single() || is_page() || is_home() ) : ?><meta name="robots" content="index,follow" /><?php else : ?><meta name="robots" content="noindex,follow" /><?php endif; ?> |
看你要不要加入彙整頁、分類頁和標籤頁和作者頁,可以在第一行加入is_archive()、is_category()和is_tag()和is_author()。
中間用||隔開,||代表或的意思。
我最後只加首頁、文章頁而已,因為其他不需要索引,但允許它進入找連結,只是百度好像只要使用noindex就直接回上頁,不找連結了,所以我再加一個百度的條件,使百度在標籤頁使用index,不知道可不可以,隨緣吧。
變成以下
1 2 3 4 5 6 | <?php if (is_single() || is_home()) : ?><meta name="robots" content="index,follow" /> <?php elseif(is_tag()): ?><meta name="robots" content="noindex,follow" /> <meta name="Baiduspider" content="index,follow" /> <?php else: ?> <meta name="robots" content="noindex,follow" /> <?php endif; ?> |
以上就大略是All-in-one SEO的功能了,即可取代All-in-one SEO。
參考文章
使用meta標籤禁止搜尋引擎將你的 WordPress網頁加入索引
我是如何 SEO WordPress 的 2:Description 和 Keywords
WordPress 2.3 SEO 優化

0 留言▼