AI bots · Huawei PetalBot: Huawei’s Petal Search crawler
PetalBot crawls for Petal Search, and Huawei says the same index feeds Huawei Assistant and AI Search. Here is what Huawei publishes about it, linked to the source, plus rules to copy.
- Search / AI answers
- Follows robots.txt
- Reverse DNS check
PetalBot at a glance
What Huawei publishes about PetalBot, with a link to the page each fact comes from. Copy the robots.txt rule you need, or check whether an IP really belongs to it.
What the operator says about PetalBot
Each row links to the page it comes from. “Not published” means we could not find it in the operator’s own documentation.
| Fact | Value | Source |
|---|---|---|
| Operator | Huawei | Source |
| Official documentation | webmaster.petalsearch.com | Source |
| robots.txt token | PetalBot | Source |
| What it is used for | Search / AI answersHuawei says PetalBot crawls PC and mobile sites to build the Petal Search index, which also powers content recommendations in Huawei Assistant and AI Search. | Source |
| Follows robots.txt | YesHuawei says PetalBot complies with the robots protocol; robots.txt can block it from the whole site or from specific files. | Source |
| Official IP list | Not published | — |
| How to verify | Reverse + forward DNSHuawei recommends a reverse DNS lookup followed by a forward lookup. Its text gives the hostname as petalbot.*.aspiegel.com while its example shows petalbot-{ip}.petalsearch.com, so expect either. | Source |
| Reverse DNS names | *.aspiegel.com *.petalsearch.com | Source |
| Checked on | — |
Mozilla/5.0 (Linux; Android 7.0;) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; PetalBot;+https://webmaster.petalsearch.com/site/petalbot)As published by the operator. This is the mobile string. Huawei also lists a desktop one: Mozilla/5.0 (compatible;PetalBot;+https://webmaster.petalsearch.com/site/petalbot).
robots.txt rules
Add one of these groups to the end of your robots.txt. The token is matched case-insensitively.
User-agent: PetalBot
Disallow: /User-agent: PetalBot
Allow: /A group named for PetalBot replaces your User-agent: * rules for it. To keep it out of one folder only, change / to that folder, e.g. Disallow: /private/.
Check a request really came from PetalBot
# Step 1 — reverse lookup: the name must end in .aspiegel.com / .petalsearch.com
host 203.0.113.7
# Step 2 — forward lookup: the name must resolve back to the same IP
host <hostname-from-step-1>Also from the operator’s documentation
Version v1.0Updated Update history
Four facts that decide what to do
Every crawler page has the same table. These four rows answer most questions about a crawler.
What it is used for
Training, search or a user’s request. Blocking a training crawler keeps your pages out of future models; blocking a search crawler also removes you from answers that would have linked back.
Follows robots.txt
“Yes” is the operator’s own statement. “Partly” usually means fetches a person starts may skip robots.txt — ChatGPT-User, Perplexity-User and meta-externalfetcher say so.
Official IP list / reverse DNS
The only way to tell a real crawler from one that copies its user agent. If neither is published, the user agent is just a claim.
Not published
We could not find it in the operator’s own documentation. We do not fill gaps from third-party lists — those disagree with each other and go stale.
Facts were checked against the operators’ pages on the date shown on each crawler page. Operators change their docs; the source link is the place to confirm.
From a name in your logs to a rule
Four steps, all in the browser.
-
1
Find the crawler
Type the name from your logs or the company you are thinking of. Filter by purpose to see, say, every AI training crawler.
-
2
Open its page
Read what the operator says it is for and whether it follows robots.txt. Copy its official user agent to compare with your logs.
-
3
Build the rules
Tick crawlers in the table, choose Block or Allow, then copy or download the robots.txt groups.
-
4
Check the effect
Test the file with the robots.txt tester, and use the IP check on a crawler page to confirm a request is genuine.
How crawlers are grouped and how robots.txt applies
The directory groups crawlers the way TapCub’s bot rules do. robots.txt matching follows RFC 9309: a crawler obeys the one group whose User-agent matches its token, and only falls back to * when no group names it.
- A crawler with its own group ignores every
User-agent: *rule - Tokens are matched without regard to case; a typo matches nothing
- Some names are tokens only — Google-Extended and Applebot-Extended never visit
- Agents without a published token cannot be addressed in robots.txt at all
| Group | What it does | Effect of blocking |
|---|---|---|
| AI training | Collects pages for model training or datasets | Your future pages stay out of that operator’s training, if it follows robots.txt |
| AI search | Indexes pages for AI answers with links | You stop appearing as a cited source |
| AI agent | Opens a page for a person’s request | Assistants cannot open your page — when the agent honours robots.txt at all |
| Search engine | Classic search index | You leave that search engine; some, like Bing, also feed AI answers |
How four robots.txt files treat PetalBot
PetalBot reads the group whose User-agent line matches PetalBot (case does not matter). If there is none it falls back to User-agent: *.
| robots.txt | Result for PetalBot | Why |
|---|---|---|
User-agent: PetalBot Disallow: / | Blocked | Its own group disallows the whole site. |
User-agent: * Disallow: / | Blocked | No group of its own, so it inherits the wildcard. |
User-agent: * Disallow: / User-agent: PetalBot Allow: / | Allowed | A named group replaces the wildcard completely; the * rules no longer apply to it. |
User-agent: PetalBot Disallow: /private/ | Allowed except /private/ | Only paths that start with /private/ are off limits. |
This is how the rules read under RFC 9309. Whether PetalBot follows them is Huawei’s statement in the facts table above.
Where AI crawler policies go wrong
Most problems come from the token or from what the crawler actually is.
Using a company name as the token
“OpenAI”, “Anthropic” or “ChatGPT” are not tokens. Use the exact token from the directory — GPTBot, ClaudeBot, OAI-SearchBot.
Blocking search with training
Blocking OAI-SearchBot or PerplexityBot removes you from AI answers that would link back. Decide per crawler, not per company.
Trusting the user agent
Anyone can send “GPTBot” in a header. Without an IP or reverse-DNS check the request is unverified.
Blocking by IP and losing the opt-out
Anthropic and Cohere warn that blocking their IPs stops them reading robots.txt, so the opt-out may not stick.
See which crawlers actually came
The directory tells you what crawlers say they do. TapCub separates humans from bots with five detection layers and 197+ rules, and reports AI crawlers on their own.
Bot and AI crawler report
User agent, headers, client signals, ASN and rate — five layers that keep bots out of your human numbers.
Learn moreAI content ledger
Pages each AI crawler read next to the visitors it sent back.
Learn moreCrawl health and compliance
Compare robots.txt and llms.txt with what actually crawled you — evidence for a decision.
Learn morePetalBot questions
Still have a question?
Chat with the team behind TapCub — we usually reply within a few hours on business days.
What is PetalBot?
PetalBot is run by Huawei. Huawei says PetalBot crawls PC and mobile sites to build the Petal Search index, which also powers content recommendations in Huawei Assistant and AI Search.
Does PetalBot respect robots.txt?
Huawei says PetalBot complies with the robots protocol; robots.txt can block it from the whole site or from specific files.
How do I block PetalBot?
Add User-agent: PetalBot and Disallow: / to robots.txt, in its own group. Huawei says it follows those rules. To keep it out of one folder only, use Disallow: /folder/ instead.
How can I tell a request really came from PetalBot?
Huawei recommends a reverse DNS lookup followed by a forward lookup. Its text gives the hostname as petalbot.*.aspiegel.com while its example shows petalbot-{ip}.petalsearch.com, so expect either.
What happens if I block PetalBot?
Huawei says your pages become unsearchable in Petal Search, and pages already indexed may take several months to disappear.
Why does PetalBot’s reverse DNS show aspiegel.com?
Huawei’s own page gives the hostname format petalbot.*.aspiegel.com, and its example uses petalsearch.com. Both are on Huawei’s page; anything else is not PetalBot.
Update history
New features, fixes and data refreshes for this tool, newest first.
-
· v1.0
LaunchedFirst release.
Data this tool relies on
- Bot and AI crawler rules (same as the TapCub product) — checked 2026-11-10, reviewed every 3 months (next review by 2027-02-10)
- AI crawler operator documentation — checked 2026-11-09, reviewed every 3 months (next review by 2027-02-09)
Missing something or found an error? Tell us — requests that come up often go into the next update. All tool updates
Rules state intent. Logs show behaviour.
Install the ≈2 KB script and TapCub separates humans, search engines and AI crawlers from the first visit — free plan included.