GPTBot has hundreds of billions of requests per month, should the content site be expanded separately for AI traffic?
GPTBot has several billion requests per month, should the content site allocate capacity for AI traffic separately? It's not about expanding capacity first, but about calculating which layer this request falls into. In public statements, the fact that GPTBot's monthly request volume reaches several billion indicates a large scale of crawling, but the crawler does not execute JavaScript nor generate clicks, the pressure is concentrated on page rendering and cache hits, not on database concurrency. What really needs to be judged is whether your site will degrade to dynamic rendering when attacked.
Request volume and referral traffic are not the same thing
The cost structure of crawling requests is different from that of visitor requests:
| Traffic type | Main consumption | Whether to execute the script | The significance of expansion |
|---|---|---|---|
| Search engine crawler | Page rendering and response time | Complex scripts are usually not executed | Focus on cache hit and response stability |
| AI-trained crawler | Bulk reading of the entire site, large and continuous | Does not execute JavaScript | Focus on the boundary and rate control of crawling |
| AI retrieval type crawler | Read a small amount of pages according to the query | Does not execute JavaScript | Focus on whether the content is self-contained as a paragraph |
| Real visitors | Interaction, login, form and database concurrency | Complete execution | This is the main goal of capacity planning |
The pressure brought by AI traffic is read-type pressure. If each page of the site is dynamically rendered and there is no cache layer, the increase in crawling volume will directly reflect the increase in server load; if the content has been staticized, the marginal cost of crawling is very low, and the expansion demand is also limited.
Where does the pressure fall
The method of judgment is to split the processing path of a single fetch request: whether it can hit static products, whether it needs to perform template rendering, and whether it needs to check the database. Most content sites have bottlenecks in
Content collection sites have a special feature: when batch reading sites with long text, many images, and deep pagination, the distribution cost of static files will exceed the cost of dynamic rendering itself. In this case, the first thing to optimize is not to add machines, but to place static resources in cacheable locations and set a crawlable range for pagination and filtering parameters.
Calculate the load first and then talk about expansion.
Can use the two order of magnitude specifications given for rough estimation. One, the page loading speed is significantly improved compared to traditional PHP CMS, a single machine can handle about 5 million PV, here we need to pay attention to the meaning of 'about', treat it as a reference for how many content sites can be placed, rather than an exact indicator. Two, the memory usage is reduced by about 80% compared to PHP CMS, which determines how many services can run in parallel on the same machine, and also determines whether swapping will be triggered due to memory shortage when the capture volume increases.
At these two scales, the margin of a regular corporate website is usually enough to absorb AI crawling. The two types that truly need to be expanded in advance are: websites that heavily rely on dynamic rendering across the entire site without caching, and those that place API calls and page rendering in the same process and resource pool.
How to determine the crawling boundary
The crawling strategy should be divided according to content type rather than traffic size. The first layer is the robots configuration: explicitly allow or prohibit paths, block directories such as background, preview, and internal search that should not be crawled, and decide whether to treat training crawlers and retrieval crawlers differently - in the public statistics, 35% of readable sites have blocked at least one training crawler, 21% have blocked at least one retrieval crawler, and the choice between the two lines is inherently different.The second layer is llms.txt, using the navigation file generated by the site for the large language model to converge the key content read by the model. It is the third layer that is about rate control and caching strategy.
It should be noted that the cost of blocking search engine spiders: if you want AI answers to be able to cite their own paragraphs, blocking search engine spiders together will make visibility zero. Such decisions should be made by column rather than the entire site.
Common questions
Question: The proportion of AI spiders in the log is very high, does this mean that crawling is consuming bandwidth?
Answer: First, look at the distribution of the requested paths. If the proportion is high but the hits are all static pages, the marginal cost is very low; if concentrated in dynamic addresses with parameters, it is necessary to adjust the crawlable range instead of directly increasing bandwidth.
Question: Is it technically feasible to block only training-type crawlers and retain retrieval-type crawlers?
Answer: It is feasible, as they are distinguished by different identifiers, and the robots configuration can be declared separately. It should be noted that the instruction only takes effect for crawling in compliance with the protocol and cannot be used as an access control means.
Question: Will the paragraph writing style of the content site affect the crawling cost?
Answer: It will not significantly affect the cost, but it will affect the reference effect. The smallest unit AI reads is a paragraph, and self-contained paragraphs are easier to extract for use. This belongs to content-level optimization and is a different matter from expansion.