关于Hexo+next主题的SEO优化

问题

用了hexo博客中的next主题,发现主题中的<meta property="og:description" content="xxxxxxx"> 网站描述内容,跟头像下面的描述是一样的。(我自己的已经改过来了,下面用别人的博客举个例子)

image-20200722193917096

image-20200722193951517

上面两张图红框都是显示的description,此描述可以在hexo配置中修改。

image-20200722194238507

一般弄过SEO的童鞋都知道,网站描述一般都要用一段话来说明此网站的性质或者写一点简短而又有特点的描述性语言,但头像下方的文字可作为你的座右铭或者你喜欢的一句话,所以这两者不能一样。

如何修改?

header里面的description我们就不用管它了,直接hexo配置文件里面设置。

主要是修改侧边栏sidebar里面头像下的内容。看下效果图:

2

  • 找到hexo\themes\next\layout_partials\sidebar\site-overview.swig中以下代码:

    1
    2
    3
    <div class="site-description" itemprop="description">

    </div>
  • 删除这个标签里面的内容,改成以下内容:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <div id="binft"></div>  
    <script>
    var binft = function (r) {
    function t() {
    return b[Math.floor(Math.random() * b.length)]
    }
    function e() {
    return String.fromCharCode(94 * Math.random() + 33)
    }
    function n(r) {
    for (var n = document.createDocumentFragment(), i = 0; r > i; i++) {
    var l = document.createElement("span");
    l.textContent = e(), l.style.color = t(), n.appendChild(l)
    }
    return n
    }
    function i() {
    var t = o[c.skillI];
    c.step ? c.step-- : (c.step = g, c.prefixP < l.length ? (c.prefixP >= 0 && (c.text += l[c.prefixP]), c.prefixP++) : "forward" === c.direction ? c.skillP < t.length ? (c.text += t[c.skillP], c.skillP++) : c.delay ? c.delay-- : (c.direction = "backward", c.delay = a) : c.skillP > 0 ? (c.text = c.text.slice(0, -1), c.skillP--) : (c.skillI = (c.skillI + 1) % o.length, c.direction = "forward")), r.textContent = c.text, r.appendChild(n(c.prefixP < l.length ? Math.min(s, s + c.prefixP) : Math.min(s, t.length - c.skillP))), setTimeout(i, d)
    }
    var l = "",
    o = ["人生在勤,不索何获", "一个伪IT技术型骨灰级米粉","日日待明日,万事成蹉跎","丈夫志四海,万里犹比邻","还在看这里吗?","能不能别看了?","文章更精彩...."].map(function (r) {
    return r + ""
    }),
    a = 2,
    g = 1,
    s = 5,
    d = 75,
    b = ["rgb(110,64,170)", "rgb(150,61,179)", "rgb(191,60,175)", "rgb(228,65,157)", "rgb(254,75,131)", "rgb(255,94,99)", "rgb(255,120,71)", "rgb(251,150,51)", "rgb(226,183,47)", "rgb(198,214,60)", "rgb(175,240,91)", "rgb(127,246,88)", "rgb(82,246,103)", "rgb(48,239,130)", "rgb(29,223,163)", "rgb(26,199,194)", "rgb(35,171,216)", "rgb(54,140,225)", "rgb(76,110,219)", "rgb(96,84,200)"],
    c = {
    text: "",
    prefixP: -s,
    skillI: 0,
    skillP: 0,
    direction: "forward",
    delay: a,
    step: g
    };
    i()
    };
    binft(document.getElementById('binft'));
    </script>

    中间的文字部分,自己修改好了。

    这样就改好了,hexo配置中自由写描述,两者不影响,各自独立。这样SEO也更加地友好