Grade B 71/10071Grade B
AI access report

makeagif.com

Open to answer engines, no structured data.

7 failing 2 partial 16 passing Scanned 2 hours ago · 2 scans on record
JSON Claim this domain
Reach
39.5 / 40

Whether AI crawlers and answer-engine fetchers are permitted to request the page at all. What happens on the wire outweighs what the policy file says: a live refusal costs 16 of these 40 points, twice what the heaviest robots.txt rule costs, because a page a crawler cannot fetch is unreadable no matter how well it is marked up.

Readability
18.7 / 25

Whether a fetcher that does not execute JavaScript receives the actual content, in markup an extractor can segment.

Structure
8 / 20

Machine-readable markup that states the page's type, entities, canonical URL, and discrete facts instead of leaving them to be inferred.

Attribution
1 / 9

Signals that let an answer engine name the author, date the content, resolve the publisher, and cite it under known terms.

Who is allowed to read this site 0 of 24 answer engines blocked

CrawlerOperatorUses content forrobots.txtLive request
GPTBot
Crawls content that may be used to train OpenAI's generative AI foundation models.
OpenAI Model training allowed served 200
OAI-SearchBot
Indexes pages so they can be surfaced and cited in ChatGPT search results, not for training.
OpenAI Answer index allowed served 200
ChatGPT-User
Fetches a page when a ChatGPT user or GPT Action asks for it; user-initiated, so robots rules may not apply.
OpenAI Live retrieval allowed not probed
OAI-AdsBot
Visits pages submitted as ChatGPT ads to check policy compliance and ad relevance; not used for model training.
OpenAI Live retrieval allowed not probed
ClaudeBot
Collects web content that may contribute to training Anthropic's models; honors Crawl-delay.
Anthropic Model training allowed served 200
Claude-User
Retrieves pages on demand when a Claude user's question needs live web content.
Anthropic Live retrieval allowed not probed
Claude-SearchBot
Indexes content to improve the relevance and accuracy of Claude's search results.
Anthropic Answer index allowed not probed
anthropic-ai
Legacy token widely blocked for Anthropic training; Anthropic now documents ClaudeBot, Claude-User and Claude-SearchBot.
Anthropic Model training allowed not probed
Google-Extended
Control token with no user agent of its own; governs Gemini training and grounding use of Googlebot data.
Google Model training allowed not probed
Googlebot
Crawls and renders pages for Google Search, Images, Video, News and Discover.
Google Answer index allowed not probed
Googlebot-News
Robots token controlling Google News inclusion; crawling itself uses the Googlebot user agents.
Google Answer index allowed not probed
Google-CloudVertexBot
Crawls sites at a site owner's request to build Vertex AI agents; no effect on Google Search.
Google Live retrieval allowed not probed
GoogleOther
Generic Google crawler used by product teams for one-off fetches such as internal research and development.
Google Model training allowed not probed
Applebot
Crawls for Siri, Spotlight and Safari search; falls back to Googlebot rules and ignores Crawl-delay.
Apple Answer index allowed not probed
Applebot-Extended
Control token with no user agent; disallowing it excludes crawled content from Apple foundation model training.
Apple Model training allowed not probed
Bingbot
Indexes pages for Bing search and the Copilot answers that are grounded in the Bing index.
Microsoft Answer index allowed not probed
msnbot
Legacy Microsoft search crawler token still honored alongside bingbot.
Microsoft Answer index allowed not probed
PerplexityBot
Indexes and links pages in Perplexity search results; not used to collect foundation model training data.
Perplexity Answer index allowed served 200
Perplexity-User ignores robots
Fetches a page for a specific user question; Perplexity documents that it generally ignores robots.txt.
Perplexity Live retrieval allowed not probed
Meta-ExternalAgent
Crawls the web to train Meta's foundation AI models and to index content directly into products.
Meta Model training allowed not probed
Meta-ExternalFetcher ignores robots
Fetches individual links for agentic AI tasks; Meta documents that it may bypass robots.txt.
Meta Live retrieval allowed not probed
FacebookBot
Crawls public pages to improve language models behind Meta's speech recognition technology.
Meta Model training allowed not probed
Meta-WebIndexer
Indexes pages so Meta AI can cite and link them in its search answers.
Meta Answer index allowed not probed
Meta-ExternalAds
Crawls the web to improve Meta's advertising and other business products and services.
Meta Model training allowed not probed
facebookexternalhit ignores robots
Fetches shared links for Facebook, Instagram and Messenger previews; may bypass robots.txt for integrity checks.
Meta Live retrieval allowed not probed
Bytespider ignores robots
Downloads content to train ByteDance LLMs and is widely reported to ignore robots.txt directives.
ByteDance Model training allowed not probed
TikTokSpider ignores robots
Fetches shared URLs for TikTok link previews and feeds; not expected to follow robots.txt.
ByteDance Live retrieval allowed not probed
Amazonbot
Crawls for Amazon product and Alexa answers and may use the content to train Amazon AI models.
Amazon Model training allowed not probed
Amzn-SearchBot
Indexes content for Amazon search experiences such as Alexa; does not crawl for generative AI training.
Amazon Answer index allowed not probed
Amzn-User ignores robots
Fetches live pages to answer a user's Alexa question; Amazon documents it may not follow all robots.txt rules.
Amazon Live retrieval allowed not probed
CCBot
Builds the open Common Crawl web archive, a common source of LLM pretraining corpora.
Common Crawl Foundation Archive allowed not probed
Diffbot
Extracts structured page data for Diffbot's knowledge graph, which is licensed to AI customers.
Diffbot Model training allowed not probed
omgili
Collects forum, news and blog content that Webz.io sells as web data feeds, including for AI training.
Webz.io Model training allowed not probed
omgilibot
Legacy Omgili search crawler token still blocked alongside the current omgili agent.
Webz.io Model training allowed not probed
AI2Bot
Collects web text for Ai2's open datasets used to train open language models such as OLMo.
Allen Institute for AI Model training allowed not probed
cohere-ai
Retrieves pages to answer user-initiated prompts in Cohere's enterprise AI products.
Cohere Live retrieval allowed not probed
cohere-training-data-crawler
Downloads training data for the large language models behind Cohere's enterprise AI products.
Cohere Model training allowed not probed
MistralAI-User
Fetches pages on demand so Mistral's Vibe assistant can answer a question with live, cited web content.
Mistral AI Live retrieval allowed not probed
MistralAI-Index
Indexes content for Mistral search behind Vibe answers; not used for generative AI training.
Mistral AI Answer index allowed not probed
MistralAI-Training
Crawls web content to build datasets for training Mistral's generative AI models.
Mistral AI Model training allowed not probed
DuckAssistBot
Crawls pages in real time for DuckDuckGo's cited AI-assisted answers; not used for model training.
DuckDuckGo Live retrieval allowed not probed
YouBot
Indexes pages for You.com search results and the AI answers built on that index.
You.com Answer index allowed not probed
PanguBot
Collects web content used to train Huawei's PanGu family of large models.
Huawei Model training allowed not probed
Timpibot
Crawls pages for Timpi's decentralized index, which is also used as LLM training data.
Timpi Model training allowed not probed
ImagesiftBot
Downloads public images plus surrounding text to build ImageSift's searchable image index.
ImageSift (Hive) Model training allowed not probed
Kangaroo Bot
Scrapes site content into datasets used to train the Kangaroo LLM.
Kangaroo LLM Model training allowed not probed
SemrushBot-OCOB
Crawls pages to feed Semrush's ContentShake AI writing tool.
Semrush Model training allowed not probed
Scrapy
Generic scraping framework often used to build AI training datasets; obeys robots.txt only when ROBOTSTXT_OBEY is on.
Zyte (open-source framework) Model training allowed not probed
Two of these columns matter differently. robots.txt is what the site declares. Live request is what actually happened when we sent a real request using that crawler's user agent from a datacentre IP, which is how edge blocking, rate limits and challenge pages show up even when robots.txt looks permissive.

Reach 39.5 / 40

!

robots.txt sets Crawl-delay, which most fetchers ignore

Crawl-delay of 5s is declared. Large crawlers may fetch only a few pages per hour, or ignore the directive entirely.

Why it matters. `Crawl-delay` is not in RFC 9309. Googlebot and OpenAI's fetchers ignore it, while some retrieval agents that do honour it will space requests seconds apart, which can exceed an answer engine's fetch timeout and leave the page uncited.
Fix. Remove `Crawl-delay` and handle load at the edge instead, with caching and rate limiting keyed on the client. If crawl volume is the real problem, cache HTML at your CDN so repeat fetches never reach the origin. Keep the file to standard directives (`User-agent`, `Allow`, `Disallow`, `Sitemap`) so parser behaviour is predictable.
# Remove non-standard throttling directives:
# Crawl-delay: 10

User-agent: *
Allow: /
Reference
1 pt

AI user agents receive the same 200 response as browsers

Live requests as 4 AI user agents were served normally.

16 pt

Answer-engine fetchers are allowed to retrieve and cite this page

All 24 answer-engine fetchers are allowed to retrieve pages for citation.

8 pt

Training crawlers may fetch this path

All 23 tracked training crawlers are allowed.

5 pt

No blanket disallow applies to this path

The wildcard group does not disallow the entire site.

4 pt

robots.txt served as plain text with a 200 response

robots.txt served, 20959 bytes, 1 group(s).

2 pt

Page is indexable, with no noindex directive

No noindex directive on the homepage.

2 pt

Full-length snippet extraction is permitted

Snippets are not restricted by meta tags.

1 pt

X-Robots-Tag header is absent or permissive

No restrictive X-Robots-Tag header.

1 pt

Readability 18.7 / 25

Visible text is a small fraction of the HTML payload

Text is 1.4% of the 112 KB document; 2 KB is inline script.

Why it matters. Extractors strip scripts, styles, and wrapper markup before passing text to a model, and a page where content is a small fraction of the payload loses more of it to boilerplate removal. Inline JSON state blobs and deeply nested wrappers also push real text past the truncation limit of a retrieval context.
Fix. Move inline hydration state and large inline scripts out of the document, or fetch them after load instead of embedding them. Flatten wrapper `div` trees and let semantic elements carry the content, and keep utility-class soup out of the article body. Serve the same text without the boilerplate at a stable URL if you need a clean extraction target.
4 pt

No <main> or <article> element marks the primary content

No <main> or <article> element, so extractors must guess where the content starts.

Why it matters. Boilerplate removers use `<main>` and `<article>` to decide which subtree is the content and which is navigation, promo, and footer. Without a landmark the extractor guesses by text density and often keeps the nav while dropping part of the body.
Fix. Wrap the page's unique content in exactly one `<main>` element, and use `<article>` for each self-contained item inside it. Put navigation in `<nav>`, site chrome in `<header>` and `<footer>`, and tangential blocks in `<aside>` so they are cleanly separable. Do not nest the content inside a `<div>` whose only meaning is a CSS class.
<body>
  <header><nav><!-- site navigation --></nav></header>
  <main>
    <article>
      <h1>How answer engines fetch your pages</h1>
      <p>Content that should be extracted and quoted.</p>
    </article>
  </main>
  <aside><!-- related links --></aside>
  <footer><!-- legal, contact --></footer>
</body>
Reference
3 pt

Substantive text is present in the server-rendered HTML

320 words of text are present in the raw HTML. Most AI fetchers do not run JavaScript.

9 pt

Headings form a single, ordered outline

1 H1 and 3 headings total.

3 pt

Title is unique and describes the page in specific terms

Title is 57 characters: "Make A Gif - Animated Gifs Maker, Free Gif Creator Online"

3 pt

Meta description provides an author-written summary

Meta description is 121 characters.

2 pt

Document language is declared on the html element

Declared language: en.

1 pt

Structure 8 / 20

No JSON-LD structured data found on the page

No JSON-LD structured data on the homepage.

Why it matters. JSON-LD gives an answer engine typed facts (headline, author, dates, price, publisher) without inferring them from prose, and those fields populate the entity record a citation is attached to. With no structured data every attribute has to be guessed from text, and guesses are dropped when confidence is low.
Fix. Add one `<script type="application/ld+json">` block describing the page's primary entity, using the schema.org type that actually fits: `Article` or `NewsArticle`, `Product`, `Recipe`, `Event`, `FAQPage`, or `SoftwareApplication`. Populate the required properties for that type and make every value match visible page content. Prefer JSON-LD over microdata or RDFa, since it is the format the major crawlers document, and render it server-side so non-JavaScript fetchers see it.
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Allow AI answer engines in robots.txt",
  "description": "How to opt out of model training while staying citable.",
  "url": "https://example.com/blog/robots-for-ai",
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://example.com/blog/robots-for-ai"
  },
  "image": "https://example.com/images/robots-for-ai.png",
  "inLanguage": "en",
  "datePublished": "2026-02-11T09:00:00-05:00",
  "dateModified": "2026-08-04T14:20:00-04:00",
  "author": {
    "@type": "Person",
    "name": "Dana Reyes",
    "url": "https://example.com/authors/dana-reyes"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Example",
    "url": "https://example.com",
    "logo": {
      "@type": "ImageObject",
      "url": "https://example.com/logo.png",
      "width": 512,
      "height": 512
    }
  }
}
Reference
7 pt

Structured data is too generic for what the page is about

No entity types that answer engines consume.

Why it matters. Answer engines route by entity type: a `Product` node supplies price and availability, an `Article` node supplies author and dates, and a `FAQPage` node supplies question and answer pairs. A generic `WebPage` or `WebSite` node on a product or article page carries none of those fields, so the specific facts stay unavailable.
Fix. Replace bare `WebPage` and `WebSite` nodes with the most specific type that describes the page, and fill the properties that type defines. Use `@graph` to publish several linked nodes on one page, such as an `Article` whose `publisher` points at an `Organization` node by `@id`. Add `BreadcrumbList` for hierarchy and reuse the same `@id` values across pages so the entity resolves to one record.
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Product",
      "@id": "https://example.com/products/widget#product",
      "name": "Widget Pro",
      "sku": "WGT-PRO-1",
      "brand": { "@type": "Brand", "name": "Example" },
      "offers": {
        "@type": "Offer",
        "url": "https://example.com/products/widget",
        "price": "49.00",
        "priceCurrency": "USD",
        "availability": "https://schema.org/InStock"
      }
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        { "@type": "ListItem", "position": 1, "name": "Products", "item": "https://example.com/products" },
        { "@type": "ListItem", "position": 2, "name": "Widget Pro" }
      ]
    }
  ]
}
Reference
4 pt

Facts are only in prose, with no list or table structure

0 tables, 0 lists, 0 code blocks, 0 question headings.

Why it matters. Lists, tables with header cells, and definition lists survive HTML-to-text conversion as discrete rows a model can lift into an answer verbatim. The same facts written as a paragraph, or laid out with positioned `div`s, lose their row and column relationships during extraction.
Fix. Put specifications, comparisons, pricing, and steps into real `<table>` markup with `<caption>` and `<th scope>`, or into `<ul>`, `<ol>`, and `<dl>` elements. Do not simulate tables with `div` grids, and avoid images of tables, which carry no extractable text. Keep one fact per row or list item so a chunk stays meaningful on its own.
<table>
  <caption>AI fetcher purposes</caption>
  <thead>
    <tr><th scope="col">User agent</th><th scope="col">Purpose</th></tr>
  </thead>
  <tbody>
    <tr><td>GPTBot</td><td>Model training</td></tr>
    <tr><td>OAI-SearchBot</td><td>Retrieval and citation</td></tr>
  </tbody>
</table>
Reference
1 pt

JSON-LD parses cleanly with recognised schema.org terms

All JSON-LD blocks parse cleanly.

3 pt

Page declares a self-referential canonical URL

Canonical: https://makeagif.com/

3 pt

XML sitemap is declared in robots.txt and returns 200

Sitemap found at /sitemap.xml (15 URLs on the first document).

2 pt

Attribution 1 / 9

No /llms.txt index of canonical pages

No /llms.txt.

Why it matters. `/llms.txt` is a markdown file that points an assistant at the canonical pages for a site, so retrieval does not depend on which page a search happened to return. Its format is fixed: one `#` title, a `>` blockquote summary, then `##` sections of markdown links with short notes.
Fix. Publish `/llms.txt` as `text/plain` markdown: an `#` H1 with the project name, a `>` blockquote summary, optional plain paragraphs of context, then `##` sections whose bullets are `[title](absolute-url): note`. Link the pages you want quoted, put lower-priority links under an `## Optional` section, and prefer URLs that also serve clean markdown. Keep it generated from the same source as your sitemap so it does not drift, and remember it is a hint for assistants, not an access control mechanism.
# Example

> Example publishes reference documentation for the Widget API and guides for
> configuring crawler access.

Prefer the pages below over search results; each URL is canonical.

## Docs

- [Widget API reference](https://example.com/docs/api): endpoints, auth, limits.
- [Quickstart](https://example.com/docs/quickstart): first request in five minutes.

## Policies

- [Crawler policy](https://example.com/legal/crawlers): which agents we allow.

## Optional

- [Changelog](https://example.com/changelog): dated release notes.
Reference
4 pt

No Organization entity identifies the publisher

No Organization entity, so the brand is harder to resolve to a known entity.

Why it matters. An `Organization` node with `sameAs` links resolves your site to a single entity across knowledge graphs instead of leaving the publisher name as an ambiguous string. That resolution is what lets an assistant attribute an answer to your brand and reuse your name, logo, and contact details.
Fix. Publish one `Organization` node, usually on the home page, with `name`, `url`, `logo`, and `sameAs` pointing at the profiles that already describe you: Wikipedia or Wikidata, Crunchbase, LinkedIn, and your primary social accounts. Give it a stable `@id` such as `https://example.com/#organization` and reference that `@id` from each page's `publisher` property instead of repeating the block. Add `contactPoint` and `address` when they are public, and keep every value identical to what the site shows.
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://example.com/#organization",
  "name": "Example",
  "legalName": "Example Holdings, Inc.",
  "url": "https://example.com",
  "logo": {
    "@type": "ImageObject",
    "url": "https://example.com/logo.png",
    "width": 512,
    "height": 512
  },
  "sameAs": [
    "https://www.wikidata.org/wiki/Q00000000",
    "https://www.linkedin.com/company/example",
    "https://github.com/example"
  ],
  "contactPoint": {
    "@type": "ContactPoint",
    "contactType": "customer support",
    "email": "support@example.com",
    "areaServed": "US",
    "availableLanguage": ["en"]
  }
}
Reference
3 pt
!

No machine-readable license or usage terms for the content

No licence declaration, so reuse terms are ambiguous.

Why it matters. A `license` property, or a linked terms page, states the reuse conditions in a place a crawler can read, rather than leaving them to be inferred. Where terms are unstated, some pipelines default to the more restrictive handling, which reduces how much of the text is quoted.
Fix. Add a `license` property to the page's structured data pointing at a specific license URL, such as a Creative Commons deed or your own terms page, and add `rel="license"` on the visible link. Use `usageInfo` for conditions that are not a standard license, such as attribution wording or an API-only clause. State the terms once, at a stable URL, and reference it from every page rather than restating it per template.
<a rel="license" href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Allow AI answer engines in robots.txt",
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "usageInfo": "https://example.com/legal/content-reuse",
  "creditText": "Example, crawlcensus research desk"
}
</script>
Reference
2 pt

No machine-readable author is attached to the page

This page declares no article-type structured data, so a machine-readable byline is not expected of it. The check is excluded from the score rather than counted as a failure.

Why it matters. An `author` property in structured data is what lets an answer engine name a person or organisation as the source and link the byline to a stable profile. A byline that exists only as styled text is not reliably associated with the document during extraction.
Fix. Add an `author` property to the page's `Article`, `BlogPosting`, or `NewsArticle` node, typed as `Person` or `Organization`, with a `name` and a `url` pointing at a real profile page. Give each author a stable `@id` and reuse it across posts so the entity consolidates. Keep the visible byline identical to the structured value, and avoid generic names such as "Admin" or "Staff Writer" where a real author exists.
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "Allow AI answer engines in robots.txt",
  "author": {
    "@type": "Person",
    "@id": "https://example.com/authors/dana-reyes#person",
    "name": "Dana Reyes",
    "url": "https://example.com/authors/dana-reyes",
    "jobTitle": "Infrastructure Engineer",
    "sameAs": ["https://github.com/danareyes"]
  }
}
Reference
3 pt

No machine-readable published or modified date

This page declares no article-type structured data, so publication and modification dates are not expected of it. The check is excluded from the score rather than counted as a failure.

Why it matters. Answer engines prefer recent sources for questions about current state and use `dateModified` to decide whether a cached copy needs refetching. With no machine-readable date the page is treated as undated and loses to competitors that publish one.
Fix. Publish `datePublished` and `dateModified` in the page's structured data as ISO 8601 values with a timezone offset. Update `dateModified` only when the content actually changes, since bumping it on every deploy trains crawlers to ignore it. Mirror the value in a visible `<time datetime>` element so the rendered text and the metadata agree, and keep the sitemap `lastmod` consistent with it.
<time datetime="2026-08-04T14:20:00-04:00">Updated August 4, 2026</time>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Allow AI answer engines in robots.txt",
  "datePublished": "2026-02-11T09:00:00-05:00",
  "dateModified": "2026-08-04T14:20:00-04:00"
}
</script>
Reference
3 pt

Evidence raw measurements

robots.txt
Size
20,959 bytes
Groups
1
Sitemaps
https://makeagif.com/sitemap.xml
View the file as our crawler received it
User-agent: *
Crawl-delay: 5
Sitemap: https://makeagif.com/sitemap.xml
Disallow: /ajax/
Disallow: /api/
Disallow: /search
Allow: /nsfw-gifs
Allow: /tag/Friends
Allow: /tag/Football
Allow: /tag/soccer
Allow: /tag/Ninja
Allow: /tag/party
Allow: /tag/sex
Allow: /tag/clouds
Allow: /tag/sun
Allow: /tag/Wedding
Allow: /tag/castle
Allow: /tag/Putin
Allow: /tag/wow
Allow: /tag/jccaylen
Allow: /tag/TFIOS
Allow: /tag/van
Allow: /tag/avengers
Allow: /tag/Marvel
Allow: /tag/basketball
Allow: /tag/frog
Allow: /tag/wtf
Allow: /tag/clown
Allow: /tag/RUNNING
Allow: /tag/tmnt
Allow: /tag/VIXX
Allow: /tag/boy
Allow: /tag/hot
Allow: /tag/Fire
Allow: /tag/markiplier
Allow: /tag/Scary
Allow: /tag/fnaf
Allow: /tag/fashion
Allow: /tag/doctor
Allow: /tag/supernatural
Allow: /tag/skyrim
Allow: /tag/Rainbow
Allow: /tag/pink
Allow: /tag/funnyface
Allow: /tag/space
Allow: /tag/anime
Allow: /tag/paramore
Allow: /tag/Train
Allow: /tag/doctorwho
Allow: /tag/Leagueoflegends
Allow: /tag/girl
Allow: /tag/youtube
Allow: /tag/baby
Allow: /tag/blackandwhite
Allow: /tag/cat
Allow: /tag/Karkat
Allow: /tag/butt
Allow: /tag/Rihanna
Allow: /tag/comedy
Allow: /tag/bmth
Allow: /tag/sherlock
Allow: /tag/tumblr
Allow: /tag/hobbit
Allow: /tag/shakira
Allow: /tag/seanconnery
Allow: /tag/Dog
Allow: /tag/Naruto
Allow: /tag/kpop
Allow: /tag/shinee
Allow: /tag/MileyCyrus
Allow: /tag/laugh
Allow: /tag/Happy
Allow: /tag/drunk
Allow: /tag/wolf
Allow: /tag/night
Allow: /tag/pewdiepie
Allow: /tag/MOON
Allow: /tag/Glitch
Allow: /tag/Reaction
Allow: /tag/punk
Allow: /tag/COSPLAY
Allow: /tag/dj
Allow: /tag/edm
Allow: /tag/MLP
Allow: /tag/hetalia
Allow: /tag/olympics
Allow: /tag/piercetheveil
Allow: /tag/Skrillex
Allow: /tag/Eurovision
Allow: /tag/valentinesday
Allow: /tag/SnK
Allow: /tag/awesome
Allow: /tag/metal
Allow: /tag/hockey
Allow: /tag/goal
Allow: /tag/horse
Allow: /tag/onedirection
Allow: /tag/HarryStyles
Allow: /tag/FifthHarmony
Allow: /tag/Hello
Allow: /tag/marcusbutler
Allow: /tag/yes
Allow: /tag/danisnotonfire
Allow: /tag/Kanye
Allow: /tag/twerking
Allow: /tag/frozen
Allow: /tag/Disney
Allow: /tag/elsa
Allow: /tag/boobs
Allow: /tag/water
Allow: /tag/snow
Allow: /tag/ice
Allow: /tag/Rocky
Allow: /tag/skateboarding
Allow: /tag/swag
Allow: /tag/bleach
Allow: /tag/sad
Allow: /tag/XFactor
Allow: /tag/runway
Allow: /tag/spring
Allow: /tag/shark
Allow: /tag/fish
Allow: /tag/panic
Allow: /tag/disco
Allow: /tag/sonic
Allow: /tag/Beach
Allow: /tag/loop
Allow: /tag/exo
Allow: /tag/joeygraceffa
Allow: /tag/katyperry
Allow: /tag/pikachu
Allow: /tag/thewalkingdead
Allow: /tag/fail
Allow: /tag/luffy
Allow: /tag/adventuretime
Allow: /tag/Kiss
Allow: /tag/Vodka
Allow: /tag/luhan
Allow: /tag/IMVU
Allow: /tag/3D
Allow: /tag/teamfortress2
Allow: /tag/Manga
Allow: /tag/fluttershy
Allow: /tag/goth
Allow: /tag/shoes
Allow: /tag/swimming
Allow: /tag/fox
Allow: /tag/rock
Allow: /tag/mario
Allow: /tag/meme
Allow: /tag/creepy
Allow: /tag/art
Allow: /tag/castiel
Allow: /tag/meh
Allow: /tag/smoke
Allow: /tag/HarryPotter
Allow: /tag/Hiphop
Allow: /tag/Stars
Allow: /tag/tank
Allow: /tag/rosslynch
Allow: /tag/animation
Allow: /tag/yoga
Allow: /tag/Chanyeol
Allow: /tag/Baekhyun
Allow: /tag/onision
Allow: /tag/Hug
Allow: /tag/Show
Allow: /tag/justinbieber
Allow: /tag/bear
Allow: /tag/pretty
Allow: /tag/help
Allow: /tag/coffee
Allow: /tag/pizza
Allow: /tag/icecream
Allow: /tag/bacon
Allow: /tag/PLL
Allow: /tag/minecraft
Allow: /tag/egg
Allow: /tag/chicken
Allow: /tag/cheese
Allow: /tag/IM5
Allow: /tag/rwby
Allow: /tag/win
Allow: /tag/zombie
Allow: /tag/homestuck
Allow: /tag/Car
Allow: /tag/ferrari
Allow: /tag/shower
Allow: /tag/bestfriends
Allow: /tag/ballet
Allow: /tag/wink
Allow: /tag/crying
Allow: /tag/autumn
Allow: /tag/sick
Allow: /tag/LukeHemmings
Allow: /tag/lion
Allow: /tag/beyonce
Allow: /tag/gifs
Allow: /tag/AmazingPhil
Allow: /tag/youtubers
Allow: /tag/cow
Allow: /tag/rainbowdash
Allow: /tag/hedgehog
Allow: /tag/rain
Allow: /tag/mcr
Allow: /tag/stupid
Allow: /tag/piano
Allow: /tag/batman
Allow: /tag/birthday
Allow: /tag/SoulEater
Allow: /tag/metallica
Allow: /tag/Bicycle
Allow: /tag/vampire
Allow: /tag/ariel
Allow: /tag/pain
Allow: /tag/arianagrande
Allow: /tag/janoskians
Allow: /tag/5secondsofsummer
Allow: /tag/winx
Allow: /tag/dancing
Allow: /tag/Panda
Allow: /tag/rammstein
Allow: /tag/dylanobrien
Allow: /tag/teenwolf
Allow: /tag/romance
Allow: /tag/troll
Allow: /tag/halloween
Allow: /tag/willsmith
Allow: /tag/seinfeld
Allow: /tag/sunset
Allow: /tag/candy
Allow: /tag/facebook
Allow: /tag/scared
Allow: /tag/kitty
Allow: /tag/bigbang
Allow: /tag/Cycling
Allow: /tag/eating
Allow: /tag/sleepy
Allow: /tag/tiger
Allow: /tag/pet
Allow: /tag/GTAV
Allow: /tag/Neymar
Allow: /tag/summer
Allow: /tag/Dude
Allow: /tag/shake
Allow: /tag/whiskey
Allow: /tag/beer
Allow: /tag/SMH
Allow: /tag/zelda
Allow: /tag/TheOffice
Allow: /tag/demilovato
Allow: /tag/puppy
Allow: /tag/vintage
Allow: /tag/feels
Allow: /tag/thevamps
Allow: /tag/blackbutler
Allow: /tag/Hipster
Allow: /tag/Pokemon
Allow: /tag/chanel
Allow: /tag/michaeljackson
Allow: /tag/Rabbit
Allow: /tag/bmw
Allow: /tag/BreakingBad
Allow: /tag/banana
Allow: /tag/kobe
Allow: /tag/bbc
Allow: /tag/Baseball
Allow: /tag/Wind
Allow: /tag/Horror
Allow: /tag/sunrise
Allow: /tag/gravity
Allow: /tag/bass
Allow: /tag/design
Allow: /tag/dragon
Allow: /tag/goku
Allow: /tag/monkey
Allow: /tag/smile
Allow: /tag/startrek
Allow: /tag/uberhaxornova
Allow: /tag/elena
Allow: /tag/drummer
Allow: /tag/divergent
Allow: /tag/trailer
Allow: /tag/goodbye
Allow: /tag/gdragon
Allow: /tag/smosh
Allow: /tag/beauty
Allow: /tag/dress
Allow: /tag/drinking
Allow: /tag/link
Allow: /tag/ellen
Allow: /tag/Zoella
Allow: /tag/cookie
Allow: /tag/typography
Allow: /tag/Lake
Allow: /tag/Hulk
Allow: /tag/kyungsoo
Allow: /tag/whatever
Allow: /tag/jackson
Allow: /tag/guitar
Allow: /tag/interview
Allow: /tag/gaga
Allow: /tag/SlipKnot
Allow: /tag/pig
Allow: /tag/laser
Allow: /tag/Angry
Allow: /tag/Flowers
Allow: /tag/honda
Allow: /tag/kissing
Allow: /tag/Fireworks
All
Machine-readable extras
llms.txt
absent
ai.txt
absent
Sitemap
/sitemap.xml (15 URLs)
Feeds
none
Schema types
none
Edge
not identified
Final URL
https://makeagif.com/
HTML size
112 KB, 320 words of text

Compare it with a competitor head to head

Put makeagif.com next to another domain and see which one an answer engine can actually read. Both sides are measured the same way, so the difference is the finding.

Already measured: vs sacred-texts.com · vs leakimedia.com · vs vidmateapp.com

Publish the score free

Sites that score well embed the badge. It links back to this live report, which re-measures on every scan.

AI access score badge
<a href="https://crawlcensus.com/site/makeagif.com"><img src="https://crawlcensus.com/badge/makeagif.com.svg" alt="AI access score for makeagif.com" width="150" height="20"></a>

Track changes on this domain free for one

Crawler policy is edited quietly. We re-scan monitored domains daily, keep the history, and email you the moment a crawler is blocked or unblocked, an llms.txt appears, or the score moves.

Free for one domain per address, and always free for domains you have verified you own. No newsletter, only change alerts.

Pro follows 25 domains, keeps 90 days of history, compares them against each other and exports the lot as CSV, for 19 dollars a month. That is the difference: measuring is free, watching a portfolio is not.