PHP如何實現服務端渲染,解決Vue單頁應用動態SEO引數硬傷

h6play發表於2020-10-22

Git 地址

gitee.com/h6play/svr

介紹

我們常用Vue開發單頁應用,如果開發的是官網呢?沒法動態的加入SEO引數,能讓爬蟲抓取的資訊,所以為了適應使用PHP指令碼開發了一個服務端渲染SEO資訊的程式,方便快速部署使用。

軟體架構

  • 如果網站訪問目錄是 public

/<網站目錄>/                  # 網站目錄

/<網站目錄>/public/           # 網站訪問目錄 例如Laravel網站執行目錄是在 public 下

/<網站目錄>/public/svr.php    # 渲染程式放這
  • 如果網站訪問目錄是 /

/<網站目錄>/           # 網站訪問目錄

/<網站目錄>/svr.php    # 渲染程式放這

安裝教程

  1. 放置 svr.php 到網站訪問目錄

  2. 設定 Nginx 預設檔案為 svr.php

  3. 設定 Nginx 單頁應用偽靜態


try_files $uri $uri/ /svr.php;
  1. 配置 svr.php 檔案引數

define("CloudUrl", "http://blog.h6play.cn/index.php/api/Manage.Test.Svr"); # 獲取頁面SEO引數介面

define("CloudKey", "2kjk23lao1pu2341ou2o1hpo32p3"); # 訪問Key

define("CacheMinute", 60); # 快取時間 單位:60秒

define("DefaultPage", "index.html"); # 預設頁面

define("APP_DEBUG", false); # 除錯模式 false=快取頁面 true=不快取頁面

/*

 * 預設SEO資訊

 */

$seo = [

    "title" => date("H:i:s"),    # 頁面標題

    "icon" => "favicon.ico",     # 頁面圖示

    "keywords" => "頁面關鍵詞",   # 頁面關鍵詞

    "description" => "頁面描述",  # 頁面描述

    "script" => "",              # 頁面指令碼

];
  1. 配置的介面請求引數是 POST

{

    "url": "http://www.baidu.com/page/1",   // 當前頁面訪問URL

    "key": "2kjk23lao1pu2341ou2o1hpo32p3",  // 通訊祕鑰

}
  1. 配置的介面需要返回引數是

{

    "title": "13:49:50_服務端",

    "icon": "http://farm.test.farmkd.com/uploads/0/png/20201015/2eeceb51ff1996f4d1578dbee355cb42.png",

    "keywords": "這是頁面關鍵詞",

    "description": "這是頁面描述",

    "script": ""

}

命令列

  1. php svr.php list 顯示所有域名快取頁面檔案數量和大小
  2. php svr.php clean domain <域名> 刪除指定域名下快取
  3. php svr.php clean old 刪除過期快取
  4. php svr.php clean all 刪除所有快取

參與貢獻

  1. h6play@163.com
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章