時間:2023-03-17 06:02:01 | 來源:電子商務
時間:2023-03-17 06:02:01 來源:電子商務
眼見著移動互聯(lián)網(wǎng)的時代已從浪潮之巔漸漸歸于平淡,5G 技術(shù)即將帶來的變革乃至顛覆尚未可知;眼見著微信、頭條、阿里等越見豐盈的生態(tài)閉環(huán)不斷蠶食某度的搜索市場。但仍有大把各色業(yè)務的 2C 網(wǎng)站們,依然不得不面對 SEO 的問題,不得不面對國內(nèi)的 SEO 問題。為什么要強調(diào)國內(nèi),因為橫亙于我等“生前”的有世界上最大的“中文搜索引擎”?。ㄊ謩踊?。這讓我一度以為 SEO 是個玄學,你不得不忍受它可能對你忽冷忽熱的奇妙態(tài)度,卻又不忍心就此揮手說再見,大步向前不回頭。先來一句“振聾發(fā)聵”之言:優(yōu)質(zhì)的內(nèi)容永遠都是最好的 SEO。 但如果你就一搞技術(shù)的,這就由不得你了。所以,我一搞技術(shù)的還能做點啥?
SEO(Search Engine Optimization):搜索引擎優(yōu)化。網(wǎng)站維護者依循搜索引擎規(guī)則對自身網(wǎng)站進行優(yōu)化,以期站內(nèi)內(nèi)容能在用戶的搜索結(jié)果中占據(jù)盡量靠前的排名。時至今日,它依然是將產(chǎn)品推向用戶、獲取流量的最經(jīng)濟實惠又行之有效的方法之一。
<header> <footer> <main> <section> <aside> <nav>
等標簽,我們看一眼就能大體知道,這塊內(nèi)容是要干嘛的。新加入的標簽甚至對時間、日期等小語義都有照顧:<time> <data>
等。<div> <h> <p> <a>
等等這些“其貌不揚”的老兄弟們,所以不論是否能夠用好新語義化標簽,都不能失去本來的“陣地”。在此基礎(chǔ)上,“勇猛精進”。<h1>
標簽,代表該頁面的主標題,其他的 headline 標簽則根據(jù)實際的內(nèi)容層級合理安排。<a>
標簽,搜索引擎爬蟲將根據(jù)其 href
屬性提供的路徑深入到站內(nèi)的各個角落。<a>
標簽構(gòu)成了一張四通八達的大網(wǎng),你要盡量保證 Spider 能在“網(wǎng)”上愉快地玩耍,但是也難免有的地方你并不想讓它一探究竟,比如去“個人中心”的鏈接、出站鏈接等。這時,可以考慮不使用 <a>
標簽,通過給元素綁定 click 等事件達到實際的跳頁目的;或者也可以考慮給標簽加上一個特殊的屬性<a href="/" rel="nofollow">首頁</a>
,來告訴 Spider “內(nèi)部道路,游客止步”。<img>
標簽,依圖片內(nèi)容及頁面內(nèi)容,給 img 一個 alt
屬性,描述這張圖片表達的含義并適當植入關(guān)鍵詞。一來可以在圖片加載失敗的時候給用戶一定的提示,二來可以告訴搜索引擎這張圖片啥意思,方便其索引。<strong>
& <em>
標簽包裹一下,以期向搜索引擎表達關(guān)鍵詞強調(diào)的意味。<body>
標簽內(nèi)出現(xiàn)的語義化標簽,也即頁面的主體,機器能看,人也能看。而在 <head>
標簽內(nèi)還存在許多給機器看的標簽,做 SEO 優(yōu)化的同學們最熟悉的莫過于其中的 “SEO 三劍客” TDK 了。<title>
標簽、<meta name="description">
標簽和 <meta name="keywords">
標簽。顧名思義,它們分別代表當前頁面的標題、內(nèi)容摘要和關(guān)鍵詞,對于 SEO 來說,title 是其中最重要的一員。<title>
標簽-
連接站名和幾個關(guān)鍵詞作為 title,比如:<title>w3cschool - 編程獅,隨時隨地學編程</title>
;而對于其他頁面,則是短下劃線 _
連接頁面標題、關(guān)鍵詞和站名的形式,比如:<title>Web入門微課_編程實戰(zhàn)微課_w3cschool</title>
。description
<meta name="description" content="Web前端開發(fā)工程師,主要職責是利用(X)HTML/CSS/JavaScript/Flash等各種Web技術(shù)進行客戶端產(chǎn)品的開發(fā)。完成客戶端程序(也就是瀏覽器端)的開發(fā),開發(fā)JavaScript以及Flash模塊,同時結(jié)合后臺開發(fā)技術(shù)模擬整體效果,進行豐富互聯(lián)網(wǎng)的Web開發(fā),致力于通過技術(shù)改善用戶體驗。">
??梢钥吹?,正是搜索結(jié)果摘要顯示的內(nèi)容。keywords
<meta name="keywords" content="w3cschool,編程獅,web前端開發(fā),菜鳥教程,編程入門教程,w3school,W3C,HTML,HTML5,CSS,Javascript,jQuery,Bootstrap,PHP,Java,Sql">
。它主要為搜索引擎提供當前頁面的關(guān)鍵詞信息,關(guān)鍵詞之間用英文逗號間隔,通常建議三五個詞就足夠了,表達清楚該頁面的關(guān)鍵信息,建議控制在 50 字以內(nèi)。切忌大量堆砌關(guān)鍵詞,畢竟在技術(shù)日新月異的今天,搜索引擎如果發(fā)現(xiàn)你的 title 信息文不對題都有可能主動幫你修改了,更不必說發(fā)現(xiàn)你想在越發(fā)無足輕重的關(guān)鍵詞身上花的小心思了(似乎沒有什么因果關(guān)系,手動狗頭~)。<head>
標簽中,并與 SEO 相關(guān)的標簽們吧。<meta name="robots">
標簽(通常含有 name 屬性的 meta 標簽都會有一個 content 屬性相伴,這我們已經(jīng)在 D 和 K “劍客”身上領(lǐng)略過了)。默認的,有這樣的標簽屬性設(shè)置:<meta name="robots" content="index,follow,archive">
。它跟上文中提到的帶有 rel
屬性的 a 標簽略有相似。<meta name="robots" content="index,follow,noarchive">
。rel
屬性的 <link rel="" href="">
標簽,它們分別是: - <link rel="canoncial" href="https://www.xxx.com" />
- <link rel="alternate" href="https://m.xxx.com" />
<link rel="canoncial" href="www.shop.com/goods/xxxx" />
,以此彰顯第一個鏈接的正統(tǒng)地位,告訴搜索引擎,其他那倆都是“庶出”,不必在意。假如搜索引擎遵守該標簽的約定,則會很大程度避免頁面權(quán)重的分散,不至影響搜索引擎的收錄及排名情況。它的含義與 http 301 永久重定向相似,不同之處在于,用戶訪問標記了 canonical 標簽的頁面并不會真的重定向到其他頁面。<link rel="canoncial" href="https://www.xxx.com" />
- <link rel="alternate" href="https://m.xxx.com" media="only screen and (max-width: 750px)"/>
||-- home| |-- classify|list| | |-- list|detail | | | |-- detail| | | |
以上,基本上至多經(jīng)過四級頁面就可以從首頁抵達產(chǎn)品詳情頁面。在路由設(shè)計的時候應保證用盡量少的路由層級使用戶抵達最終的目標頁面,不應該無節(jié)制地深入,使用戶迷失在深似海的站內(nèi)鏈接之中;同樣的道理,搜索引擎分配在某個網(wǎng)站的資源是有限的,這也保障了搜索引擎能高效爬取到有用的頁面。<meta name="robots">
算是“本家”。元信息標簽存在于單個頁面之中,并作用于它存在的那個頁面;而 robots 協(xié)議則存在于網(wǎng)站根目錄( http://www.xxx.com/robots.txt可被訪問 ),作用于整站。User-agent: *Disallow: /
無視規(guī)則者依然會潛入你的網(wǎng)站橫行無忌,像前些年(可能現(xiàn)在依然是)臭名昭著的YisouSpider。所以 robots 協(xié)議僅能作為指導 Spider “良民”在站內(nèi)活動的行為準則,就像"請勿踐踏草坪"一樣,不要指望用它來保護站內(nèi)隱私。想要拒絕流氓爬蟲的騷擾,還是要在服務端依賴自身的技術(shù)手段。<field>:<optional space><value><optionalspace><#optional-comment>
,即字段、空格、值、空格、注釋。其中,空格和注釋是可選的,僅僅是為了增加文本可讀性。User-agent | Disallow | Allow
三個,還有一個額外的 Sitemap
項,用來指向該站的網(wǎng)站地圖所在的地方,是否支持視具體搜索引擎而定。我們通過前三個字段組合來制定一組規(guī)則,規(guī)則可以有多組。一組規(guī)則中,可以由一到多個 User-agent 開頭,然后通過 Allow|Disallow 字段指定具體規(guī)則,至少有一條。組與組之間通過空行間隔,舉個栗子:# first groupUser-agent: BaiduspiderUser-agent: GooglebotDisallow: /article/# second groupUser-agent: *Disallow: /Sitemap: https://www.xxx.com/sitemap.xml
以上: - 允許百度和谷歌的搜索引擎訪問站內(nèi)除 article 目錄下的所有文件/頁面(eg: article.html 可以,article/index.html 不可以); - 不允許其他搜索引擎訪問網(wǎng)站; - 指定網(wǎng)站地圖所在。<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>http://www.xxx.com/</loc> <lastmod>2019-12-17</lastmod> <changefreq>weekly</changefreq> <priority>0.5</priority> </url> <url> <loc>http://www.xxx.com/detail/xxx</loc> <lastmod>2019-12-17</lastmod> </url></urlset>
<urlset>
標簽作為頂級標簽,并指定 xml 命名空間<url>
父級標簽包裹<loc>
子標簽包裹頁面鏈接<lastmod> | <changefreq> | <priority>
三個子標簽作為可選項(function() { let bp = document.createElement('script'); const curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = `https://zz.bdstatic.com/linksubmit/push.js`; }else { bp.src = `http://push.zhanzhang.baidu.com/push.js`; } let s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(bp, s);})();
通常為了省事,會把它直接扔到公共代碼塊中全局加載,但這樣也帶來了一些問題: - 一些頁面并不想被推送,然而因為全局公用,還是被推送了 - 一些頁面可能早就被收錄了,但是一旦頁面被訪問,鏈接依然會一遍又一遍被推送function canSubmit(toObj) { const toPath = toObj.path; let canSubmit = false; let isInScope = false; if( toPath === '/' // 首頁 || (///search/u.test(toPath) && Number(toObj.query.page) === 1) // 搜索第一頁 || ///detail//(article|news)/u.test(toPath) // 詳情頁 // ... ) { isInScope = true; } if(isInScope && process.env.TEST_ENV === 'prod') { canSubmit = true; } return canSubmit;}
在幾年前,百度曾在 百度統(tǒng)計貼吧 發(fā)帖稱,百度統(tǒng)計代碼同樣帶有自動推送的功能。以上。它們僅僅是我知道的一些,茫茫知識海洋,大概還有許多我不知道的細節(jié)等待著繼續(xù)探索~~~
原文鏈接舉起你的小手,點贊關(guān)注交流批評……啦~
關(guān)鍵詞:
微信公眾號
版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。