摘要:上一篇說了單頁面解決解決的問題只是用預(yù)處理了標(biāo)簽但是依然沒有內(nèi)容填充所以對于內(nèi)容抓取依然有些乏力只是解決了從無到有的問題那接下來可以更進(jìn)一步的預(yù)填充內(nèi)容了預(yù)填充內(nèi)容這里依然使用來實(shí)現(xiàn)首先在中拉取需要填充的數(shù)據(jù)列表或是具體內(nèi)容修改拉取數(shù)據(jù)部分
上一篇說了vue單頁面解決解決SEO的問題
只是用php預(yù)處理了meta標(biāo)簽
但是依然沒有內(nèi)容填充,所以對于內(nèi)容抓取依然有些乏力,只是解決了從無到有的問題
那接下來可以更進(jìn)一步的預(yù)填充內(nèi)容了
預(yù)填充內(nèi)容
這里依然使用php來實(shí)現(xiàn)
首先在php中拉取需要填充的數(shù)據(jù),列表或是具體內(nèi)容
修改拉取數(shù)據(jù)部分
$urlExp = explode("/",$_SERVER["REQUEST_URI"]); if(count($urlExp)>2 && $urlExp[1] == "article"){ //文章頁拉取內(nèi)容 $ret = @json_decode(http_Req("http://127.0.0.1/api/Blog/getsinglelist",["tuid"=>$urlExp[2]],"POST"),true); if($ret){ $valKeywords = $ret["info"][0]["tt"].",".$valKeywords; $valDescription = $ret["info"][0]["txt"]." - ".$valTitle.",".$valDescription; $valTitle = $ret["info"][0]["tt"]." - ".$valTitle; $info = $ret["info"][0]["info"]; $textData = @file_get_contents("你的文章路徑") ?? $valDescription; }else{ $textData="none"; } } if(!$textData){ //列表頁拉取列表 $ret = @json_decode(http_Req("http://127.0.0.1/api/Blog/getlist",["page"=>1,"type"=>0],"POST"),true); if($ret){ $textData = ""; foreach ($ret["info"] as $key=>$val) { $textData.="標(biāo)題:".$val["tt"]."."; $textData.="描述:".$val["txt"]."."; $textData.="創(chuàng)建時間:".$val["ctime"]."."; $textData.="瀏覽次數(shù):".$val["fl"]."."; } } }
然后在html部分輸出相關(guān)內(nèi)容
在body下放一個div,并且隱藏掉他
這樣爬蟲就可以抓取到我們的內(nèi)容并且不影響前端渲染
優(yōu)化vue構(gòu)建
之前的構(gòu)建是在構(gòu)建完成后修改html為php,有點(diǎn)蠢
這里改下webpack的配置就好了
修改 build/webpack.prod.conf
new HtmlWebpackPlugin({ filename: config.build.index, //這里改為index.php template: "index.php", inject: true, minify: { removeComments: true, collapseWhitespace: true, removeAttributeQuotes: true // more options: // https://github.com/kangax/html-minifier#options-quick-reference }, // necessary to consistently work with multiple chunks via CommonsChunkPlugin chunksSortMode: "dependency" }),
修改 config/index.js
build: { // Template for index.html // 這里改為index.php index: path.resolve(__dirname, "../dist/index.php"), // Paths assetsRoot: path.resolve(__dirname, "../dist"), assetsSubDirectory: "static", assetsPublicPath: "http://cdn.linkvall.cn/", productionSourceMap: true, devtool: "#source-map", productionGzip: false, productionGzipExtensions: ["js", "css"], bundleAnalyzerReport: true }
這樣構(gòu)建時候的入口文件就變成index.php,構(gòu)建完成的頁面入口也為index.php
最終效果
等爬蟲更新后就搜到我們的文章了
寫在最后
目前還是用php來實(shí)現(xiàn)主要是實(shí)現(xiàn)起來比較簡單,對于像我一樣后端是php的比較友好
如果再使用node去監(jiān)聽個端口的話需要額外開銷和額外的精力去維護(hù)
如果后端是純node的當(dāng)然用node或者直接配置個SSR更好
關(guān)于首頁渲染問題推薦是用骨架屏
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/29605.html
摘要:遇到的問題近來在寫個人博客的時候遇到了大家可能都會遇到的問題單頁面在時顯得很無力,尤其是百度不會抓取動態(tài)腳本配合前后端分離無法讓標(biāo)簽在蜘蛛抓取時動態(tài)填充單頁面又是大勢所趨,寫起來也不止是一個爽,當(dāng)然也可以選擇多頁面但即使是多頁面在面對文章 遇到的問題: 近來在寫個人博客的時候遇到了大家可能都會遇到的問題 Vue單頁面在SEO時顯得很無力,尤其是百度不會抓取動態(tài)腳本 Vue-Router...
摘要:遇到的問題近來在寫個人博客的時候遇到了大家可能都會遇到的問題單頁面在時顯得很無力,尤其是百度不會抓取動態(tài)腳本配合前后端分離無法讓標(biāo)簽在蜘蛛抓取時動態(tài)填充單頁面又是大勢所趨,寫起來也不止是一個爽,當(dāng)然也可以選擇多頁面但即使是多頁面在面對文章 遇到的問題: 近來在寫個人博客的時候遇到了大家可能都會遇到的問題 Vue單頁面在SEO時顯得很無力,尤其是百度不會抓取動態(tài)腳本 Vue-Router...
摘要:遇到的問題近來在寫個人博客的時候遇到了大家可能都會遇到的問題單頁面在時顯得很無力,尤其是百度不會抓取動態(tài)腳本配合前后端分離無法讓標(biāo)簽在蜘蛛抓取時動態(tài)填充單頁面又是大勢所趨,寫起來也不止是一個爽,當(dāng)然也可以選擇多頁面但即使是多頁面在面對文章 遇到的問題: 近來在寫個人博客的時候遇到了大家可能都會遇到的問題 Vue單頁面在SEO時顯得很無力,尤其是百度不會抓取動態(tài)腳本 Vue-Router...
摘要:上一篇說了單頁面解決解決的問題只是用預(yù)處理了標(biāo)簽但是依然沒有內(nèi)容填充所以對于內(nèi)容抓取依然有些乏力只是解決了從無到有的問題那接下來可以更進(jìn)一步的預(yù)填充內(nèi)容了預(yù)填充內(nèi)容這里依然使用來實(shí)現(xiàn)首先在中拉取需要填充的數(shù)據(jù)列表或是具體內(nèi)容修改拉取數(shù)據(jù)部分 上一篇說了vue單頁面解決解決SEO的問題 只是用php預(yù)處理了meta標(biāo)簽 但是依然沒有內(nèi)容填充,所以對于內(nèi)容抓取依然有些乏力,只是解決了從無...
摘要:先說明下上一篇的方法存在作弊行為孤陋寡聞了以前沒接觸過這些果然不能投機(jī)取巧啊替代方法將原來放入隱藏標(biāo)簽的內(nèi)容放到骨架屏中用預(yù)渲染這樣頁面就會先展示重要的內(nèi)容然后再顯示其他部分麻煩點(diǎn)的就是如果想要好看的話需要將相關(guān)的樣式都粘過來寫在最后雖然隱 先說明下,上一篇的方法存在作弊行為 孤陋寡聞了,以前沒接觸過這些,果然不能投機(jī)取巧啊 替代方法 將原來放入隱藏標(biāo)簽的內(nèi)容放到骨架屏中用php...
閱讀 1402·2021-11-22 09:34
閱讀 1378·2021-09-22 14:57
閱讀 3400·2021-09-10 10:50
閱讀 1371·2019-08-30 15:54
閱讀 3690·2019-08-29 17:02
閱讀 3472·2019-08-29 12:54
閱讀 2611·2019-08-27 10:57
閱讀 3316·2019-08-26 12:24