<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Master AI SEO with Actionable Articles and Real-World Studies</title>
	<atom:link href="https://vladsand.com/category/ai-seo/feed/" rel="self" type="application/rss+xml" />
	<link>https://vladsand.com/category/ai-seo/</link>
	<description>SEO Expert, Author and Lecturer</description>
	<lastBuildDate>Wed, 17 Dec 2025 01:23:32 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://vladsand.com/wp-content/uploads/2025/01/favicon-150x150.png</url>
	<title>Master AI SEO with Actionable Articles and Real-World Studies</title>
	<link>https://vladsand.com/category/ai-seo/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How to Make Your Website Visible to LLMs </title>
		<link>https://vladsand.com/how-to-make-your-website-visible-to-llms/</link>
		
		<dc:creator><![CDATA[Vlad Sand]]></dc:creator>
		<pubDate>Wed, 17 Dec 2025 01:13:31 +0000</pubDate>
				<category><![CDATA[AI SEO]]></category>
		<category><![CDATA[SEO Mastery]]></category>
		<guid isPermaLink="false">https://vladsand.com/?p=1793</guid>

					<description><![CDATA[<p>First of all, it’s important to clarify that classic SEO is the foundation and will always remain the starting point for visibility in LLMs. Traditional...</p>
<p>The post <a href="https://vladsand.com/how-to-make-your-website-visible-to-llms/">How to Make Your Website Visible to LLMs </a> appeared first on <a href="https://vladsand.com">VladSand</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>First of all, it’s important to clarify that <strong>classic SEO is the foundation</strong> and will always remain the starting point for visibility in LLMs. Traditional optimization is essential.<br>However, to actually be present and visible in <strong>LLMs (Large Language Models)</strong>, you need an extra layer, and that extra layer is exactly what this article is about.</p>



<p>To better understand content, LLMs use mechanisms similar to traditional search engines, but they also come with their own specific characteristics.</p>



<p>In this article, I’ll walk you through the steps required to make your website more visible to LLMs and, of course, to increase your chances of being mentioned or cited by them.</p>



<h2 class="wp-block-heading"><strong>Allow AI Crawlers to Access Your Content</strong></h2>



<p>Just like traditional search engines (Google, Bing, etc.), LLMs need access to your website in order to crawl it and even consider it in the first place.</p>



<p>The following bots are important, each serving a specific role in accessing and processing content correctly:</p>



<ul class="wp-block-list">
<li><strong>OAI-SearchBot</strong> – An OpenAI bot used for indexing and search.<br></li>



<li><strong>GPTBot</strong> – Another OpenAI bot, used for collecting public data to train language models.<br></li>



<li><strong>ChatGPT-User</strong> – Identifies traffic coming from real ChatGPT users.<br></li>



<li><strong>PerplexityBot</strong> – A bot developed by Perplexity.ai that retrieves information to answer user questions in real time.<br></li>



<li><strong>Perplexity-User</strong> – The user-agent used when a Perplexity user opens a link from an AI-generated answer.<br></li>



<li><strong>ClaudeBot</strong> – The user-agent used by Anthropic for automated crawling and site indexing for Claude.<br></li>



<li><strong>Claude-User</strong> – The user-agent triggered when a Claude user opens a link from an AI-generated answer.<br></li>



<li><strong>Claude-SearchBot</strong> – Used by Claude to search for and evaluate web pages as potential sources before citing them.<br></li>
</ul>



<p>By allowing access to all these bots, you significantly increase your real chances of being discovered and cited.</p>



<p><strong>P.S.</strong> Not all of the bots listed above directly influence whether your site appears in AI citations (for example, GPTBot is theoretically used only for training purposes). That said, I wouldn’t bet my house on the idea that if OpenAI doesn’t use your site for training, it couldn’t indirectly affect your perceived credibility or “score” when it comes to citations.</p>



<h2 class="wp-block-heading"><strong>Add Relevant Schema Markup to Your Templates</strong></h2>



<p>Structured markup acts as a <strong>native language</strong> for LLMs and AI Overviews, enabling fast, accurate, and structured interpretation of on-page data.</p>



<p>LLMs rely heavily on understanding your site’s structure, what your website is about, how it’s organized, and how individual sections relate to one another. They aim to narrow down as precisely as possible to the most relevant pages and even specific sections within those pages, so they can return the exact piece of information your site provides to the user asking a question.</p>



<p>To support this, you need to <strong>make things easier for the LLM</strong>, which means simplifying the structure of each page using schema.org markup.</p>



<p>Depending on the type of page, you should implement the appropriate structured data:</p>



<p><strong>Examples:</strong></p>



<ul class="wp-block-list">
<li>Blog article –<a href="https://schema.org/Article"> https://schema.org/Article<br></a></li>



<li>Service page –<a href="https://schema.org/Service"> https://schema.org/Service<br></a></li>



<li>Product page –<a href="https://schema.org/Product"> https://schema.org/Product<br></a></li>



<li>Pages with a clear FAQ section –<a href="https://schema.org/FAQPage"> https://schema.org/FAQPage</a></li>
</ul>



<p>etc.<br></p>



<p><strong>P.S.</strong> You don’t need to fill out every single schema property, that’s a quick way to overcomplicate things and potentially break database connections. The best approach is to <strong>keep it simple</strong>.</p>



<p>For example, for the<a href="https://schema.org/Service"> https://schema.org/Service</a> schema, you can safely use just:</p>



<ul class="wp-block-list">
<li>name<br></li>



<li>serviceType<br></li>



<li>description<br></li>
</ul>



<p>The schema will still be valid and correctly understood by LLMs, which is the ultimate goal.</p>



<h2 class="wp-block-heading"><strong>Structure Your Headings for Maximum Clarity</strong></h2>



<p>Well-structured headings help AI understand hierarchy and context.</p>



<p>Just like in traditional SEO, heading structure is important, arguably even more so here. As mentioned earlier, LLMs rely heavily on structural clarity. A correct heading hierarchy for each page type should follow a clean structure like:</p>



<pre class="wp-block-code"><code>&lt;h1&gt;Main Heading&lt;/h1&gt;
  &lt;h2&gt;Subheading&lt;/h2&gt;
    &lt;h3&gt;Sub-subheading&lt;/h3&gt;
  &lt;h2&gt;Subheading&lt;/h2&gt;
    &lt;h3&gt;Sub-subheading&lt;/h3&gt;
    &lt;h3&gt;Sub-subheading&lt;/h3&gt;</code></pre>



<h2 class="wp-block-heading"><strong>Prioritize Speed That AI Actually Cares About</strong></h2>



<p>First, it’s important to note that <strong>classic speed metrics aren’t interpreted by LLMs in the same way</strong> they are by traditional search engines.</p>



<p>For example, metrics like <strong>LCP (Largest Contentful Paint)</strong> or other purely visual UX indicators don’t really matter for LLMs, because the user interaction happens on the AI platform, not on your website. Your site’s primary role is to be crawlable and easy for LLMs to understand.</p>



<p>So what <em>does</em> matter when auditing performance for LLMs?</p>



<h3 class="wp-block-heading"><strong>TTFB (Time to First Byte) / Server Response Time</strong></h3>



<p>As the name suggests, this metric measures how long it takes for the server to start responding.</p>



<p>In short: <strong>you need a fast server.</strong></p>



<h3 class="wp-block-heading"><strong>FCP (First Contentful Paint)</strong></h3>



<p>This is the moment when the first visible piece of content appears (text, image, SVG).</p>



<p>FCP matters for LLMs because it signals that the site delivers readable content quickly; a sign that the information is accessible, stable, and worthy of being read and cited.</p>



<h2 class="wp-block-heading"><strong>Make Sure Key Content is in the Raw HTML</strong></h2>



<p>This step checks whether key elements, such as the main title, featured image, and actual page content &#8211; are loaded directly in the HTML or injected later via JavaScript.</p>



<p>You need to ensure that:</p>



<ul class="wp-block-list">
<li>The H1 heading<br></li>



<li>The main body content<br></li>



<li>The first image<br></li>
</ul>



<p>are all visible directly in the page source, without relying on JavaScript injection.</p>



<p>This is crucial for LLMs, as they process vast amounts of information and need fast, reliable access to content. Pure HTML is the fastest and safest way for them to extract information correctly.</p>



<p>JavaScript-injected content <em>can</em> still work, but as of writing this article, LLMs behave similarly to how search engines did about 14 years ago, strongly favoring clean HTML over JS-rendered content.</p>



<h2 class="wp-block-heading"><strong>Don’t Rely on JavaScript for Core Content</strong></h2>



<p>Here, the page is analyzed with JavaScript enabled and disabled.</p>



<p>Any content that disappears when JavaScript is turned off is, in practice, <strong>invisible to LLMs</strong>.</p>



<h2 class="wp-block-heading"><strong>Keep Your Brand Identity Consistent Everywhere</strong></h2>



<p>Just like in classic SEO, being visible and cited by LLMs requires you to be verified as a real-world entity.</p>



<p>That means <strong>consistent NAP information everywhere you appear online</strong> &#8211; from your Google Business Profile to your official website, partners, and press releases.</p>



<p>Inconsistencies or missing information lead to entity fragmentation, making it difficult for LLMs to confidently determine that all mentions refer to the same brand.</p>
<p>The post <a href="https://vladsand.com/how-to-make-your-website-visible-to-llms/">How to Make Your Website Visible to LLMs </a> appeared first on <a href="https://vladsand.com">VladSand</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Is Your Server Blocking AI Bots and LLM Crawlers?</title>
		<link>https://vladsand.com/is-your-server-blocking-ai-bots-and-llm-crawlers/</link>
		
		<dc:creator><![CDATA[Vlad Sand]]></dc:creator>
		<pubDate>Wed, 08 Oct 2025 00:13:54 +0000</pubDate>
				<category><![CDATA[AI SEO]]></category>
		<category><![CDATA[Technical SEO]]></category>
		<guid isPermaLink="false">https://vladsand.com/?p=1602</guid>

					<description><![CDATA[<p>Everyone has been talking lately about AI SEO, GEO, and LLMs, and how to rank, and so on. But one very important fact is often...</p>
<p>The post <a href="https://vladsand.com/is-your-server-blocking-ai-bots-and-llm-crawlers/">Is Your Server Blocking AI Bots and LLM Crawlers?</a> appeared first on <a href="https://vladsand.com">VladSand</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Everyone has been talking lately about AI SEO, GEO, and LLMs, and how to rank, and so on.</p>



<p>But one very important fact is often overlooked: the biggest issue right now for websites, when it comes to indexing and being processed by LLMs (Large Language Models), is not about optimization. The real problem is that <strong>LLMs simply cannot “see” most websites</strong>.</p>



<h2 class="wp-block-heading"><strong>Why AI Crawlers Can’t Access Many Websites</strong></h2>



<p>This happens because, although we in the SEO world are keeping up with trends, in this case with AI and LLMs, some web hosting providers have unfortunately remained stuck in the “Middle Ages” when it comes to AI.</p>



<p>Even at the time of writing this article, they are still blocking AI bots in the same way they block aggressive, invasive bots such as MJ12bot, SemrushBot, LinkpadBot (the typical bots used by SEO and online marketing tools).</p>



<h2 class="wp-block-heading"><strong>How to Check if Your Server is Blocking LLM and AI Bots</strong></h2>



<p>First, we need to identify which LLM bots are relevant at the moment.</p>



<p>Among the most relevant bots currently are:</p>



<ul class="wp-block-list">
<li><strong>OpenAI bots</strong> (GPTBot, ChatGPT-User &amp; OAI-SearchBot)<br></li>



<li><strong>Perplexity</strong> (PerplexityBot, Perplexity-User)<br></li>



<li><strong>Anthropic</strong> (ClaudeBot, Claude-User, Claude-SearchBot)<br></li>
</ul>



<h3 class="wp-block-heading"><strong>Practical Methods to Test Whether Bots Are Being Blocked</strong></h3>



<h4 class="wp-block-heading"><strong>Method 1: Using Screaming Frog to Test AI Bot Access</strong></h4>



<p>This is the simplest method. You just need a Screaming Frog license, and in <strong>Configuration &gt; User Agent</strong>, you can select the bot you want to check to see whether your site (or server) is blocking it:</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="646" src="https://vladsand.com/wp-content/uploads/2025/10/configuration-user-agent-gptbot.jpg-1024x646.webp" alt="configuration user agent: GPTBot in ScreamingFrog" class="wp-image-1606" srcset="https://vladsand.com/wp-content/uploads/2025/10/configuration-user-agent-gptbot.jpg-1024x646.webp 1024w, https://vladsand.com/wp-content/uploads/2025/10/configuration-user-agent-gptbot.jpg-300x189.webp 300w, https://vladsand.com/wp-content/uploads/2025/10/configuration-user-agent-gptbot.jpg-768x485.webp 768w, https://vladsand.com/wp-content/uploads/2025/10/configuration-user-agent-gptbot.jpg.webp 1306w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p><strong>If you receive a 406 error</strong> message, it means <strong>the server is blocking the ChatGPT bot</strong> from crawling your site.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="834" height="134" src="https://vladsand.com/wp-content/uploads/2025/10/406-error-gpt-bot.jpg.webp" alt="406 Error in Screaming Frog for GPTBot" class="wp-image-1608" srcset="https://vladsand.com/wp-content/uploads/2025/10/406-error-gpt-bot.jpg.webp 834w, https://vladsand.com/wp-content/uploads/2025/10/406-error-gpt-bot.jpg-300x48.webp 300w, https://vladsand.com/wp-content/uploads/2025/10/406-error-gpt-bot.jpg-768x123.webp 768w" sizes="(max-width: 834px) 100vw, 834px" /></figure>



<p>If the bot starts crawling your site and <strong>returns status 200</strong> for the pages it visits, that means <strong>the server is not blocking GPTBot</strong>.</p>



<p>Here I’ll make a quick note regarding what OpenAI states on its official site: <strong>their three main bots (GPTBot, OAI-SearchBot, and ChatGPT-User)</strong> each have different roles.</p>



<p>Specifically:</p>



<ul class="wp-block-list">
<li><strong>GPTBot</strong> – is used for training AI models (OpenAI states it does not affect appearance in search results).<br></li>



<li><strong>OAI-SearchBot</strong> – is used for indexing for ChatGPT Search. This is theoretically the most important if you want your site to be crawled, processed, and shown as a source in ChatGPT.<br></li>



<li><strong>ChatGPT-User</strong> – this bot needs actual access when users click on links or perform live requests, such as “check if there are blue balloons on website.com”. If this bot is blocked, GPT won’t be able to visit the page.<br></li>
</ul>



<p>As for the other bots, <strong>Claude and Perplexity</strong>, you can check them in Screaming Frog in the same way as OpenAI’s bots.</p>



<h4 class="wp-block-heading"><strong>Method 2: Testing AI Bots with curl (HEAD Request)</strong></h4>



<p>This method is more direct and doesn’t require any special software. Open either the <strong>Mac Terminal or Windows Command Prompt</strong> and run the following header checks for each bot:</p>



<p><strong>OpenAI – GPTBot</strong></p>



<pre class="wp-block-code"><code>curl -I --ssl-no-revoke -A "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.1; +https://openai.com/gptbot" https://example.com</code></pre>



<p><strong>OAI-SearchBot</strong></p>



<pre class="wp-block-code"><code>curl -I --ssl-no-revoke -A "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; OAI-SearchBot/1.0; +https://openai.com/searchbot" https://example.com</code></pre>



<p><strong>ChatGPT-User</strong></p>



<pre class="wp-block-code"><code>curl -I --ssl-no-revoke -A "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot" https://example.com</code></pre>



<p><strong>PerplexityBot</strong></p>



<pre class="wp-block-code"><code>curl -I --ssl-no-revoke -A "Mozilla/5.0 (compatible; PerplexityBot/1.0; +https://www.perplexity.ai/bot)" https://example.com</code></pre>



<p><strong>Perplexity-User</strong></p>



<pre class="wp-block-code"><code>curl -I --ssl-no-revoke -A "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; Perplexity-User/1.0; +https://perplexity.ai/perplexity-user" https://example.com</code></pre>



<p><strong>ClaudeBot</strong></p>



<pre class="wp-block-code"><code>curl -I --ssl-no-revoke -A "Mozilla/5.0 (compatible; ClaudeBot/1.0; +https://www.anthropic.com/claude)" https://example.com</code></pre>



<p><strong>Claude-User</strong></p>



<pre class="wp-block-code"><code>curl -I --ssl-no-revoke -A "Mozilla/5.0 (compatible; Claude-User/1.0; +https://www.anthropic.com/claude)" https://example.com</code></pre>



<p><strong>Claude-SearchBot</strong></p>



<pre class="wp-block-code"><code>curl -I --ssl-no-revoke -A "Mozilla/5.0 (compatible; Claude-SearchBot/1.0; +https://www.anthropic.com/claude)" https://example.com</code></pre>



<p>To understand <strong>what this curl command does</strong> and where this information comes from: there’s no magic or hack involved.</p>



<p>The major companies behind these bots (OpenAI, Anthropic, Perplexity, etc.) publicly provide all the information about their crawlers, including their full user-agent strings, exactly as they appear in the HTTP headers of real requests.</p>



<p>If you’re wondering about the “<strong>revoke</strong>” part, the <strong>&#8211;ssl-no-revoke</strong> flag is included because some Windows versions throw SSL errors when they cannot check the certificate’s revocation status.</p>



<h4 class="wp-block-heading"><strong>Case Study: Real Bot Access Test on VladSand.com</strong></h4>



<p><strong>OAI-SearchBot gets through (status 200):</strong></p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="153" src="https://vladsand.com/wp-content/uploads/2025/10/oai-search-bot-example.jpg-1024x153.webp" alt="OAI-SearchBot has a 200 Status in curl" class="wp-image-1652" srcset="https://vladsand.com/wp-content/uploads/2025/10/oai-search-bot-example.jpg-1024x153.webp 1024w, https://vladsand.com/wp-content/uploads/2025/10/oai-search-bot-example.jpg-300x45.webp 300w, https://vladsand.com/wp-content/uploads/2025/10/oai-search-bot-example.jpg-768x115.webp 768w, https://vladsand.com/wp-content/uploads/2025/10/oai-search-bot-example.jpg.webp 1440w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>As you can see, the GPT crawler that indexes content has access and returns a 200 status.</p>



<p><strong>ChatGPT-User (status 406) – blocked, unfortunately, in my case:</strong></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="102" src="https://vladsand.com/wp-content/uploads/2025/10/chatgpt-user-bot-406-not-acceptable.jpg-1024x102.webp" alt="406 error in curl ChatGPT-User" class="wp-image-1653" srcset="https://vladsand.com/wp-content/uploads/2025/10/chatgpt-user-bot-406-not-acceptable.jpg-1024x102.webp 1024w, https://vladsand.com/wp-content/uploads/2025/10/chatgpt-user-bot-406-not-acceptable.jpg-300x30.webp 300w, https://vladsand.com/wp-content/uploads/2025/10/chatgpt-user-bot-406-not-acceptable.jpg-768x76.webp 768w, https://vladsand.com/wp-content/uploads/2025/10/chatgpt-user-bot-406-not-acceptable.jpg.webp 1369w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>ChatGPT-User is blocked by the server, by the hosting company (I’m currently in a battle with them to explain why it needs to be unblocked), but hopefully they will eventually fix this.</p>



<h2 class="wp-block-heading"><strong>How to Unblock AI and LLM Bots on Your Website</strong></h2>



<p>If you&#8217;re using shared hosting  (like most websites), the only way to unblock these bots is to <strong>contact your hosting provider</strong> and ask them to whitelist the relevant User-Agents or IP ranges. Fortunately, this is usually a quick fix once they understand the issue.</p>



<p>Most major AI companies also <strong>publish their official IP ranges</strong>, which can be useful if your firewall or hosting provider uses IP-based filtering. Here are the official resources:</p>



<p><strong>GPTBot</strong>: <a href="https://openai.com/gptbot.json" target="_blank" rel="noreferrer noopener">https://openai.com/gptbot.json</a></p>



<p><strong>OAI-SearchBot</strong>: <a href="https://openai.com/searchbot.json" target="_blank" rel="noreferrer noopener">https://openai.com/searchbot.json</a></p>



<p><strong>ChatGPT-User</strong>: <a href="https://openai.com/chatgpt-user.json">https://openai.com/chatgpt-user.json</a></p>



<p><strong>PerplexityBot</strong>: <a href="https://www.perplexity.ai/perplexitybot.json" target="_blank" rel="noreferrer noopener">https://www.perplexity.ai/perplexitybot.json</a></p>



<p><strong>Perplexity-User</strong>: <a href="https://www.perplexity.ai/perplexity-user.json" target="_blank" rel="noreferrer noopener">https://www.perplexity.ai/perplexity-user.json</a></p>



<p><em><strong>*Anthropic (Claude) </strong>has not provided official details about the IP ranges it uses.</em></p>



<p>If you’re on a <strong>dedicated server or VPS</strong>, you can manually adjust the server configuration, for example, by adding specific <strong>ModSecurity rules</strong> or firewall exceptions to explicitly allow AI crawlers.</p>



<h2 class="wp-block-heading"><strong>Other Common Reasons AI Bots Are Blocked</strong></h2>



<p>Here I focused on blocking at the server level, because in most cases this is where access for these bots is cut off. However, they can also be blocked in other ways, sometimes without you even realizing it:</p>



<ul class="wp-block-list">
<li>through the robots.txt file<br></li>



<li>through external firewalls (Cloudflare, Wordfence, etc.)<br></li>



<li>through security plugins<br></li>



<li>or implicitly through IP blocking (if your hosting provider blocks certain countries, the IPs of OpenAI / Perplexity / Anthropic may be rejected even if the User-Agent is valid)</li>
</ul>
<p>The post <a href="https://vladsand.com/is-your-server-blocking-ai-bots-and-llm-crawlers/">Is Your Server Blocking AI Bots and LLM Crawlers?</a> appeared first on <a href="https://vladsand.com">VladSand</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
