想在聯絡頁放上店家位置、在旅遊文裡標出多個景點,或讓訪客一眼看出門市分布,第一個跳出來的問題往往是:到底該裝 WordPress 地圖外掛,還是直接貼一段 Google 地圖嵌入碼就好?兩條路都能在頁面上長出一張地圖,但維護成本、可客製程度、要不要申請 API 金鑰、會不會拖慢網站,差異其實不小。
這篇從「你的地圖要做到什麼程度」出發,把不裝外掛的純嵌入、用 WP Go Maps 這類外掛、以及改走 OpenStreetMap 開源路線三種做法攤開比較,並把 Google 在近兩年調整過的計費規則講清楚,讓你不會照著舊教學去設定卻發現對不上。看完你會知道自己這個情境該選哪一種,而不是裝了一堆外掛才發現用不上。
網站為什麼需要放地圖,又分成哪幾種需求
先確認需求,再決定工具,是省下後續麻煩的第一步。地圖在網站上常見的角色有三種,對應的技術門檻完全不同。
第一種是單純的「我在哪裡」。實體店面、診所、工作室的聯絡頁,只要一張能放大縮小、能點開導航的地圖指出一個地址,這是最低需求。第二種是「一次顯示很多點」。連鎖門市的據點查詢、旅遊行程的景點串連、房仲的物件分布,需要在同一張地圖上放多個標記(marker),點下去還能跳出說明、照片或連結。第三種是「地圖要跟資料連動」。例如每篇「景點」文章都帶一組座標,網站自動把全部文章的座標匯整到一張總覽地圖上,這牽涉到自訂欄位與程式撈資料,屬於進階應用。
需求愈往後,愈需要外掛或自訂程式;需求停在第一種,反而不必裝任何東西。把自己的情境對號入座,後面的選擇就清楚多了。
WordPress 放地圖有哪幾種做法
在 WordPress 裡放地圖,技術路線可以歸成三大類,差別在於要不要寫程式、要不要申請金鑰、能客製到什麼程度。
免外掛、最簡單
後台拉一拉、可客製
最有彈性、要會寫
純 iframe 嵌入是直接把 Google 地圖或 OpenStreetMap 產生的一段 HTML 貼進文章,最快、最穩、不必裝外掛;缺點是它就是一張固定的地圖,沒辦法自己加多個標記或細調縮放限制。地圖外掛則是在後台用介面把地圖建好,能加標記、換樣式、放店鋪定位器,再用短碼(shortcode)或區塊(block)插到任何頁面。自訂程式碼是直接呼叫 Google Maps JavaScript API 或 Leaflet.js 函式庫,彈性最大,但需要動主題的 functions.php 與 JavaScript,適合開發者。
絕大多數網站只會用到前兩種。下面就分別把它們講透。
不裝外掛直接嵌入 Google 地圖怎麼做
如果你只要在聯絡頁放一張指出單一地址的地圖,不裝任何外掛是最乾淨的做法。流程很短。
第一步、到 Google 地圖網站搜尋你要的地點。第二步、點開「分享」,切到「嵌入地圖」分頁,選好尺寸(小、中、大或自訂),複製那段 iframe 程式碼。第三步、回到 WordPress 編輯器,新增一個「自訂 HTML」區塊,把程式碼貼進去,預覽確認位置正確後發布。
這段透過 Google 地圖網站「分享」功能取得的嵌入碼,走的是 Maps Embed API,這種基本嵌入本身不需要你另外去申請並填入 API 金鑰,貼上就能顯示。要留意的是網路上不少舊教學會說「現在嵌入一定要先申請金鑰」,那通常是針對自己用程式碼呼叫 API 的情境,或是早期的設定方式;單純用分享功能複製的那段 iframe,一般不需要你手動處理金鑰。
想放多個標記又不想裝外掛,還有一條路:用 Google 提供的「我的地圖(My Maps)」。在 My Maps 裡可以建立一張帶多個自訂標記、每個點都能寫說明的地圖,把它設為公開後產生嵌入碼,再貼進自訂 HTML 區塊。這讓你在不裝外掛的前提下,也能做出多點地圖。
純嵌入的天花板很明確:地圖長相由 Google 決定,你沒辦法用自家品牌色重新上色、沒辦法限制最大縮放層級、也沒辦法讓標記去連動網站的文章資料。一旦需求超過「展示」,就該考慮外掛。
什麼情況下該改用地圖外掛
當地圖從「附帶資訊」變成網站的核心功能,外掛帶來的好處才真正划算。判斷的訊號很具體:你需要在一張地圖上放很多個標記、想換成符合品牌的地圖樣式、希望標記點下去能跳出照片與說明、或要做門市/據點的搜尋與篩選。這些純 iframe 都做不到。
外掛的另一個價值是「不用離開後台」。所有建圖、加點、改樣式的動作都在 WordPress 控制台裡完成,建好用短碼或區塊就能插到任何文章或頁面,不必每次都跑去 Google 地圖網站重新產生程式碼。部分外掛還能把地圖標記跟 WordPress 文章互相連結,這是手動嵌入完全沒有的整合能力。
代價是兩件事。一是外掛本身要載入額外的程式與樣式,多少會增加頁面重量;二是進階功能(多地圖、標記叢集、自訂圖示、篩選)幾乎都落在付費版。先確認免費版夠不夠用,再決定要不要升級,是比較務實的順序。
WP Go Maps 是什麼,免費版能做到哪些事
WP Go Maps(前身為 WP Google Maps)是目前安裝量最大、最常被推薦的 WordPress 地圖外掛之一,定位是免費增值(freemium):免費版就能用,進階功能另外付費。它最大的優勢是上手門檻低,新手也能在後台「Maps」選單裡點一點就建出地圖。
免費版能做到的事比多數人以為的多。你可以建立帶任意數量標記的地圖、為每個標記寫說明、切換不同地圖類型(一般道路圖、衛星圖、地形圖),建好後用短碼或地圖區塊插到頁面,地圖在手機與平板上都會自動縮放。對「聯絡頁放單一地址」到「在一張地圖上標出幾個據點」這個區間的需求,免費版通常就夠了。
值得一提的設計是,WP Go Maps 除了能接 Google 地圖,底層引擎也支援 OpenLayers 與 OpenStreetMap。換句話說,你可以選擇不掛 Google,用開源圖磚也能顯示多標記、自訂說明與基本樣式,這對想避開 Google 金鑰設定的人是個現成出口。
進階版(Pro 等付費附加元件)才會解鎖的功能包括:自訂標記圖示、標記叢集(marker cluster,密集點位自動聚合)、進階篩選、多地圖管理,以及接 Google API 取得更精準的地理定位。付費採一次性買斷的附加元件形式,相較於不少同類外掛採年訂閱,對只想付一次的使用者較友善。實際資費以官方公告為準,這裡不展開報價,因為金額會隨方案調整。
不想處理 Google 金鑰,OpenStreetMap 是可行替代
如果你想完全避開 Google Cloud 帳號、信用卡綁定與金鑰設定,OpenStreetMap(OSM)配 Leaflet 是成熟的開源替代方案。OSM 是由志工社群協作維護的開放地理資料庫,嵌入與透過 API 使用都不收費,也不需要申請金鑰。
最簡單的用法跟 Google 嵌入幾乎一樣:到 openstreetmap.org 找到地點,點「分享」,勾選「包含標記(Include marker)」後複製 HTML,貼進 WordPress 的自訂 HTML 區塊即可。想要多標記、彈出視窗、自訂圖示這類互動,則改用 Leaflet.js——它是專為 OpenStreetMap 設計的輕量級 JavaScript 函式庫,可以從 CDN 載入,再用一小段 JavaScript 初始化地圖與標記。
對需要外掛介面的人,MapPress 與 Leaflet Map 這類外掛同時支援 Google 地圖與 OpenStreetMap,等於把選擇權留給你。多數情況下,除非你特別需要 Google 街景、Google 的地點評論資料、或團隊已經習慣 Google 地圖介面,否則 OpenStreetMap 已足以應付一般展示型需求,還省去計費的後顧之憂。
Google 地圖 API 金鑰怎麼申請,費用又怎麼算
當你用外掛串接 Google 的動態地圖、或自己呼叫 Maps JavaScript API 時,就需要一組 API 金鑰,這部分的計費規則近兩年有明顯變動,照舊教學設定容易誤判成本。
申請金鑰的流程是:到 Google Cloud Platform 主控台建立帳號、新增或選擇一個專案、設定帳單帳戶(即使用量在免費範圍內,仍要綁一張信用卡備查),接著啟用你需要的 API 服務並取得金鑰。拿到金鑰後務必加上限制,最簡單的是設定 HTTP 來源限制,只允許你的網域(例如 yourdomain.com/*)呼叫,避免金鑰外洩被他人盜用而灌爆你的用量。
費用的關鍵變動在這裡:過去 Google 提供每月 200 美元的通用抵免額度,多數小網站因此完全免費。自 2025 年 3 月起,Google 取消了這筆通用抵免,改成「各服務各自的每月免費用量門檻」。也就是說,不再是一筆 200 美元到處抵,而是每個 API 服務(SKU)各有一道免費額度線,超過才開始計費。一般的 Maps Embed 嵌入屬於用量門檻寬鬆的基本服務,小型網站通常仍落在免費範圍;高互動、高流量的動態地圖才比較可能踩到計費。設定前以 Google 官方最新的計費頁面為準,別再用「反正有 200 美元抵免」的舊觀念去估算。
地圖會不會拖慢網站,又該怎麼處理
互動式 Google 地圖確實可能拖慢頁面,因為它要載入大量 JavaScript 才能撐起縮放、拖曳、街景這些功能,這是選擇方案時不能忽略的成本。
如果訪客其實不需要在頁面上直接拖曳地圖,最省事的做法是放一張地圖截圖,點下去再連到 Google 地圖網站或彈出互動視窗——頁面平常只載入一張普通圖片,速度快很多。想自動化,可以用會把地圖換成佔位圖、訪客點「載入地圖」才真正載入 iframe 的外掛達成類似效果。另一條路是改用 Google 的靜態地圖(Static Maps),它回傳的是一張不含 JavaScript 的圖片,天生輕量。
若一定要即時顯示互動地圖,那就讓它延遲載入(lazy load):頁面初次載入時先不抓位於畫面下方的地圖,等訪客往下捲動再載入,初始載入速度因此維持輕快。原則上,地圖該只放在真的需要的頁面,能用靜態就別用動態,必要時再搭配延遲載入,把效能影響壓到最低。
看完這些,你該選哪一條路
回到最初的問題,答案其實由「需求複雜度」與「願不願意碰金鑰、碰程式」兩個軸決定。
只要在聯絡頁指一個地址,直接用 Google 地圖或 OpenStreetMap 的分享嵌入碼,貼進自訂 HTML 區塊,不裝外掛最乾淨。要在一張地圖上放多個據點、想統一品牌樣式、想要標記點開有照片說明,就裝 WP Go Maps 這類外掛,先用免費版試到不夠用再升級,並評估是接 Google 還是走它內建的 OpenStreetMap 引擎。想完全避開 Google 帳號與計費,OpenStreetMap 配 Leaflet 是省心的開源選項。需求進到「全站文章座標自動匯整成一張總覽地圖」這種程度,才值得投入自訂程式碼或自訂欄位方案。
選定之後,別忘了回頭顧效能:能靜態就別動態、地圖只放該放的頁面、互動地圖搭配延遲載入。把工具選對、把載入方式設對,地圖就會是替網站加分的功能,而不是拖慢速度的負擔。