Caution Official docs SEO Tools

MJ12bot

Operated by Majestic

Quick Facts

User-Agent:
MJ12bot
Category:
SEO Tools
Operator:
Majestic
Safety:
Caution
Blocking Impact:
Low - No SEO ranking impact
SEO Impact Score:
2/10
Official docs:
mj12bot.com

Confirmed by the operator

Majestic names MJ12bot on its own documentation page, linked above. The token, purpose and robots.txt behaviour on this profile come from that page, re-checked on October 19, 2026.

What is MJ12bot?

MJ12bot is Majestic's crawler. Majestic says it maps "the link relationships between websites" for its public backlink index, Site Explorer, and does not cache page content.

It identifies itself with the token MJ12bot. Majestic documents it at mj12bot.com.

What happens if you block MJ12bot?

No effect on Google or Bing. Your link data stops being refreshed in Majestic. Majestic asks site owners not to block it by IP, because it is a distributed crawler with no fixed IP ranges.
Consider blocking based on your content strategy.

How to block MJ12bot with robots.txt

<code>User-agent: MJ12bot</code> - Matching is case-insensitive. Robots.txt is fetched from the root of each subdomain separately.

Block completely (robots.txt)
User-agent: MJ12bot Disallow: /
Allow all (robots.txt)
User-agent: MJ12bot Allow: /
Block private only (robots.txt)
User-agent: MJ12bot Disallow: /private/ Disallow: /api/ Disallow: /admin/ Allow: /
Nginx server block
# Nginx: Hard-block MJ12bot if ($http_user_agent ~* "MJ12bot") { return 403 "Bot blocked"; }
Apache .htaccess
# Apache: Hard-block MJ12bot SetEnvIfNoCase User-Agent "MJ12bot" bad_bot Order Allow,Deny Allow from all Deny from env=bad_bot
Meta robots tag
<meta name="robots" content="noindex, nofollow">
X-Robots-Tag header
X-Robots-Tag: noindex, nofollow

Is MJ12bot safe to allow?

MJ12bot is rated Caution. Majestic documents it, so it is not a spoofing risk in itself, but it fetches content for uses you may not want to support. Decide on its purpose.

What does MJ12bot do?

From Majestic's own documentation.

  • MJ12bot is Majestic's crawler.
  • No effect on Google or Bing. Your link data stops being refreshed in Majestic. Majestic asks site owners not to block it by IP, because it is a distributed crawler with no fixed IP ranges.

MJ12bot in context

MJ12bot is a utility crawler operated by Majestic. In plain terms, it checks pages for an SEO, uptime or analytics service. Our database files it under SEO tools and ranks it Tier 4, specialist crawlers that matter to particular sites or markets. 19 of the 19 SEO tools in our database share this tier.

Its safety rating is caution and its blocking impact is low. So the decision about MJ12bot rests on what you want from Majestic, not on its behaviour. How we rate safety and impact.

How site owners treat MJ12bot

In our own study of robots.txt files across the Tranco top 10,000 sites (fetched October 20, 2026, 5,583 valid files), 273 files (4.9%) name MJ12bot in a User-agent line, and 455 (8.1%) block it from the homepage. 223 of those blocks come from a group written for this crawler by name, and 232 come from a broad User-agent: * rule that catches it by accident. Larger sites are stricter: 11.6% of the top 1,000 block it, against 8% of the middle band and 7.7% of the tail.

Does it follow robots.txt?

MJ12bot's operator does not clearly document how it treats robots.txt. Write the MJ12bot rule anyway, then confirm in your logs that its requests stop.

Majestic crawlers and close alternatives

Majestic runs only this one crawler in our database, so a single User-agent: MJ12bot group controls everything Majestic fetches through it.

Other SEO tools that do the same job (checks pages for an SEO, uptime or analytics service) include AhrefsBot from Ahrefs, AhrefsSiteAudit from Ahrefs, AwarioBot from Awario, AwarioRssBot from Awario, AwarioSmartBot from Awario, Chrome-Lighthouse from Google. Deciding about MJ12bot is usually a decision about the whole group, so check how your file treats these too.

We first recorded MJ12bot on March 17, 2026. Majestic documents it on mj12bot.com, and we recheck that page before each release.

Which rule MJ12bot actually follows

MJ12bot reads exactly one group in robots.txt, the most specific one that names MJ12bot, and never combines rules across groups. This short file shows the trap:

User-agent: *
Disallow: /private/

User-agent: MJ12bot
Disallow: /drafts/
  1. Find the group. MJ12bot looks for a group naming MJ12bot. One exists, so it ignores User-agent: * completely.
  2. Apply only that group. It is refused /drafts/ and nothing else.
  3. The surprise. /private/ is open to MJ12bot, because that rule lives in the * group it no longer reads. To keep it out of both, repeat Disallow: /private/ inside its own group.
Test yourself: does a rule under User-agent: * apply to MJ12bot if the file also has a User-agent: MJ12bot group?

No. Once a group names it, MJ12bot reads only that group. Put every rule you want it to follow inside its own group.

Test yourself: will blocking MJ12bot remove your pages from AI answers?

Often, yes. MJ12bot is a utility crawler, so pages it cannot fetch can drop out of the answers or results it supports.

Test yourself: is User-agent: mj12bot the same as User-agent: MJ12bot?

Yes. RFC 9309 makes user-agent matching case-insensitive. Paths are a different story: Disallow: /Blog/ does not block /blog/.

Related: how AI engines choose their sources

Should you allow MJ12bot? Decide by situation

Recommended setting for MJ12bot by type of site
If you are...Recommended setting
You publish content and want AI answers to cite itLow stakes either way. It does not decide whether AI answers cite you.
You license content and want to stop AI trainingBlocking it does not stop training, because MJ12bot is a utility crawler. Block the operator's training crawler instead.
You run an online shopAllow it unless your logs show it is costly.
Your server is under load from botsRate-limit before blocking. It is rated caution in our database.

Check MJ12bot on your own site

  1. Open /robots.txt on your domain and search for MJ12bot. If it is not named, it follows User-agent: *.
  2. List the Disallow lines in the group MJ12bot follows and test your key URLs against them; the longest match wins, and Allow wins a tie.
  3. Look beyond the file. A firewall or bot manager can refuse MJ12bot even when robots.txt allows it, and that never shows in the file.
  4. Run our free AI crawler check to see how MJ12bot and every other crawler we track are treated in one pass, including firewall refusals.

Common mistakes with MJ12bot

The errors we see most often with MJ12bot in the files and firewalls we test:

  1. Treating MJ12bot as an AI or search crawler. Blocking it has little effect on visibility; decide based on load and what it does with your data.
  2. Relying on robots.txt alone when MJ12bot is rated caution or aggressive. Back the rule with a server-side block.
  3. Blocking MJ12bot by IP alone. Ranges change; match the token and verify with logs.

All three hide inside a file that looks correct, so check MJ12bot from outside after every change.

Spotting MJ12bot in your logs

robots.txt says what MJ12bot may do; your access logs show what it actually did.

Count requests

On a server with standard Nginx or Apache logs, this counts matching requests per day (adjust the log path for your host):

grep -iE "MJ12bot" /var/log/nginx/access.log \
  | awk '{print $4}' | cut -d: -f1 | sort | uniq -c

And this shows which paths it requested most, which is the quickest way to see whether your Disallow lines are being respected:

grep -iE "MJ12bot" /var/log/nginx/access.log \
  | awk '{print $7}' | sort | uniq -c | sort -rn | head -20

Check the requests are genuine

Anyone can send the MJ12bot user-agent, so confirm the source before acting on a match:

  • MJ12bot: we hold no published IP list, so use reverse DNS where the operator documents a hostname and treat an unverifiable MJ12bot request with caution.

Frequently Asked Questions

What is the official user-agent string for MJ12bot?
The official user-agent string for MJ12bot is: MJ12bot. This is the exact string you must use in robots.txt, Nginx, Apache, or Cloudflare firewall rules to target this bot. User-agent matching in robots.txt is case-insensitive, but the string must be spelled correctly. You can verify that a request genuinely comes from MJ12bot by performing a reverse-DNS lookup on the source IP - legitimate bots resolve back to their operator's domain.
Is MJ12bot safe?
MJ12bot is rated Caution. Majestic documents it, so it is not a spoofing risk in itself, but it fetches content for uses you may not want to support. Decide on its purpose.
Will blocking MJ12bot hurt my SEO?
No effect on Google or Bing. Your link data stops being refreshed in Majestic. Majestic asks site owners not to block it by IP, because it is a distributed crawler with no fixed IP ranges.
How do I block MJ12bot in robots.txt?
Add the following lines to your /robots.txt file:
User-agent: MJ12bot
Disallow: /

This instructs MJ12bot not to crawl any path on your site. The Disallow: / directive covers the entire domain including subfolders. To only block specific sections, replace / with the path (e.g., Disallow: /blog/). Note: robots.txt is publicly readable - any bot or human can inspect it at yourdomain.com/robots.txt.
Does MJ12bot respect robots.txt?
Yes. Majestic says MJ12bot "adheres to the robots.txt standard" and supports Crawl-delay up to 20 seconds. If it cannot fetch robots.txt it assumes it may crawl, and a 403 on robots.txt is treated as a full disallow.
How do I verify if MJ12bot is crawling my site?
Search your web server access logs for the string MJ12bot (case-insensitive grep: grep -i "MJ12bot" /var/log/nginx/access.log). You can also check Google Search Console → Coverage → Crawl Stats for Googlebot variants. For MJ12bot specifically, filter by user-agent in your log analysis tool (GoAccess, AWStats, etc.).
What is the crawl frequency of MJ12bot?
Crawl frequency data for MJ12bot is not publicly documented. Monitor your logs to understand actual visit patterns.
Can I block MJ12bot from specific pages only?
Yes. Instead of a global Disallow: / you can restrict MJ12bot to specific paths:
User-agent: MJ12bot
Disallow: /private/
Disallow: /staging/
Allow: /

This allows MJ12bot everywhere except the listed paths. Path matching in robots.txt uses prefix matching - Disallow: /private/ blocks /private/page.html but NOT /public/private/.
Why would I want to block MJ12bot?
There are two main reasons to block MJ12bot:
1. Competitive intelligence: Majestic users (your competitors) can analyse your backlink profile, keyword rankings, and site structure. Blocking prevents this.
2. Crawl budget: If your site is large, SEO tool crawlers consume crawl bandwidth without contributing to search rankings. Blocking frees up server resources for search engine bots.
The trade-off: you also become invisible in Majestic's backlink database, meaning links pointing TO your site from other domains won't appear in competitor reports either.
WhatsApp us