The training crawler was blocked in robots, why can't the content still be retrieved
Why can't I still get usable content on the crawling side even though the training crawler has been blocked in robots.txt? Because these two questions belong to different layers: the former asks whether I allow you to crawl, and the latter asks what you have really caught. In the actual test of a batch of more than 2,300 sites, only 3.6% of the text blocks training crawlers, while 18.8% cannot get usable content when directly accessing the homepage as a real visitor. The opposite direction of the numbers indicates that the gap lies in execution and availability, not in the rule text.
Why can't the two percentages be interchanged?
The proportion blocked is low, and the proportion of inaccessible content is high, these two things have different causes and cannot be inferred from each other.
The proportion blocked is low, which may be because most sites have not changed the configuration for new visitor types, or the change only takes effect in text. The proportion of inaccessible content is higher, and the causes are more complex: the page depends on script rendering, the address jump level is too deep, the returned status code is not normal success, and login is required to view the main text, all of which will lead to
The most common misjudgment when mixing the two is: thinking that you have already done protection, so you believe that the external party cannot read the content; or conversely, seeing that someone can read, you think that the rules are wrong. Both of these conclusions should be verified by the scraping behavior itself, rather than by the configuration text.
Three situations where the content can still be accessed after blocking
The first one is the lack of identity verification. The rules match by visitor name, but the actual visit can claim any name. If the server only determines by name, changing the name can bypass it. The real blocking effect should be based on the source of the request, frequency, and behavior characteristics, rather than just the name field.
The second type is that the same content has multiple entries. List pages, interface addresses, old domains, and content distribution node caches may all return the same text, but the rules only cover one path. In this case, one entry is blocked, and the other entries can still be accessed.
The third type is the difference in the rendering layer. The way to grab pages used is different from the browser, and when the script is not executed, the returned is the skeleton content, looking like it has 'gotten' but the text is empty. This kind of problem is most easily ignored when verifying, because it returns a normal status code.
Self-check in the order of four types of signals
The order should be from outside to inside, checking the four types of signals in turn.
Read the rules text: whether the target directory is written in full, whether the name matches is consistent with the real visitor, and which one is to be followed when there is a conflict between permit and block. At the text level, the AnQiCMS robots configuration can be checked directly in the background, and it must be confirmed that the online file and the background setting are the same after the change.
Check the entry list: List the site map, interface address, old domain redirection, and cache nodes, and confirm that they are constrained by the same set of rules. The third step is to check the return quality: Use your own identity to directly access the homepage and several inner pages, and check if the text is complete, if scripts are needed for it to appear, and if the status code is stable. The fourth step is to check the behavior characteristics: If the same address is visited by a large number of different sources within a short period of time, it indicates that the rules have not truly taken effect, and restrictions need to be added on the server side.
Two layers of protection need to be matched within the site
In addition to the verification of the crawling layer, there are two layers within the site that are related to the discernibility of the content.
The first layer is sensitive word filtering and content review. When the content returned by the public interface is consistent with the front-end text, any missing layer may allow low-quality content into the crawling results; configure the review rules well and avoid mixing placeholder text only for the front-end in the main text.
The second layer is for anti-crawling and interference codes. Its purpose is not to replace robots, but to make bulk搬运 lose value in content quality: the copied pages are accompanied by meaningless characters, and it is not smooth to read when republished. This layer needs to be configured according to visitor types to avoid disturbing normal crawling as well, otherwise the proportion of
After the two-layer configuration, it is still necessary to retest the four types of signals mentioned earlier, because the new problems most easily introduced by changing the configuration are rule conflicts and entry omissions.
Common questions
Can changing robots prevent training crawling?Not reliable. The name can be forged, and the same content may be taken from other entries, robots are more suitable as a declaration layer,配合 service-side source and behavior restrictions.
To what extent should the release side be verified?At least verify to the extent of “full text visible”. Normal status code does not mean content is available, the page retrieval method used for crawling often does not execute scripts, and it needs to be confirmed that the response body contains a complete paragraph.
How often should retesting be done?It is more reasonable to trigger based on configuration changes: retest after changing rules, adding new entries, changing domain names, or caching; usually perform a full-scale check once a quarter.