AI 接案:Lovable 網站建置實戰手冊,從開發到變現的完整指南

更新 發佈閱讀 39 分鐘

這份是我在使用Lovable做網站時,邊做邊紀錄的完整攻略,分享給需要的人。

給開發者/接案者的前言: Lovable 是一個強大的 AI 全端開發工具,要用它來賺錢,您必須清楚它的邊界在哪裡。這份指南將協助您完全掌控這個工具,從而自信地向客戶報價。

raw-image

第一章:深度認識 Lovable

1.1 它是什麼?

Lovable (lovable.dev) 被稱為「GPT-4 時代的全端工程師」。 它與 v0.dev 或一般 AI 程式碼生成器最大的不同在於:它產出的不是片段的程式碼,而是一個「完整、可執行、已部署」的 Web App。

  • 核心技術堆疊 (Tech Stack):它生成的預設架構是 React + Vite + Tailwind CSS + Shadcn UI(前端)以及 Supabase 或 Lovable Cloud(後端資料庫與認證)。這是目前現代化網頁開發的黃金標準。
  • 主要功能
    • Text-to-App:用自然語言描述需求,生成完整網頁。
    • Visual Editing:可以直接點擊畫面上的元素進行修改(例如:「把這個按鈕改成紅色」)。
    • Backend Integration:一鍵整合後端 (Lovable Cloud/Supabase),自動建立資料表 (Tables) 和 API。
    • GitHub Sync:雙向同步。您可以把程式碼拉下來自己改,改完推上去,Lovable 也讀得懂(有限制)。

1.2 為什麼適合接案?

  • 速度:傳統需要 3 天切版的 Landing Page,Lovable 只要 30 分鐘。
  • 成本:大幅降低了初期的開發人力成本。
  • 交付標準:它產出的程式碼相對乾淨(Clean Code),符合現代標準,客戶若要找人接手維護,不會太困難。

1.3 架構解密:為什麼需要兩個平台 (Zeabur & Supabase)?

很多初學者會困惑:「我都已經用 Zeabur 部署網站了,為什麼還要註冊 Supabase?」這是因為現代網站架構將「前端」與「資料」分開了。

  • Zeabur (店面/外場)
    • 角色:網頁託管 (Web Hosting)。
    • 功能:負責顯示畫面、處理動畫、讓使用者點擊。
    • 限制:它不負責儲存永久資料。如果沒有資料庫,使用者重新整理頁面,剛剛輸入的資料就不見了。
  • Supabase (倉庫/內場)
    • 角色:後端即服務 (BaaS - Database & Auth)。
    • 功能:負責儲存會員帳號、商品資訊、訂單紀錄、圖片檔案。
    • 必要性:它是網站的「大腦與記憶」。
  • 它們如何串連?
    • 透過 API Key (鑰匙)。您必須把 Supabase 的鑰匙交給 Zeabur (透過環境變數設定),這樣 Zeabur 上的網站才有權限去 Supabase 存取資料。

【小知識: Lovable Cloud vs. 自備 Supabase】

在接案實務中,選擇資料庫方案直接影響毛利與客戶滿意度。Lovable Cloud 的優勢在於開發零摩擦,AI 能直接操作表結構,適合極速交付的 MVP 專案;然而,若專案預期有高頻 API 調用或需長期託管,協助客戶註冊獨立的 Supabase 帳號則是更專業的做法。這不僅能利用 Supabase 較寬裕的免費層級(Free Tier)降低運作成本,更能實現「資料所有權轉移」,當專案交付後,客戶擁有完整的資料控制權,這對於建立長期信任與收取後續維護費至關重要。

第二章:接案生存法則(能做 vs. 不能做)

這是本指南最重要的一章。請背下來,這決定了您的案子會賺錢還是賠錢。

以下將常見需求按「推薦承接度」分級,供您快速判斷:

1. MVP / 原型開發 (極推薦 ★★★★★)

  • 核心評估: 速度勝過細節。
  • 執行策略: 客戶有創業點子想在一週內驗證市場,建議使用 Shadcn UI 標準組件快速交付。

2. 內部管理系統 (高推薦 ★★★★☆)

  • 核心評估: 功能邏輯為主,視覺美感為輔。
  • 執行策略: 庫存管理、簡易 CRM 等,強調資料連動與資料庫表格管理。

3. 動態資料網站 / 行銷頁 (推薦 ★★★★☆)

  • 核心評估: 標準排版,內容為王。
  • 執行策略: 房地產列表、職缺看板或需要串接 Email 收集的頁面。

4. 高度客製化設計 (慎接 ★★☆☆☆)

  • 核心評估: CSS 調校耗時,AI 容易鬼打牆。
  • 執行策略: 若客戶要求「像素級」對齊非標準網格系統的 Figma 稿,建議溝通引導客戶接受現代化標準 UI,否則修改成本將吞噬利潤。

5. 複雜整合與高資安應用 (不推薦 ★☆☆☆☆)

  • 核心評估: 後端除錯成本極高,資安風險大。
  • 執行策略: 如串接舊型 ERP 系統或銀行級資料。AI 產出的 RLS (資料列層級安全政策) 設定可能不夠嚴謹,需具備專業資安審核能力。


✅ 可以承諾客戶的項目 (Sweet Spot)

  1. MVP (最小可行性產品):客戶有一個創業點子,想在 1 週內做出東西來驗證市場。
  2. 內部管理工具 (Internal Tools):庫存管理、員工打卡、簡易 CRM。這類應用重視功能大於設計細節。
  3. 動態資料網站:房地產列表、職缺看板、簡單的電商(不含複雜金流邏輯)。
  4. 行銷 Landing Page:需要串接表單、Email 收集的頁面。
  5. 個人/作品集網站:標準排版,內容為王。

❌ 絕對不要輕易承諾的項目 (The Danger Zone)

  1. 高度客製化的「像素級」設計:如果客戶由設計師出了非常獨特、非標準 Grid 系統的 Figma 稿,Lovable 會讓您調 CSS 調到崩潰。建議:說服客戶使用「現代化標準 UI 組件 (Shadcn UI)」。
  2. 複雜的 WebGL/3D 動畫互動:例如像 Apple 官網那種捲動視差特效,Lovable 做不來,AI 也寫不好。
  3. 與舊系統的深度整合:客戶說:「我要串接我們公司 10 年前的 ERP 系統」。這需要大量後端除錯,AI 幫不上忙。
  4. 高併發/高安全性要求的應用:雖然 Supabase 很強,但 Lovable 生成的邏輯可能會有資安漏洞(如 RLS 設定不嚴謹),不適合處理銀行級資料。

第三章:實戰操作手冊

請依照此流程操作,以確保產出品質穩定。

階段一:專案啟動與 Prompt 工程

不要一開始就說「做一個像是 Airbnb 的網站」。AI 會迷失。請使用 「角色 + 目的 + 功能列表 + 設計風格」的公式。

黃金 Prompt 範例: 「你是一位專業的全端工程師。請幫我建立一個『線上家教預約平台』。 核心功能:

  1. 首頁:顯示英雄區塊 (Hero section)、特點介紹、熱門教師列表。
  2. 教師列表頁:可以透過『科目』和『價格』進行篩選。
  3. 預約功能:點擊教師可查看詳情並預約時間(先用 UI 模擬,不需真實金流)。 設計風格:使用簡約風格,主色調為深藍色 (#1e3a8a),字體清晰,使用圓角卡片設計。請使用 Lucide React Icons。」

階段二:迭代與修正 (The Iteration Loop)

Lovable 是一個「對話式」開發工具。

  1. 由大到小:先生成整體版面,再針對單一區塊(Component)進行修改。
  2. 選取修改:不要只用文字描述。點擊預覽畫面中的元件,然後在對話框說:「把這個區塊的背景改成淺灰色」,這樣 AI 才知道你在指哪裡。
  3. 遇到 Bug 時
  • 不要只說「壞了」。
  • 要說:「點擊按鈕後,右下角出現了紅色錯誤訊息,內容是 404 Not Found,請修復它。」
  • 技巧:如果 AI 修不好,請它「加入 console.log 來除錯」,然後把 Console 的訊息貼給它看。

階段三:後端整合 (Supabase / Lovable Cloud)

這是 Lovable 最強大的地方,讓你的網站擁有記憶。

  1. 開啟整合
    • 在側邊欄尋找資料庫圖示。
    • 狀況 A (傳統方式): 如果您看到 "Connect Supabase",請登入您的 Supabase 帳號進行連結。
    • 狀況 B (新版方式): 如果您看到 "Enable Lovable Cloud",請直接點擊 "Enable Cloud"。
  • 啟用成功後: 您會看到 "Explore Cloud" 按鈕。點擊它可以查看目前資料庫的內容(類似 Excel 的檢視介面)。注意:您其實不需要一直盯著後台。在 Lovable 的開發模式中,您只要在對話框下指令,AI 就會自動在 Cloud 裡建立所需的表格。
  • 自然語言建庫 (最關鍵的一步):
    • 指令範例: 「我需要儲存使用者的預約資料。請幫我建立一個 bookings 資料表,欄位要有:使用者ID、教師ID、預約時間、狀態。」
    • 發生了什麼事?: Lovable 會自動將這段話轉成 SQL 指令,在您的 Lovable Cloud 中建立真正的資料表,並幫您寫好前端連接的程式碼。
  • 認證系統:
    • 指令: 「請幫我製作登入和註冊頁面,使用 Authentication。」
    • 它會自動生成包含 Email/密碼登入的完整流程。

3.5 Lovable Cloud 後台功能詳解 (The Dashboard)

當您點擊 "Explore Cloud" 進入後台時,您會看到以下選項,請務必了解它們的用途:

  • Overview (總覽)
    • 儀表板,顯示您的資料庫健康狀況和使用量。
  • Database (資料庫)
    • 這是網站的「大腦」。所有的表格(Table)和資料都在這裡。適合手動修正資料(如 Excel)。
  • Users (使用者)
    • 會員名冊。可在此查看註冊名單、刪除帳號或重設密碼。
  • Storage (儲存空間)
    • 雲端硬碟。存放圖片(大頭貼、產品照)或文件。
  • Edge Functions (邊緣函數)
    • 在伺服器端執行的程式碼。處理付款通知、寄信等後端邏輯。
  • Secrets (金鑰/秘密)
    • 保險箱。存放第三方 API Key(如 Stripe, Google Maps)。
  • Logs (日誌)
    • 除錯神器。查看網站錯誤訊息。

階段四:部署與交付 (Handoff) - Zeabur 實戰

Zeabur 是一個由台灣團隊開發的雲端部署平台 (PaaS)。簡單來說,它就像是「程式碼的自動管家」,你不需要懂複雜的伺服器設定(如 Linux 指令、Docker、Nginx),只要把你的程式碼交給它,它就會自動幫你把網站架設好,讓全世界都能看到。

所以對於中文開發者來說,Zeabur 是最直覺的選擇,支援度高且介面友善。部署步驟如下 :

Step 1: 同步到 GitHub (必要) 在 Lovable 右上角點擊 GitHub 圖示,選擇 "Create Repository" 並推送程式碼。 觀念釐清:GitHub 只是用來存程式碼,不需要在 GitHub 設定環境變數 (Secrets),因為 GitHub 不會執行您的網站。

Step 2: 在 Zeabur 建立服務

  1. 登入 Zeabur Dashboard。
  2. 點擊 "Create Project" (建立專案)。
  3. 點擊 "Deploy New Service" (部署新服務) -> 選擇 "Git"。
  4. 搜尋並選擇您剛剛從 Lovable 建立的 GitHub Repository。
  5. Zeabur 會自動偵測這是 React/Vite 專案,通常不需修改 Build Command。

Step 3: 設定環境變數 (最關鍵的一步) 注意:此步驟是在 Zeabur 進行,不是 GitHub。這是為了告訴 Zeabur 你的資料庫在哪裡。

  1. 如何取得 Key? (⚠️ 注意別跑錯):
    • ❌ 錯誤位置:不要點擊專案名稱旁邊的齒輪(那是一般專案設定)。
    • ✅ 正確位置:請在 Lovable 編輯畫面的 側邊欄 (Sidebar) 尋找 資料庫圖示 (圓柱體或綠色水滴)。點擊後,在展開的面板中點選 Settings 或 Configuration 標籤。在這裡才會看到 Project URL 和 Anon Key
  2. 在 Zeabur 設定:
    • 點擊剛剛建立的服務卡片,切換到 "Variables" (變數) 頁籤。
    • 新增變數:
      • VITE_SUPABASE_URL: 填入剛剛複製的 Project URL。
      • VITE_SUPABASE_ANON_KEY: 填入剛剛複製的 Anon Key。
    • 重要: 變數名稱必須包含 VITE_ 開頭,Vite 打包時才會把這些變數寫入前端程式碼。

Step 4: 重新部署 設定完變數後,Zeabur 通常會自動觸發重新部署。如果沒有,請手動點擊 "Redeploy"。等待部署完成,點擊 Zeabur 提供的網址(例如 xxx.zeabur.app),您的網站就正式上線了!

Step 5: 綁定網域 (Domain) 在 Zeabur 的服務頁面,選擇 "Networking" 或 "Domain"。點擊 "Generate Domain" 獲得一個免費子網域,或者 "Bind Custom Domain" 綁定客戶買好的網址 (www.yourclient.com)。

第四章:常見問題與故障排除

Q1: AI 生成的畫面跑版了,怎麼修都修不好?

  • 解法:不要試圖用文字微調 CSS。直接叫 AI:「將這個 Component 重寫,使用標準的 Flexbox 版面配置,簡化設計。」有時候「重寫」比「修改」更快。

Q2: 加上後端功能後,頁面變得很慢或報錯?

  • 原因:通常是資料庫權限 (RLS - Row Level Security) 沒設好。
  • 解法:去 Supabase/Lovable Cloud 後台檢查 Policies。或者對 Lovable 說:「請檢查資料庫的 RLS 設定,確保登入的使用者有權限讀取自己的資料。」

第五章:給客戶的報價策略與成本分析

在使用 Lovable 接案時,您的成本結構會改變:

  • 開發時間:減少 70%。
  • 溝通與除錯時間:增加 20%(AI 有時會鬼打牆,需要耐性測試)。
  • 平台成本 (Hosting & Database)
    1. Lovable 訂閱費:約 $20-$50 USD/月(接案者必備,為了移除浮水印和增加 AI 修改額度)。
    2. Lovable Cloud / Supabase 費用
      • 起步免費:適合開發期或小型 Demo。
      • 用量計費 (Pay-as-you-go):當專案上線、流量增加或資料庫變大時開始計費。
      • 策略建議:若想幫客戶省錢,可協助客戶註冊他們自己的 Supabase 免費方案 (Connect Supabase)。Supabase 是一個獨立的資料庫服務商,它的免費層級通常比 Lovable 內建的更寬裕,且即使 Zeabur 換了,資料庫依然獨立存在,這對客戶來說是較好的保障。

報價建議: 不要因為開發快就大幅降價。您賣的是「解決方案」與「速度」。

  • 策略 A (快速原型):主打「3天交付」,收取快速加急費。
  • 策略 B (功能導向):依照功能點報價(登入系統 $X、購物車 $Y),不強調是用 AI 做的,強調的是源碼交付可維護性

第六章:熱門功能實作範例

這裡提供幾個常見的接案需求 Prompt,您可以直接修改使用。

6.1 線上訂位系統 (Reservation System)

這是餐廳或服務業最愛的功能。

Step 1: 建立資料表 「請在 Database 建立一個 bookings 資料表。欄位包含:id (主鍵)、customer_name (文字)、phone (文字)、booking_date (日期)、booking_time (時間)、pax (人數,數字)、status (狀態,預設為 'pending')」

Step 2: 建立前端界面 「請建立一個訂位頁面。使用 shadcn/ui 的 Calendar 元件讓使用者選擇日期。下方顯示一個時段選擇器(例如 18:00, 19:00, 20:00)。當使用者選擇時段後,顯示一個簡單的表單填寫姓名和電話。」

Step 3: 加上防呆邏輯 (最重要) 「請撰寫邏輯:當使用者點選覺得某個日期時,自動去 bookings 資料表查詢該日期已被預約的時段,並將那些時段的按鈕設為 disabled (不可點選),避免重複訂位。」

6.2 簡易電商購物車 (Simple E-commerce)

Step 1: 商品與購物車 「建立 products 資料表(名稱、價格、圖片)。使用 React Context API 實作購物車功能,讓使用者點擊『加入購物車』後,右上角的購物車圖示會更新數量。」

Step 2: 結帳流程 (不串金流版) 「實作結帳頁面,列出購物車內容與總金額。使用者填寫收件資訊後,將訂單存入 orders 資料表,並清空購物車,最後顯示『訂購成功』畫面。」

6.3 輪播圖 (Hero Carousel)

這是首頁視覺的關鍵。Lovable 預設支援 shadcn/ui 的 Carousel 元件。

操作指令 Prompt: 「請在首頁上方建立一個全寬 (Full-width) 的輪播圖。 功能:使用 shadcn/ui 的 Carousel 元件。 自動播放:請務必安裝並設定 Autoplay plugin,每 5 秒自動切換,並在滑鼠 hover 時暫停。 內容:放置 3 張高品質的餐點圖片(使用 Unsplash)。 樣式:圖片高度設為 h-[500px] (手機版 h-[300px]),使用 object-cover 保持比例。每張圖上方要加一層黑色半透明遮罩 (overlay),讓白色的標題文字能清楚閱讀。」

6.4 處理大量產品資料 (Pagination)

當客戶問:「我可以放 500 個產品嗎?」請用此方法處理。

  • 錯誤做法: 叫 AI 把 500 個產品寫死在程式碼裡 (Hardcode)。這會導致網頁崩潰。
  • 正確做法: 使用資料庫 + 分頁。

操作指令 Prompt: 「我要顯示產品列表,預計會有超過 100 筆資料。 請從 Supabase 的 products 資料表抓取資料。 重要:請實作分頁功能 (Pagination),每次只抓取 12 筆資料 (.range(0, 11))。 在列表下方顯示『上一頁』與『下一頁』按鈕,點擊後再透過 API 抓取下一批 12 筆資料。 請顯示載入中的 Loading Skeleton 動畫,優化使用者體驗。」

6.5 首頁視覺升級:動態影音背景 (Video Background)

將靜態首圖換成影片能瞬間提升質感。 ✅ 前置作業 (關鍵)

  • 格式: MP4 或 WebM。
  • 大小: 務必壓縮在 5MB 以內 (最高 10MB)。行銷不需要 4K 畫質,720p 即可。
  • 重要鐵律: 影片必須設定為靜音 (Muted),否則瀏覽器會禁止自動播放。

方法 A:使用 Lovable (簡單版)

  • 步驟: 上傳影片到對話框。
  • 指令: 「請把首頁 Hero 區塊的背景圖片,換成我剛剛上傳的這個影片。影片設定為:自動播放 (autoplay)、靜音 (muted)、循環播放 (loop),並且要填滿整個區塊 (cover)。」

方法 B:使用 Cursor 修改 (推薦,最穩定)

  • 放入影片: 將 video.mp4 放入專案的 public 資料夾。
  • 呼叫 AI: 在 src/pages/Index.tsx 選取原本的 Hero Section 程式碼,按 Cmd+K。
  • 輸入指令: 「請把這個 section 的背景圖片移除,改用背景影片 /video.mp4 取代。設定:autoPlay, loop, muted, playsInline。樣式:絕對定位 (absolute),填滿區塊 (w-full h-full object-cover),並設為 z-0 (底層)。文字內容要設為 relative z-10 (上層)。」

6.6 多頁面網站架構 (Multi-page Routing)

Lovable 不只能做單頁 (Single Page),也能做多頁面網站。

操作指令 Prompt: 「請幫我建立一個全新的頁面,名稱為『關於我們』(About Us)。 路由設定:將此頁面的網址路徑設為 /about。 導覽列:請在網站上方的 Navbar 增加一個『關於我們』的連結,點擊後跳轉到此頁面。 內容:此頁面要包含公司介紹、團隊成員照片、以及一個聯絡表單。」

6.7 部落格與文章系統 (Blog System)

如果您需要放「多篇文章」,不需要手動做 100 個頁面。請使用 「動態路由 (Dynamic Routing)」

Step 1: 建立文章資料表 「請在 Database 建立一個 posts 資料表。欄位包含:id, title, content, image_url, published_at, slug (網址代稱)。」

Step 2: 建立「文章列表」頁面 「請建立一個 /blog 頁面,顯示所有 posts 資料表中的文章。以卡片 (Card) 形式呈現。」

Step 3: 建立「單篇文章」頁面 (動態模板) 「請建立一個動態路由頁面 /blog/:slug。邏輯:當使用者進入此頁面時,根據網址上的 slug 去資料庫抓取對應的那一篇文章內容。」

Step 4: 寫文章的地方 (簡易後台) 「請在剛剛建立的 /admin 後台,加入管理 posts 的功能。讓我可以用一個簡單的 Textarea 輸入文章內容並上傳圖片。」

第七章:維護策略與交付模式

這部分決定了您能否透過這些網站建立「長期被動收入」。

由於 Lovable 產出的是 React 程式碼(不像 WordPress 有通用後台),客戶無法自己隨意修改頁面結構。這對您來說是一個商業優勢

7.1 必殺技:自製「客戶專用後台」

不要讓客戶碰程式碼,也不要讓他們進 Supabase 資料庫(太危險)。 請直接用 Lovable 做一個簡單的後台給他們。

  • 操作指令 Prompt:

    「請幫我建立一個 /admin 路由頁面。

    1. 只有 users 表中 role 為 'admin' 的使用者登入後才能看到此頁面(請幫我設定 RLS)。
    2. 在頁面上,列出所有 products 表格的資料。
    3. 提供『新增商品』、『編輯』、『刪除』的按鈕。
    4. 新增商品時,要包含上傳圖片的功能(上傳到 Storage)。」
  • 結果:客戶得到一個即使不懂程式也能上架商品、發布新聞的介面。這就是您的CMS (內容管理系統)

7.2 兩種維護模式比較

模式 A:全託管訂閱制 (推薦)

  • 所有權:GitHub Repo、Vercel 帳號、Supabase 專案都在的名下。
  • 客戶權限:只有網站前台和您做的 /admin 後台權限。
  • 收費:建置費 + 每月維護費 (Hosting + Support)
  • 優點
    • 長期收入:只要網站活著,您每個月都有收入。
    • 安全性:客戶不會把網站改壞。
    • 依賴性:客戶如果要改版面(例如聖誕節換主題),必須找您報價。

模式 B:原始碼買斷制

  • 所有權:您協助客戶註冊他們的 GitHub 和 Vercel,並將程式碼移交給他們。
  • 客戶權限:擁有最高權限,可以找其他工程師接手。
  • 收費:一次性較高額的專案費用。之後不負責維護。
  • 優點:結案快,無售後壓力。
  • 缺點:沒有持續收入,且如果客戶自己改壞了程式碼,通常會回來怪您(建議合約要註明移交後不負責除錯)。

第八章:圖片與檔案運作原理

當您建立包含圖片的網站時,必須理解背後的「三段式運作」。

  1. Storage (倉庫): 圖片的實際存放地。您會在 Supabase/Cloud 的 Storage 區塊建立一個 Bucket(通常命名為 products 或 images),並設定為 Public (公開)。
  2. Database (名冊): 資料庫的 products 表格中,會有一個 image_url 欄位。重點: 這個欄位存的是「字串(網址)」,而不是圖片檔案本身。
  3. Code (網頁): 前端程式碼讀取資料庫,拿到網址,並填入 src 屬性。

接案實戰技巧: 當您用 Lovable 做「上傳圖片」功能時,AI 會自動幫您處理這三件事:(1) 把圖上傳到 Storage -> (2) 拿到網址 -> (3) 把網址存進 Database。

第九章:進階開發流程 (GitHub & Cursor Workflow)

如果您想從 Lovable 畢業,轉為更專業的工程師模式,請遵循此流程:

9.1 同步到 GitHub

  1. 在 Lovable 右上角點擊 GitHub 圖示。
  2. 授權並建立 Repository。
  3. 之後每次在 Lovable 改完,記得點 "Push to GitHub"。

9.2 下載到 Cursor 進行開發

  1. 打開 Cursor (或 VS Code),選擇 Clone Repository,貼上您的 GitHub 網址。
  2. 在終端機 (Terminal) 輸入 npm install 安裝套件。

9.3 關鍵一步:設定環境變數 (.env)

您的電腦 (Cursor) 預設不知道後端資料庫在哪裡。

  1. 在專案根目錄建立一個檔案,檔名叫做 .env
  2. 回到 Lovable 的 "Project Settings" 或 Supabase 的 "API Settings",複製兩個東西:
    • VITE_SUPABASE_URL (網址)
    • VITE_SUPABASE_ANON_KEY (公鑰)
  3. 將它們貼入 .env 檔案中。
  4. 輸入 npm run dev 啟動專案,您就可以在本地端開發,並連線到雲端的資料庫了!

注意: 千萬不要把 .env 檔案上傳到 GitHub(這很危險)。標準的 .gitignore 檔案通常已經預設排除了它。

第十章:深度客製化與品牌形象

想要把網站賣出高價,必須把「玩具感」去除,讓它看起來像專業開發的產品。

路徑 A:GitHub 線上修改版 (適合還沒安裝 Cursor 的您)

如果您還不想下載程式碼到電腦,GitHub 的網頁版介面其實就可以完成所有修改。請進入您的 GitHub Repository 頁面操作。

Q1:如何移除 Lovable 的浮水印 (編輯按鈕)?

  1. 進入檔案:在 GitHub 檔案列表中找到 vite.config.ts 檔案。
  2. 開啟編輯:點擊右上角的「鉛筆圖示 (Edit this file)」。
  3. 刪除程式碼:找到包含 componentTagger() 的那一行(通常在 plugins 陣列裡),將其整行刪除。
  4. 儲存:點擊右上角的綠色按鈕 "Commit changes...",輸入說明(如 Remove lovable badge),然後確認 Commit。Zeabur 會自動偵測到變更並重新部署。

Q2:如何修改分享到 FB/LINE 的縮圖 (Social Preview)?

  1. 準備圖片:在電腦上準備好一張 preview.jpg (1200x630px)。
  2. 上傳圖片
  • 進入 GitHub 的 public 資料夾。
  • 點擊右上角的 "Add file" -> "Upload files"。
  • 把圖片拖進去,點擊 "Commit changes"。
  1. 修改程式碼
  • 回到最外層,進入 index.html
  • 點擊鉛筆圖示編輯。
  • 找到 <meta property="og:image" ...>,將 content 改為 https://您的正式網址/preview.jpg
  • 點擊 "Commit changes"。

Q3:如何修改網頁分頁的小圖示 (Favicon)?

  1. 刪除舊檔:進入 public 資料夾,點擊 placeholder.svg 或 lovable-icon.png,點擊垃圾桶圖示刪除並 Commit。
  2. 上傳新檔:點擊 "Add file" -> "Upload files",上傳您的 favicon.ico 並 Commit。
  3. 修改引用:回到 index.html,編輯確保 <head> 裡有 <link rel="icon" href="/favicon.ico?v=2" /> (加 v=2 是為了強制瀏覽器更新)。

Q4:如何修正 SEO 標準網址 (Canonical URL)?

您的模板可能殘留著別人的網址,這對 SEO 很傷。

  1. 檢查:在 index.html 中尋找 <link rel="canonical" ... />
  2. 修改:將 href 的內容改為您目前的部署網址(例如:https://nail-salon-demo.zeabur.app/)或客戶購買的正式網域。
  3. 目的:這告訴 Google 您的網站才是「本尊」,避免被當作複製內容。

路徑 B:Cursor 本地開發版 (適合進階使用者)

如果您已經按照第九章設定好 Cursor 環境,這樣操作會更快速。

Q1:如何移除 Lovable 的浮水印?

  • 操作:在 Cursor 搜尋檔案 vite.config.ts (Ctrl+P),直接刪除 componentTagger()

Q2:修改圖片資源

  • 操作:直接把圖片拖曳進 Cursor 左側檔案總管的 public 資料夾,覆蓋舊檔案即可。
  • 上傳:修改完後,在 Cursor 的 Source Control 面板輸入 Commit 訊息並 Push,Zeabur 就會自動更新。

第十一章:商業變現、數據追蹤與資安防護

這部分關乎您的「網站營收」、「行銷數據」與「資料安全」,是專業站長必修課。

11.1 如何在網站串接廣告 (Google AdSense)?

想要靠網站流量賺錢,最常見的就是串接 Google AdSense。 最簡單的做法:直接在 GitHub 上修改 index.html

  • Step 1: 取得廣告代碼
    • 在 Google AdSense 後台申請網站通過後,它會給您一段 JavaScript 程式碼(通常包含 <script async src="...">)。
  • Step 2: 編輯 index.html (GitHub 網頁版操作)
    1. 登入 GitHub,進入您的 Repository。
    2. 找到 index.html 檔案,點擊鉛筆圖示 (Edit)。
    3. 找到 <head> 標籤的結尾(在 </head> 之前)。
    4. 將 AdSense 的程式碼整段貼上
    5. 點擊 "Commit changes" 儲存。
  • Step 3: 上傳 ads.txt (必要)
    • Google 會要求您在網站根目錄放一個 ads.txt 檔案以驗證所有權。
    • 在 GitHub Repository 頁面,點擊 "Add file" -> "Create new file"。
    • 檔名輸入 public/ads.txt (注意:要放在 public 資料夾內,Zeabur 部署後才會出現在根目錄)。
    • 內容貼上 Google 給您的驗證碼。
    • Commit 儲存。Zeabur 會自動重新部署,您的廣告功能就生效了!

11.2 數據追蹤:GA4 與 Facebook Pixel (Analytics)

沒有數據就無法優化廣告。這一步是行銷客戶最看重的。

Google Analytics 4 (GA4)

  1. 取得代碼
    • 進入 GA4 管理介面 -> 「資料串流 (Data Streams)」 -> 選擇網站。
    • 複製 「全域網站代碼 (gtag.js)」 (通常是一段開頭為 <!-- Global site tag (gtag.js) --> 的程式碼)。
  2. GitHub 貼上
    • 打開 GitHub 上的 index.html
    • 貼在 <head> 的最上方(建議放在所有其他 script 之前,確保數據不漏失)。
    • Commit 儲存。

Facebook Pixel (Meta Pixel)

  1. 取得代碼
    • 進入 Facebook 事件管理工具 (Events Manager) -> 「資料來源」。
    • 找到 "Base Code",這是一段較長的 JavaScript。
  2. GitHub 貼上
    • 同樣打開 GitHub 上的 index.html
    • 貼在 <head> 裡面(可以放在 GA4 代碼的下面)。
    • Commit 儲存。

注意: 當您在 GitHub 按下 Commit 後,Zeabur 會自動偵測並重新部署。大約 1-2 分鐘後,您就可以使用 Chrome 的外掛 (Tag Assistant 或 Pixel Helper) 來驗證代碼是否安裝成功。

11.3 API 金鑰安全 (API Key Safety)

您提到的「API 不能外洩」是最高指導原則。如果您的 OpenAI Key 或 Google Maps API Key 被駭客拿到,他們會盜用您的額度,讓您收到天價帳單。

  • 原則 1:絕對不要寫在程式碼裡
    • ❌ 錯誤做法:直接在 GitHub 的 index.html 或 .tsx 檔案裡寫 const API_KEY = "sk-proj-12345...";。這等於把信用卡號碼貼在公佈欄。
    • ✅ 正確做法:在程式碼裡只寫「變數名稱」,例如 import.meta.env.VITE_GOOGLE_MAPS_KEY
  • 原則 2:善用 Zeabur 變數設定
    • 真正的密碼(Key),請去 Zeabur Dashboard -> Variables 裡面新增。
    • Key: VITE_GOOGLE_MAPS_KEY
    • Value: 您的真實 API 金鑰
    • Zeabur 會在部署時,才把這個密碼「注入」到網站裡。GitHub 上永遠只看得到變數名稱,看不到密碼。
  • 原則 3:如果不小心上傳了怎麼辦?
    • 立刻去該服務的後台(如 Google Cloud Console 或 OpenAI)撤銷 (Revoke) 舊的 Key,並產生一把新的。不要心存僥倖,駭客有自動機器人 24 小時在掃描 GitHub 上的外洩金鑰。
  • 原則 4:關於 F12 看得到 Key 的釋疑
    • 問題:「按 F12 看到 VITE_SUPABASE_ANON_KEY 有關係嗎?」
    • 答案沒關係,那是正常的。
      • ANON_KEY (匿名鑰匙) 本來就是設計給前端瀏覽器用的,權限很低 (只能讀公開資料)。
      • 真正危險的是 SERVICE_ROLE_KEY (上帝權限鑰匙),這把絕對不能出現在前端或 GitHub。
    • 保護機制:雖然 Key 是公開的,但 Supabase 透過 RLS (Row Level Security) 來保護資料,確保每個人只能改自己的資料,不能刪別人的庫。

第十二章:SEO 優化實戰

Lovable 產出的是 React 單頁應用 (SPA),預設的 SEO 只能算「及格」。要讓 Google 真正愛上您的網站,以下幾點是必須做的。

12.1 基本款:全域 SEO 設定 (Global)

  • 操作位置:GitHub 的 index.html
  • 修改內容
    • <title>:網站的主要標題(例如:19 號美甲沙龍 - 台北最推薦)。
    • <meta name="description" ...>:網站的簡短介紹(這會出現在 Google 搜尋結果的下方)。
    • <link rel="canonical" ...>:確保網址是您的正式網域(如 Q6 所述)。

12.2 進階款:動態頁面 SEO (Dynamic)

對於部落格或產品頁,每一頁的標題都應該不一樣。

  • 工具:使用 react-helmet-async 套件(Lovable 預設通常有裝)。
  • 指令

    「請確保每一頁 (Page) 都有獨立的 Title 和 Description。請使用 Helmet 元件,在『關於我們』頁面將標題設為『關於我們 | 19 號美甲』,在『文章內頁』則動態帶入文章標題。」

12.3 必殺技:網站地圖 (Sitemap.xml)

SPA 網站的結構對爬蟲來說比較複雜,主動遞交地圖很重要。

  • 生成方式:可以使用線上的 Sitemap Generator 工具(輸入您的網址,它會跑一次並產生檔案)。
  • 上傳:將產生好的 sitemap.xml 檔案上傳到 GitHub 的 public 資料夾。
  • 提交:去 Google Search Console 提交您的 Sitemap 網址(例如 https://您的網址.com/sitemap.xml)。

總結:做到這三點,您的 React 網站 SEO 分數至少有 80 分以上,這對於一般商業形象網站來說已經非常足夠。

留言
avatar-img
Zöe's AI 行銷實測室
4會員
33內容數
💭 容易因想做的太多而內耗,紀錄離職後重新定位的真實旅程 🔧 10 年行銷與 SEO 經驗,專注實驗各種自動化可能n8n Course Level 1-PASSED 👇 這裡沒有大師,只有我的真實 AI 實測筆記 📥 合作洽談 : zoe.yu42@icloud.com
2026/01/26
2026 年才開始沒多久,各種代理人模式就像雨後的筍子一樣,冒不停也~你可能已經聽說clawdbot,但還不知要怎麼用,這篇文章就要帶大家認識這款在開發者瘋傳的工具——Clawdbot。 Clawdbot 到底是什麼? 想像一下,以前的 Claude 就像被關在瀏覽器這個玻璃屋裡,它很聰明,知識
Thumbnail
2026/01/26
2026 年才開始沒多久,各種代理人模式就像雨後的筍子一樣,冒不停也~你可能已經聽說clawdbot,但還不知要怎麼用,這篇文章就要帶大家認識這款在開發者瘋傳的工具——Clawdbot。 Clawdbot 到底是什麼? 想像一下,以前的 Claude 就像被關在瀏覽器這個玻璃屋裡,它很聰明,知識
Thumbnail
2026/01/21
2024 年被很多人稱為 AI 應用的爆發年,企業開始引進了 ChatGPT,員工們開始習慣用 AI 寫信、修飾文案,甚至生成圖片。但你有沒有發現,即便我們有了這麼聰明的工具,大部分的工作流程依然是斷裂的? 我們還是得手動把 AI 寫好的東西複製出來,貼到 ERP 系統,再自己按發送。AI 在這裡
Thumbnail
2026/01/21
2024 年被很多人稱為 AI 應用的爆發年,企業開始引進了 ChatGPT,員工們開始習慣用 AI 寫信、修飾文案,甚至生成圖片。但你有沒有發現,即便我們有了這麼聰明的工具,大部分的工作流程依然是斷裂的? 我們還是得手動把 AI 寫好的東西複製出來,貼到 ERP 系統,再自己按發送。AI 在這裡
Thumbnail
2026/01/14
在 AI 驅動開發的時代,Google Antigravity 作為強大的整合式開發環境 (IDE),如果能串聯自動化工作流神器 n8n,簡直就像為你的開發流程裝上了「自動駕駛」。那該怎麼做呢? 一起來看~ 為什麼你需要將 n8n 整合進 Google Antigravity? Google A
Thumbnail
2026/01/14
在 AI 驅動開發的時代,Google Antigravity 作為強大的整合式開發環境 (IDE),如果能串聯自動化工作流神器 n8n,簡直就像為你的開發流程裝上了「自動駕駛」。那該怎麼做呢? 一起來看~ 為什麼你需要將 n8n 整合進 Google Antigravity? Google A
Thumbnail
看更多
你可能也想看
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
原文 EarnApp Is Upgrading: Introducing Pay‑per‑Time2025-08-20Rollout Begins: August 20, 2025We’re moving from the Pay‑per‑GB model to a new Pay‑per‑T
Thumbnail
原文 EarnApp Is Upgrading: Introducing Pay‑per‑Time2025-08-20Rollout Begins: August 20, 2025We’re moving from the Pay‑per‑GB model to a new Pay‑per‑T
Thumbnail
Notion 計劃在2025年推出全新的郵件功能,顯著增強其自動化管理及專案管理能力。這項新功能包括自動整理收件匣、整合預約及自動回覆,完美結合Notion的其他服務,並與Gmail無縫整合,提升用戶體驗。瞭解為何Notion郵件功能將成為未來自媒體及電子報系統的重要工具。
Thumbnail
Notion 計劃在2025年推出全新的郵件功能,顯著增強其自動化管理及專案管理能力。這項新功能包括自動整理收件匣、整合預約及自動回覆,完美結合Notion的其他服務,並與Gmail無縫整合,提升用戶體驗。瞭解為何Notion郵件功能將成為未來自媒體及電子報系統的重要工具。
Thumbnail
有時候在其他檔案轉換成SPSS檔時,可能出現在一個變項內,以特定符號將不同數字分開的(如下圖,第三行4,7,8),這時無法用SPSS進行有效分析。本文將說明如何使用SPSS將特定符號分開的數字轉換成不同變項,光看文字可能太過抽象,請看圖文教學。
Thumbnail
有時候在其他檔案轉換成SPSS檔時,可能出現在一個變項內,以特定符號將不同數字分開的(如下圖,第三行4,7,8),這時無法用SPSS進行有效分析。本文將說明如何使用SPSS將特定符號分開的數字轉換成不同變項,光看文字可能太過抽象,請看圖文教學。
Thumbnail
C一樣都是提供 數據服務 雲端服務 AI服務 資安服務 的公司, 該如何提升自家的競爭力, 使優質的客戶會主動找我們服務? 幸福課程 幸福教練黃老師 潮資訊媒體 社群編輯 要提升公司 在提供數據服務、雲端服務、 AI服務和資安服務方面的競爭力, 妳可以考慮以下策略:
Thumbnail
C一樣都是提供 數據服務 雲端服務 AI服務 資安服務 的公司, 該如何提升自家的競爭力, 使優質的客戶會主動找我們服務? 幸福課程 幸福教練黃老師 潮資訊媒體 社群編輯 要提升公司 在提供數據服務、雲端服務、 AI服務和資安服務方面的競爭力, 妳可以考慮以下策略:
Thumbnail
我是美女學生模特兒星探 經紀人 培訓老師 演藝媒合經紀 寫真攝影指導 企劃 歡迎美女學生找我應徵 幸福課程 幸福教練黃老師 潮資訊媒體 社群編輯 探索妳的星途,與我一同啟程! 🌟 妳好!我是 幸福教練黃老師, 身兼美女學生模特兒、星探、經紀人、 培訓老師、演藝媒
Thumbnail
我是美女學生模特兒星探 經紀人 培訓老師 演藝媒合經紀 寫真攝影指導 企劃 歡迎美女學生找我應徵 幸福課程 幸福教練黃老師 潮資訊媒體 社群編輯 探索妳的星途,與我一同啟程! 🌟 妳好!我是 幸福教練黃老師, 身兼美女學生模特兒、星探、經紀人、 培訓老師、演藝媒
Thumbnail
(B)愈來愈多新創團隊或公司 都在提供 企業應用AI 的服務 AI新創公司該如何做 才能搶佔龍頭地位 和市場先機 而且讓自家公司市的市占率維持在領先地位 然後 AI公司 該如何協助企業客戶的基金會 幫助到真正該被幫助的善良弱勢 幸福課程 幸福教練黃老師 / 潮資訊媒
Thumbnail
(B)愈來愈多新創團隊或公司 都在提供 企業應用AI 的服務 AI新創公司該如何做 才能搶佔龍頭地位 和市場先機 而且讓自家公司市的市占率維持在領先地位 然後 AI公司 該如何協助企業客戶的基金會 幫助到真正該被幫助的善良弱勢 幸福課程 幸福教練黃老師 / 潮資訊媒
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News