分類
標籤
.env AI Arc Arm Astro BigQuery btop Certbot Chrome CICD Cookie CORS CSS cURL DataTables defineExpose DevOps Docker Draggable Fetch API Gamania Git GitLab Google Calendar Google Cloud Summit Google Tag Manager GSAP HTML iCal inject JavaScript Laravel Less LINE Llama 3 Masonry Meta Nginx Nginx UI O(log n) Ollama OpenSSL Oracle OrbStack PHP Pinia Pixel Postman provide Proxyman Raycast requestAnimationFrame script setup Server Session Sitemap Socialite SSL TablePlus Termius Valet Vertex AI Visual Studio Code Vite Vue 3 Vue2 Vue3 Vuex Warp Webpack Yahoo Calendar Zeabur 二分搜尋 元件溝通 前端開發 動畫效果 峰值體驗 廣告 性能優化 打包 推薦系統 搜尋 時間複雜度 演算法 瀑布流排版 父子元件 環境變數 程式碼複製按鈕 系統監控 網站地圖 網頁開發 自動化部署 螢幕刷新率 語言模型 資訊檢索 跨域請求 轉化率 開發工具 陣列 電商 電子商務
326 字
2 分鐘
Astro Sitemap 設定
Astro Sitemap 設定
安裝
Astro 包含一個 astro add
指令,用來自動設定官方整合。也可以選擇手動安裝整合。
在新的終端機視窗中執行以下其中一個指令:(這邊使用自動設定)
pnpm astro add sitemap
使用
@astrojs/sitemap
需要網站 URL 來生成網站地圖。在 astro.config.*
中使用 site
屬性加入你的網站 URL。這個 URL 必須以 http:
或 https:
開頭。
astro.config.mjs
import { defineConfig } from 'astro/config';
import sitemap from '@astrojs/sitemap';
export default defineConfig({
// ...
site: 'https://your-domain.com',
integrations: [sitemap()],
});
使用 astro build
指令來建構正式網站。會在 dist/
目錄(或你所設定的自訂建構目錄)中找到兩個檔案:sitemap-index.xml
和 sitemap-0.xml
。
驗證網站地圖是否已生成後,你可以將它們加入網站的 <head>
標籤和爬蟲讀取的 robots.txt
檔案中。
src/layouts/Layout.astro
<head>
<link rel="sitemap" href="/sitemap-index.xml" />
</head>
public/robots.txt
User-agent: *
Allow: /
Sitemap: https://<YOUR SITE>/sitemap-index.xml
若要動態生成 robots.txt
,請新增一個名為 robots.txt.ts
的檔案,並加入以下程式碼:
src/pages/robots.txt.ts
import type { APIRoute } from 'astro';
const robotsTxt = `
User-agent: *
Allow: /
Sitemap: ${new URL('sitemap-index.xml', import.meta.env.SITE).href}
`.trim();
export const GET: APIRoute = () => {
return new Response(robotsTxt, {
headers: {
'Content-Type': 'text/plain; charset=utf-8',
},
});
};
包含兩個頁面的網站生成檔案範例
sitemap-index.xml
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://your-domain.com/sitemap-0.xml</loc>
</sitemap>
</sitemapindex>
sitemap-0.xml
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
<url>
<loc>https://your-domain.com/</loc>
</url>
<url>
<loc>https://your-domain.com/second-page/</loc>
</url>
</urlset>
參考資料: