Bot directory / ai-assistant

Manus-User: Robots.txt & Crawl Policy Reference

Comprehensive guide to Manus-User, the user-triggered agent for Manus AI. Learn how it navigates websites on behalf of users.

AI Summary: Manus-User is a user-triggered, browser-enabled AI agent operated by Manus. It autonomously navigates websites, interprets content, and carries out multi-step tasks on behalf of human users, often utilizing local browser execution.

Role and policy boundary

Unlike traditional crawlers, Manus-User acts as a direct proxy for a human user. When a user tasks Manus with interacting with a specific website (e.g., via the Browser Operator extension), this agent performs the actions in real-time. It is designed to execute workflows rather than scrape data for model training.

A robots rule is a declaration of intent; it does not replace authentication, authorization, or rate limiting. Start with a dedicated group:

configuration / code
User-agent: manus-user
Allow: /
Disallow: /staging/
Disallow: /internal/

To stop access for the entire site, use:

configuration / code
User-agent: manus-user
Disallow: /

Avoid assuming that User-agent: * expresses the same business intent. A wildcard can affect assistant and training crawlers too, and it makes later audits harder because the source of the decision is less specific.

Layered verification

Verify the same URL through each control plane instead of assuming that one green signal represents the whole request path. Compare the bot-specific robots group, the page-level metadata, and the response headers captured at the public edge.

Because Manus-User often operates via a user's local browser (bridging cloud AI with local execution), it may bypass traditional robots.txt directives or bot detection mechanisms if it inherits the user's browser state. However, it still identifies itself when making direct server requests.

The Policy Engine evaluates the selected user-agent, path scope, and the other supplied layers independently. It can therefore explain why a bot is allowed while another is blocked, rather than returning one blended website score.

Page-level directives can still override the intended outcome for indexing:

configuration / code
<meta name="robots" content="noindex, nofollow">
configuration / code
X-Robots-Tag: noindex, nofollow

If a response uses these tags, the report marks the result as blocked or conflicting even if the crawler-specific robots group is permissive. This is especially important for canonical pages served through an edge cache where headers may differ from the origin response.

WAF and Nginx remediation examples

configuration / code
{
  "description": "Observe manus-user candidates",
  "expression": "lower(http.user_agent) contains \"manus-user\"",
  "action": "log"
}

Blocking user-triggered agents like Manus-User can be challenging if they operate through a local browser extension. However, for direct requests, a standard WAF rule applies:

configuration / code
if ($http_user_agent ~* "manus-user") {
    return 403;
}

Use your platform's actual middleware response pattern rather than copying this simplified example without review. Never place a secret, verification token, or internal policy identifier in a public response header.

Review checklist

Use this checklist after every policy change and after a CDN or WAF migration. Record the request URL, User-Agent, HTTP status, final redirect, and the exact evidence used to reach the decision.

Verify that the dedicated group appears before relying on a wildcard, test a representative public and private path, and compare live response headers with robots.txt. Keep the policy close to the content owner's intent and record whether the site wants discovery, citation, or no access at all.


Need to optimize your entire site for AI search visibility? Run a comprehensive audit with Geolify.ai.