如何按開發者流程檢查 AI 助理是否引用網站
How to check whether AI assistants cite your site (a developer's workflow)
這套開發者流程用來檢查 ChatGPT、Perplexity 和 Gemini 等 AI 助理是否提及網站及引用其連結。建議準備 10 至 20 條按用戶問題撰寫的提示詞,記錄品牌提及、引用網址及競爭對手,並每兩週重跑一次。文章亦建議檢查頁面直接答案、HTML 呈現、robots.txt、結構化資料及資訊一致性;透過 API 取得的答案只作參考訊號。
Search traffic used to mean one thing: Google results. Now a growing share of questions go to AI assistants like ChatGPT, Perplexity and Gemini. If you ship a product or docs site, it's worth knowing whether those assistants mention you.
This post walks through a simple, repeatable way to check. It needs a spreadsheet, a bit of discipline and, optionally, a small script.
1. Write prompts the way users ask
Don't test with your brand name. Test with the problems your users have.
Good sources for prompts:
- Questions from support tickets and onboarding calls.
- Queries in Google Search Console's Performance report.
- "People also ask" boxes on Google for your main topics.
- Threads on Reddit, Stack Overflow or GitHub Discussions in your niche.
Aim for 10 to 20 prompts. Mix broad ones ("best tool to monitor cron jobs") with specific ones ("how do I alert on a missed cron run in Node").
2. Set up a tracking sheet
Use one row per prompt per assistant per check. These columns are enough:
date | assistant | prompt | brand_mentioned (y/n) | our_url_cited (y/n) | cited_urls | competitors_named | notes
Record the cited URLs, not only whether you appeared. The list of cited domains is the most useful part. It shows which pages assistants trust for your topic.
3. Run the checks consistently
AI answers vary between runs, accounts and locations. You can't remove that noise, but you can keep it steady.
- Use a fresh or logged-out session where possible.
- Use the same wording every time.
- Run each prompt twice and note if the answers differ.
- Repeat the full set every two weeks, not every day.
Assistants that browse the web, like Perplexity, show sources directly. For others, ask a follow-up such as "which sources did you use?" and note what you get.
4. Optional: script part of it
If an assistant offers an API, you can loop over your prompts and save the raw answers. API answers can differ from the consumer chat apps, so treat them as a signal, not ground truth.
import csv, datetime, re
def extract_urls(text):
return re.findall(r"https?://[^\s)\]]+", text)
def log_answer(writer, assistant, prompt, answer, brand, domain):
urls = extract_urls(answer)
writer.writerow([
datetime.date.today().isoformat(),
assistant,
prompt,
"y" if brand.lower() in answer.lower() else "n",
"y" if any(domain in u for u in urls) else "n",
" ".join(urls),
])
# answers = {prompt: call_your_assistant_api(prompt) for prompt in prompts}
# with open("ai-checks.csv", "a", newline="") as f:
# w = csv.writer(f)
# for p, a in answers.items():
# log_answer(w, "assistant-name", p, a, "YourBrand", "yourdomain.com")
5. Read the results like a developer
Look for patterns, not single answers.
- Cited, not named: your page is used but your brand isn't stated. Put your product name near the answer on the page.
- Named, not cited: assistants know you from elsewhere, like directories or reviews. Make sure those third-party pages are accurate.
- Competitors cited instead: open their cited pages. Note how they structure the answer, and where it sits on the page.
- Nobody cited: the topic may be open. A clear, focused page could fill it.
6. Fix what you can control
Most fixes are ordinary web hygiene:
- Put a direct one or two sentence answer under each question-style heading.
- Make sure pages render meaningful HTML without needing client-side JavaScript.
- Don't block search and AI crawlers in robots.txt by accident.
- Add structured data that matches visible content, such as
Organization,SoftwareApplicationorFAQPage. - Keep pricing and feature facts consistent across your site and listings.
Wrapping up
A small, steady checking habit beats guessing. Twenty prompts, a sheet and a fortnightly rerun will show you more than any single screenshot.
I work on Serpair, which runs this kind of Google and AI-answer tracking for you. But the manual method above works fine on its own, and it's a good place to start.
來源:DEV Community · dev.to