当前位置: 首页 > 知识库问答 >
问题:

SEO缺少Gatsby JS元描述?

关胜
2023-03-14

我创建了一个SEO组件,但由于某种原因,当我通过lighthouse或SEO检查器运行我的站点时,它说我缺少一个元描述。

      import React from "react"
      import PropTypes from "prop-types"
      import { Helmet } from "react-helmet"
      import { useStaticQuery, graphql } from "gatsby"

      function SEO({ description, title, keywords, siteUrl, lang, meta }) {
        const { site } = useStaticQuery(
          graphql`
            query {
              site {
                siteMetadata {
                  description
                  keywords
                  title
                  siteUrl
                }
              }
            }
          `
        )

        const metaDescription = description || site.siteMetadata.description
        const defaultTitle = site.siteMetadata.title
        const metaUrl = siteUrl || site.siteMetadata.siteUrl
        const metaKeywords = keywords || site.siteMetadata.keywords

        return (
          <Helmet
            htmlAttributes={{
              lang,
            }}
            title={title}
            titleTemplate={defaultTitle ? `%s | ${defaultTitle}` : null}
            meta={[
              {
                property: `og:title`,
                content: title,
              },
              {
                property: `og:siteurl`,
                content: metaUrl,
              },
              {
                name: `keywords`,
                content: metaKeywords,
              },
              {
                property: `og:description`,
                content: metaDescription,
              },
              {
                property: `og:type`,
                content: `website`,
              },
            ].concat(meta)}
          />
        )
      }

      SEO.defaultProps = {
        lang: `en`,
        meta: [],
        description: ``,
      }

      SEO.propTypes = {
        description: PropTypes.string,
        lang: PropTypes.string,
        meta: PropTypes.arrayOf(PropTypes.object),
        title: PropTypes.string.isRequired,
      }

      export default SEO

当我检查我的网站时,它显示

 <meta data-react-helmet="true" property="og:description" content="My coding blog about tech 
 and design.">

所以我不确定我需要为我的SEO组件添加或更改什么,因为我当前显示描述的方法不起作用,显然是基于灯塔或其他SEO网站检查器。

共有1个答案

胡鸿禧
2023-03-14

只需将og:description更改为description(独立):

          {
            property: `description`,
            content: metaDescription,
          },

OG属性表示打开图。它们主要用于社交网络获取信息,当一个web被共享时,您可以为那些社交网络定制描述,而不是采取页面本身的描述。如果您不关心这些,请将其更改为description,如果您关心,则保留两个元标记:

          {
            property: `og:description`,
            content: anoterOgMetaDescription,
          },
          {
            property: `description`,
            content: metaDescription,
          },
 类似资料:
  • 这是我第一次使用Yoast搜索引擎优化插件在我的网站,我正在尝试添加元描述到每一个网页和每一个帖子在我的网站。 当我在谷歌上搜索时,似乎元描述根本没有显示出来,相反谷歌将网站页面上的内容作为元描述。 当我查看页面源代码时,我在Yoast SEO中设置了一个内容作为我的元描述 这是我的网站 sunlitex.co.id/en/ 我也有一个问题的元描述模板从插件页面,我只是留空还是应该添加一些变量?

  • 我试图使用python selenium实现一些自动化功能,但遇到了一些奇怪的行为。 html的总体布局: 现在,每个iframe实际上都有相同的内部html,网站上的代码似乎是随机选择哪个iframe得到了显示="块"。然而,我找不到任何iframe。 我尝试了一种标准方法:

  • 我觉得我在做一些非常愚蠢的事情,但我是Java新手,所以请耐心等待。我正在使用FileReader和扫描器来读取。txt文件的行。抓取每一行后,我提取一些信息,然后移动一行。这就是我的简化方法的样子: 我的问题是,如果将留在原处,我总是会跳过。txt文件的第一行,但是如果将它移到的末尾,当扫描仪到达。txt文件的末尾时,我会得到一个“no sock line exists”异常。 如有任何帮助和指

  • 问题内容: 有人可以解释的吗?到底缺少什么细胞?我没有发现docs 链接对于缺少的单元格是不言自明的。 问题答案: 您是否阅读过Apache POI Excel Busy开发人员指南? 在某些情况下,进行迭代时,您需要完全控制如何处理丢失或空白的行和单元格,并且需要确保访问每个单元格,而不仅仅是访问文件中定义的单元格。(CellIterator将仅返回文件中定义的单元格,这些单元格在很大程度上具有

  • 问题内容: 当我在命令行中回显$ PATH时,它将返回 当我执行这个PHP代码 我懂了 这是在Mac OS X上。谁能告诉我为什么我的最后两个路径元素丢失了? 问题答案: Mac OS X上的环境变量由不同的机制来设置,具体取决于启动代码或其父进程的方式。为了确保从交互式外壳程序启动的项目和由WindowServer启动的项目具有相同的路径,您需要使〜/ .MacOSX / environment

  • 我有以下JAXB对象: 我使用JAXB编组程序将对象转换为XML: 它运行平稳,没有任何异常,但是,结果总是缺少元素键。我试图将其改为Attribute,但它也不起作用。以下是输出示例: 我曾尝试将键更改为另一个名称,例如AuthKey,但它仍然缺失。我做错了什么? 编辑我发现了问题,这是因为我的键的值是空的。如果它包含值,则将其写入XML。然而,您能解释一下为什么在XMLElement中,我写了