v2.5.16 2026-05-05 暫時隱藏 2 間灣仔 PhoneStore 豐達 更改 暫時隱藏:PhoneStore 豐達(灣仔電腦城 2/F 260 鋪) 暫時隱藏:PhoneStore 豐達(灣仔電腦城 1/F 126A 鋪) 日後可能恢復顯示
v2.5.14 2026-04-29 Meta Tags SEO 優化:OG Image、Title、Description 新增 1200×630 OG Image 社交分享圖片(取代舊 512×512 icon) meta robots 標籤 twitter:site 標籤(@b4travelsim) 首頁 11 語言獨立 title / description 翻譯 更改 首頁 title 改為問答格式:「B4travel 電話卡邊度買?全港 30+ 授權銷售點 | 5G 速度測試」 首頁 description 更新門市數量(20+ → 30+)並加強 CTA H1 從「#信心之選」改為「全港授權銷售點」,與 title 更一致 og:image 尺寸從 512×512 改為 1200×630(符合 Facebook/Twitter 最佳規格)
v2.5.13 2026-04-14 PhoneStore 豐達統一顯示名稱 + 移除大埔 2000FUN 更改 7 間 PhoneStore 豐達顯示名稱統一為「PhoneStore 豐達」(移除括號內地區後綴) 移除大埔 2000FUN 門市(原 tai-po-2000fun) 數據變更 星級合作商戶:29 間 → 28 間(-1) 星級地區:16 個 → 15 個(大埔區移除) 總頁面數:-11(tai-po-2000fun × 11 語言)
v2.5.12 2026-04-14 新增 7 間 PhoneStore 豐達星級合作商戶 新增 ⭐ PhoneStore 豐達 (灣仔260) — 軒尼詩道130號灣仔電腦城2/F 260鋪 ⭐ PhoneStore 豐達 (灣仔126A) — 軒尼詩道130號灣仔電腦城1/F 126A鋪 ⭐ PhoneStore 豐達 (元朗) — 元朗壽富街1號1B地舖 ⭐ PhoneStore 豐達 (新蒲崗辦公室) — 九龍新蒲崗大有街1號勤達中心1208室(星期一至五 10:00-19:00) ⭐ PhoneStore 豐達 (屯門) — 屯門愛定商場S區123鋪 ⭐ PhoneStore 豐達 (觀塘) — 開源道68號觀塘廣場M30鋪 ⭐ PhoneStore 豐達 (鑽石山) — 彩虹道235號啟鑽商場G02商鋪 7 間共用同一 logo `/logos/phonestore.webp` 新增 3 個地區:新蒲崗、屯門、鑽石山 數據變更 星級合作商戶:22 間 → 29 間(+7) 星級地區:13 個 → 16 個(+3) 總頁面數:+77(7 slug × 11 語言)
v2.5.11 2026-04-13 還原德仔及 BenBen 顯示地址(只改地圖定位) 更改 還原德仔電話卡地址顯示為「深水埗鴨寮街排檔336號」 還原 BenBen 電話卡地址顯示為「深水埗桂林街125號前排檔(港鐵深水埗站 C2 出口直走 10 秒)」 地圖 marker 定位保持 v2.5.10 設定(德仔 → 桂林街127號A1鋪;BenBen → 桂林街121號)
v2.5.10 2026-04-13 修正德仔及 BenBen 地址與地圖定位 修復 德仔電話卡:地址補上「桂林街127號A1鋪」,Google Maps URL 改用文字地址搜尋 BenBen 電話卡:地址改為「桂林街121號」,坐標微調至 22.33115, 114.16220
v2.5.9 2026-04-13 修正 4 間排檔坐標(鴨寮街 × 桂林街交界) 修復 德仔、Kanang、BenBen、靚靚 4 間排檔坐標更新為鴨寮街 × 桂林街交界(22.33125, 114.16215) 修正地圖上 marker 位置偏差問題
v2.5.8 2026-04-13 修復 4 間排檔 Google Maps URL(Invalid Dynamic Link) 修復 德仔、Kanang、BenBen、靚靚 4 間排檔嘅 Google Maps URL 由 maps.app.goo.gl(Firebase Dynamic Links 專用)改為正式 Google Maps Search API URL(www.google.com/maps/search/?api=1&query=lat,lng) 解決點擊「查看地圖」顯示 Invalid Dynamic Link 錯誤
v2.5.7 2026-04-13 4 間鴨寮街/桂林街排檔 Logo 改為圓形 更改 德仔、Kanang、BenBen、靚靚電話卡 4 個排檔 Logo 由方形改為圓形(黑底白字保持不變) Service Worker cache 更新至 v2.5.7 強制重新載入新 Logo
v2.5.6 2026-04-13 新增靚靚電話卡(鴨寮街 206 號)星級商戶 新增商店 新增「靚靚電話卡」為星級合作商戶(深水埗鴨寮街排檔 206 號) 營業時間:星期一至日 11:00 - 20:00 Logo:黑底白色粗體「206」 星級合作商戶:21 間 → 22 間(+1) 總頁面數:429 → 440(+11)
v2.5.5 2026-04-13 新增 BenBen 電話卡(桂林街 125 號)星級商戶 新增商店 新增「BenBen 電話卡」為星級合作商戶(深水埗桂林街 125 號前排檔) 位置:港鐵深水埗站 C2 出口直走 10 秒 營業時間:星期一至日 11:00 - 20:00 Logo:黑底白色粗體「125」 星級合作商戶:20 間 → 21 間(+1) 總頁面數:418 → 429(+11,1 slug × 11 語言)
v2.5.4 2026-04-13 新增 2 間鴨寮街電話卡星級商戶 新增商店 新增「德仔電話卡」為星級合作商戶(深水埗鴨寮街排檔 336 號) 新增「Kanang 電話卡」為星級合作商戶(深水埗鴨寮街排檔 278 號) 營業時間:星期一至日 11:00 - 20:00 兩店 Logo 為黑底白色粗體數字(336 / 278) 星級合作商戶:18 間 → 20 間(+2) 總頁面數:396 → 418(+22,2 slug × 11 語言)
v2.5.3 2026-04-13 Teledom 改為合作商戶 + 修復地圖 + 移除合作商戶描述 更改 Teledom(荔枝角)由星級合作商戶改為合作商戶,地圖視圖不再顯示 移除合作商戶類別描述「合作商戶僅發售部份國家、服務計劃的實體電話卡,建議前往前先與店舖聯絡。」 星級合作商戶:19 間 → 18 間(-1);合作商戶:5 間 → 6 間(+1) 修復 修復地圖顯示問題:Leaflet 資源改為 self-hosted(/leaflet/)以避免 CSP 及第三方 CDN 載入問題 CSP 收緊:移除 unpkg.com,只允許 self
v2.5.2 2026-04-10 新增何文田萬豐家居百貨 新增商店 新增何文田「萬豐家居百貨」為星級合作商戶 地址:何文田窩打老道73A號 營業時間:每日 09:00 - 21:00 沿用紅磡萬豐同一 Logo 及 Facebook 專頁 星級合作商戶由 18 間增至 19 間(14 個地區)
v2.5.1 2026-04-03 修復地圖顯示 + 萬豐地區改為佐敦 修復 修復 CSP(Content-Security-Policy)阻擋 Leaflet 地圖載入嘅問題,加入 unpkg.com 到 script-src 及 style-src 萬豐家居百貨新店地區由「油麻地」改為「佐敦」,slug 由 yau-ma-tei-manfung 改為 jordan-manfung
v2.5.0 2026-04-03 新增佐敦萬豐家居百貨 + 地圖移除合作商戶標記 新增商店 新增佐敦「萬豐家居百貨」為星級合作商戶(上海街80號海洋大廈) 營業時間:每日 09:00 - 21:00 星級合作商戶由 17 間增至 18 間(13 個地區) 沿用紅磡萬豐同一 Logo 及 Facebook 專頁 地圖改善 地圖視圖移除合作商戶(藍色標記),只顯示星級合作商戶(紅色標記) 簡化地圖圖例,移除合作商戶標示
v2.4.0 2026-03-30 GEO 第二輪改善:WebSite Schema、速度比較表、方法論、Footer 法律連結 Schema 結構化數據 全站新增 WebSite JSON-LD + SearchAction(搜尋速度測試頁面) Person schema 增強:新增 jobTitle、worksFor、sameAs(速度測試國家頁面) 內容 + E-E-A-T 速度測試 Hub 新增 8 國速度比較表(國家、最高速度、平均速度、網絡、地點數) 速度測試 Hub 新增測試方法論 section(裝置、App、條件、來源) 速度測試 Hub 國家卡標題改為問題式(如「日本 5G 有幾快?」) 新增 16 個翻譯鍵 × 11 語言(比較表、方法論、問題式標題、法律連結) 品牌 + 信任 SocialBar 新增 LinkedIn 連結及圖示 新建 Footer 組件,取代 inline footer Footer 新增私隱政策及服務條款連結(指向 b4travel.shop)
v2.3.1 2026-03-18 新增 4 個台灣 5G 速度測試地點 新增數據 新增 4 個台灣速度測試地點 — 中山車站(180Mbps)、中原公園(178Mbps)、台北巨蛋(174Mbps)、迪化街(168Mbps) 台灣測試地點由 9 個增至 13 個 數據來源:manhung.tech 2026 年 3 月台灣 5G 上網卡測試報告 3 個重複地點(台北車站、松山文創、桃園機場)保留現有較高速度數據
v2.3.0 2026-03-30 GEO 優化:AI 爬蟲指令、速度測試日期、Article Schema、安全標頭 技術 GEO robots.txt 新增 9 個 AI 爬蟲明確 Allow 指令(GPTBot、ClaudeBot、PerplexityBot、ChatGPT-User、Google-Extended、CCBot、OAI-SearchBot、anthropic-ai、cohere-ai) firebase.json 新增安全標頭:X-Content-Type-Options、X-Frame-Options、Content-Security-Policy llms.txt 新增 LinkedIn 公司連結 內容 E-E-A-T 所有速度測試數據新增測試日期標示(testDate 欄位) 每個國家頁面顯示「數據最後更新」日期 速度表格每行顯示測試日期 Schema 結構化數據 速度測試頁面新增 Article schema(datePublished、dateModified、author Person、publisher Organization) 速度測試頁面新增 speakable 屬性(SpeakableSpecification) Organization sameAs 新增 LinkedIn 公司頁面 Store schema 新增 image(商戶 Logo URL)同 url(門市詳情頁連結) 非中文版 Organization schema 從簡化版升級為完整版(含 sameAs、contactPoint、description)
v2.2.2 2026-03-02 新增瑞士 5G 速度測試數據 新增數據 新增瑞士(Switzerland)5G 速度測試數據 — Swisscom 5G 網絡 涵蓋 6 個測試地點:蘇黎世機場、蘇黎世火車站、伯恩、伯恩酒店、策馬特滑雪場 最高速度 184Mbps(蘇黎世機場),全部 6 個地點均為 5G 連接 數據來源:manhung.tech 實測報告(B4travel 歐洲 30 日 10GB 無限數據卡,iPhone 15 Pro) 頁面變更 速度測試國家由 8 個增至 9 個(新增瑞士) 新增 /speedtest/switzerland 獨立頁面(× 11 語言 = 11 頁) 速度測試 Hub 頁面新增瑞士國家卡片
v2.2.1 2026-02-24 修復缺失商店數據:新增比動力 + Teledom 升級為星級商戶 背景 cleanup-v1.7.0-backup 分支曾正確包含比動力及 Teledom 升級改動(commit ec8fcd3、9174f26) 當 main 分支用 608b423 Initial commit from Astro 重建時,links.ts 從頭寫起,遺失了 backup 分支嘅商店數據 比動力完全無被加入 main 分支,Teledom 被放回合作商戶(應為星級商戶) 本版本從 backup 分支還原呢兩項遺失嘅改動 新增商店 新增比動力(Bepower)到星級合作商戶 — 葵芳葵涌廣場一樓 B78 地址:葵芳葵涌廣場一樓B78|電話:9345 1473 營業時間:星期一至六 12:00-20:00 社交媒體:Instagram @bepower_b78|WhatsApp 852-9345-1473 新增 bepower.webp Logo(從 backup 分支 PNG 轉換為 WebP,8.25 KB) 產品標籤:eSIM + 實體卡(全系列) 商店升級 Teledom 從合作商戶升級為星級合作商戶(荔枝角) Teledom 產品標籤從「實體卡」升級為「eSIM + 實體卡」(全系列產品) 新增荔枝角(Lai Chi Kok)地區到星級合作商戶 從合作商戶移除荔枝角地區(Teledom 為該區唯一商戶) 數據變更 星級合作商戶:15 間 → 17 間(+2) 合作商戶:6 間 → 5 間(-1,Teledom 升級) 總門市數:21 間 → 22 間(+1,新增比動力) 星級地區:10 個 → 12 個(+2:葵芳新增比動力、新增荔枝角區) 總頁面數:352 → 363(+11,新增 kwai-fong-bepower 頁面 × 11 語言)
v2.2.0 2026-02-24 清理 Cloud Run 部署系統,統一使用 Firebase Hosting 移除 完全移除 Cloud Run 部署系統 刪除 deploy.sh — Cloud Run 部署腳本 刪除 Dockerfile — Docker 容器配置 刪除 nginx.conf — Nginx 伺服器配置 刪除 .dockerignore — Docker 忽略規則 停用 GCP Cloud Run 服務 清理 40+ 個舊容器映像(保留最後 3 個版本作備份) 改進 統一部署流程 — 僅使用 Firebase Hosting 簡化部署:執行 ./deploy-firebase.sh 即可 移除 Docker 和容器化相關複雜性 部署時間從 2 分鐘減少到 30 秒 內建全球 CDN、自動 SSL 證書 備份 Git 標籤 v1.6.4-with-cloud-run 保留清理前完整代碼 Git 分支 backup/cloud-run-deployment-system 可用於緊急恢復 Cloud Run 配置已備份(可於 15 分鐘內恢復) 原因 靜態網站不需要容器化 Firebase Hosting 提供更簡單、快速的部署體驗 減少維護複雜度 更低的營運成本
v2.1.0 2026-02-18 11 語言國際化 + SEO 全面升級 國際化(i18n) 全站從 2 種語言(中/英)擴展至 11 種語言 — 中文(香港)、English、Français、Nederlands、Deutsch、日本語、한국어、繁體中文(台灣)、简体中文、Español、Português 採用 Subpath Routing 架構 — 每種語言擁有獨立 URL(如 /en/、/fr/、/ja/),為 Google 推薦的最佳 SEO 做法 全站頁面由 32 頁擴展至 352 頁(32 頁 × 11 種語言),全部為 Astro SSG 預先生成的靜態 HTML 新增集中式翻譯系統(src/data/translations.ts)— 超過 80 個翻譯鍵值 × 11 種語言,涵蓋 UI 標籤、國家名稱、FAQ 內容 新增 i18n 工具模組(src/data/i18n.ts)— 包含 localePath()、isChinese()、stripLocale()、getNonDefaultLocales() 等輔助函數 新增語言選擇器組件(LangSelector.astro)— 取代舊有中英切換按鈕,支援 11 種語言即時切換 移除舊有 CSS 語言切換機制 — 不再使用 lang-zh/lang-en CSS class 及 data-lang 屬性 移除 localStorage 語言偏好儲存 — 每個 URL 即代表一種語言,無需 JavaScript 切換 所有組件重構支援 locale prop — ProfileHeader、LinkButton、LinkSection、SpeedtestSection、MapView、Breadcrumb 全部接受 locale 參數 地圖組件多語言化 — 所有 popup 文字、按鈕標籤、距離顯示、定位提示均按語言翻譯 中文地址智能判斷 — zh(香港)、tw(台灣)、sc(簡體)顯示中文地址,其他語言顯示英文地址 SEO 改進 每頁 HTML head 包含 11 個 hreflang 標籤 + x-default — 告知 Google 所有語言版本的對應關係 動態生成 sitemap.xml — 由靜態 31 URL 升級為動態 352 URL,每個 URL 包含 xhtml:link hreflang 標注(雙重 hreflang 信號) og:site_name 按語言翻譯 — 中文顯示「B4travel 電話卡」、英文顯示「B4travel SIM Cards」、日文顯示「B4travel SIMカード」等 og:image:alt 按語言翻譯 — 提升社交媒體分享的無障礙性 apple-mobile-web-app-title 按語言翻譯 — PWA 安裝名稱本地化 meta keywords 精簡化 — 移除過長的中文關鍵字列表,改用簡潔通用關鍵字 og:locale 動態設定 — 每個語言頁面設定正確的 Open Graph locale(如 zh_HK、en、ja) canonical URL 每語言獨立 — 確保 Google 正確索引每個語言版本 頁面路由架構 中文(香港)作為預設語言 — 保持根路徑 /(無前綴),其他語言使用 /{lang}/ 前綴 新增 [lang]/ 動態路由目錄 — 包含 index、speedtest/index、speedtest/[country]、store/[slug]、changelog/index 每個 [lang] 頁面使用 getStaticPaths() 搭配 getNonDefaultLocales() 自動生成 10 種語言版本 根路徑頁面硬編碼 locale="zh" — 確保預設語言不帶前綴 Sitemap 由靜態 public/sitemap.xml 遷移至動態 Astro endpoint(src/pages/sitemap.xml.ts)
v2.0.0 2026-02-16 多頁面 SEO 大升級 新功能 全站從 1 頁擴展至 31 頁 — 使用 Astro SSG 動態路由(getStaticPaths)自動生成獨立靜態頁面 新增速度測試 Hub 頁面(/speedtest)— 展示 8 個國家速度概覽卡片,包含最高速度、平均速度、測試地點數 新增 8 個國家速度測試獨立頁面(/speedtest/japan、/speedtest/korea 等)— 每頁包含完整城市速度表格、統計欄、FAQ、其他國家交叉連結 新增 21 個門市獨立頁面(/store/kwai-fong-anlander 等)— 每頁包含地址、電話、營業時間、Google Maps 連結、社交媒體按鈕、同區門市連結 新增麵包屑導航組件(Breadcrumb.astro)— 所有子頁面顯示層級導航 新增版本號顯示於頁尾(連結至 /changelog) 新增更新日誌頁面(/changelog)— 詳細記錄所有版本變更 SEO 改進 每個國家頁面獨立 Dataset JSON-LD 結構化數據(針對該國速度測試關鍵詞) 每個國家頁面獨立 FAQPage JSON-LD(3 條 FAQ) 每個門市頁面獨立 LocalBusiness JSON-LD(比 Store 更適合本地 SEO) 所有子頁面獨立 BreadcrumbList JSON-LD 每頁獨立 canonical URL 及 OG URL(BaseLayout 支援 url prop) Sitemap 從 1 個 URL 擴展至 31 個真實 URL 主頁新增內部連結區塊 — 連結到所有國家速度測試頁面 主頁 JSON-LD Dataset URL 從 fragment(#)改為真實頁面路徑 Hub-and-spoke 內部連結架構 — 主頁作為 Hub,國家頁及門市頁互相交叉連結 資料結構 速度測試數據抽取至獨立共享檔案(src/data/speedtest.ts)— 主頁及國家頁面共用 新增每國 slug、description(中英文)、networkOperator 欄位 新增 speedNum 數值欄位用於計算統計(最高速度、平均速度) 新增 getCountryStats() 輔助函數 門市數據新增 getAllStores() 輔助函數(src/data/links.ts)
v1.6.3 2026-02-16 WebP 圖片壓縮 + 安全標頭 效能 所有 28 個商戶 Logo 由 PNG/JPEG 轉換為 WebP 格式(Python PIL quality=80) 圖片大小由 436KB 縮減至 88KB(減少 80%) 安全 Firebase Hosting 部署配置新增 Referrer-Policy: strict-origin-when-cross-origin Firebase Hosting 部署配置新增 Permissions-Policy: geolocation=(self), microphone=(), camera=()
v1.6.2 2026-02-16 深度優化 — 關鍵 Bug 修復 + 效能 + 無障礙 關鍵修復 修復 astro.config.mjs 網站 URL 缺少 "s"(location → locations)— 影響所有 canonical URL 及 OG 標籤 移除 sitemap.xml 中無效的 fragment(#)URL — Google 完全忽略 fragment URL 效能 Leaflet 地圖延遲載入 — 由靜態載入改為動態 script 注入(節省首次載入 ~320KB) 新增 GA4 preconnect hint SEO 新增 OG image 尺寸(width/height)及 alt 屬性 Twitter card 由 summary 改為 summary_large_image 新增 hreflang en 語言標記 無障礙 社交媒體按鈕(Facebook/Instagram/WhatsApp)新增 aria-label 分享按鈕新增 aria-label 提升文字對比度(opacity 0.5→0.7 / 0.75→0.8) 完善 manifest.json(scope、orientation、lang、categories、maskable icons)
v1.6.1 2026-02-16 GA4 分析 + 強化 SEO 結構化數據 新功能 新增 Google Analytics GA4(G-NVWBJCR5XY)追蹤代碼 新增 8 個國家獨立 Dataset JSON-LD(每國包含城市速度數據) 新增 BreadcrumbList JSON-LD 結構化數據 速度測試區域新增國家錨點 ID(speedtest-japan、speedtest-korea 等)
v1.6.0 2026-02-16 安全修復 + SEO 基礎建設 安全 MapView.astro 新增 XSS 防護(escapeHtml + safeUrl 函數) index.astro hash 驗證新增正則白名單(防止注入攻擊) SEO 新增 Organization + WebPage JSON-LD 結構化數據 新增 Store JSON-LD(所有門市地址、電話、營業時間、座標) 新增 FAQPage JSON-LD(4 條常見問題) 更新 title 及 description 加入 5G 關鍵詞及實測速度數據 擴展 meta keywords
v1.5.x 2026-02-15 Firebase Hosting 遷移 + 自訂域名 基礎設施 由 Google Cloud Run + nginx 遷移至 Firebase Hosting 設定自訂域名 locations.b4travel.shop(SSL 自動配置) 建立 deploy-firebase.sh 部署腳本(Firebase REST API,無需 firebase login) 建立 GitHub repo(git@github.com:Stoneip/locations.b4travel.shop.git)
v1.4.x 2026-02-15 商戶資料完善 + Logo 壓縮 內容 新增門市社交媒體按鈕(Facebook / Instagram / WhatsApp) 新增門市詳細資料(地址、電話、營業時間) 新增線上零售商資料 商戶 Logo 壓縮(4.3MB → 480KB) 更新多間門市地址及連結
v1.0.0 2026-02-14 初始版本 功能 Astro v5 靜態網站生成器 門市資訊展示(星級合作商戶 + 合作商戶) 互動地圖(Leaflet.js) 速度測試數據展示(8 國 70+ 地點) 中英文雙語切換 PWA 支援(Service Worker + manifest.json) 地區篩選功能