Stories

Detail Return Return

React服務端渲染之路09——SEO優化 - Stories Detail

所有源代碼、文檔和圖片都在 github 的倉庫裏,點擊進入倉庫

相關閲讀
  • React服務端渲染之路01——項目基礎架構搭建
  • React服務端渲染之路02——最簡單的服務端渲染
  • React服務端渲染之路03——路由
  • React服務端渲染之路04——redux-01
  • React服務端渲染之路05——redux-02
  • React服務端渲染之路06——優化
  • React服務端渲染之路07——添加CSS樣式
  • React服務端渲染之路08——404和重定向
  • React服務端渲染之路09——SEO優化

1. SEO優化

  • 搜索引擎優化Search engine optimization
  • 搜索引擎分析網站的時候,蒐集網站的全部內容,進行分析,然後得出一個主題,這個主題,就是搜索關鍵詞
  • title 標籤和 meta 裏的 description 的真正作用是提高網站的轉化率,不在於 SEO 優化
  • 網站的三部分:文字,鏈接和媒體。文字的原創;鏈接的相關性,外部鏈接越多,網站的歡迎程度越好;圖片的原創,高清

2. 使用 react-helmet 進行 SEO 優化

2.1 客户端使用

  • Home 頁面
// src/client/Home/index.js
import {Helmet} from 'react-helmet';

class Home extends Component {
  render() {
    return (
      <>
        <Helmet>
          <title>hello, Home</title>
          <meta name="描述" content="這是 Home 頁面" />
        </Helmet>
        <div className={styles.wrapper}>
        </div>
      </>
    );
  }
}
  • News 頁面
// src/client/News/index.js
import { Helmet } from 'react-helmet';

class News extends Component {
  render() {
    return (
      <>
        <Helmet>
          <title>hello, News</title>
          <meta name="描述" content="這是 News 頁面" />
        </Helmet>
        <div>
          <h1>News Page</h1>
        </div>
      </>
    );
  }
}

2.2 服務端使用

  • src/server/render.js
// src/server/render.js
import { Helmet } from 'react-helmet';

export default (req, res) => {
  Promise.all(promises).then(() => {

    const helmet = Helmet.renderStatic();

    let html = `
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
  <link href="https://cdn.bootcss.com/twitter-bootstrap/3.3.7/css/bootstrap.css" rel="stylesheet">
  ${helmet.title.toString()}
  ${helmet.meta.toString()}
  <style>${cssStr}</style>
</head>
<body>
<div id="root">${domContent}</div>
<script>
  window.context = {
    state: ${JSON.stringify(store.getState())}
  }
</script>
<script src="/client.js"></script>
</body>
</html>
`;

    res.send(html);
  });
};
相關閲讀
  • React服務端渲染之路01——項目基礎架構搭建
  • React服務端渲染之路02——最簡單的服務端渲染
  • React服務端渲染之路03——路由
  • React服務端渲染之路04——redux-01
  • React服務端渲染之路05——redux-02
  • React服務端渲染之路06——優化
  • React服務端渲染之路07——添加CSS樣式
  • React服務端渲染之路08——404和重定向
  • React服務端渲染之路09——SEO優化
user avatar toopoo Avatar juanerma Avatar front_yue Avatar zourongle Avatar linx Avatar hard_heart_603dd717240e2 Avatar shuirong1997 Avatar jiavan Avatar yqyx36 Avatar zzd41 Avatar nqbefgvs Avatar user_ze46ouik Avatar
Favorites 44 users favorite the story!
Favorites

Add a new Comments

Some HTML is okay.