簡體   English   中英

Twitter 卡片元標簽在 index.html 中工作,而不是在 React Helmet 中

[英]Twitter card meta tags work in index.html, not in React Helmet

我在 App.js 中使用了下面的 React Helmet 代碼來渲染 Twitter 卡片元數據。

          <Helmet>
              <meta charSet="utf-8" />
              <title>
                {`xxxxx`}
              </title>
              <meta
                name="description"
                content={`xxxxx.`}
              />
              <meta name="twitter:card" content="summary_large_image" />
              <meta
                name="twitter:title"
                content="xxxxx"
              />
              <meta
                name="twitter:description"
                content="xxxx."
              />
              <meta name="twitter:site" content="@xxxx" />
              <meta
                name="twitter:image"
                content="https:xxxx"
              />
              <meta name="twitter:creator" content="@xxxx" />
            </Helmet>

當我進行瀏覽器檢查時,元標記確實出現了。 但是在 twitter 卡驗證器( https://cards-dev.twitter.com/validator )中,我收到錯誤:找不到卡(卡錯誤)。

如果我在 index.html 中添加相同的元標記,它會起作用。 但是,我希望 Twitter 卡在 Helmet 中工作,以便我可以動態更改它。 沒有服務器端渲染有可能嗎?

臉書/推特/等。 爬蟲不呈現 JavaScript,因此除非您在服務器上呈現 Helmet 內容或在 index.html 文件中包含卡片元標記,否則它們永遠不會獲取您的客戶端更新。

Twitter 現在似乎在為元標記抓取網頁時呈現 JavaScript! 至少就 React Helmet 而言。

我們在我們的 React 網站上通過 Helmet 使用 Twitter 的summary_large_imagetwitter:image ,並確認它在Twitter Card Validator和實時 Twitter 帖子中工作!

請注意,Twitter 需要 URL 協議 (https://) 才能使用我們的twitter:image元標記中指定的twitter:image 我們最初在沒有 URL 協議的情況下構建了這些元標記,並且 Twitter 沒有將圖像拉入與推文一起顯示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM