<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>Lukas Wojcik - Blog</provider_name><provider_url>https://www.lukaswojcik.com/blog</provider_url><author_name>luky</author_name><author_url>https://www.lukaswojcik.com/blog/author/luky/</author_url><title>robots.txt Crawler Matrix: which rule wins for which bot - Lukas Wojcik - Blog</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="80yo2gcqgT"&gt;&lt;a href="https://www.lukaswojcik.com/blog/en/toolbox/robots-txt-crawler-matrix/"&gt;robots.txt Crawler Matrix: which rule wins for which bot&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://www.lukaswojcik.com/blog/en/toolbox/robots-txt-crawler-matrix/embed/#?secret=80yo2gcqgT" width="600" height="338" title="&#x201C;robots.txt Crawler Matrix: which rule wins for which bot&#x201D; &#x2014; Lukas Wojcik - Blog" data-secret="80yo2gcqgT" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"&gt;&lt;/iframe&gt;&lt;script&gt;
/*! This file is auto-generated */
!function(d,l){"use strict";l.querySelector&amp;&amp;d.addEventListener&amp;&amp;"undefined"!=typeof URL&amp;&amp;(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&amp;&amp;!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),o=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),c=new RegExp("^https?:$","i"),i=0;i&lt;o.length;i++)o[i].style.display="none";for(i=0;i&lt;a.length;i++)s=a[i],e.source===s.contentWindow&amp;&amp;(s.removeAttribute("style"),"height"===t.message?(1e3&lt;(r=parseInt(t.value,10))?r=1e3:~~r&lt;200&amp;&amp;(r=200),s.height=r):"link"===t.message&amp;&amp;(r=new URL(s.getAttribute("src")),n=new URL(t.value),c.test(n.protocol))&amp;&amp;n.host===r.host&amp;&amp;l.activeElement===s&amp;&amp;(d.top.location.href=t.value))}},d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",function(){for(var e,t,s=l.querySelectorAll("iframe.wp-embedded-content"),r=0;r&lt;s.length;r++)(t=(e=s[r]).getAttribute("data-secret"))||(t=Math.random().toString(36).substring(2,12),e.src+="#?secret="+t,e.setAttribute("data-secret",t)),e.contentWindow.postMessage({message:"ready",secret:t},"*")},!1)))}(window,document);
//# sourceURL=https://www.lukaswojcik.com/blog/wp-includes/js/wp-embed.min.js
&lt;/script&gt;
</html><description>Reads a site's robots.txt, resolves every user agent to the group that governs it, and shows for each path whether crawling is allowed and which rule decided it. Includes the part most summaries get wrong: what a 404, a 410 or a 500 on the rules file itself means for a crawler.</description><thumbnail_url>https://www.lukaswojcik.com/blog/wp-content/uploads/2026/08/og-default.jpg</thumbnail_url><thumbnail_width>1200</thumbnail_width><thumbnail_height>630</thumbnail_height></oembed>
