精华内容
下载资源
问答
  • 改良和规范网站设计的作用,使网站对搜索引擎和用户更加友好,并且网站也能从搜索引擎中获取合理的流量,SEO有三条最重要的规律,那就是原创的内容、高质量的外部链接和持之以恒适度的优化。 典型的高质量站点特征:...

    说道SEO我们都知道是搜索引擎的优化。

    SEO

    它会利用搜索引擎的规则让网站排名提高靠前,让网站中更多的页面被搜索引擎收纳。
    内容为王,外链为帝,用户体验为皇。

    优化原则

    改良和规范网站设计的作用,使网站对搜索引擎和用户更加友好,并且网站也能从搜索引擎中获取合理的流量,SEO有三条最重要的规律,那就是原创的内容、高质量的外部链接和持之以恒适度的优化。

    典型的高质量站点特征:

    受众:受众量,访问热度,忠实用户量。

    页面:信息完整,元素丰富,独特价值,时效性强,无虚假,违法信息

    网站:访问速度快,空间稳定,无死链接,病毒,黑客。

    设计与布局:整洁干净,反应迅速,无杂乱无序。体验优秀。

    用户有较好的访问深度,跳出率低,停留时间长。

    内容受众,质量度高,能让新用户转化成老用户。

    具备良好的历史数据积累,在搜索引擎中有较大的品牌影响力。

    网站具备良好的收录比。

    展开全文
  • [vue] 使用vue后怎么针对搜索引擎做SEO优化? 1.SSR服务器渲染; 2.静态化; 3.预渲染prerender-spa-plugin; 4.使用Phantomjs针对爬虫做处理 个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但...

    [vue] 使用vue后怎么针对搜索引擎做SEO优化?

    1.SSR服务器渲染;
    2.静态化;
    3.预渲染prerender-spa-plugin;
    4.使用Phantomjs针对爬虫做处理
    

    个人简介

    我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
    但坚持一定很酷。欢迎大家一起讨论

    主目录

    与歌谣一起通关前端面试题

    展开全文
  • 最近在做一个商城官网,需要优化网站排名,公司要求做seo,项目架构用的vue SSR服务端渲染,由于vue是但页面应用,所以主要通过路由的跳转动态切换title和meta里的内容来实现。 项目搭建就不多说了,主要是在...

    最近在做一个商城官网,需要优化网站排名,公司要求做seo,项目架构用的vue SSR服务端渲染,由于vue是单页面应用,所以主要通过对路由的跳转动态切换title和meta里的内容来实现。

    项目搭建就不多说了,主要是在gitHub上面下载的一个模版,后期会整理好再发一篇文章。

    一、首先router.js给每个页面组件加上meta属性,然后meta属性里边定义一个title和index(因为tdk数据是后台请求到的数据,index是传给后台的参数,tdk的type :0.通用 1.首页 2.名人堂首页 3.文章首页 4.问答首页 5.领券中心 6.新人专享 7.选画中心页 8.名家子网)

     export function createRouter() {
        return new Router({
            mode: 'history',
            fallback: false,
            scrollBehavior: () => ({ y: 0 }),
            routes: [
                { path: '/', component: Home, meta: { title: '', index: 1 } },
                { path: '/login', component: Login, meta: { title: '' } },
                { path: '/register', component: Register, meta: { title: '' } },
                { path: '/setPassword', component: setPassword, meta: { title: '' } },
                { path: '/forgetPassword', component: forgetPassword, meta: { title: '' } },
                { path: '/resetPassword', component: resetPassword, meta: { title: '' } },
                { path: '/goods-:goods_id.html', component: Goods, meta: { title: '' } },
                { path: '/all', component: All, meta: { title: '' } },
                { path: '/shopCar', component: shopCar, meta: { title: '' } },
                { path: '/allfamous', component: Famous, meta: { title: '' } },
                { path: '/famouscompilations', component: famousCompilations, meta: { title: '', index: 2 } },
                { path: '/famousdetails', component: famousDetails, meta: { title: '' } },
                { path: '/xuanhua', component: xuanHua, meta: { title: '', index: 7 } },
                { path: '/huaniao', component: huaNiao, meta: { title: '' } },
                { path: '/renwu', component: renWu, meta: { title: '' } },
                { path: '/shanshui', component: shanShui, meta: { title: '' } },
                { path: '/shufa', component: shuFa, meta: { title: '' } },
                { path: '/dongwu', component: dongWu, meta: { title: '' } },
                { path: '/search', component: search, meta: { title: '' } },
                { path: '/article/', component: articleIndex, meta: { title: '', index: 3 } },
                { path: '/article_details', component: articleDetails, meta: { title: '' } },
                { path: '/question/', component: questionIndex, meta: { title: '', index: 4 } },
                { path: '/question_details', component: questionDetails, meta: { title: '' } },
                { path: '/ticketCenter', component: ticketCenter, meta: { title: '' } },
                { path: '/newUser', component: newUser, meta: { title: '' } },
                { path: '/userCenter', component: userCenter, meta: { title: '' } },
                { path: '/accountBalance', component: accountBalance, meta: { title: '' } },
                { path: '/recharge', component: recharge, meta: { title: '' } },
                { path: '/submitOrder', component: submitOrder, meta: { title: '' } },
                { path: '/address', component: adddressList, meta: { title: '' } },
                { path: '/orderPay', component: orderPay, meta: { title: '' } },
            ]
        })
    

    二、app.js里边定义函数请求数据调用函数动态改变title,meta里边name属性的keywords和description(请求用的axios,没有安装的需要npm install axios安装一下,若已安装淘宝镜像,可以cnpm install axios)

    if (process.browser) {//(因为项目是用vue SSR服务端渲染方式实现,服务端访问不到window对象,所以判断process.browser是在客户端)
            let head = document.getElementsByTagName('head'); // 创建head标签
            let meta1 = document.createElement('meta'); // 创建meta标签
            let meta2 = document.createElement('meta');
            meta1.name = "keywords"; // 设置name
            meta2.name = "description";
            //获取其他页的tdk
            function getMetaContent(index, h, m1, m2) {
                var params = {
                    "Tdk": {
                        "type": index
                    }
                }
                axios.post('这里换成后台给的接口', params)
                    .then(function(res) {
                        let key = res.data.Tdk.tdk_keywords;
                        let desc = res.data.Tdk.tdk_description;
                        let title = res.data.Tdk.tdk_title;;
                        document.title = title || '设置默认内容';
                        m1.content = key || '设置默认内容';
                        m2.content = desc || '设置默认内容';
                        h[0].appendChild(m1)
                        h[0].appendChild(m2)
                    })
            }
    (商品页后台单独给的数据,数据是通过apiJson请求到的,参数需要自己修改,通过传商品的id请求到不同商品的tdk然后下边调用动态切换商品的title和meta里的name属性)
            //获取商品页的tdk
            function getGoodsMetaContent(index, h, m1, m2) {
                var params = {
                    Goods: {
                        id: index,
                        "GoodsImgs[]": {
                            count: 0,
                            GoodsImgs: {
                                "goods_id@": "Goods/id",
                                use_flag: 1,
                                "@order": "rank-"
                            }
                        },
                        Artist: {
                            "id@": "Goods/artist_id"
                        }
                    }
                };
                axios.post('这里改成后台给的接口', params)
                    .then(function(res) {
                        let key = res.data.Goods.tdk_keywords;
                        let desc = res.data.Goods.tdk_description;
                        let title = res.data.Goods.tdk_title;;
                        document.title = title || '设置默认内容';
                        m1.content = key || '设置默认内容';
                        m2.content = desc || '设置默认内容';
                        h[0].appendChild(m1)
                        h[0].appendChild(m2)
                    })
            }
    		
    		//路由跳转之前动态切换title和meta的name属性
            router.beforeEach((to, from, next) => {
                var i;
                //如果有商品id,说明跳入的是商品页,参数为商品id,如果没有则参数为router里定义好的meta里的index
                if (to.params.goods_id) {
                    i = to.params.goods_id;
                } else if (from.meta.index || to.meta.index) {
                    i = to.meta.index;
                    var j = from.meta.index;
                } else {
                    next();
                }
                if (i == j) return // 减少请求次数
                if (meta1.name == "keywords" || meta2.name == "description") { // 如果之前有获取过关键字,先清空内容
                    meta1.content = '';
                    meta2.content = '';
                }
                //如果跳入商品页执行getGoodsMetaContent,否则执行getMetaContent
                if (to.params.goods_id) {
                    var i = to.params.goods_id;
                    getGoodsMetaContent(i, head, meta1, meta2)
                } else {
    
                    getMetaContent(i, head, meta1, meta2);
                }
                next()
            })
        }
    

    这样就可以动态改变title和meta的name的属性了。如果想学习一下怎么搭建vue SSR服务端渲染,请看我下一篇文章。

    展开全文
  • 什么是SEO搜索引擎优化(Search engine optimization,简称SEO),指为了提升网页在搜索引擎自然搜索结果中(非商业性推广结果)的收录数量以及排序位置而做的优化行为,是为了从搜索引擎中获得更多的免费流量,以及更好...
    28d78cb509b882627c3ffee847b5aee0.png

    什么是SEO

    搜索引擎优化(Search engine optimization,简称SEO),指为了提升网页在搜索引擎自然搜索结果中(非商业性推广结果)的收录数量以及排序位置而做的优化行为,是为了从搜索引擎中获得更多的免费流量,以及更好的展现形象。

    SEM(Search engine marketing,搜索引擎营销),则既包括了SEO,也包括了付费的商业推广优化。

    本文主要介绍的是前端如何在代码上做SEO以及单页项目如何实现SEO。

    搜索引擎工作原理

    要了解SEO,首先得了解搜索引擎的工作原理,其原理是比较复杂,流程简化如下:

    爬虫抓取网页内容

    一般爬虫抓取页面内容是先从一个页面出发,从中提取出其他页面的链接,然后当作下一个请求的对象,一直重复这个过程。所以要有良好的SEO,需要你在各大网站上拥有外链,这样会提高你的网站被搜索引擎爬虫的几率。

    分析网页内容

    爬虫拿到HTML之后,就会对其内容进行分析。一般需要进行去杂、分词、简历索引数据库。什么是索引数据库呢?简单地说就是记录一个词在哪些文档中出现、出现次数、出现的位置等等。为什么要简历索引数据库呢?是为了快速查找。

    搜索和排序

    搜索会根据你输入的关键词,分别查询其对应的索引数据库,并对结果进行处理和排序。

    前端编码的SEO

    网站结构

    网站结构要清晰。一般网站的结构是树形的,一般分为三个层次:首页 → 频道页(列表页) → 文章页(详情页)。

    网站的结构要扁平。结构层数越少越好,一般不要超过三层,搜索引擎一般到了第三层就不想继续深入地爬取了。多数的网站,例如掘金、雪球等,他们的网站结构是两层,他们的首页和频道页是同一个页面。

    导航

    页面应该要有简明的导航。导航可以让搜索引擎知道网站的结构,也可以让搜索引擎知道当前页面在网站结构所在的层次。 建议:

    • 每一个页面都包含导航。
    • 对于内容较多的网站可以采用面包屑导航。
    • 链接使用文字链接,如果是图片,则通过alt属性告知搜索引擎链接的指向。

    规范的URL

    规范、简单、易理解的URL能让搜索引擎更好地抓取内容。建议:

    • 同一个页面,只对应一个url 。多个url可以采用301进行重定向。
    • url可以反应网页内容以及网站结构信息。例如www.a.com/blog、www.a.com/blog/123、www.a.com/article。
    • url尽量简短。
    • 尽量减少动态url中包含的变量参数。

    提交Sitemap

    Sitemap 可通知搜索引擎他们网站上有哪些可供抓取的网页,以便搜索引擎可以更加智能地抓取网站。

    robot.txt

    搜索引擎爬行网站第一个访问的文件就是robots.txt。在这个文件中声明该网站中不想被蜘蛛访问的部分,这样,该网站的部分或全部内容就可以不被搜索引擎访问和收录了,或者可以通过robots.txt指定使搜索引擎只收录指定的内容。

    合理的HTTP返回码

    不同的返回码,搜索引擎的处理逻辑是不一样的。

    • 如果站点临时关闭,当网页不能打开时,建议使用503状态。503可以告知百度spider该页面临时不可访问,请过段时间再重试。
    • 如果百度spider对您的站点抓取压力过大,请尽量不要使用404,同样建议返回503。这样百度spider会过段时间再来尝试抓取这个链接,如果那个时间站点空闲,那它就会被成功抓取了。
    • 有一些网站希望百度只收录部分内容,例如审核后的内容,累积一段时间的新用户页等等。在这种情况,建议新发内容暂时返回403,等审核或做好处理之后,再返回正常状态的返回码。
    • 站点迁移,或域名更换时,请使用301返回。

    合适的title

    title是告诉搜索引擎网页的主要内容。

    • 每个网页应该有一个独一无二的标题,切忌所有的页面都使用默认标题
    • 标题要主题明确和精练,包含这个网页中最重要的内容,且不罗列与网页内容不相关的信息
    • 用户浏览通常是从左到右的,重要的内容应该放到title的靠前的位置

    百度建议描述:

    • 首页:网站名称 或者 网站名称_服务介绍/产品介绍
    • 频道页:频道名称_网站名称
    • 文章页:文章标题_频道名称_网站名称

    合适的description

    description是对网页内容的精练概括。这个标签存在与否不影响网页权值,只会用做搜索结果摘要的一个选择目标。 百度推荐做法:

    • 为每个网页创建不同的description,避免所有网页都使用同样的描述
    • 网站首页、频道页、产品参数页等没有摘要的网页最适合使用description
    • 准确的描述网页,不要堆砌关键词,长度合理

    HTML语义化

    HTML语义化是用标签和属性来描述内容。所以HTML语义化是SEO的基石。一般建议:

    • HTML结构要清晰和简洁
    • 跳转使用标签,不要使用js跳转
    • 图片加alt说明
    • 文章用标签承载
    • ...

    Vue单页项目的SEO

    目前,对于SEO支持比较好的项目方案是采用服务端渲染。所以如果项目有SEO需求,那么比较好的方案是服务端渲染。

    如果你已经采用了前后分离的单页项目,而你的网站内容不需要AJAX去获取内容和展示内容,那么可以试试 prerender-spa-plugin 这个插件,这个插件是一个webpack插件,可以帮助你在打包过程中通过无头浏览器去渲染你的页面,并生成对应的HTML。当然这个方案适合你的路由是静态的,并且路由数量非海量。

    如果你的内容是AJAX动态获取的,那么vue单页项目可以试试 prerender ,这个是一个预渲染服务,可以帮你通过无头浏览器渲染页面,并返回HTML。这个方案和prerender-spa-plugin很相似,都是通过无头浏览器去渲染页面,不同的是渲染的时机,prerender-spa-plugin是在打包过程中渲染,注定了其只能渲染静态路由,而prerender 是在请求时渲染,所以可以渲染动态的路由。下面我重点介绍一下prerender方案。

    prerender 的使用

    1、安装

    $ npm install prerender复制代码

    2、启动服务 server.js

    const prerender = require('prerender');const server = prerender();server.start();复制代码

    3、测试

    http://localhost:3000/render?url=https://www.example.com/复制代码

    经过上面三个步骤,你就已经启动一个预渲染服务,并且会返回"www.example.com/"的内容,整个过程还是比较简单的。其github官网上面还介绍了它的许多中间件(Middleware),例如prerender-node (Express)、nginx.conf等,那么这个和 prerender 是什么关系呢?是否直接使用中间件就可以呢?下面介绍prerender是如何工作的吧。

    prerender方案的原理

    首先服务端接收到一个页面的请求,然后判断这个请求是否来自搜索引擎的爬虫,如果不是,则直接返回单页项目的HTML,按照普通单页项目的工作模式(客户端渲染),如果是,则把请求转发给prerender服务,prerender服务会通过无头浏览器进行预渲染,渲染完成把内容返回,这样爬虫就可以拿到有内容的HTML了。prerender中间件就是用来判断请求是否来自搜索引擎爬虫和转发请求的。

    值得注意的是,prerender服务是不包含无头浏览器的,所以需要自行安装chrome浏览器。因此,整个方案运行需要三部分:

    • chrome浏览器
    • prerender服务
    • prerender中间件

    那么prerender服务是怎么知道页面渲染已经完成的呢? Prerender服务通过计算未完成的请求数量,来确定页面何时完成加载。一旦未完成的请求数达到零,服务会等待一段时间(默认500ms),然后保存HTML。

    prerender的最佳实践

    经过实践,请求一个经过prerender渲染的页面是时间,快的时候约2s,慢的时候会长达8s。一般来说,请求时间在3s以内是最好的。所以我从以下几个方面入手,探索prerender的优化方法。

    减少资源请求的时间

    影响prerender渲染时间的资源主要有js请求资源和api请求资源,api请求时间一般由后端决定,所以我考虑的是如何减少js资源请求时间。一般prerender服务渲染的资源请求地址是由页面请求URL决定的,所以一般是线上的地址,如果我们把prerender服务部署在网站的服务器上,让prerender服务请求资源走本地,那么就可以缩短资源的请求时间了。

    如果你的线上服务是开启了CDN的话,那么资源走本地还有一个好处,就是可以节省CDN流量。

    优化prerender选项

    prerender提供了一些自定义的选项

    pageDoneCheckInterval:这个参数是prerender检查页面请求是否完成的定时器时间,默认是500ms,即每500ms检查未完成的请求数量是否为零,我将其修改为100ms,提高其检查的频率。

    waitAfterLastRequest:这个参数是最后一个请求完成之后等待的时间,默认是500ms,主要是请求完成之后,页面更新渲染需要时间,立即返回的话,可能请求的数据来不及渲染,我将时间修改为200ms。

    prerender插件

    httpHeaders —— 返回合理的HTTP状态码

    添加httpHeaders这个插件,可以更改返回的HTML的HTTP状态码,添加方式如下

    var prerender = require('prerender');var server = prerender()server.use(prerender.httpHeaders());server.start();复制代码

    prerender通过识别在

    中的标签来设置页面返回的HTTP状态码。
    复制代码

    如果你需要设置301重定向,可以这样做

    复制代码

    blockResources —— 无需等待图片资源

    prerender是根据未完成的请求数来判断是否渲染结束的。但是我们给搜索引擎返回的HTML只需要渲染通过js动态增加的DOM,其实不需要渲染css或者渲染接口返回的图片的,我们来看下prerender在渲染中是否会请求这些资源。 prerender可以开启是否打印请求,开启方式如下:

    var server = prerender({ logRequests: true});复制代码

    开启之后就可以在控制台看到请求了,请求里面是包含css和图片资源的。

    2019-07-17T04:34:03.180Z - 47 http://xxx.com/css/chunk-f4a02584.da8dca38.css2019-07-17T04:34:03.180Z { source: 'network', level: 'error', text: 'Failed to load resource: net::ERR_INVALID_ARGUMENT', timestamp: 1563338043130.37, url: 'http://xxx.com/wefid/css/chunk-f4a02584.da8dca38.css', networkRequestId: '1000039068.65' }2019-07-17T04:34:03.924Z + 3 http://xxx.com/img/erweima_wx.a84d82ef.jpg2019-07-17T04:34:03.924Z + 4 http://xxx.com/img/erweima_wb.06971584.png复制代码

    为什么prerender要等待这些资源呢?因为prerender服务还有一个强大的功能,那就是Prerender.com,其可以通过一个接口给你返回如下的东西:

    • 网页的HTML文件
    • 网页的屏幕截图(视口或全屏)
    • 网页的PDF文件
    • 网页的HAR文件
    • 执行您自己的javascript并返回json和HTML

    很明显,这些功能是需要加载你所需的CSS或图片资源的,不然网页显示有问题。这个时候,如果你只需要满足SEO需求而不需要Prerender.com的功能的话,那么blockResources插件就可以派上用场了。插件添加方式如下:

    var prerender = require('prerender');var server = prerender()server.use(prerender.blockResources());server.start();复制代码

    使用blockResources插件之后,图片资源和字体资源会被abort(舍弃)。

    自定义渲染结束时间

    如果你想更细粒化地控制prerender的返回时机,提前结束或者延后结束,那么可以使用这个标志window.prerenderReady。

    首先需要设置window.prerenderReady为false,prerender在检测到window.prerenderReady为false之后,会等待你设置为true再返回结果。

    复制代码

    当你渲染完成之后,一般在接口请求完成并渲染完成之后

    window.prerenderReady = true;复制代码

    这样你就可以更加自由地控制渲染结束的时机。

    开启缓存

    缓存这里有两个方面,一方面是HTTP缓存(浏览器缓存),另一方面是渲染结果缓存。

    首先HTTP缓存可以让prerender服务不用频繁地发起资源请求,节省传输时间。这个我就不展开将,我想讲的是渲染结果缓存。prerender中间件提供了两种缓存方式, redis 或者 memcached ,以redis为例:

    $ npm install redis复制代码var redis = require("redis"),client = redis.createClient();prerender.set('beforeRender', function(req, done) {client.get(req.url, done);}).set('afterRender', function(err, req, prerender_res) {client.set(req.url, prerender_res.body)});复制代码

    你可以通过 beforeRender 和 afterRender 这两个钩子进行细粒化地控制,对于内容变化频繁的不缓存或缓存时间短,对于内容变化不频繁的设置长时间缓存。开启缓存不仅可以加速返回时间,还可以减轻服务器的压力。

    统计和监控

    统计和监控可以放在中间件的 afterRender 中进行。

    prerender.set('afterRender', function(err, req, prerender_res) { if(err){ // 这里是错误监控代码 // ... // return } let {headers: req_headers, originalUrl} = req let {headers: res_headers, body} = prerender_res // 这里是统计代码,可以保存请求和返回的相关信息})复制代码

    小结

    通过以上的优化方法(除了自定义渲染结束时间和开启缓存),我已经将HTML的请求时间稳定在2.5s左右。

    总结

    以上就是我想讲的关于前端编码SEO的全部内容,总而言之,就是

    • 合适的HTML标签和属性
    • 合理的HTTP状态码
    • Sitemap & robot.txt
    • 合适的渲染方案

    参考文章:

    https://juejin.im/post/5d2d64f36fb9a07eba2c6f65

    展开全文
  • 搜索引擎优化(Search engine optimization,简称SEO),指为了提升网页在搜索引擎自然搜索结果中(非商业性推广结果)的收录数量以及排序位置而做的优化行为,是为了从搜索引擎中获得更多的免费流量,以及更好的...
  • seo搜索引擎优化

    2019-12-10 09:47:44
    seo 叫所搜引擎优化 作为前端开发人员需要注意的事情 为每一个页面添加关键词和描述信息(添加在 header 标签中) 为每一个 img 设置一个 alt 属性 优化网页加载速度 不要在页面中数显空链接 写代码要规范,使用语义...
  • 1.ssr 即单页面后台渲染 2.vue-meta-info与prerender-spa-plugin预渲染 3.nuxt.js 4.phantomjs
  • vue做seo优化

    万次阅读 多人点赞 2019-09-03 11:02:37
    前言 先了解什么是seo? 再了解搜索引擎蜘蛛的工作原理?...Optimization缩写而来, 中文意译为“搜索引擎优化”。SEO是指通过网站进行站内优化和修复(网站Web结构调整、网站内容建设、网站代码...
  • SEO 搜索引擎优化

    2020-03-06 22:10:05
    seo 叫搜索引擎优化 作为前端开发人员需要注意的事情: 为每一个页面添加关键词和描述信息(添加在 header 标签中) 为每一个 img 设置一个 alt 属性 优化网页加载速度 不要在页面中数显空链接 写代码要规范,使用语义...
  • 前端项目优化 -Web 开发常用优化方案、Vue & React 项目优化
  • Vue中的SEO优化

    千次阅读 2019-07-20 09:40:06
    不可否定的是,vue现在火。但是在实际项目中,特别是像一下交互网站,我们不可避免会考虑到的是seo问题,这直接关系到我们...1.搜索引擎的基础爬虫的原理就是抓取你的url,然后获取你的html源代码并解析。 而你的...
  • vuepress的seo优化

    2020-09-23 12:34:06
    实现资源自动推送到百度搜索引擎。 验证站点 详情请查阅推送资源到百度站长-验证站点 访问百度站长, 添加站点, 系统会给出验证代码, 复制验证代码, 并配置到 config.js 中 修改 config.js // 百度站长的验证, 不能...
  • 最近写了个门户网站使用vue做的,不可避免的遇到了SEO方面相关的问题,下面将我采用的解决方案贴出来供大家参考 主流的方案 1.SSR服务器渲染; 2.静态化; 3.预渲染prerender-spa-plugin; 第一点推荐先去官网...
  • SEO(Search Engine Optimization):汉译为搜索引擎优化。是一种方式:利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名。目的是:为网站提供生态式的自我营销解决方案,让其在行业内占据领先地位,获得品牌...
  • vue-seo优化

    2021-09-10 11:30:30
    Optimization缩写而来, 中文意译为“搜索引擎优化”。SEO是指通过网站进行站内优化和修复(网站Web结构调整、网站内容建设、网站代码优化和编码等)和站外优化,从而提高网站的网站关键词排名以及公司产品的曝光度...
  • Vue 项目优化

    2020-09-23 11:00:26
    它分了以下三个方面去优化Vue 项目 Vue 代码层面的优化; webpack 配置层面的优化; 基础的 Web 技术层面的优化。 一、 Vue 代码层面的优化 1.1、v-if 和 v-show 的使用场景 v-if 指令用于条件性地渲染一块内容,...
  • 因为用了vue等js的数据绑定机制来展示页面数据,爬虫获取到的html是模型页面而不是最终数据的渲染页面,搜索引擎是不回去执行请求到的js。vue的项目都是ajax请求数据,引擎爬虫进入页面获取不到文字内容,现在大多数...
  • vue如何做Seo优化

    千次阅读 2018-08-07 16:43:26
    vue默认不支持seo优化因为是单页面应用,数据也是用ajax读取,无法友好的让搜索引擎抓取,所以无法获取排名,需要用服务端渲染Nuxt.js来解决,但是这样开发成本太大,建议如果考虑seo的话就不要使用前端框架,用传统...
  • 学会对VUE的SEO优化,你的网站总是排在前面

    千次阅读 多人点赞 2020-04-08 21:35:49
    SEO(Search Engine Optimization):汉译为搜索引擎优化。是一种方式:利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名。目的是让其在行业内占据领先地位,获得品牌收益。很大程度上是网站经营者的一种商业...
  • vue项目webpack打包优化实践总结

    千次阅读 2019-07-22 17:21:29
    后面接触了一些打包优化的方法,现在做一个开发总结,这个技术栈就是vue+element-ui+axios+echarts,使用webpack打包构建工具,算是一个经验笔记只谈,文章若有不足之处,还请各位大侠指点一二,我会尽快改正,谢谢!...
  • Vue项目优化

    2019-09-16 20:17:56
    Vue项目优化?听说面试会有这个! 没办法!搞起来! 书写习惯 1. 数据规格化(不需要做响应式的数据不要放到data中) 不要把所有的数据都放到data中,只把你需要做响应式的数据放到data中。 如果一个数据放到了data中...
  • 自己对搜索引擎优化了解并不是深入,以此分享给大家。 向搜索引擎提交网站地址:http://www.runoob.com/web/web-search.html 文章原文链接:掘金-志如 什么是SEO:   以下内容摘自百度百科: SEO...
  • 防抖和节流: 主要目的是为了降低高频事件触发,减少dom操作或请求次数,提升性能 常用事件: onscroll,onresize,keyup/keydown,mousemove 防抖: 在固定时间内,如果有事件触发,则会再延长固定时间,直到固定...
  • Vue开发网站seo优化方法

    千次阅读 热门讨论 2021-05-06 18:43:09
    因为用了vue等js的数据绑定机制来展示页面数据,爬虫获取到的html是模型页面而不是最终数据的渲染页面,搜索引擎是不回去执行请求到的js。vue的项目都是ajax请求数据,引擎爬虫进入页面获取不到文字内容,现在大多数...
  • [vue] 关于性能优化

    2021-03-29 23:27:55
    前言 性能优化部分的问题主要考察编程者网站性能优化的了解。 如何做好性能优化,哪些操作会引起性能优化的问题,性能优化指标是什么等,都值得编程者关注 一、重构的理解 ...针对搜索引擎进行优化。 深层次的
  • Vue 性能优化

    2021-03-16 14:54:48
    Vue 代码层面的优化; webpack 配置层面的优化; 基础的 Web 技术层面的优化。 一、代码层面的优化 1.1、v-if 和 v-show 区分使用场景 v-if 是 真正 的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,023
精华内容 2,409
关键字:

vue对搜索引擎的优化

vue 订阅