成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

在不使用ssr的情況下解決Vue單頁(yè)面SEO問(wèn)題(2)

tomorrowwu / 1267人閱讀

摘要:上一篇說(shuō)了單頁(yè)面解決解決的問(wèn)題只是用預(yù)處理了標(biāo)簽但是依然沒有內(nèi)容填充所以對(duì)于內(nèi)容抓取依然有些乏力只是解決了從無(wú)到有的問(wèn)題那接下來(lái)可以更進(jìn)一步的預(yù)填充內(nèi)容了預(yù)填充內(nèi)容這里依然使用來(lái)實(shí)現(xiàn)首先在中拉取需要填充的數(shù)據(jù)列表或是具體內(nèi)容修改拉取數(shù)據(jù)部分

上一篇說(shuō)了vue單頁(yè)面解決解決SEO的問(wèn)題

只是用php預(yù)處理了meta標(biāo)簽

但是依然沒有內(nèi)容填充,所以對(duì)于內(nèi)容抓取依然有些乏力,只是解決了從無(wú)到有的問(wèn)題

那接下來(lái)可以更進(jìn)一步的預(yù)填充內(nèi)容了

預(yù)填充內(nèi)容

這里依然使用php來(lái)實(shí)現(xiàn)

首先在php中拉取需要填充的數(shù)據(jù),列表或是具體內(nèi)容

修改拉取數(shù)據(jù)部分

$urlExp = explode("/",$_SERVER["REQUEST_URI"]);
if(count($urlExp)>2 && $urlExp[1] == "article"){
    //文章頁(yè)拉取內(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){
    //列表頁(yè)拉取列表
    $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)建時(shí)間:".$val["ctime"].".";
            $textData.="瀏覽次數(shù):".$val["fl"].".";
        }
    }
}

然后在html部分輸出相關(guān)內(nèi)容

在body下放一個(gè)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)建時(shí)候的入口文件就變成index.php,構(gòu)建完成的頁(yè)面入口也為index.php

最終效果

等爬蟲更新后就搜到我們的文章了

寫在最后

目前還是用php來(lái)實(shí)現(xiàn)主要是實(shí)現(xiàn)起來(lái)比較簡(jiǎn)單,對(duì)于像我一樣后端是php的比較友好

如果再使用node去監(jiān)聽個(gè)端口的話需要額外開銷和額外的精力去維護(hù)

如果后端是純node的當(dāng)然用node或者直接配置個(gè)SSR更好

關(guān)于首頁(yè)渲染問(wèn)題推薦是用骨架屏

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/29605.html

相關(guān)文章

  • 在不使用ssr情況解決Vue頁(yè)面SEO問(wèn)題

    摘要:遇到的問(wèn)題近來(lái)在寫個(gè)人博客的時(shí)候遇到了大家可能都會(huì)遇到的問(wèn)題單頁(yè)面在時(shí)顯得很無(wú)力,尤其是百度不會(huì)抓取動(dòng)態(tài)腳本配合前后端分離無(wú)法讓標(biāo)簽在蜘蛛抓取時(shí)動(dòng)態(tài)填充單頁(yè)面又是大勢(shì)所趨,寫起來(lái)也不止是一個(gè)爽,當(dāng)然也可以選擇多頁(yè)面但即使是多頁(yè)面在面對(duì)文章 遇到的問(wèn)題: 近來(lái)在寫個(gè)人博客的時(shí)候遇到了大家可能都會(huì)遇到的問(wèn)題 Vue單頁(yè)面在SEO時(shí)顯得很無(wú)力,尤其是百度不會(huì)抓取動(dòng)態(tài)腳本 Vue-Router...

    Aceyclee 評(píng)論0 收藏0
  • 在不使用ssr情況解決Vue頁(yè)面SEO問(wèn)題

    摘要:遇到的問(wèn)題近來(lái)在寫個(gè)人博客的時(shí)候遇到了大家可能都會(huì)遇到的問(wèn)題單頁(yè)面在時(shí)顯得很無(wú)力,尤其是百度不會(huì)抓取動(dòng)態(tài)腳本配合前后端分離無(wú)法讓標(biāo)簽在蜘蛛抓取時(shí)動(dòng)態(tài)填充單頁(yè)面又是大勢(shì)所趨,寫起來(lái)也不止是一個(gè)爽,當(dāng)然也可以選擇多頁(yè)面但即使是多頁(yè)面在面對(duì)文章 遇到的問(wèn)題: 近來(lái)在寫個(gè)人博客的時(shí)候遇到了大家可能都會(huì)遇到的問(wèn)題 Vue單頁(yè)面在SEO時(shí)顯得很無(wú)力,尤其是百度不會(huì)抓取動(dòng)態(tài)腳本 Vue-Router...

    TerryCai 評(píng)論0 收藏0
  • 在不使用ssr情況解決Vue頁(yè)面SEO問(wèn)題

    摘要:遇到的問(wèn)題近來(lái)在寫個(gè)人博客的時(shí)候遇到了大家可能都會(huì)遇到的問(wèn)題單頁(yè)面在時(shí)顯得很無(wú)力,尤其是百度不會(huì)抓取動(dòng)態(tài)腳本配合前后端分離無(wú)法讓標(biāo)簽在蜘蛛抓取時(shí)動(dòng)態(tài)填充單頁(yè)面又是大勢(shì)所趨,寫起來(lái)也不止是一個(gè)爽,當(dāng)然也可以選擇多頁(yè)面但即使是多頁(yè)面在面對(duì)文章 遇到的問(wèn)題: 近來(lái)在寫個(gè)人博客的時(shí)候遇到了大家可能都會(huì)遇到的問(wèn)題 Vue單頁(yè)面在SEO時(shí)顯得很無(wú)力,尤其是百度不會(huì)抓取動(dòng)態(tài)腳本 Vue-Router...

    gxyz 評(píng)論0 收藏0
  • 在不使用ssr情況解決Vue頁(yè)面SEO問(wèn)題(2)

    摘要:上一篇說(shuō)了單頁(yè)面解決解決的問(wèn)題只是用預(yù)處理了標(biāo)簽但是依然沒有內(nèi)容填充所以對(duì)于內(nèi)容抓取依然有些乏力只是解決了從無(wú)到有的問(wèn)題那接下來(lái)可以更進(jìn)一步的預(yù)填充內(nèi)容了預(yù)填充內(nèi)容這里依然使用來(lái)實(shí)現(xiàn)首先在中拉取需要填充的數(shù)據(jù)列表或是具體內(nèi)容修改拉取數(shù)據(jù)部分 上一篇說(shuō)了vue單頁(yè)面解決解決SEO的問(wèn)題 只是用php預(yù)處理了meta標(biāo)簽 但是依然沒有內(nèi)容填充,所以對(duì)于內(nèi)容抓取依然有些乏力,只是解決了從無(wú)...

    AlphaWallet 評(píng)論0 收藏0
  • 在不使用ssr情況解決Vue頁(yè)面SEO問(wèn)題(3)

    摘要:先說(shuō)明下上一篇的方法存在作弊行為孤陋寡聞了以前沒接觸過(guò)這些果然不能投機(jī)取巧啊替代方法將原來(lái)放入隱藏標(biāo)簽的內(nèi)容放到骨架屏中用預(yù)渲染這樣頁(yè)面就會(huì)先展示重要的內(nèi)容然后再顯示其他部分麻煩點(diǎn)的就是如果想要好看的話需要將相關(guān)的樣式都粘過(guò)來(lái)寫在最后雖然隱 先說(shuō)明下,上一篇的方法存在作弊行為 孤陋寡聞了,以前沒接觸過(guò)這些,果然不能投機(jī)取巧啊 替代方法 將原來(lái)放入隱藏標(biāo)簽的內(nèi)容放到骨架屏中用php...

    fuchenxuan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<