<?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>Joe Davis, Author at WebStuff</title>
	<atom:link href="https://www.webstuff.com/author/jadmin/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.webstuff.com/author/jadmin/</link>
	<description></description>
	<lastBuildDate>Sun, 05 Apr 2026 17:01:42 +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://www.webstuff.com/wp-content/uploads/2023/09/favicon-32x32-1.png</url>
	<title>Joe Davis, Author at WebStuff</title>
	<link>https://www.webstuff.com/author/jadmin/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How Google Crawling and Rendering Works in 2026</title>
		<link>https://www.webstuff.com/how-google-crawling-and-rendering-works-in-2026/</link>
		
		<dc:creator><![CDATA[Joe Davis]]></dc:creator>
		<pubDate>Sun, 05 Apr 2026 15:27:34 +0000</pubDate>
				<category><![CDATA[Crawling]]></category>
		<category><![CDATA[SEO]]></category>
		<guid isPermaLink="false">https://www.webstuff.com/?p=2401</guid>

					<description><![CDATA[<p>Google has provided updated insight into how its crawling and rendering systems function, with new details shared by Gary Illyes. The explanation focuses on how Googlebot operates, how much data it processes, and how pages are rendered and indexed. More information on Google&#8217;s crawlers and user agents is available from the official Google documentation here: </p>
<p>The post <a href="https://www.webstuff.com/how-google-crawling-and-rendering-works-in-2026/">How Google Crawling and Rendering Works in 2026</a> appeared first on <a href="https://www.webstuff.com">WebStuff</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p data-start="173" data-end="421">Google has provided updated insight into how its crawling and rendering systems function, with new details shared by Gary Illyes. The explanation focuses on how Googlebot operates, how much data it processes, and how pages are rendered and indexed.</p>
<p data-start="173" data-end="421">More information on Google&#8217;s crawlers and user agents is available from the official Google documentation here:  <a href="https://developers.google.com/crawling/docs/crawlers-fetchers/overview-google-crawlers">https://developers.google.com/crawling/docs/crawlers-fetchers/overview-google-crawlers</a></p>
<h2 data-section-id="jd1rnh" data-start="428" data-end="464">Googlebot Is Not a Single Crawler</h2>
<ul data-start="466" data-end="721">
<li data-section-id="1uw2pyz" data-start="466" data-end="504">Googlebot is not one single crawler.</li>
<li data-section-id="31q37c" data-start="505" data-end="579">Google operates multiple crawlers, each designed for different purposes.</li>
<li data-section-id="1ulfrj0" data-start="580" data-end="651">These crawlers use different user agents and are documented publicly.</li>
<li data-section-id="1nuo7qn" data-start="652" data-end="721">Referring to “Googlebot” as one entity is no longer fully accurate.</li>
</ul>
<h2 data-section-id="mqw9i" data-start="728" data-end="777">Crawl Size Limits (Critical Technical Details)</h2>
<p data-start="779" data-end="864">Google enforces strict byte limits on how much of a page or resource it will process:</p>
<ul data-start="866" data-end="1168">
<li data-section-id="15g1cmw" data-start="866" data-end="977"><strong data-start="868" data-end="883">HTML pages:</strong>
<ul data-start="886" data-end="977">
<li data-section-id="15g6se5" data-start="886" data-end="927">Googlebot fetches up to <strong data-start="912" data-end="927">2MB per URL</strong></li>
<li data-section-id="1vqapu2" data-start="930" data-end="977">This includes <strong data-start="946" data-end="977">HTTP headers + HTML content</strong></li>
</ul>
</li>
<li data-section-id="w1bupc" data-start="979" data-end="1017"><strong data-start="981" data-end="995">PDF files:</strong>
<ul data-start="998" data-end="1017">
<li data-section-id="1knbvvu" data-start="998" data-end="1017">Limit is <strong data-start="1009" data-end="1017">64MB</strong></li>
</ul>
</li>
<li data-section-id="1ca029e" data-start="1019" data-end="1074"><strong data-start="1021" data-end="1052">Other file types (default):</strong>
<ul data-start="1055" data-end="1074">
<li data-section-id="1p2zh8s" data-start="1055" data-end="1074">Limit is <strong data-start="1066" data-end="1074">15MB</strong></li>
</ul>
</li>
<li data-section-id="up7mtg" data-start="1076" data-end="1168"><strong data-start="1078" data-end="1100">Images and videos:</strong>
<ul data-start="1103" data-end="1168">
<li data-section-id="lp5hes" data-start="1103" data-end="1168">Limits vary depending on the specific Google product using them</li>
</ul>
</li>
</ul>
<h2 data-section-id="f7xrg" data-start="1175" data-end="1214">What Happens When a Page Exceeds 2MB</h2>
<p data-start="1216" data-end="1312">If a page is larger than 2MB, Google does not reject it—but it does not process it fully either.</p>
<h3 data-section-id="1qtsdvv" data-start="1314" data-end="1340">Step-by-step behavior:</h3>
<ul data-start="1342" data-end="1685">
<li data-section-id="kvrg79" data-start="1342" data-end="1435"><strong data-start="1344" data-end="1365">Partial fetching:</strong>
<ul data-start="1368" data-end="1435">
<li data-section-id="1dqlvx3" data-start="1368" data-end="1435">Googlebot stops downloading the page exactly at the <strong data-start="1422" data-end="1435">2MB limit</strong></li>
</ul>
</li>
<li data-section-id="751uq7" data-start="1437" data-end="1557"><strong data-start="1439" data-end="1465">Processing the cutoff:</strong>
<ul data-start="1468" data-end="1557">
<li data-section-id="1inr0wd" data-start="1468" data-end="1557">Only the first 2MB is sent to:
<ul data-start="1505" data-end="1557">
<li data-section-id="173od40" data-start="1505" data-end="1523">Indexing systems</li>
<li data-section-id="lro3tk" data-start="1528" data-end="1557">Web Rendering Service (WRS)</li>
</ul>
</li>
</ul>
</li>
<li data-section-id="1r9gohu" data-start="1559" data-end="1685"><strong data-start="1561" data-end="1581">Ignored content:</strong>
<ul data-start="1584" data-end="1685">
<li data-section-id="wgufpm" data-start="1584" data-end="1685">Any content beyond 2MB:
<ul data-start="1614" data-end="1685">
<li data-section-id="29zei" data-start="1614" data-end="1634">Is <strong data-start="1619" data-end="1634">not fetched</strong></li>
<li data-section-id="1bhpong" data-start="1639" data-end="1660">Is <strong data-start="1644" data-end="1660">not rendered</strong></li>
<li data-section-id="2i8rq0" data-start="1665" data-end="1685">Is <strong data-start="1670" data-end="1685">not indexed</strong></li>
</ul>
</li>
</ul>
</li>
</ul>
<h2 data-section-id="1mai5pw" data-start="1692" data-end="1720">How Resources Are Handled</h2>
<ul data-start="1722" data-end="2010">
<li data-section-id="1xs80un" data-start="1722" data-end="1904">External resources referenced in HTML (like CSS and JavaScript):
<ul data-start="1791" data-end="1904">
<li data-section-id="1mghw1f" data-start="1791" data-end="1815">Are fetched separately</li>
<li data-section-id="10xt98j" data-start="1818" data-end="1857">Have their own individual byte limits</li>
<li data-section-id="yohcjm" data-start="1860" data-end="1904">Do <strong data-start="1865" data-end="1904">not count toward the 2MB HTML limit</strong></li>
</ul>
</li>
<li data-section-id="wul6p6" data-start="1906" data-end="2010">Exceptions:
<ul data-start="1922" data-end="2010">
<li data-section-id="zib92r" data-start="1922" data-end="2010">Images, videos, fonts, and some uncommon file types may not be fetched by the renderer</li>
</ul>
</li>
</ul>
<h2 data-section-id="12bzo2a" data-start="2017" data-end="2050">How Google Renders Pages (WRS)</h2>
<p data-start="2052" data-end="2132">Google uses the <strong data-start="2068" data-end="2099">Web Rendering Service (WRS)</strong> to process pages after crawling.</p>
<h3 data-section-id="5uoxzx" data-start="2134" data-end="2152">What WRS does:</h3>
<ul data-start="2154" data-end="2305">
<li data-section-id="xt40rz" data-start="2154" data-end="2199">Executes JavaScript (like a modern browser)</li>
<li data-section-id="12816ty" data-start="2200" data-end="2215">Processes CSS</li>
<li data-section-id="1s0zz1e" data-start="2216" data-end="2245">Handles XHR (AJAX) requests</li>
<li data-section-id="e31oy5" data-start="2246" data-end="2305">Determines the final visual and textual state of the page</li>
</ul>
<h3 data-section-id="yvh2oc" data-start="2307" data-end="2333">Important constraints:</h3>
<ul data-start="2335" data-end="2516">
<li data-section-id="abyaxc" data-start="2335" data-end="2416">Each fetched resource (JS, CSS, etc.) is also subject to the <strong data-start="2398" data-end="2416">same 2MB limit</strong></li>
<li data-section-id="1mdtfxa" data-start="2417" data-end="2516">WRS:
<ul data-start="2426" data-end="2516">
<li data-section-id="1um1i2i" data-start="2426" data-end="2465"><strong data-start="2428" data-end="2465">Does not request images or videos</strong></li>
<li data-section-id="ru52u8" data-start="2468" data-end="2516">Focuses on understanding content and structure</li>
</ul>
</li>
</ul>
<h2 data-section-id="im4wnr" data-start="2523" data-end="2546">Key SEO Implications</h2>
<h3 data-section-id="1urmz8p" data-start="2548" data-end="2572">1. HTML Size Matters</h3>
<ul data-start="2574" data-end="2678">
<li data-section-id="82hrwm" data-start="2574" data-end="2620">Only the first <strong data-start="2591" data-end="2606">2MB of HTML</strong> is considered</li>
<li data-section-id="a1cevd" data-start="2621" data-end="2678">Anything beyond that is effectively invisible to Google</li>
</ul>
<h3 data-section-id="y4eqx7" data-start="2680" data-end="2716">2. Content Placement Is Critical</h3>
<ul data-start="2718" data-end="2923">
<li data-section-id="d3txm5" data-start="2718" data-end="2858">Important elements must appear early in the HTML:
<ul data-start="2772" data-end="2858">
<li data-section-id="166k5m2" data-start="2772" data-end="2783"><code data-start="2774" data-end="2783">&lt;title&gt;</code></li>
<li data-section-id="6ru9ck" data-start="2786" data-end="2797">Meta tags</li>
<li data-section-id="16oivvn" data-start="2800" data-end="2816">Canonical tags</li>
<li data-section-id="9ghyef" data-start="2819" data-end="2838"><code data-start="2821" data-end="2829">&lt;link&gt;</code> elements</li>
<li data-section-id="itmxhl" data-start="2841" data-end="2858">Structured data</li>
</ul>
</li>
<li data-section-id="1y8em81" data-start="2860" data-end="2923">If these appear after 2MB:
<ul data-start="2891" data-end="2923">
<li data-section-id="io0f6a" data-start="2891" data-end="2923">Google will <strong data-start="2905" data-end="2923">never see them</strong></li>
</ul>
</li>
</ul>
<h3 data-section-id="10xpqg6" data-start="2925" data-end="2956">3. External Files Are Safer</h3>
<ul data-start="2958" data-end="3077">
<li data-section-id="10ze2c9" data-start="2958" data-end="3077">Moving CSS and JavaScript to external files:
<ul data-start="3007" data-end="3077">
<li data-section-id="1n6z0v0" data-start="3007" data-end="3031">Prevents bloating HTML</li>
<li data-section-id="spjudn" data-start="3034" data-end="3077">Allows Google to fetch them independently</li>
</ul>
</li>
</ul>
<h3 data-section-id="of48jo" data-start="3079" data-end="3112">4. Rendering Still Has Limits</h3>
<ul data-start="3114" data-end="3227">
<li data-section-id="9erso9" data-start="3114" data-end="3188">Even external JS/CSS files:
<ul data-start="3146" data-end="3188">
<li data-section-id="drxmxd" data-start="3146" data-end="3188">Must stay within their own <strong data-start="3175" data-end="3188">2MB limit</strong></li>
</ul>
</li>
<li data-section-id="1qchpby" data-start="3189" data-end="3227">Heavy scripts can still cause issues</li>
</ul>
<h3 data-section-id="1lhp3m3" data-start="3229" data-end="3271">5. Server Performance Affects Crawling</h3>
<ul data-start="3273" data-end="3403">
<li data-section-id="qsdhn" data-start="3273" data-end="3341">If your server is slow:
<ul data-start="3301" data-end="3341">
<li data-section-id="az8yz4" data-start="3301" data-end="3341">Google will <strong data-start="3315" data-end="3341">reduce crawl frequency</strong></li>
</ul>
</li>
<li data-section-id="y3uy0z" data-start="3342" data-end="3403">Google automatically backs off to avoid overloading servers</li>
</ul>
<h2 data-section-id="opy3aq" data-start="3410" data-end="3439">Best Practices from Google</h2>
<ul data-start="3441" data-end="3781">
<li data-section-id="1kzb7vz" data-start="3441" data-end="3522"><strong data-start="3443" data-end="3461">Keep HTML lean</strong>
<ul data-start="3464" data-end="3522">
<li data-section-id="15gpy88" data-start="3464" data-end="3522">Avoid embedding large scripts or styles directly in HTML</li>
</ul>
</li>
<li data-section-id="ibnoa7" data-start="3524" data-end="3625"><strong data-start="3526" data-end="3564">Prioritize important content early</strong>
<ul data-start="3567" data-end="3625">
<li data-section-id="1c6amwp" data-start="3567" data-end="3625">Place critical SEO elements near the top of the document</li>
</ul>
</li>
<li data-section-id="1on3uql" data-start="3627" data-end="3697"><strong data-start="3629" data-end="3655">Use external resources</strong>
<ul data-start="3658" data-end="3697">
<li data-section-id="yenly5" data-start="3658" data-end="3697">Separate CSS and JavaScript from HTML</li>
</ul>
</li>
<li data-section-id="5njey4" data-start="3699" data-end="3781"><strong data-start="3701" data-end="3724">Monitor server logs</strong>
<ul data-start="3727" data-end="3781">
<li data-section-id="1b45j87" data-start="3727" data-end="3755">Ensure fast response times</li>
<li data-section-id="8jwaa5" data-start="3758" data-end="3781">Identify crawl issues</li>
</ul>
</li>
</ul>
<h2 data-section-id="1mrtquc" data-start="3788" data-end="3802">The Bottom Line is&#8230;</h2>
<p data-start="3804" data-end="4032">Google’s crawling system in 2026 is highly structured and constrained by strict byte limits. The most important takeaway is that <strong data-start="3933" data-end="3985">Google only processes the first 2MB of your HTML</strong>, and anything beyond that is ignored entirely.</p>
<p data-start="4034" data-end="4045">This makes:</p>
<ul data-start="4046" data-end="4101">
<li data-section-id="1wjmxa" data-start="4046" data-end="4062">Page structure</li>
<li data-section-id="i95y7j" data-start="4063" data-end="4081">Content ordering</li>
<li data-section-id="1bltwun" data-start="4082" data-end="4101">File optimization</li>
</ul>
<p data-start="4103" data-end="4152" data-is-last-node="" data-is-only-node="">…more important than ever for SEO and indexation.</p>
<h2>Watch the Search Off the Record podcast for more details:<br />
<iframe title="YouTube video player" src="https://www.youtube.com/embed/JpweMBnpS4Q?si=46tuapgketaws4bN" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></h2>
<p>The post <a href="https://www.webstuff.com/how-google-crawling-and-rendering-works-in-2026/">How Google Crawling and Rendering Works in 2026</a> appeared first on <a href="https://www.webstuff.com">WebStuff</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Complete History of Google Algorithm Updates (2020–2025)</title>
		<link>https://www.webstuff.com/google-algorithm-updates/</link>
		
		<dc:creator><![CDATA[Joe Davis]]></dc:creator>
		<pubDate>Tue, 04 Nov 2025 08:28:23 +0000</pubDate>
				<category><![CDATA[SEO]]></category>
		<guid isPermaLink="false">https://www.webstuff.com/?p=1305</guid>

					<description><![CDATA[<p>Google’s ranking systems have evolved faster in the past five years than in the two decades before them. What began as a series of keyword and link-based updates has become an ongoing effort to evaluate trust, experience, and authenticity. From the first Helpful Content Update to the 2025 refinements that merged core and quality systems,</p>
<p>The post <a href="https://www.webstuff.com/google-algorithm-updates/">Complete History of Google Algorithm Updates (2020–2025)</a> appeared first on <a href="https://www.webstuff.com">WebStuff</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p data-start="447" data-end="694">Google’s ranking systems have evolved faster in the past five years than in the two decades before them. What began as a series of keyword and link-based updates has become an ongoing effort to evaluate <em data-start="650" data-end="657">trust</em>, <em data-start="659" data-end="671">experience</em>, and <em data-start="677" data-end="691">authenticity</em>.</p>
<p data-start="696" data-end="950">From the first <strong data-start="711" data-end="737">Helpful Content Update</strong> to the 2025 refinements that merged core and quality systems, Google’s changes have one goal: make sure search results prioritize information that’s genuinely useful to people, not just optimized for crawlers.</p>
<p data-start="952" data-end="1236">Below is a year-by-year guide to every confirmed update from 2020 through 2025, drawn directly from Google’s <a class="decorated-link" href="https://status.search.google.com/products/rGHU1u87FJnkP6W2GwMi/history" target="_new" rel="noopener" data-start="1061" data-end="1158">Search Status Dashboard</a> and developer documentation, along with what each one actually meant for SEO.</p>
<h2 data-start="1243" data-end="1291">2025: Refinement and AI-Era Ranking Stability</h2>
<p data-start="1293" data-end="1532">By 2025, Google’s updates focus on <strong data-start="1328" data-end="1352">content authenticity</strong> and <strong data-start="1357" data-end="1383">AI-era spam resilience</strong>. The core and helpful content systems are now deeply intertwined, using context-based machine learning to identify expertise and discard repetition.</p>
<ul data-start="1534" data-end="2268">
<li data-start="1534" data-end="1788">
<p data-start="1536" data-end="1788"><strong data-start="1536" data-end="1564">August 2025 Spam Update:</strong><br data-start="1564" data-end="1567" />A major enhancement to SpamBrain, designed to spot large-scale cloaked content and mass-produced AI text. Strengthened link spam filters and improved the system’s ability to recognize contextually manipulated backlinks.</p>
</li>
<li data-start="1790" data-end="2051">
<p data-start="1792" data-end="2051"><strong data-start="1792" data-end="1818">June 2025 Core Update:</strong><br data-start="1818" data-end="1821" />A broad refinement targeting how Google interprets E-E-A-T (Experience, Expertise, Authoritativeness, and Trustworthiness). It improved entity recognition, helping Google connect authors, publishers, and topics more accurately.</p>
</li>
<li data-start="2053" data-end="2268">
<p data-start="2055" data-end="2268"><strong data-start="2055" data-end="2082">March 2025 Core Update:</strong><br data-start="2082" data-end="2085" />Integrated Helpful Content signals into the core ranking system itself. This update expanded real-world experience detection, rewarding firsthand expertise over theoretical writing.</p>
</li>
</ul>
<p data-start="2270" data-end="2295"><strong data-start="2270" data-end="2293">SEO focus for 2025:</strong></p>
<ul data-start="2296" data-end="2452">
<li data-start="2296" data-end="2334">
<p data-start="2298" data-end="2334">Establish authorship transparency.</p>
</li>
<li data-start="2335" data-end="2396">
<p data-start="2337" data-end="2396">Publish firsthand research or experience-driven insights.</p>
</li>
<li data-start="2397" data-end="2452">
<p data-start="2399" data-end="2452">Keep schema clean and connected across all content.</p>
</li>
</ul>
<h2 data-start="2459" data-end="2511">2024: Merging Systems and Penalizing Manipulation</h2>
<p data-start="2513" data-end="2708">2024 was the year Google truly merged systems. The Helpful Content, Core, and Spam systems began working together as a unified model that evaluates both on-page quality and off-page authenticity.</p>
<ul data-start="2710" data-end="3822">
<li data-start="2710" data-end="2881">
<p data-start="2712" data-end="2881"><strong data-start="2712" data-end="2742">December 2024 Spam Update:</strong><br data-start="2742" data-end="2745" />Strengthened detection of link networks, spun content, and hacked pages. Added deeper SpamBrain integration across multiple languages.</p>
</li>
<li data-start="2883" data-end="3082">
<p data-start="2885" data-end="3082"><strong data-start="2885" data-end="2915">December 2024 Core Update:</strong><br data-start="2915" data-end="2918" />Focused on improving search diversity and reducing repetitive results from the same domains. Better differentiated between surface-level and experiential content.</p>
</li>
<li data-start="3084" data-end="3244">
<p data-start="3086" data-end="3244"><strong data-start="3086" data-end="3116">November 2024 Core Update:</strong><br data-start="3116" data-end="3119" />Enhanced content freshness scoring and duplicate detection.<br data-start="3180" data-end="3183" />Improved how Google understands long-form topical clusters.</p>
</li>
<li data-start="3246" data-end="3402">
<p data-start="3248" data-end="3402"><strong data-start="3248" data-end="3276">August 2024 Core Update:</strong><br data-start="3276" data-end="3279" />Continued refining multilingual context recognition. Helped global sites rank more consistently across regional searches.</p>
</li>
<li data-start="3404" data-end="3533">
<p data-start="3406" data-end="3533"><strong data-start="3406" data-end="3432">June 2024 Spam Update:</strong><br data-start="3432" data-end="3435" />Expanded SpamBrain’s coverage to detect hidden redirects and manipulative anchor text practices.</p>
</li>
<li data-start="3535" data-end="3822">
<p data-start="3537" data-end="3822"><strong data-start="3537" data-end="3572">March 2024 Spam &amp; Core Updates:</strong><br data-start="3572" data-end="3575" />These rolled out simultaneously, representing a major shift. Google aligned its quality classifiers, linking the Helpful Content System directly to core ranking logic. This meant poor content on one part of a site could affect the entire domain.</p>
</li>
</ul>
<p data-start="3824" data-end="3849"><strong data-start="3824" data-end="3847">SEO focus for 2024:</strong></p>
<ul data-start="3850" data-end="3981">
<li data-start="3850" data-end="3884">
<p data-start="3852" data-end="3884">Use structured data correctly.</p>
</li>
<li data-start="3885" data-end="3924">
<p data-start="3887" data-end="3924">Avoid automation without value-add.</p>
</li>
<li data-start="3925" data-end="3981">
<p data-start="3927" data-end="3981">Consolidate weak pages into comprehensive resources.</p>
</li>
</ul>
<h2 data-start="3988" data-end="4049">2023: The Rise of Experience and Multi-Language Evaluation</h2>
<p data-start="4051" data-end="4237">Google’s updates in 2023 emphasized <strong data-start="4087" data-end="4101">authorship</strong>, <strong data-start="4103" data-end="4126">review transparency</strong>, and <strong data-start="4132" data-end="4154">user-first writing</strong>. The systems began favoring depth, expertise, and demonstrable real-world testing.</p>
<ul data-start="4239" data-end="5520">
<li data-start="4239" data-end="4428">
<p data-start="4241" data-end="4428"><strong data-start="4241" data-end="4274">November 2023 Reviews Update:</strong><br data-start="4274" data-end="4277" />Combined all prior reviews systems (product, service, destination) into one unified reviews framework. It assessed authenticity, not just formatting.</p>
</li>
<li data-start="4430" data-end="4536">
<p data-start="4432" data-end="4536"><strong data-start="4432" data-end="4462">November 2023 Core Update:</strong><br data-start="4462" data-end="4465" />Prioritized originality, referencing, and trustworthiness of sources.</p>
</li>
<li data-start="4538" data-end="4667">
<p data-start="4540" data-end="4667"><strong data-start="4540" data-end="4569">October 2023 Core Update:</strong><br data-start="4569" data-end="4572" />Improved semantic matching across languages and expanded Google’s multilingual understanding.</p>
</li>
<li data-start="4669" data-end="4778">
<p data-start="4671" data-end="4778"><strong data-start="4671" data-end="4700">October 2023 Spam Update:</strong><br data-start="4700" data-end="4703" />Addressed new forms of cloaked spam and low-quality AI-generated content.</p>
</li>
<li data-start="4780" data-end="4967">
<p data-start="4782" data-end="4967"><strong data-start="4782" data-end="4824">September 2023 Helpful Content Update:</strong><br data-start="4824" data-end="4827" />Marked a turning point, Google began more effectively identifying “search-first” content written for ranking instead of human usefulness.</p>
</li>
<li data-start="4969" data-end="5088">
<p data-start="4971" data-end="5088"><strong data-start="4971" data-end="4999">August 2023 Core Update:</strong><br data-start="4999" data-end="5002" />Fine-tuned relevance scoring to better identify content depth and reduce redundancy.</p>
</li>
<li data-start="5090" data-end="5260">
<p data-start="5092" data-end="5260"><strong data-start="5092" data-end="5122">April 2023 Reviews Update:</strong><br data-start="5122" data-end="5125" />Expanded review coverage to include all review types (not just product-focused), rewarding detail-rich, experience-based assessments.</p>
</li>
<li data-start="5262" data-end="5365">
<p data-start="5264" data-end="5365"><strong data-start="5264" data-end="5291">March 2023 Core Update:</strong><br data-start="5291" data-end="5294" />Broadened Google’s ability to interpret context and related entities.</p>
</li>
<li data-start="5367" data-end="5520">
<p data-start="5369" data-end="5520"><strong data-start="5369" data-end="5410">February 2023 Product Reviews Update:</strong><br data-start="5410" data-end="5413" />Rolled out globally in 11 languages, focusing on credibility, transparency, and genuine product insights.</p>
</li>
</ul>
<p data-start="5522" data-end="5547"><strong data-start="5522" data-end="5545">SEO focus for 2023:</strong></p>
<ul data-start="5548" data-end="5677">
<li data-start="5548" data-end="5590">
<p data-start="5550" data-end="5590">Use real author names and credentials.</p>
</li>
<li data-start="5591" data-end="5627">
<p data-start="5593" data-end="5627">Write from firsthand experience.</p>
</li>
<li data-start="5628" data-end="5677">
<p data-start="5630" data-end="5677">Include transparent pros and cons in reviews.</p>
</li>
</ul>
<h2 data-start="5684" data-end="5734">2022: The Year of Helpful Content and SpamBrain</h2>
<p data-start="5736" data-end="5914">2022 reshaped SEO entirely. This was the year Google introduced <strong data-start="5800" data-end="5813">SpamBrain</strong> and launched the <strong data-start="5831" data-end="5857">Helpful Content System</strong>, both of which continue to define ranking quality today.</p>
<ul data-start="5916" data-end="7092">
<li data-start="5916" data-end="6064">
<p data-start="5918" data-end="6064"><strong data-start="5918" data-end="5953">December 2022 Link Spam Update:</strong><br data-start="5953" data-end="5956" />Debuted SpamBrain, Google’s machine learning system for detecting unnatural linking and paid link schemes.</p>
</li>
<li data-start="6066" data-end="6198">
<p data-start="6068" data-end="6198"><strong data-start="6068" data-end="6109">December 2022 Helpful Content Update:</strong><br data-start="6109" data-end="6112" />Expanded the system globally. Improved classification accuracy across all languages.</p>
</li>
<li data-start="6200" data-end="6299">
<p data-start="6202" data-end="6299"><strong data-start="6202" data-end="6231">October 2022 Spam Update:</strong><br data-start="6231" data-end="6234" />Routine update addressing auto-generated spam and thin content.</p>
</li>
<li data-start="6301" data-end="6430">
<p data-start="6303" data-end="6430"><strong data-start="6303" data-end="6345">September 2022 Product Reviews Update:</strong><br data-start="6345" data-end="6348" />Targeted unverified affiliate-style content; rewarded experience-backed reviews.</p>
</li>
<li data-start="6432" data-end="6514">
<p data-start="6434" data-end="6514"><strong data-start="6434" data-end="6465">September 2022 Core Update:</strong><br data-start="6465" data-end="6468" />Focused on refining relevance understanding.</p>
</li>
<li data-start="6516" data-end="6682">
<p data-start="6518" data-end="6682"><strong data-start="6518" data-end="6557">August 2022 Helpful Content Update:</strong><br data-start="6557" data-end="6560" />The debut of the Helpful Content System, a machine-learning classifier that downranks unhelpful or mass-produced pages.</p>
</li>
<li data-start="6684" data-end="6779">
<p data-start="6686" data-end="6779"><strong data-start="6686" data-end="6723">July 2022 Product Reviews Update:</strong><br data-start="6723" data-end="6726" />Improved English-language review quality detection.</p>
</li>
<li data-start="6781" data-end="6871">
<p data-start="6783" data-end="6871"><strong data-start="6783" data-end="6808">May 2022 Core Update:</strong><br data-start="6808" data-end="6811" />Rebalanced weight between topical authority and freshness.</p>
</li>
<li data-start="6873" data-end="6969">
<p data-start="6875" data-end="6969"><strong data-start="6875" data-end="6913">March 2022 Product Reviews Update:</strong><br data-start="6913" data-end="6916" />Encouraged detailed, firsthand product comparisons.</p>
</li>
<li data-start="6971" data-end="7092">
<p data-start="6973" data-end="7092"><strong data-start="6973" data-end="7017">February 2022 Page Experience (Desktop):</strong><br data-start="7017" data-end="7020" />Brought Core Web Vitals and page experience metrics to desktop search.</p>
</li>
</ul>
<p data-start="7094" data-end="7119"><strong data-start="7094" data-end="7117">SEO focus for 2022:</strong></p>
<ul data-start="7120" data-end="7238">
<li data-start="7120" data-end="7157">
<p data-start="7122" data-end="7157">Write for people, not algorithms.</p>
</li>
<li data-start="7158" data-end="7196">
<p data-start="7160" data-end="7196">Avoid low-value affiliate content.</p>
</li>
<li data-start="7197" data-end="7238">
<p data-start="7199" data-end="7238">Improve usability across all devices.</p>
</li>
</ul>
<h2 data-start="7245" data-end="7288">2021: Page Experience and Link Integrity</h2>
<p data-start="7290" data-end="7462">2021 introduced <strong data-start="7306" data-end="7325">Core Web Vitals</strong> and tougher link quality evaluation. Google reinforced user experience as a ranking factor and clamped down on unnatural link practices.</p>
<ul data-start="7464" data-end="8326">
<li data-start="7464" data-end="7554">
<p data-start="7466" data-end="7554"><strong data-start="7466" data-end="7507">December 2021 Product Reviews Update:</strong><br data-start="7507" data-end="7510" />Prioritized hands-on, non-generic reviews.</p>
</li>
<li data-start="7556" data-end="7635">
<p data-start="7558" data-end="7635"><strong data-start="7558" data-end="7588">November 2021 Core Update:</strong><br data-start="7588" data-end="7591" />Broad refresh improving content relevance.</p>
</li>
<li data-start="7637" data-end="7718">
<p data-start="7639" data-end="7718"><strong data-start="7639" data-end="7669">November 2021 Spam Update:</strong><br data-start="7669" data-end="7672" />Targeted hacked sites and cloaked redirects.</p>
</li>
<li data-start="7720" data-end="7808">
<p data-start="7722" data-end="7808"><strong data-start="7722" data-end="7753">July 2021 Link Spam Update:</strong><br data-start="7753" data-end="7756" />Focused on neutralizing manipulative link tactics.</p>
</li>
<li data-start="7810" data-end="7900">
<p data-start="7812" data-end="7900"><strong data-start="7812" data-end="7838">July 2021 Core Update:</strong><br data-start="7838" data-end="7841" />Completed the first half of a major summer recalibration.</p>
</li>
<li data-start="7902" data-end="7983">
<p data-start="7904" data-end="7983"><strong data-start="7904" data-end="7943">June 2021 Spam Updates (two parts):</strong><br data-start="7943" data-end="7946" />Addressed automated spam injection.</p>
</li>
<li data-start="7985" data-end="8104">
<p data-start="7987" data-end="8104"><strong data-start="7987" data-end="8026">June 2021 Page Experience (Mobile):</strong><br data-start="8026" data-end="8029" />Rolled out Core Web Vitals and HTTPS as ranking signals for mobile users.</p>
</li>
<li data-start="8106" data-end="8185">
<p data-start="8108" data-end="8185"><strong data-start="8108" data-end="8134">June 2021 Core Update:</strong><br data-start="8134" data-end="8137" />Focused on broad content quality improvements.</p>
</li>
<li data-start="8187" data-end="8326">
<p data-start="8189" data-end="8326"><strong data-start="8189" data-end="8227">April 2021 Product Reviews Update:</strong><br data-start="8227" data-end="8230" />Launched the first version of the product review system, emphasizing evidence-backed analysis.</p>
</li>
</ul>
<p data-start="8328" data-end="8353"><strong data-start="8328" data-end="8351">SEO focus for 2021:</strong></p>
<ul data-start="8354" data-end="8453">
<li data-start="8354" data-end="8387">
<p data-start="8356" data-end="8387">Optimize speed and stability.</p>
</li>
<li data-start="8388" data-end="8423">
<p data-start="8390" data-end="8423">Maintain natural link patterns.</p>
</li>
<li data-start="8424" data-end="8453">
<p data-start="8426" data-end="8453">Improve mobile usability.</p>
</li>
</ul>
<h2 data-start="8460" data-end="8498">2020: Foundation for the Modern Era</h2>
<ul data-start="8500" data-end="8715">
<li data-start="8500" data-end="8715">
<p data-start="8502" data-end="8715"><strong data-start="8502" data-end="8532">December 2020 Core Update:</strong><br data-start="8532" data-end="8535" />A broad quality refresh aimed at improving relevance and trust signals. Set the groundwork for future updates that would reward real-world expertise and penalize mass automation.</p>
</li>
</ul>
<h2 data-start="8722" data-end="8756">How These Updates Work Together</h2>
<p data-start="8758" data-end="8944">By 2025, Google’s systems no longer operate as separate modules. The <strong data-start="8827" data-end="8835">Core</strong>, <strong data-start="8837" data-end="8850">SpamBrain</strong>, <strong data-start="8852" data-end="8871">Helpful Content</strong>, and <strong data-start="8877" data-end="8888">Reviews</strong> systems share data signals and reinforce one another.</p>
<p data-start="8946" data-end="9085">That means one weak area, poor reviews, unverified authorship, or manipulative links, can ripple through your entire site’s visibility.</p>
<p data-start="9087" data-end="9123">To stay stable through every update:</p>
<ul data-start="9124" data-end="9317">
<li data-start="9124" data-end="9164">
<p data-start="9126" data-end="9164">Keep schema structured and accurate.</p>
</li>
<li data-start="9165" data-end="9199">
<p data-start="9167" data-end="9199">Prioritize user-first content.</p>
</li>
<li data-start="9200" data-end="9240">
<p data-start="9202" data-end="9240">Build consistent author reputations.</p>
</li>
<li data-start="9241" data-end="9276">
<p data-start="9243" data-end="9276">Maintain healthy link profiles.</p>
</li>
<li data-start="9277" data-end="9317">
<p data-start="9279" data-end="9317">Audit and refresh content quarterly.</p>
</li>
</ul>
<p>&nbsp;</p>
<p>The post <a href="https://www.webstuff.com/google-algorithm-updates/">Complete History of Google Algorithm Updates (2020–2025)</a> appeared first on <a href="https://www.webstuff.com">WebStuff</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Verify Googlebot and Google Crawlers for Real vs Fake Traffic</title>
		<link>https://www.webstuff.com/how-to-verify-googlebot-and-google-crawlers-for-real-vs-fake-traffic/</link>
		
		<dc:creator><![CDATA[Joe Davis]]></dc:creator>
		<pubDate>Mon, 03 Nov 2025 23:02:48 +0000</pubDate>
				<category><![CDATA[Crawling]]></category>
		<guid isPermaLink="false">https://www.webstuff.com/?p=2377</guid>

					<description><![CDATA[<p>Why You Should Care If your server is being crawled by someone pretending to be Googlebot, it’s more than a nuisance. The fake crawler might scrape content, overload your bandwidth, or create security gaps. At the same time, if you accidentally block the real Googlebot (or other genuine Google crawlers), your site’s visibility and indexing</p>
<p>The post <a href="https://www.webstuff.com/how-to-verify-googlebot-and-google-crawlers-for-real-vs-fake-traffic/">How to Verify Googlebot and Google Crawlers for Real vs Fake Traffic</a> appeared first on <a href="https://www.webstuff.com">WebStuff</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2 data-start="377" data-end="401">Why You Should Care</h2>
<p data-start="402" data-end="753">If your server is being crawled by someone pretending to be Googlebot, it’s more than a nuisance. The fake crawler might scrape content, overload your bandwidth, or create security gaps. At the same time, if you accidentally <strong data-start="627" data-end="636">block</strong> the real Googlebot (or other genuine Google crawlers), your site’s visibility and indexing can take a serious hit.</p>
<p data-start="755" data-end="984">Knowing how to verify a crawler’s identity is one of those quiet technical details that keeps your site secure, efficient, and discoverable. When you can tell who’s really knocking, you can decide who gets in, and who doesn’t.</p>
<h2 data-start="991" data-end="1034">Google’s Official Verification Methods</h2>
<p data-start="1035" data-end="1281">According to <a class="decorated-link" href="https://developers.google.com/search/docs/crawling-indexing/verifying-googlebot" target="_new" rel="noopener" data-start="1048" data-end="1162">Google’s official documentation</a>, there are two main ways to confirm whether a crawler that identifies itself as “Googlebot” is actually from Google:</p>
<ol data-start="1283" data-end="1436">
<li data-start="1283" data-end="1354">
<p data-start="1286" data-end="1354"><strong data-start="1286" data-end="1309">Manual verification</strong> &#8211; useful for spot-checking individual IPs.</p>
</li>
<li data-start="1355" data-end="1436">
<p data-start="1358" data-end="1436"><strong data-start="1358" data-end="1384">Automatic verification</strong> &#8211; ideal for large-scale or continuous monitoring.</p>
</li>
</ol>
<p data-start="1438" data-end="1506">Both methods rely on DNS and IP validation. Let’s break them down.</p>
<h2 data-start="1513" data-end="1551">Manual Verification: Step-by-Step</h2>
<p data-start="1553" data-end="1671">Manual verification is best for smaller sites or occasional audits. Here’s how to confirm a Googlebot visit by hand:</p>
<ol data-start="1673" data-end="2094">
<li data-start="1673" data-end="1870">
<p data-start="1676" data-end="1731"><strong data-start="1676" data-end="1704">Do a reverse DNS lookup.</strong><br data-start="1704" data-end="1707" />Run a command like:<br />
host 66.249.66.1</p>
<p data-start="1771" data-end="1870">You should see a result that ends with googlebot.com, google.com, or googleusercontent.com.</p>
</li>
<li data-start="1872" data-end="2094">
<p data-start="1875" data-end="1964"><strong data-start="1875" data-end="1903">Do a forward DNS lookup.</strong><br data-start="1903" data-end="1906" />Take the domain name you got and reverse the process:<br />
host crawl-66-249-66-1.googlebot.com</p>
<p data-start="2024" data-end="2094">The IP address returned should match the original one you looked up.</p>
</li>
</ol>
<p data-start="2096" data-end="2222">If both steps match, the crawler is legitimate. If they don’t, it’s likely a spoof using Google’s name to slip past filters.</p>
<p data-start="2224" data-end="2363">You can also perform these checks with online tools or directly through your hosting provider’s interface if you don’t have shell access.</p>
<h2 data-start="2370" data-end="2441">Automatic Verification: Confirming Googlebot via IP Range Matching</h2>
<p data-start="2443" data-end="2543">For larger websites, manual lookups don’t scale. That’s where <strong data-start="2505" data-end="2531">automatic verification</strong> comes in.</p>
<p data-start="2545" data-end="2679">Google provides official IP range lists in JSON format that can be used by your systems to automatically verify legitimate crawlers.</p>
<h3 data-start="2681" data-end="2720">1. Use Google’s official IP lists</h3>
<p data-start="2721" data-end="2836">Google’s documentation links to JSON files that define all CIDR blocks used by their crawlers. These lists cover:</p>
<ul data-start="2837" data-end="3029">
<li data-start="2837" data-end="2876">
<p data-start="2839" data-end="2876"><strong data-start="2839" data-end="2852">Googlebot</strong> (main search crawler)</p>
</li>
<li data-start="2877" data-end="2933">
<p data-start="2879" data-end="2933"><strong data-start="2879" data-end="2896">Google AdsBot</strong> (used for ad landing page reviews)</p>
</li>
<li data-start="2934" data-end="2980">
<p data-start="2936" data-end="2980"><strong data-start="2936" data-end="2978">Google Image, Video, and News crawlers</strong></p>
</li>
<li data-start="2981" data-end="3029">
<p data-start="2983" data-end="3029"><strong data-start="2983" data-end="3027">FeedFetcher and special-purpose crawlers</strong></p>
</li>
</ul>
<p data-start="3031" data-end="3157"><a class="decorated-link" href="https://developers.google.com/search/docs/crawling-indexing/verifying-googlebot" target="_new" rel="noopener" data-start="3034" data-end="3157">View Google’s verification documentation</a></p>
<p data-start="3159" data-end="3306">These IP lists update automatically. Your system can pull them on a set schedule, daily, weekly, or as needed, to keep your whitelist accurate.</p>
<h3 data-start="3308" data-end="3339">2. Match IPs in real time</h3>
<p data-start="3340" data-end="3396">Here’s the general process for automated verification:</p>
<ul data-start="3397" data-end="3624">
<li data-start="3397" data-end="3457">
<p data-start="3399" data-end="3457">When a crawler requests a page, your server logs its IP.</p>
</li>
<li data-start="3458" data-end="3549">
<p data-start="3460" data-end="3549">A verification script compares that IP against the CIDR ranges from Google’s JSON file.</p>
</li>
<li data-start="3550" data-end="3624">
<p data-start="3552" data-end="3624">If the IP falls within one of those ranges, it’s confirmed as genuine.</p>
</li>
</ul>
<p data-start="3626" data-end="3707">Any IP claiming to be Googlebot but not within those ranges is an impersonator.</p>
<h3 data-start="3709" data-end="3739">3. Automate the response</h3>
<p data-start="3740" data-end="3832">Modern firewalls, CDNs, and reverse proxies can perform this match automatically. You can:</p>
<ul data-start="3833" data-end="4004">
<li data-start="3833" data-end="3879">
<p data-start="3835" data-end="3879"><strong data-start="3835" data-end="3844">Allow</strong> verified Google IPs full access.</p>
</li>
<li data-start="3880" data-end="3939">
<p data-start="3882" data-end="3939"><strong data-start="3882" data-end="3903">Throttle or block</strong> anything that fails verification.</p>
</li>
<li data-start="3940" data-end="4004">
<p data-start="3942" data-end="4004"><strong data-start="3942" data-end="3949">Log</strong> unverified attempts for audit and security tracking.</p>
</li>
</ul>
<p data-start="4006" data-end="4136">This setup reduces false positives and protects your crawl budget by ensuring that only authentic crawlers can access your site.</p>
<h2 data-start="4346" data-end="4375">Common Mistakes to Avoid</h2>
<h3 data-start="4377" data-end="4416">1. Trusting the User-Agent String</h3>
<p data-start="4417" data-end="4549">Many impostor bots simply claim to be “Googlebot” in their user-agent. That’s not proof. Always verify using DNS or IP validation.</p>
<h3 data-start="4551" data-end="4597">2. Blocking Google Crawlers Accidentally</h3>
<p data-start="4598" data-end="4768">Overly aggressive security rules can block legitimate crawlers. Instead of blanket IP bans, use Google’s published IP lists to distinguish between good and bad traffic.</p>
<h3 data-start="4770" data-end="4807">3. Forgetting to Update IP Data</h3>
<p data-start="4808" data-end="4940">Google’s infrastructure evolves. If you hardcode old IP ranges, real crawlers might get blocked. Automating updates prevents this.</p>
<h3 data-start="4942" data-end="4970">4. Ignoring Crawl Load</h3>
<p data-start="4971" data-end="5131">If Googlebot is hitting your server too often, don’t block it — use Search Console’s crawl rate setting or adjust your server response to slow it down safely.</p>
<h2 data-start="5138" data-end="5175">Why This Matters for SEO and GEO</h2>
<p data-start="5177" data-end="5253">Verification isn’t just a security exercise — it’s a visibility safeguard.</p>
<p data-start="5255" data-end="5527">When Google crawlers can access your site consistently and safely, your content stays fresh in search results and discoverable by emerging AI-driven systems. If you block or misidentify them, you could silently disappear from the index or lose placement in AI overviews.</p>
<p data-start="5529" data-end="5714">By confirming legitimate bots, you’re telling search engines, “Yes, we’re open for indexing,” while keeping impersonators out. That’s good SEO hygiene and future-proofing in one move.</p>
<h2 data-start="5721" data-end="5768">Best Practices for Continuous Verification</h2>
<ul data-start="5770" data-end="6165">
<li data-start="5770" data-end="5828">
<p data-start="5772" data-end="5828"><strong data-start="5772" data-end="5795">Monitor access logs</strong> regularly for crawler traffic.</p>
</li>
<li data-start="5829" data-end="5895">
<p data-start="5831" data-end="5895"><strong data-start="5831" data-end="5863">Whitelist verified IP ranges</strong> based on Google’s JSON files.</p>
</li>
<li data-start="5896" data-end="6006">
<p data-start="5898" data-end="6006"><strong data-start="5898" data-end="5931">Automate verification scripts</strong> in your CDN or WAF (e.g., Cloudflare Workers, AWS Lambda, or Nginx Lua).</p>
</li>
<li data-start="6007" data-end="6084">
<p data-start="6009" data-end="6084"><strong data-start="6009" data-end="6038">Use Google Search Console</strong> to view crawl stats and identify anomalies.</p>
</li>
<li data-start="6085" data-end="6165">
<p data-start="6087" data-end="6165"><strong data-start="6087" data-end="6129">Document your bot verification process</strong> so future admins can maintain it.</p>
</li>
</ul>
<p data-start="6167" data-end="6264">Doing this once is helpful; doing it continuously makes your visibility and security resilient.</p>
<p>The post <a href="https://www.webstuff.com/how-to-verify-googlebot-and-google-crawlers-for-real-vs-fake-traffic/">How to Verify Googlebot and Google Crawlers for Real vs Fake Traffic</a> appeared first on <a href="https://www.webstuff.com">WebStuff</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Add a Shopify Store as a Subdomain of Your Existing Website Domain (2025 Guide)</title>
		<link>https://www.webstuff.com/how-to-add-a-shopify-store-as-a-subdomain-of-your-existing-website-domain/</link>
		
		<dc:creator><![CDATA[Joe Davis]]></dc:creator>
		<pubDate>Mon, 03 Nov 2025 19:18:04 +0000</pubDate>
				<category><![CDATA[Shopify]]></category>
		<guid isPermaLink="false">https://www.webstuff.com/?p=1298</guid>

					<description><![CDATA[<p>Adding your Shopify store as a subdomain of your main website keeps your brand consistent, improves user trust, and strengthens your overall SEO profile. In 2025, this setup is more common than ever, especially for businesses that run their primary website on one platform (like WordPress, Squarespace, or Wix) and their store on Shopify. Whether</p>
<p>The post <a href="https://www.webstuff.com/how-to-add-a-shopify-store-as-a-subdomain-of-your-existing-website-domain/">How to Add a Shopify Store as a Subdomain of Your Existing Website Domain (2025 Guide)</a> appeared first on <a href="https://www.webstuff.com">WebStuff</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p data-start="670" data-end="1009">Adding your Shopify store as a subdomain of your main website keeps your brand consistent, improves user trust, and strengthens your overall SEO profile. In 2025, this setup is more common than ever, especially for businesses that run their primary website on one platform (like WordPress, Squarespace, or Wix) and their store on Shopify.</p>
<p data-start="1011" data-end="1296">Whether you’re a small brand expanding into eCommerce or a large company integrating multiple systems, the process boils down to DNS control and correct CNAME configuration. This guide walks you through every step, updated for Shopify’s current 2025 interface and modern DNS providers.</p>
<h2 data-start="1303" data-end="1348">Why Use a Subdomain for Your Shopify Store</h2>
<p data-start="1350" data-end="1542">A subdomain is a prefix attached to your primary domain, such as shop.yourdomain.com. It separates your storefront from your main site while keeping your brand unified under one web address.</p>
<p data-start="1544" data-end="1611">Here’s why using a subdomain for Shopify still makes sense in 2025:</p>
<ul data-start="1613" data-end="2108">
<li data-start="1613" data-end="1730">
<p data-start="1615" data-end="1730"><strong data-start="1615" data-end="1637">Brand consistency:</strong> Customers stay within your domain family instead of jumping to a completely different URL.</p>
</li>
<li data-start="1731" data-end="1855">
<p data-start="1733" data-end="1855"><strong data-start="1733" data-end="1749">SEO benefit:</strong> Search engines recognize your subdomain as part of your brand ecosystem, maintaining authority signals.</p>
</li>
<li data-start="1856" data-end="1988">
<p data-start="1858" data-end="1988"><strong data-start="1858" data-end="1889">Simpler analytics tracking:</strong> It’s easier to monitor traffic across multiple subdomains than across entirely separate domains.</p>
</li>
<li data-start="1989" data-end="2108">
<p data-start="1991" data-end="2108"><strong data-start="1991" data-end="2007">Flexibility:</strong> You can host your main site on any platform and your store on Shopify without migration headaches.</p>
</li>
</ul>
<h2 data-start="2115" data-end="2167">Before You Start: Understand Where Your DNS Lives</h2>
<p data-start="2169" data-end="2281">The key to success is knowing <strong data-start="2199" data-end="2233">where your DNS zone is managed,</strong> that’s where you’ll add the subdomain record.</p>
<p data-start="2283" data-end="2335">Your DNS could be controlled in one of three places:</p>
<ol data-start="2336" data-end="2543">
<li data-start="2336" data-end="2405">
<p data-start="2339" data-end="2405"><strong data-start="2339" data-end="2360">At your registrar</strong> (GoDaddy, Namecheap, Google Domains, etc.)</p>
</li>
<li data-start="2406" data-end="2471">
<p data-start="2409" data-end="2471"><strong data-start="2409" data-end="2429">At your web host</strong> (SiteGround, Bluehost, Hostinger, etc.)</p>
</li>
<li data-start="2472" data-end="2543">
<p data-start="2475" data-end="2543"><strong data-start="2475" data-end="2508">Through a CDN or DNS provider</strong> (Cloudflare, AWS Route 53, etc.)</p>
</li>
</ol>
<p data-start="2545" data-end="2623">If you don’t know where your DNS is hosted, you’ll find out in the first step.</p>
<h2 data-start="2630" data-end="2688">Step 1: Identify Your Domain Registrar and DNS Provider</h2>
<ol data-start="2690" data-end="2963">
<li data-start="2690" data-end="2762">
<p data-start="2693" data-end="2762">Go to <a class="decorated-link" href="https://www.whois.com/whois/" target="_new" rel="noopener" data-start="2699" data-end="2759">https://www.whois.com/whois/</a>.</p>
</li>
<li data-start="2763" data-end="2791">
<p data-start="2766" data-end="2791">Enter your domain name.</p>
</li>
<li data-start="2792" data-end="2963">
<p data-start="2795" data-end="2829">Look at two pieces of information:</p>
<ul data-start="2833" data-end="2963">
<li data-start="2833" data-end="2898">
<p data-start="2835" data-end="2898"><strong data-start="2835" data-end="2849">Registrar:</strong> The company that owns the domain registration.</p>
</li>
<li data-start="2902" data-end="2963">
<p data-start="2904" data-end="2963"><strong data-start="2904" data-end="2921">Name Servers:</strong> The DNS servers controlling your records.</p>
</li>
</ul>
</li>
</ol>
<h3 data-start="2965" data-end="2977">Example:</h3>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">Domain: mydomainname.com Registrar: GoDaddy.com, LLC Name Servers: ns03.domaincontrol.com ns04.domaincontrol.com</div>
</div>
</div>
<p data-start="3106" data-end="3392">If your name servers are still the registrar defaults (like domaincontrol.com for GoDaddy), your DNS is managed <strong data-start="3220" data-end="3241">at your registrar</strong>.<br data-start="3242" data-end="3245" />If the name servers point somewhere else (like ns1.siteground.net or ns1.cloudflare.com), your DNS records are managed <strong data-start="3368" data-end="3391">at your host or CDN</strong>.</p>
<p data-start="3394" data-end="3541">Why this matters:<br data-start="3411" data-end="3414" />You’ll need access to whichever account manages those records to create the CNAME entries that point your subdomain to Shopify.</p>
<h2 data-start="3548" data-end="3592">Step 2: Add the CNAME Records for Shopify</h2>
<p data-start="3594" data-end="3751">Once you know where your DNS is hosted, log in to that control panel, usually cPanel, Cloudflare, or your registrar’s dashboard, and add two CNAME records.</p>
<h3 data-start="3753" data-end="3788">CNAME Record 1 (Main Subdomain)</h3>
<ul data-start="3789" data-end="3879">
<li data-start="3789" data-end="3825">
<p data-start="3791" data-end="3825"><strong data-start="3791" data-end="3800">Name:</strong> shop.yourdomain.com.</p>
</li>
<li data-start="3826" data-end="3879">
<p data-start="3828" data-end="3879"><strong data-start="3828" data-end="3842">Points to:</strong> yourshopifystorename.myshopify.com</p>
</li>
</ul>
<h3 data-start="3881" data-end="3911">CNAME Record 2 (WWW Alias)</h3>
<ul data-start="3912" data-end="4006">
<li data-start="3912" data-end="3952">
<p data-start="3914" data-end="3952"><strong data-start="3914" data-end="3923">Name:</strong> www.shop.yourdomain.com.</p>
</li>
<li data-start="3953" data-end="4006">
<p data-start="3955" data-end="4006"><strong data-start="3955" data-end="3969">Points to:</strong> yourshopifystorename.myshopify.com</p>
</li>
</ul>
<p data-start="4008" data-end="4118">Replace yourshopifystorename with your actual Shopify store name and yourdomain.com with your real domain.</p>
<h3 data-start="4120" data-end="4131">Example</h3>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs">CNAME: shop.example.com → mystore.myshopify.com CNAME: www.shop.example.com → mystore.myshopify.com</div>
<div></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><strong data-start="4248" data-end="4256">Tip:</strong> Some DNS dashboards automatically append your domain name, so if you enter “shop,” it becomes <code data-start="4351" data-end="4372">shop.yourdomain.com</code>. Check whether your provider does this to avoid duplication.</div>
</div>
<hr data-start="4435" data-end="4438" />
<h2 data-start="4440" data-end="4480">Step 3: Verify and Connect in Shopify</h2>
<p data-start="4482" data-end="4532">After you’ve added both CNAMEs, log in to Shopify:</p>
<ol data-start="4534" data-end="4772">
<li data-start="4534" data-end="4590">
<p data-start="4537" data-end="4590">Go to <strong data-start="4543" data-end="4565">Settings &gt; Domains</strong> in your Shopify admin.</p>
</li>
<li data-start="4591" data-end="4631">
<p data-start="4594" data-end="4631">Select <strong data-start="4601" data-end="4629">Connect existing domain.</strong></p>
</li>
<li data-start="4632" data-end="4712">
<p data-start="4635" data-end="4675">Enter your new subdomain, for example:<br />
shop.yourdomain.com</p>
</li>
<li data-start="4713" data-end="4772">
<p data-start="4716" data-end="4772">Shopify will automatically check for the CNAME record.</p>
</li>
</ol>
<p data-start="4774" data-end="4932">If everything is correct, you’ll see a <strong data-start="4813" data-end="4840">Verification Successful</strong> message.<br data-start="4849" data-end="4852" />If not, double-check your DNS records or wait a bit, propagation can take time.</p>
<hr data-start="4934" data-end="4937" />
<h2 data-start="4939" data-end="4974">Step 4: Wait for DNS Propagation</h2>
<p data-start="4976" data-end="5115">DNS updates aren’t instant. It can take anywhere from <strong data-start="5030" data-end="5062">a few minutes up to 24 hours</strong> for your CNAME changes to fully propagate worldwide.</p>
<p data-start="5117" data-end="5157">You can check progress using tools like:</p>
<ul data-start="5158" data-end="5267">
<li data-start="5158" data-end="5212">
<p data-start="5160" data-end="5212"><a class="decorated-link" href="https://dnschecker.org/" target="_new" rel="noopener" data-start="5160" data-end="5210">https://dnschecker.org/</a></p>
</li>
<li data-start="5213" data-end="5267">
<p data-start="5215" data-end="5267"><a class="decorated-link" href="https://whatsmydns.net/" target="_new" rel="noopener" data-start="5215" data-end="5265">https://whatsmydns.net/</a></p>
</li>
</ul>
<p data-start="5269" data-end="5368">Search for your subdomain (shop.yourdomain.com) and confirm that it resolves to your Shopify URL.</p>
<h2 data-start="5375" data-end="5413">Step 5: Confirm the SSL Certificate</h2>
<p data-start="5415" data-end="5604">Shopify automatically provisions an SSL certificate for all connected domains, including subdomains.<br data-start="5515" data-end="5518" />However, it might take a few hours after verification for the certificate to activate.</p>
<p data-start="5606" data-end="5717">You’ll know it’s working when your Shopify subdomain loads with https:// and a padlock icon in the browser.</p>
<p data-start="5719" data-end="5802">If you see a “Not Secure” message, clear your cache and check again in a few hours.</p>
<h2 data-start="5809" data-end="5863">Step 6: Update Links and Menus on Your Main Website</h2>
<p data-start="5865" data-end="6028">Once your subdomain is live, link to it from your primary site.<br data-start="5928" data-end="5931" />Update your navigation menus, buttons, and internal links to send users to shop.yourdomain.com.</p>
<p data-start="6030" data-end="6246">If you use Google Analytics, Google Tag Manager, or Meta Pixel, you may want to update your tracking setup to treat the subdomain as part of the same property. This ensures user sessions aren’t split between domains.</p>
<hr data-start="6248" data-end="6251" />
<h2 data-start="6253" data-end="6323">Step 7: Add Google Search Console Verification (Optional but Smart)</h2>
<p data-start="6325" data-end="6578">For SEO tracking and better visibility, add your new subdomain (shop.yourdomain.com) as a <strong data-start="6417" data-end="6433">new property</strong> in <a href="https://search.google.com/search-console/about">Google Search Console</a>.<br data-start="6504" data-end="6507" />Google treats subdomains as separate properties, so this step lets you:</p>
<ul data-start="6580" data-end="6771">
<li data-start="6580" data-end="6621">
<p data-start="6582" data-end="6621">Monitor indexing and coverage reports</p>
</li>
<li data-start="6622" data-end="6698">
<p data-start="6624" data-end="6698">Submit a sitemap (Shopify generates one automatically at /sitemap.xml)</p>
</li>
<li data-start="6699" data-end="6771">
<p data-start="6701" data-end="6771">Track impressions, clicks, and average position for your store pages</p>
</li>
</ul>
<h2 data-start="6778" data-end="6804">Step 8: Test Everything</h2>
<p data-start="6806" data-end="6868">Before announcing your new Shopify subdomain, test thoroughly:</p>
<ul data-start="6869" data-end="7103">
<li data-start="6869" data-end="6903">
<p data-start="6871" data-end="6903">Load it on desktop and mobile.</p>
</li>
<li data-start="6904" data-end="6935">
<p data-start="6906" data-end="6935">Confirm SSL status (https).</p>
</li>
<li data-start="6936" data-end="7034">
<p data-start="6938" data-end="7034">Check redirects, visiting www.shop.yourdomain.com should redirect to shop.yourdomain.com.</p>
</li>
<li data-start="7035" data-end="7074">
<p data-start="7037" data-end="7074">Verify checkout and cart functions.</p>
</li>
<li data-start="7075" data-end="7103">
<p data-start="7077" data-end="7103">Test analytics tracking.</p>
</li>
</ul>
<p data-start="7105" data-end="7173">When all tests pass, your Shopify subdomain integration is complete.</p>
<h2 data-start="7180" data-end="7212">Troubleshooting Common Issues</h2>
<p data-start="7214" data-end="7258"><strong data-start="7214" data-end="7224">Issue:</strong> Shopify says “CNAME not found.”</p>
<ul data-start="7259" data-end="7403">
<li data-start="7259" data-end="7337">
<p data-start="7261" data-end="7337">Double-check spelling and remove any trailing dots if added automatically.</p>
</li>
<li data-start="7338" data-end="7403">
<p data-start="7340" data-end="7403">Ensure propagation has finished (it may take up to 24 hours).</p>
</li>
</ul>
<p data-start="7405" data-end="7450"><strong data-start="7405" data-end="7415">Issue:</strong> Store loads but not under HTTPS.</p>
<ul data-start="7451" data-end="7578">
<li data-start="7451" data-end="7511">
<p data-start="7453" data-end="7511">Wait a few hours for Shopify’s SSL certificate to issue.</p>
</li>
<li data-start="7512" data-end="7578">
<p data-start="7514" data-end="7578">Avoid using an external CDN that conflicts with Shopify’s SSL.</p>
</li>
</ul>
<p data-start="7580" data-end="7625"><strong data-start="7580" data-end="7590">Issue:</strong> Main domain still loads Shopify.</p>
<ul data-start="7626" data-end="7770">
<li data-start="7626" data-end="7770">
<p data-start="7628" data-end="7770">You may have connected the root domain accidentally. Use “Connect existing domain” and enter shop.yourdomain.com, not just yourdomain.com.</p>
</li>
</ul>
<h2 data-start="7777" data-end="7815">SEO and GEO Considerations for 2025</h2>
<p data-start="7817" data-end="7953">In 2025, subdomain integration isn’t just about convenience, it’s about visibility in both <strong data-start="7909" data-end="7952">search engines and AI-generated results</strong>.</p>
<ul data-start="7955" data-end="8411">
<li data-start="7955" data-end="8120">
<p data-start="7957" data-end="8120"><strong data-start="7957" data-end="7979">Schema continuity:</strong> Use consistent organization schema across both your main domain and subdomain to help Google and AI models understand brand relationships.</p>
</li>
<li data-start="8121" data-end="8247">
<p data-start="8123" data-end="8247"><strong data-start="8123" data-end="8149">Crawling and indexing:</strong> Subdomains are treated as related entities, but still need proper internal linking for context.</p>
</li>
<li data-start="8248" data-end="8411">
<p data-start="8250" data-end="8411"><strong data-start="8250" data-end="8268">AI visibility:</strong> Connecting your store via a branded subdomain keeps your product data discoverable in emerging AI shopping and generative search ecosystems.</p>
</li>
</ul>
<p data-start="8413" data-end="8495">Treat your subdomain as an extension of your primary site, not a separate project.</p>
<p>The post <a href="https://www.webstuff.com/how-to-add-a-shopify-store-as-a-subdomain-of-your-existing-website-domain/">How to Add a Shopify Store as a Subdomain of Your Existing Website Domain (2025 Guide)</a> appeared first on <a href="https://www.webstuff.com">WebStuff</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Why You Should Let Good Bots Crawl Your Site (and How to Tell Which Ones Are Safe)</title>
		<link>https://www.webstuff.com/why-you-should-let-good-bots-crawl-your-site-and-how-to-tell-which-ones-are-safe/</link>
		
		<dc:creator><![CDATA[Joe Davis]]></dc:creator>
		<pubDate>Sat, 01 Nov 2025 14:48:27 +0000</pubDate>
				<category><![CDATA[Crawling]]></category>
		<guid isPermaLink="false">https://www.webstuff.com/?p=2366</guid>

					<description><![CDATA[<p>Every site owner worries about bots, and with good reason. Some scrape data, overload servers, or pretend to be someone they’re not. But not all bots are bad. In fact, some are essential. The right ones help your site get discovered, indexed, and even featured in AI-driven search experiences. Blocking them can silently erase your</p>
<p>The post <a href="https://www.webstuff.com/why-you-should-let-good-bots-crawl-your-site-and-how-to-tell-which-ones-are-safe/">Why You Should Let Good Bots Crawl Your Site (and How to Tell Which Ones Are Safe)</a> appeared first on <a href="https://www.webstuff.com">WebStuff</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p data-start="356" data-end="747">Every site owner worries about bots, and with good reason. Some scrape data, overload servers, or pretend to be someone they’re not. But not all bots are bad. In fact, some are essential. The right ones help your site get discovered, indexed, and even featured in AI-driven search experiences. Blocking them can silently erase your visibility across search engines and generative systems.</p>
<p data-start="749" data-end="905">Let’s talk about how to separate helpful crawlers from harmful ones, and why giving the good ones proper access is now a must for long-term discoverability.</p>
<h2 data-start="912" data-end="952">The Hidden Cost of Blocking Good Bots</h2>
<p data-start="954" data-end="1124">Many web admins block unknown bots by default. It feels safer, but there’s a tradeoff: every time you deny a verified crawler, you close a door to potential visibility.</p>
<p data-start="1126" data-end="1355">Good bots index your content, keep it fresh in search results, and feed trusted knowledge sources that power AI summaries and conversational assistants. If you block them, your content might vanish from those channels entirely.</p>
<p data-start="1357" data-end="1530">In the past, SEO meant optimizing for Google. Now, it also means optimizing for the ecosystems that train or reference your content, Bing, OpenAI, Perplexity, and others.</p>
<p data-start="1532" data-end="1660">The catch? Each of these uses different verification systems and IP lists, so you can’t rely on simple pattern matching anymore.</p>
<h2 data-start="1667" data-end="1712">Understanding What “Good Bots” Actually Do</h2>
<p data-start="1714" data-end="1754">Here’s a simple way to think about it:</p>
<ul data-start="1755" data-end="2006">
<li data-start="1755" data-end="1914">
<p data-start="1757" data-end="1914"><strong data-start="1757" data-end="1770">Good bots</strong> crawl your site ethically, follow robots.txt, identify themselves clearly, and usually have a published JSON verification file or IP range.</p>
</li>
<li data-start="1915" data-end="2006">
<p data-start="1917" data-end="2006"><strong data-start="1917" data-end="1929">Bad bots</strong> spoof user agents, ignore crawling rules, and scrape data without consent.</p>
</li>
</ul>
<p data-start="2008" data-end="2125">The challenge is telling them apart automatically, which is where official bot identity files and whitelists come in.</p>
<h2 data-start="2132" data-end="2169">The Importance of Bot Transparency</h2>
<p data-start="2171" data-end="2333">Reputable crawlers now publish <strong data-start="2202" data-end="2233">identity verification files,</strong> simple JSON documents hosted on their domains that specify user agents, IP ranges, and purpose.</p>
<p data-start="2335" data-end="2487">When your security system or reverse proxy detects a crawler, it can check these files in real time. If the data matches, you can safely allow access.</p>
<p data-start="2489" data-end="2637">This small change can make a huge difference: instead of guessing which traffic to block, you base your decisions on verifiable, public information.</p>
<h2 data-start="2644" data-end="2695">Official Verification Files for Leading Crawlers</h2>
<p data-start="2697" data-end="2864">Below are trusted sources that list the legitimate identities and IP ranges of recognized “good bots.” Bookmark these if you manage a firewall, CDN, or security layer.</p>
<h3 data-start="2855" data-end="2869"><strong data-start="2859" data-end="2869">Google</strong></h3>
<p data-start="2871" data-end="3092">Google operates several classes of crawlers, each with a specific role. These official JSON files list their IP ranges and purposes. Verifying against these ensures you don’t accidentally block legitimate Google activity.</p>
<ul data-start="3094" data-end="3943">
<li data-start="3094" data-end="3281">
<p data-start="3096" data-end="3281"><strong data-start="3096" data-end="3128">Common Crawlers (Googlebot):</strong><br data-start="3128" data-end="3131" /><a class="decorated-link" href="https://developers.google.com/static/search/apis/ipranges/googlebot.json" target="_new" rel="noopener" data-start="3133" data-end="3281">https://developers.google.com/static/search/apis/ipranges/googlebot.json</a></p>
</li>
<li data-start="3283" data-end="3488">
<p data-start="3285" data-end="3488"><strong data-start="3285" data-end="3321">Special Crawlers (AdsBot, etc.):</strong><br data-start="3321" data-end="3324" /><a class="decorated-link" href="https://developers.google.com/static/search/apis/ipranges/special-crawlers.json" target="_new" rel="noopener" data-start="3326" data-end="3488">https://developers.google.com/static/search/apis/ipranges/special-crawlers.json</a></p>
</li>
<li data-start="3490" data-end="3708">
<p data-start="3492" data-end="3708"><strong data-start="3492" data-end="3527">User-Triggered Fetches – Users:</strong><br data-start="3527" data-end="3530" /><a class="decorated-link" href="https://developers.google.com/static/search/apis/ipranges/user-triggered-fetchers.json" target="_new" rel="noopener" data-start="3532" data-end="3708">https://developers.google.com/static/search/apis/ipranges/user-triggered-fetchers.json</a></p>
</li>
<li data-start="3710" data-end="3943">
<p data-start="3712" data-end="3943"><strong data-start="3712" data-end="3748">User-Triggered Fetches – Google:</strong><br data-start="3748" data-end="3751" /><a class="decorated-link" href="https://developers.google.com/static/search/apis/ipranges/user-triggered-fetchers-google.json" target="_new" rel="noopener" data-start="3753" data-end="3943">https://developers.google.com/static/search/apis/ipranges/user-triggered-fetchers-google.json</a></p>
</li>
</ul>
<p data-start="3945" data-end="4077">Allowing these verified IPs ensures your content remains visible in Google Search, Ads previews, and other Google-connected systems.</p>
<hr data-start="3190" data-end="3193" />
<h3 data-start="2866" data-end="2876">Bing</h3>
<ul data-start="2877" data-end="2988">
<li data-start="2877" data-end="2988">
<p data-start="2879" data-end="2988"><strong data-start="2879" data-end="2901">Verification file:</strong> <a class="decorated-link" href="https://www.bing.com/toolbox/bingbot.json" target="_new" rel="noopener" data-start="2902" data-end="2988">https://www.bing.com/toolbox/bingbot.json</a></p>
</li>
</ul>
<p data-start="2990" data-end="3188">Microsoft provides this JSON file for verifying BingBot and associated crawlers. It includes user-agent details and network ranges, ensuring your site allows indexing without inviting impersonators.</p>
<hr data-start="3190" data-end="3193" />
<h3 data-start="3195" data-end="3207">OpenAI</h3>
<ul data-start="3208" data-end="3475">
<li data-start="3208" data-end="3288">
<p data-start="3210" data-end="3288"><strong data-start="3210" data-end="3221">GPTBot:</strong> <a class="decorated-link" href="https://openai.com/gptbot.json" target="_new" rel="noopener" data-start="3222" data-end="3286">https://openai.com/gptbot.json</a></p>
</li>
<li data-start="3289" data-end="3387">
<p data-start="3291" data-end="3387"><strong data-start="3291" data-end="3308">ChatGPT-User:</strong> <a class="decorated-link" href="https://openai.com/chatgpt-user.json" target="_new" rel="noopener" data-start="3309" data-end="3385">https://openai.com/chatgpt-user.json</a></p>
</li>
<li data-start="3388" data-end="3475">
<p data-start="3390" data-end="3475"><strong data-start="3390" data-end="3404">SearchBot:</strong> <a class="decorated-link" href="https://openai.com/searchbot.json" target="_new" rel="noopener" data-start="3405" data-end="3475">https://openai.com/searchbot.json</a></p>
</li>
</ul>
<p data-start="3477" data-end="3688">These files define the bots OpenAI uses to crawl and summarize web content. Allowing them ensures your content can appear in <strong data-start="3602" data-end="3628">ChatGPT search results</strong>, <strong data-start="3630" data-end="3646">AI overviews</strong>, and other OpenAI-integrated experiences.</p>
<hr data-start="3690" data-end="3693" />
<h3 data-start="3695" data-end="3711">Perplexity</h3>
<ul data-start="3712" data-end="3947">
<li data-start="3712" data-end="3827">
<p data-start="3714" data-end="3827"><strong data-start="3714" data-end="3732">PerplexityBot:</strong> <a class="decorated-link" href="https://www.perplexity.ai/perplexitybot.json" target="_new" rel="noopener" data-start="3733" data-end="3825">https://www.perplexity.ai/perplexitybot.json</a></p>
</li>
<li data-start="3828" data-end="3947">
<p data-start="3830" data-end="3947"><strong data-start="3830" data-end="3850">Perplexity-User:</strong> <a class="decorated-link" href="https://www.perplexity.ai/perplexity-user.json" target="_new" rel="noopener" data-start="3851" data-end="3947">https://www.perplexity.ai/perplexity-user.json</a></p>
</li>
</ul>
<p data-start="3949" data-end="4165">Perplexity publishes these JSON endpoints to verify legitimate crawlers used in its AI search and answer engine. Granting access ensures your content remains part of their knowledge layer, not filtered out as noise.</p>
<hr data-start="4167" data-end="4170" />
<h3 data-start="4172" data-end="4209">Community-Maintained Whitelists</h3>
<ul data-start="4210" data-end="4482">
<li data-start="4210" data-end="4329">
<p data-start="4212" data-end="4329"><strong data-start="4212" data-end="4246">Curated list of verified bots:</strong> <a class="decorated-link" href="https://github.com/AnTheMaker/GoodBots" target="_new" rel="noopener" data-start="4247" data-end="4327">https://github.com/AnTheMaker/GoodBots</a></p>
</li>
<li data-start="4330" data-end="4482">
<p data-start="4332" data-end="4482"><strong data-start="4332" data-end="4365">Daily IP updates by platform:</strong> <a class="decorated-link" href="https://github.com/AnTheMaker/GoodBots/tree/main/iplists" target="_new" rel="noopener" data-start="4366" data-end="4482">https://github.com/AnTheMaker/GoodBots/tree/main/iplists</a></p>
</li>
</ul>
<p data-start="4484" data-end="4696">This open-source project tracks IP ranges and official JSON sources for GoogleBot, BingBot, DuckDuckBot, GPTBot, and others. The lists auto-update daily, making it one of the most reliable references available.</p>
<p data-start="4698" data-end="4855">By cross-checking against this repository, you can configure your security rules to automatically trust verified crawlers while blocking known impersonators.</p>
<h2 data-start="4862" data-end="4899">How to Verify a Bot’s Authenticity</h2>
<p data-start="4901" data-end="5021">When a bot visits your site, your server logs include its <strong data-start="4959" data-end="4973">user-agent</strong> and <strong data-start="4978" data-end="4992">IP address</strong>. To confirm it’s legitimate:</p>
<ol data-start="5023" data-end="5516">
<li data-start="5023" data-end="5154">
<p data-start="5026" data-end="5154"><strong data-start="5026" data-end="5052">Check the reverse DNS.</strong> Look up the IP to see if it resolves to an official domain (like search.msn.com or openai.com).</p>
</li>
<li data-start="5155" data-end="5285">
<p data-start="5158" data-end="5285"><strong data-start="5158" data-end="5189">Compare with official JSON.</strong> Match the user-agent and IP range against the published JSON verification files listed above.</p>
</li>
<li data-start="5286" data-end="5391">
<p data-start="5289" data-end="5391"><strong data-start="5289" data-end="5318">Whitelist confirmed bots.</strong> Once verified, add their CIDR ranges or user-agents to your allowlist.</p>
</li>
<li data-start="5392" data-end="5516">
<p data-start="5395" data-end="5516"><strong data-start="5395" data-end="5421">Block inconsistencies.</strong> If the reverse DNS or JSON data doesn’t match, the visitor is likely spoofing a known crawler.</p>
</li>
</ol>
<p data-start="5518" data-end="5641">This process might sound technical, but it can be automated with modern firewalls, reverse proxies, or simple cron scripts.</p>
<h2 data-start="5648" data-end="5697">Why Letting Verified Bots Increases Visibility</h2>
<p data-start="5699" data-end="5829">Each verified bot represents a distribution channel. When you let them in, your content becomes accessible to entire ecosystems.</p>
<ul data-start="5831" data-end="6158">
<li data-start="5831" data-end="5916">
<p data-start="5833" data-end="5916"><strong data-start="5833" data-end="5852">Search Engines:</strong> BingBot and GoogleBot keep your pages in core search results.</p>
</li>
<li data-start="5917" data-end="6044">
<p data-start="5919" data-end="6044"><strong data-start="5919" data-end="5937">AI Assistants:</strong> GPTBot, PerplexityBot, and others use your structured content to generate responses and recommendations.</p>
</li>
<li data-start="6045" data-end="6158">
<p data-start="6047" data-end="6158"><strong data-start="6047" data-end="6068">Knowledge Graphs:</strong> These systems feed the data that supports contextual discovery across apps and devices.</p>
</li>
</ul>
<p data-start="6160" data-end="6287">Blocking them can mean your site stops showing up in generative overviews, AI-powered search snippets, or even voice results.</p>
<p data-start="6289" data-end="6397">Allowing them isn’t just about traffic anymore, it’s about long-term visibility across intelligent systems.</p>
<h2 data-start="6404" data-end="6436">Balancing Access and Security</h2>
<p data-start="6438" data-end="6551">It’s still smart to protect your site. Not every “bot” is welcome, and unrestricted access can waste bandwidth.</p>
<p data-start="6553" data-end="6594">Here’s how to strike the right balance:</p>
<ul data-start="6595" data-end="7017">
<li data-start="6595" data-end="6702">
<p data-start="6597" data-end="6702"><strong data-start="6597" data-end="6625">Rate-limit, don’t block.</strong> If you’re concerned about load, use rate limits rather than outright bans.</p>
</li>
<li data-start="6703" data-end="6801">
<p data-start="6705" data-end="6801"><strong data-start="6705" data-end="6728">Use verified lists.</strong> Pull from the GitHub GoodBots repository to keep your allowlist fresh.</p>
</li>
<li data-start="6802" data-end="6915">
<p data-start="6804" data-end="6915"><strong data-start="6804" data-end="6826">Segment analytics.</strong> Track bot traffic separately to understand who’s accessing your content and how often.</p>
</li>
<li data-start="6916" data-end="7017">
<p data-start="6918" data-end="7017"><strong data-start="6918" data-end="6955">Update your robots.txt regularly.</strong> Explicitly permit trusted crawlers and disallow unknown ones.</p>
</li>
</ul>
<p data-start="7019" data-end="7127">With a well-maintained whitelist, you get the benefits of broad visibility without the risks of open access.</p>
<h2 data-start="7134" data-end="7172">Why This Matters More in the AI Era</h2>
<p data-start="7174" data-end="7386">The old idea of “indexing for search” is turning into “indexing for intelligence.”<br data-start="7256" data-end="7259" />Good bots no longer just crawl your site for rankings, they’re the data pipelines that train, enhance, and verify AI models.</p>
<p data-start="7388" data-end="7615">When you allow them, your site becomes part of the verified knowledge layer that large systems use to deliver trusted information. Block them, and your expertise stays locked away where nobody, not even machines, can find it.</p>
<p data-start="7617" data-end="7710">For businesses that depend on discoverability, that’s the digital equivalent of going silent.</p>
<h2 data-start="7717" data-end="7740">Practical Next Steps</h2>
<ul data-start="7742" data-end="8121">
<li data-start="7742" data-end="7817">
<p data-start="7744" data-end="7817">Audit your firewall, CDN, and robots.txt for overly broad restrictions.</p>
</li>
<li data-start="7818" data-end="7929">
<p data-start="7820" data-end="7929">Cross-check your bot rules against the official JSON sources from <strong>Google, Bing</strong>, <strong data-start="7896" data-end="7906">OpenAI</strong>, and <strong data-start="7912" data-end="7926">Perplexity</strong>.</p>
</li>
<li data-start="7930" data-end="8033">
<p data-start="7932" data-end="8033">Subscribe to updates from the <a class="decorated-link" href="https://github.com/AnTheMaker/GoodBots" target="_new" rel="noopener" data-start="7962" data-end="8030">GoodBots GitHub repository</a>.</p>
</li>
<li data-start="8034" data-end="8121">
<p data-start="8036" data-end="8121">Monitor your logs to confirm that legitimate crawlers are actually getting through.</p>
</li>
</ul>
<p data-start="8123" data-end="8229">You don’t need to let everyone in. You just need to make sure you’re not locking out the ones that matter.</p>
<p>The post <a href="https://www.webstuff.com/why-you-should-let-good-bots-crawl-your-site-and-how-to-tell-which-ones-are-safe/">Why You Should Let Good Bots Crawl Your Site (and How to Tell Which Ones Are Safe)</a> appeared first on <a href="https://www.webstuff.com">WebStuff</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>NLWeb: How Microsoft’s Open Protocol Can Turn Schema into an Engine of AI Visibility</title>
		<link>https://www.webstuff.com/nlweb-how-microsofts-open-protocol-can-turn-schema-into-an-engine-of-ai-visibility/</link>
		
		<dc:creator><![CDATA[Joe Davis]]></dc:creator>
		<pubDate>Fri, 31 Oct 2025 17:45:50 +0000</pubDate>
				<category><![CDATA[NLWeb]]></category>
		<guid isPermaLink="false">https://www.webstuff.com/?p=2356</guid>

					<description><![CDATA[<p>The internet is shifting gears again. For decades, websites existed to attract clicks, rank for keywords, and deliver answers to people. But now, the audience isn’t just human, it’s algorithmic. The same crawlers that once indexed your site are evolving into conversational agents that query it. Microsoft’s NLWeb (Natural Language Web) sits right at the</p>
<p>The post <a href="https://www.webstuff.com/nlweb-how-microsofts-open-protocol-can-turn-schema-into-an-engine-of-ai-visibility/">NLWeb: How Microsoft’s Open Protocol Can Turn Schema into an Engine of AI Visibility</a> appeared first on <a href="https://www.webstuff.com">WebStuff</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p data-start="596" data-end="896">The internet is shifting gears again. For decades, websites existed to attract clicks, rank for keywords, and deliver answers to people. But now, the audience isn’t just human, it’s algorithmic. The same crawlers that once indexed your site are evolving into conversational agents that <em data-start="883" data-end="890">query</em> it.</p>
<p data-start="898" data-end="1248">Microsoft’s <strong data-start="910" data-end="942">NLWeb (Natural Language Web)</strong> sits right at the center of this change. It’s an open-source framework designed to make websites machine-readable, conversational, and interoperable with AI systems. For SEOs and marketers, that means schema markup is no longer just about rich snippets, it’s the connective tissue of visibility itself.</p>
<p data-start="1250" data-end="1406">Let’s unpack how NLWeb works, what it means for discoverability, and how to prepare your website for the agentic web that’s coming faster than most realize.</p>
<h2 data-start="1413" data-end="1460">The Shift from Link Graph to Knowledge Graph</h2>
<p data-start="1462" data-end="1644">For the past 25 years, search engines have treated the web as a <strong data-start="1526" data-end="1540">link graph</strong>, a massive network of pages connected by hyperlinks. Links guided crawlers, and text guided ranking.</p>
<p data-start="1646" data-end="1963">But as AI systems grow capable of understanding context, intent, and meaning, the web is becoming something else: a <strong data-start="1762" data-end="1791">queryable knowledge graph</strong>. Instead of simply moving from page to page, systems like ChatGPT, Gemini, and Microsoft Copilot are beginning to ask structured questions and expect structured answers.</p>
<p data-start="1965" data-end="2035">That’s where <strong data-start="1978" data-end="1995">schema markup</strong>, and by extension, NLWeb steps in.</p>
<p data-start="2037" data-end="2208">The new era of visibility isn’t about optimizing for clicks. It’s about optimizing for <strong data-start="2124" data-end="2149">machine comprehension</strong>. You’re no longer just ranking; you’re being <em data-start="2195" data-end="2207">understood</em>.</p>
<h2 data-start="2215" data-end="2250">What Is NLWeb and Why It Matters</h2>
<p data-start="2252" data-end="2532"><strong data-start="2252" data-end="2284">NLWeb (Natural Language Web)</strong> is Microsoft’s open-source framework that transforms traditional websites into <strong data-start="2364" data-end="2389">natural language APIs</strong>. It lets users and intelligent agents, interact with your content conversationally, as if your site were a chatbot trained on its own data.</p>
<p data-start="2534" data-end="2558">Think of it like this:</p>
<ul data-start="2559" data-end="2664">
<li data-start="2559" data-end="2604">
<p data-start="2561" data-end="2604">Traditional websites present information.</p>
</li>
<li data-start="2605" data-end="2664">
<p data-start="2607" data-end="2664">NLWeb-enabled websites <em data-start="2630" data-end="2639">respond</em> to information requests.</p>
</li>
</ul>
<p data-start="2666" data-end="2960">Instead of depending on screen-scraping or unstructured crawling, NLWeb uses <strong data-start="2743" data-end="2769">structured schema data</strong> as the backbone of interaction. It takes what your site already communicates through schema.org markup and converts it into a <strong data-start="2896" data-end="2918">semantic interface</strong>, something AI agents can query directly.</p>
<p data-start="2962" data-end="3062">That means your site isn’t just being indexed; it’s being integrated into the new agentic ecosystem.</p>
<h2 data-start="3069" data-end="3116">How NLWeb Works: From Schema to Semantic API</h2>
<p data-start="3118" data-end="3238">Under the hood, NLWeb operates as a multi-step pipeline that converts structured data into a conversational interface.</p>
<h3 data-start="3240" data-end="3303">1. Data Ingestion and Extraction: Schema as the Entry Point</h3>
<p data-start="3305" data-end="3422">The NLWeb toolkit begins by <strong data-start="3333" data-end="3355">crawling your site</strong> and <strong data-start="3360" data-end="3392">extracting schema.org markup</strong>, ideally in JSON-LD format.</p>
<p data-start="3424" data-end="3585">This data, your products, articles, events, people, or locations, becomes the foundation for how your website will be understood by both humans and machines.</p>
<p data-start="3587" data-end="3673">Here’s a simple example of a product schema in JSON-LD format that NLWeb would ingest:</p>
<div>
<div>{</div>
<div>  &#8220;@context&#8221;: &#8220;https://schema.org&#8221;,</div>
<div>  &#8220;@type&#8221;: &#8220;Product&#8221;,</div>
<div>  &#8220;name&#8221;: &#8220;Stainless Steel Water Bottle&#8221;,</div>
<div>  &#8220;description&#8221;: &#8220;A 20oz reusable stainless steel bottle designed to keep drinks cold for 12 hours.&#8221;,</div>
<div>  &#8220;brand&#8221;: &#8220;EcoHydrate&#8221;,</div>
<div>  &#8220;offers&#8221;: {</div>
<div>    &#8220;@type&#8221;: &#8220;Offer&#8221;,</div>
<div>    &#8220;price&#8221;: &#8220;19.99&#8221;,</div>
<div>    &#8220;priceCurrency&#8221;: &#8220;USD&#8221;,</div>
<div>    &#8220;availability&#8221;: &#8220;https://schema.org/InStock&#8221;</div>
<div>  }</div>
<div>}</div>
</div>
<p data-start="4058" data-end="4282">When NLWeb encounters structured data like this, it can transform it into a <strong data-start="4134" data-end="4162">queryable knowledge node</strong>, meaning an agent could ask, “Which of EcoHydrate’s products are under $20?” and get a precise, schema-derived answer.</p>
<p data-start="4284" data-end="4497">If your site relies only on visual presentation or HTML tags without schema, NLWeb has far less to work with. The difference is the same as giving a librarian an organized catalog versus a pile of unlabeled boxes.</p>
<h3 data-start="4504" data-end="4560">2. Semantic Storage: Moving from Keywords to Meaning</h3>
<p data-start="4562" data-end="4703">Once your data is collected, NLWeb stores it in a <strong data-start="4612" data-end="4631">vector database</strong>, a format designed for semantic search rather than keyword matching.</p>
<p data-start="4705" data-end="4800">Instead of looking for identical words, a vector database recognizes <em data-start="4774" data-end="4797">conceptual similarity</em>.</p>
<p data-start="4802" data-end="5051">For instance, if your schema includes “structured data,” the system will understand that a query for “schema markup” refers to the same concept. This makes conversational querying possible, because the system understands meaning, not just syntax.</p>
<p data-start="5053" data-end="5143">This semantic mapping process is what allows AI agents to “talk to your data” naturally.</p>
<p data-start="5145" data-end="5320">It’s also what makes <strong data-start="5166" data-end="5184">data precision</strong> so critical. Inaccurate or incomplete schema leads to semantic confusion, which can generate false or irrelevant responses from agents.</p>
<h3 data-start="5327" data-end="5372">3. Protocol Connectivity: The Role of MCP</h3>
<p data-start="5374" data-end="5523">Every NLWeb instance operates as an <strong data-start="5410" data-end="5442">MCP (Model Context Protocol)</strong> server, an emerging standard for consistent data exchange between AI systems.</p>
<p data-start="5525" data-end="5688">This connectivity ensures your data doesn’t exist in isolation. Instead, it’s part of a broader network where various AI agents can query your site in real time.</p>
<p data-start="5690" data-end="5807">It’s like giving your content an API key to the agentic web, a seat at the table where future discovery will happen.</p>
<h2 data-start="5814" data-end="5858">Why Schema Quality Now Defines Visibility</h2>
<p data-start="5860" data-end="5932">If NLWeb is the bridge, schema markup is the material it’s built from.</p>
<p data-start="5934" data-end="6076">In the NLWeb framework, schema is no longer a bonus, it’s the entry ticket. Low-quality or incomplete schema can’t be corrected downstream.</p>
<p data-start="6078" data-end="6271">Imagine trying to build a conversation engine on bad data: if your “Person” entities lack proper relationships to “Organization” or “Event,” the responses agents generate could be misleading.</p>
<p data-start="6273" data-end="6360">That’s why <strong data-start="6284" data-end="6320">entity-first schema optimization</strong> is now the real technical SEO frontier.</p>
<h3 data-start="6367" data-end="6405">Common Schema Weak Points to Audit</h3>
<ul data-start="6407" data-end="6941">
<li data-start="6407" data-end="6544">
<p data-start="6409" data-end="6544"><strong data-start="6409" data-end="6435">Disconnected Entities:</strong> If “Author,” “Publisher,” or “Organization” types don’t reference each other correctly, context gets lost.</p>
</li>
<li data-start="6545" data-end="6697">
<p data-start="6547" data-end="6697"><strong data-start="6547" data-end="6570">Minimal Attributes:</strong> Using only name and description fields limits the value of your data. Add details like <code data-start="6658" data-end="6666">sameAs</code>, <code data-start="6668" data-end="6680">identifier</code>, or <code data-start="6685" data-end="6694">hasPart</code>.</p>
</li>
<li data-start="6698" data-end="6807">
<p data-start="6700" data-end="6807"><strong data-start="6700" data-end="6721">Improper Nesting:</strong> Ensure nested types like <code data-start="6747" data-end="6754">Offer</code> or <code data-start="6758" data-end="6766">Review</code> are properly linked to parent objects.</p>
</li>
<li data-start="6808" data-end="6941">
<p data-start="6810" data-end="6941"><strong data-start="6810" data-end="6826">Static Data:</strong> If your schema doesn’t update dynamically, it can quickly become outdated, which damages long-term AI visibility.</p>
</li>
</ul>
<p data-start="6943" data-end="7002">Here’s a simple contrast between poor and optimized schema.</p>
<p data-start="7004" data-end="7021"><strong data-start="7004" data-end="7021">Poor Example:</strong></p>
<div>
<div>{</div>
<div>  &#8220;@context&#8221;: &#8220;https://schema.org&#8221;,</div>
<div>  &#8220;@type&#8221;: &#8220;Article&#8221;,</div>
<div>  &#8220;headline&#8221;: &#8220;How to Improve Page Speed&#8221;</div>
<div>}</div>
</div>
<p data-start="7139" data-end="7161"><strong data-start="7139" data-end="7161">Optimized Example:</strong></p>
<div>
<div>{</div>
<div>  &#8220;@context&#8221;: &#8220;https://schema.org&#8221;,</div>
<div>  &#8220;@type&#8221;: &#8220;Article&#8221;,</div>
<div>  &#8220;headline&#8221;: &#8220;How to Improve Page Speed&#8221;,</div>
<div>  &#8220;author&#8221;: {</div>
<div>    &#8220;@type&#8221;: &#8220;Person&#8221;,</div>
<div>    &#8220;name&#8221;: &#8220;Sarah Nguyen&#8221;,</div>
<div>    &#8220;sameAs&#8221;: &#8220;https://www.linkedin.com/in/sarahnguyenseo/&#8221;</div>
<div>  },</div>
<div>  &#8220;publisher&#8221;: {</div>
<div>    &#8220;@type&#8221;: &#8220;Organization&#8221;,</div>
<div>    &#8220;name&#8221;: &#8220;WebStuff&#8221;,</div>
<div>    &#8220;url&#8221;: &#8220;https://webstuff.com&#8221;,</div>
<div>    &#8220;logo&#8221;: {</div>
<div>      &#8220;@type&#8221;: &#8220;ImageObject&#8221;,</div>
<div>      &#8220;url&#8221;: &#8220;https://webstuff.com/logo.png&#8221;</div>
<div>    }</div>
<div>  },</div>
<div>  &#8220;datePublished&#8221;: &#8220;2025-10-30&#8221;,</div>
<div>  &#8220;mainEntityOfPage&#8221;: &#8220;https://webstuff.com/nlweb-schema-optimization&#8221;</div>
<div>}</div>
</div>
<p data-start="7719" data-end="7908">The optimized example tells the full story, connecting people, organizations, and publication context, all of which NLWeb can convert into a knowledge graph for meaningful AI interaction.</p>
<h2 data-start="7915" data-end="7981">NLWeb vs. llms.txt: Static Guidance vs. Conversational Protocol</h2>
<p data-start="7983" data-end="8112">Another emerging concept in the same space is <strong data-start="8029" data-end="8041">llms.txt</strong>, a proposed standard to guide AI crawlers by listing priority pages.</p>
<p data-start="8114" data-end="8210">It’s like a <code data-start="8126" data-end="8138">robots.txt</code> file for language models, static, simple, and focused on efficiency.</p>
<p data-start="8212" data-end="8299">However, llms.txt doesn’t support real interaction. It’s a directory, not a dialogue.</p>
<table>
<thead>
<tr>
<th>Feature</th>
<th>NLWeb</th>
<th>llms.txt</th>
</tr>
</thead>
<tbody>
<tr>
<td>Core Purpose</td>
<td>Creates interactive, real-time exchanges between sites and intelligent agents</td>
<td>Offers basic instructions to help crawlers locate and read content efficiently</td>
</tr>
<tr>
<td>Data Structure</td>
<td>Built around schema.org data expressed in JSON-LD</td>
<td>Relies on markdown listings of important URLs or sections</td>
</tr>
<tr>
<td>Functional Design</td>
<td>Operates as a live API or communication protocol</td>
<td>Functions as a fixed text reference file</td>
</tr>
<tr>
<td>Adoption Status</td>
<td>Actively developed and already supported by major AI model providers</td>
<td>Still a concept proposal with little real-world use</td>
</tr>
<tr>
<td>Strategic Benefit</td>
<td>Turns existing structured data into a functional, query-ready interface</td>
<td>Focuses on simplifying how crawlers process and prioritize content</td>
</tr>
</tbody>
</table>
<p data-start="8749" data-end="8834">In short, <strong data-start="8759" data-end="8771">llms.txt</strong> helps systems <em data-start="8786" data-end="8792">find</em> content; <strong data-start="8802" data-end="8811">NLWeb</strong> helps them <em data-start="8823" data-end="8828">use</em> it.</p>
<p data-start="8836" data-end="9005">For marketers and SEO teams, that difference is massive. The future favors dynamic data that supports reasoning and transaction, not static directories that list links.</p>
<h2 data-start="9012" data-end="9062">The Strategic Imperative: Audit Your Schema Now</h2>
<p data-start="9064" data-end="9150">The most actionable takeaway from NLWeb’s framework is this: <strong data-start="9125" data-end="9147">schema is your API</strong>.</p>
<p data-start="9152" data-end="9267">Whether or not you deploy NLWeb directly, the principles behind it set the new technical baseline for visibility.</p>
<h3 data-start="9269" data-end="9312">Key Steps for SEO and Development Teams</h3>
<ul data-start="9314" data-end="9986">
<li data-start="9314" data-end="9438">
<p data-start="9316" data-end="9438"><strong data-start="9316" data-end="9344">Run a Full Schema Audit:</strong> Validate your JSON-LD using tools like Google’s Rich Results Test and Schema.org Validator.</p>
</li>
<li data-start="9439" data-end="9567">
<p data-start="9441" data-end="9567"><strong data-start="9441" data-end="9481">Prioritize Entity Interconnectivity:</strong> Every person, product, or organization should connect logically within your schema.</p>
</li>
<li data-start="9568" data-end="9706">
<p data-start="9570" data-end="9706"><strong data-start="9570" data-end="9603">Use <code data-start="9576" data-end="9584">sameAs</code> Links Liberally:</strong> Link entities to verified external profiles, Wikipedia, LinkedIn, Crunchbase, or official websites.</p>
</li>
<li data-start="9707" data-end="9824">
<p data-start="9709" data-end="9824"><strong data-start="9709" data-end="9746">Adopt Version Control for Schema:</strong> Treat your structured data like code. Track changes and ensure consistency.</p>
</li>
<li data-start="9825" data-end="9986">
<p data-start="9827" data-end="9986"><strong data-start="9827" data-end="9863">Test for Conversational Queries:</strong> Simulate how an agent might ask questions about your site’s content. Adjust schema until answers are contextually correct.</p>
</li>
</ul>
<p data-start="9988" data-end="10127">High-quality schema doesn’t just help search rankings. It prepares your content for interaction, which is the next frontier of visibility.</p>
<h2 data-start="10134" data-end="10182">Why NLWeb Future-Proofs Your Digital Strategy</h2>
<p data-start="10184" data-end="10259">For now, NLWeb is still an emerging standard. But its potential is clear.</p>
<p data-start="10261" data-end="10399">By turning websites into <strong data-start="10286" data-end="10309">queryable endpoints</strong>, it bridges the gap between static content and interactive data. This allows brands to:</p>
<ul data-start="10401" data-end="10600">
<li data-start="10401" data-end="10465">
<p data-start="10403" data-end="10465">Extend their schema investment into new forms of interaction</p>
</li>
<li data-start="10466" data-end="10526">
<p data-start="10468" data-end="10526">Reduce friction by providing direct, intelligent answers</p>
</li>
<li data-start="10527" data-end="10600">
<p data-start="10529" data-end="10600">Strengthen long-term brand authority as a structured knowledge source</p>
</li>
</ul>
<p data-start="10602" data-end="10768">This isn’t about chasing the next SEO trend. It’s about ensuring your digital presence remains accessible to both people and machines in a rapidly changing ecosystem.</p>
<p data-start="10770" data-end="10887">The organizations that win in the next five years will be those that treat schema as infrastructure, not decoration.</p>
<p>The post <a href="https://www.webstuff.com/nlweb-how-microsofts-open-protocol-can-turn-schema-into-an-engine-of-ai-visibility/">NLWeb: How Microsoft’s Open Protocol Can Turn Schema into an Engine of AI Visibility</a> appeared first on <a href="https://www.webstuff.com">WebStuff</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Segmenting Events by Landing Page in Google Analytics 4</title>
		<link>https://www.webstuff.com/segmenting-events-by-landing-page-in-google-analytics-4/</link>
		
		<dc:creator><![CDATA[Joe Davis]]></dc:creator>
		<pubDate>Tue, 27 Aug 2024 20:56:17 +0000</pubDate>
				<category><![CDATA[Google Analytics 4]]></category>
		<guid isPermaLink="false">https://www.webstuff.com/?p=1579</guid>

					<description><![CDATA[<p>1. Create a Custom Dimension: Navigate: Go to your GA4 property, click on &#8220;Configure&#8221; &#62; &#8220;Dimensions&#8221;. Create: Click on &#8220;Create Dimension&#8221;. Name: Give your dimension a meaningful name, like &#8220;Landing Page&#8221;. Event: Choose the event parameter that represents the landing page URL. This is typically &#8220;page_path&#8221; or &#8220;page_title&#8221;. Save: Click &#8220;Create&#8221;. 2. Create a Segment:</p>
<p>The post <a href="https://www.webstuff.com/segmenting-events-by-landing-page-in-google-analytics-4/">Segmenting Events by Landing Page in Google Analytics 4</a> appeared first on <a href="https://www.webstuff.com">WebStuff</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h3 class="" data-sourcepos="7:1-7:37">1. <strong>Create a Custom Dimension:</strong></h3>
<ul data-sourcepos="8:4-10:3">
<li data-sourcepos="8:4-8:80"><strong>Navigate:</strong> Go to your GA4 property, click on &#8220;Configure&#8221; &gt; &#8220;Dimensions&#8221;.</li>
<li data-sourcepos="9:4-10:3"><strong>Create:</strong> Click on &#8220;Create Dimension&#8221;.</li>
<li data-sourcepos="10:4-10:74"><strong>Name:</strong> Give your dimension a meaningful name, like &#8220;Landing Page&#8221;.</li>
<li data-sourcepos="11:4-11:80"><strong>Event:</strong> Choose the event parameter that represents the landing page URL. This is typically &#8220;page_path&#8221; or &#8220;page_title&#8221;.</li>
<li data-sourcepos="12:4-13:0"><strong>Save:</strong> Click &#8220;Create&#8221;.</li>
</ul>
<h3 class="" data-sourcepos="14:1-14:28">2. <strong>Create a Segment:</strong></h3>
<ul data-sourcepos="15:4-19:26">
<li data-sourcepos="15:4-15:63"><strong>Navigate:</strong> Go to &#8220;Explore&#8221; and start a new exploration.</li>
<li data-sourcepos="16:4-16:73"><strong>Create Segment:</strong> Click on the &#8220;+&#8221; icon in the &#8220;Variables&#8221; column.</li>
<li data-sourcepos="17:4-17:45"><strong>Choose Segment Type:</strong> Select &#8220;Event&#8221;.</li>
<li data-sourcepos="18:4-18:220"><strong>Define Conditions:</strong> Add a condition using the custom dimension you just created. For example, you could filter for events where the &#8220;Landing Page&#8221; dimension equals a specific URL or contains a particular keyword.</li>
<li data-sourcepos="19:4-19:26"><strong>Save:</strong> Click &#8220;Save and Apply&#8221;.</li>
</ul>
<h3 class="" data-sourcepos="21:1-21:29">3. <strong>Analyze Your Data:</strong></h3>
<ul data-sourcepos="22:4-23:0">
<li data-sourcepos="22:4-23:0"><strong>Explore:</strong> Use the segment you&#8217;ve created to analyze your event data. You can visualize various metrics like event counts, user counts, or average session duration for events that occurred on specific landing pages.</li>
</ul>
<p data-sourcepos="24:1-24:20"><strong>Example Segment:</strong></p>
<ul data-sourcepos="25:1-28:0">
<li data-sourcepos="25:1-25:51"><strong>Segment Name:</strong> &#8220;Landing Page: Homepage Events&#8221;</li>
<li data-sourcepos="26:1-28:0"><strong>Conditions:</strong>
<ul data-sourcepos="27:3-28:0">
<li data-sourcepos="27:3-28:0">&#8220;Landing Page&#8221; equals &#8220;/homepage&#8221;</li>
</ul>
</li>
</ul>
<p data-sourcepos="29:1-29:20"><strong>Additional Tips:</strong></p>
<ul data-sourcepos="30:1-30:162">
<li data-sourcepos="30:1-30:162"><strong>Dimension Scoping:</strong> Consider using a &#8220;Session-scoped&#8221; dimension for the &#8220;Landing Page&#8221; if you want to track the landing page for all events within a session.</li>
<li data-sourcepos="31:1-32:0"><strong>Event Filtering:</strong> You can combine your landing page segment with other event filters to further refine your analysis. For instance, you could filter for events that occurred within a specific time frame or by user properties.</li>
</ul>
<p data-sourcepos="33:1-33:189">By following these steps, you can effectively segment your events by landing page and gain valuable insights into how visitors interact with your website based on their initial entry point.</p>
<p>The post <a href="https://www.webstuff.com/segmenting-events-by-landing-page-in-google-analytics-4/">Segmenting Events by Landing Page in Google Analytics 4</a> appeared first on <a href="https://www.webstuff.com">WebStuff</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Entity SEO: A Detailed Explanation</title>
		<link>https://www.webstuff.com/entity-seo-a-detailed-explanation/</link>
		
		<dc:creator><![CDATA[Joe Davis]]></dc:creator>
		<pubDate>Tue, 27 Aug 2024 19:36:45 +0000</pubDate>
				<category><![CDATA[SEO]]></category>
		<guid isPermaLink="false">https://www.webstuff.com/?p=1574</guid>

					<description><![CDATA[<p>Entity SEO focuses on optimizing content and websites around specific &#8220;entities&#8221; rather than just keywords. An entity, in SEO terms, is a uniquely identifiable concept or thing. This could be a person, place, product, organization, or even an abstract concept that search engines recognize as distinct. Search engines like Google use entities to understand the</p>
<p>The post <a href="https://www.webstuff.com/entity-seo-a-detailed-explanation/">Entity SEO: A Detailed Explanation</a> appeared first on <a href="https://www.webstuff.com">WebStuff</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Entity SEO focuses on optimizing content and websites around specific &#8220;entities&#8221; rather than just keywords. An entity, in SEO terms, is a uniquely identifiable concept or thing. This could be a person, place, product, organization, or even an abstract concept that search engines recognize as distinct. Search engines like Google use entities to understand the context and relationships within the content, which allows them to provide more accurate and relevant search results.</p>
<h3>1. <strong>Understanding Entities:</strong></h3>
<ul>
<li><strong>Entities vs. Keywords:</strong> Traditional SEO often revolves around keywords. While keywords are still important, entity SEO takes a broader approach by focusing on the context in which those keywords are used. Entities help search engines disambiguate meanings and provide users with the most relevant content based on their search intent.</li>
<li><strong>Entity Recognition:</strong> Search engines identify entities by analyzing structured data, knowledge graphs, and semantic relationships within content. For example, &#8220;Apple&#8221; as a fruit and &#8220;Apple&#8221; as a technology company are two distinct entities.</li>
</ul>
<h3>2. <strong>How Entities Influence SEO:</strong></h3>
<ul>
<li><strong>Knowledge Graph:</strong> Google’s Knowledge Graph is a prime example of entity-based understanding. It connects entities in a web of relationships, which allows Google to display rich snippets, knowledge panels, and answer boxes. These elements are driven by entity data.</li>
<li><strong>E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness):</strong> Entities are often associated with E-E-A-T signals. A well-established entity that demonstrates strong Experience, Expertise, Authoritativeness, and Trustworthiness can significantly enhance content visibility, particularly in competitive niches. By focusing on these qualities, an entity can build a robust reputation, making it more likely for search engines to rank its content higher and display it in prominent positions like rich snippets and knowledge panels.</li>
<li><strong>Semantic Search:</strong> Search engines now focus on understanding the meaning behind queries, not just matching keywords. Entity SEO leverages this by ensuring that content provides clear, accurate, and well-linked information about recognized entities.</li>
</ul>
<h3>3. <strong>Optimizing for Entity SEO:</strong></h3>
<ul>
<li><strong>Structured Data:</strong> Using schema markup to provide search engines with detailed information about the entities on your website is crucial. This can include person schema, organization schema, product schema, etc.</li>
<li><strong>Content Quality:</strong> Create in-depth, accurate, and authoritative content that clearly outlines the relationships between entities. This can involve linking out to authoritative sources, using clear definitions, and ensuring the content answers common questions related to the entity.</li>
<li><strong>Building Entity Presence:</strong> Establishing your brand or website as a recognized entity can involve creating a strong online presence across various platforms, getting mentioned in authoritative sources, and ensuring consistent information across all online properties (e.g., Google My Business, social profiles).</li>
</ul>
<h3>4. <strong>Quora’s Relevance in Entity SEO:</strong></h3>
<ul>
<li><strong>Quora as a Platform:</strong> Quora is a question-and-answer platform where users can ask questions and provide answers on a wide range of topics. Each topic or question on Quora can be associated with specific entities.</li>
<li><strong>Entity Recognition:</strong> Quora content is often recognized by search engines as relevant to specific entities, especially when the questions and answers are focused and detailed. For instance, a question about &#8220;Steve Jobs&#8221; is clearly tied to the entity &#8220;Steve Jobs.&#8221;</li>
<li><strong>User-Generated Content:</strong> The platform generates a vast amount of user-generated content, which search engines often index. When users answer questions with high-quality, entity-focused content, it can help improve the visibility of those entities in search results.</li>
<li><strong>Backlinking and Authority:</strong> Quora allows users to link to external content, which can drive traffic and authority to your website. When these links are associated with a recognized entity, they can contribute to your site’s entity SEO efforts.</li>
<li><strong>Traffic and Visibility:</strong> By answering questions related to your entity on Quora, you can increase visibility, drive traffic to your website, and establish your expertise in the subject matter.</li>
</ul>
<h3>5. <strong>Using Quora in Entity SEO Strategy:</strong></h3>
<ul>
<li><strong>Identifying Relevant Questions:</strong> Search for questions on Quora that relate to your entity or niche. Focus on answering these questions with detailed, valuable content that positions you or your brand as an authority on the subject.</li>
<li><strong>Answer Optimization:</strong> Include structured data, entity-specific keywords, and links back to your website in your Quora answers. This not only drives traffic but also helps reinforce your entity’s presence across the web.</li>
<li><strong>Building Backlinks:</strong> Use Quora to build high-quality backlinks to your website by linking to relevant content in your answers. This helps in associating your website with the entity and improving your site’s authority.</li>
<li><strong>Monitoring and Engagement:</strong> Regularly monitor Quora for new questions related to your entity and engage with the community by providing up-to-date and accurate answers. This ongoing effort can help solidify your entity’s reputation and influence search engine rankings.</li>
</ul>
<p><b>E</b>ntity SEO represents a shift from keyword-centric strategies to a more holistic approach that focuses on the context and relationships between entities. Quora, as a content-rich platform, plays a significant role in entity SEO by allowing you to engage with topics and entities, build backlinks, and enhance your entity’s online presence. By leveraging Quora effectively, you can reinforce your entity’s authority and visibility in search engine results.</p>
<p>The post <a href="https://www.webstuff.com/entity-seo-a-detailed-explanation/">Entity SEO: A Detailed Explanation</a> appeared first on <a href="https://www.webstuff.com">WebStuff</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Anchor Text Distribution for Backlinks</title>
		<link>https://www.webstuff.com/anchor-text-distribution-for-backlinks/</link>
		
		<dc:creator><![CDATA[Joe Davis]]></dc:creator>
		<pubDate>Mon, 26 Aug 2024 20:09:29 +0000</pubDate>
				<category><![CDATA[SEO]]></category>
		<guid isPermaLink="false">https://www.webstuff.com/?p=1511</guid>

					<description><![CDATA[<p>Backlinks remain one of the most critical factors for determining a website&#8217;s authority and ranking on search engine results pages (SERPs). However, not all backlinks are created equal. The text used to link to your website, known as anchor text, plays a pivotal role in how search engines perceive the relevance and quality of these</p>
<p>The post <a href="https://www.webstuff.com/anchor-text-distribution-for-backlinks/">Anchor Text Distribution for Backlinks</a> appeared first on <a href="https://www.webstuff.com">WebStuff</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Backlinks remain one of the most critical factors for determining a website&#8217;s authority and ranking on search engine results pages (SERPs). However, not all backlinks are created equal. The text used to link to your website, known as anchor text, plays a pivotal role in how search engines perceive the relevance and quality of these backlinks. This article will delve into the importance of anchor text distribution for backlinks, offering actionable insights on how to optimize this aspect of your SEO strategy.</p>
<h4>What is Anchor Text?</h4>
<p>Anchor text is the visible, clickable text in a hyperlink. For example, in the phrase &#8220;click here for more information,&#8221; the words &#8220;click here&#8221; are the anchor text. This text helps search engines understand the context and content of the page being linked to, making it a vital component of your backlink profile.</p>
<h4>Types of Anchor Text</h4>
<p>While discussing anchor text distribution, it&#8217;s essential to understand the different types of anchor text:</p>
<ol>
<li><strong>Exact Match</strong>: This type of anchor text matches exactly the keyword you’re trying to rank for. For instance, if you&#8217;re targeting the keyword &#8220;SEO services,&#8221; an exact match anchor text would be &#8220;SEO services.&#8221; It’s recommended to keep exact match anchor text to around <strong>5-10%</strong> of your total anchor texts to avoid over-optimization.</li>
<li><strong>Partial Match</strong>: A partial match anchor text includes the target keyword but also has other words. An example would be &#8220;best SEO services in New York.&#8221; Aim to have partial match anchor texts make up approximately <strong>20-30%</strong> of your overall anchor text distribution to maintain relevance while diversifying your profile.</li>
<li><strong>Branded</strong>: Branded anchor text uses your brand name as the link text, such as &#8220;WebStuff®.&#8221; Ideally, branded anchor texts should constitute <strong>30-40%</strong> of your anchor text profile, helping to reinforce brand authority while appearing natural.</li>
<li><strong>Naked URL</strong>: A naked URL is simply the URL itself, such as &#8220;https://yourwebsite.com.&#8221; Naked URLs can be used for about <strong>10-20%</strong> of your backlinks, contributing to a natural link profile.</li>
<li><strong>Generic</strong>: Generic anchor texts are non-descriptive, like &#8220;click here&#8221; or &#8220;learn more.&#8221; These should account for roughly <strong>10-15%</strong> of your anchor text distribution, as they are a common and natural part of most backlink profiles.</li>
<li><strong>Long-tail</strong>: These are longer phrases that include multiple words, often descriptive, like &#8220;how to optimize your anchor text distribution.&#8221; Long-tail anchor texts should comprise about <strong>5-10%</strong> of your profile, adding depth and specificity to your link profile.</li>
<li><strong>Image Links</strong>: If an image is used as a link, the alt text of the image serves as the anchor text. These should be used judiciously and can make up <strong>1-5%</strong> of your anchor text distribution, depending on the visual content strategy of your site.</li>
</ol>
<h4>Why Anchor Text Distribution Matters</h4>
<p>Anchor text distribution refers to the mix and balance of different types of anchor text used in the backlinks pointing to your site. A well-optimized anchor text distribution is crucial for several reasons:</p>
<ol>
<li><strong>Avoiding Over-Optimization</strong>: If too many of your backlinks use exact match anchor text, it can raise red flags with search engines, leading to penalties for over-optimization. Google’s Penguin algorithm update specifically targets this kind of manipulation.</li>
<li><strong>Enhancing Relevance</strong>: Proper anchor text distribution helps search engines understand the context of your content. For example, a mix of partial match and branded anchor texts can signal that your site is relevant for specific topics while maintaining a strong brand identity.</li>
<li><strong>Building Natural Link Profiles</strong>: A natural backlink profile typically includes a variety of anchor text types. A skewed distribution, such as an over-reliance on generic anchor texts or naked URLs, might indicate a lack of strategic link-building, which can affect your site&#8217;s credibility.</li>
</ol>
<h4>Best Practices for Anchor Text Distribution</h4>
<p>Achieving the right balance in anchor text distribution is more art than science, but the following best practices can guide your strategy:</p>
<ol>
<li><strong>Prioritize Branded Anchor Text</strong>: Your brand should be the most frequent anchor text in your backlink profile. This not only reinforces your brand name but also appears natural to search engines.</li>
<li><strong>Use Exact Match Sparingly</strong>: While exact match anchor text can be powerful, it should be used sparingly to avoid over-optimization. Aim for a natural occurrence, typically not exceeding 5-10% of your total anchor texts.</li>
<li><strong>Diversify with Partial Match and Long-Tail Anchors</strong>: Incorporating partial match and long-tail anchor texts helps diversify your link profile while still targeting relevant keywords. These should make up a significant portion of your anchor text distribution.</li>
<li><strong>Include Naked URLs and Generic Anchors</strong>: Naked URLs and generic anchors are often a natural part of a backlink profile. These can account for 15-30% of your anchor text distribution.</li>
<li><strong>Consider Contextual Relevance</strong>: Always ensure that the anchor text is contextually relevant to the content it’s linking to. Irrelevant or misleading anchor text can lead to poor user experience and penalties.</li>
<li><strong>Monitor and Adjust</strong>: Regularly audit your backlink profile to ensure a balanced anchor text distribution. Tools like Ahrefs, SEMrush, and Moz can provide insights into your current distribution, allowing you to make data-driven adjustments.</li>
</ol>
<h4>Common Mistakes to Avoid</h4>
<p>Even with a strategic approach, there are common pitfalls to watch out for when managing anchor text distribution:</p>
<ol>
<li><strong>Overuse of Exact Match</strong>: As mentioned earlier, relying too heavily on exact match anchor text can lead to penalties. Aim for diversity in your anchor texts.</li>
<li><strong>Ignoring Branded Anchors</strong>: Some website owners focus so much on keyword-rich anchors that they neglect branded anchors. This can make your backlink profile appear unnatural.</li>
<li><strong>Inconsistent Monitoring</strong>: SEO is not a set-it-and-forget-it strategy. Regularly reviewing your anchor text distribution is essential to adapting to algorithm changes and maintaining a healthy backlink profile.</li>
</ol>
<h4>The Impact of Poor Anchor Text Distribution</h4>
<p>A poorly managed anchor text distribution can have several negative consequences:</p>
<ol>
<li><strong>Algorithmic Penalties</strong>: As search engines become more sophisticated, they can detect unnatural link patterns. An imbalanced anchor text distribution is a common trigger for penalties under algorithms like Google Penguin.</li>
<li><strong>Reduced Relevance</strong>: If your anchor texts don’t accurately represent the content they link to, it can confuse search engines about your site&#8217;s relevance, leading to lower rankings.</li>
<li><strong>Diminished User Experience</strong>: Irrelevant or misleading anchor text can result in poor user experience, increasing bounce rates and reducing the effectiveness of your SEO efforts.</li>
</ol>
<h4>Achieving a Balanced Anchor Text Distribution</h4>
<p>Anchor text distribution is a critical aspect of your SEO strategy that requires careful planning and regular monitoring. By prioritizing branded anchors, using exact match sparingly, diversifying with partial match and long-tail anchors, and maintaining a natural and contextually relevant link profile, you can enhance your site&#8217;s authority and relevance in the eyes of search engines. Remember, a balanced anchor text distribution is key to building a sustainable and effective SEO strategy that stands the test of time.</p>
<p>The post <a href="https://www.webstuff.com/anchor-text-distribution-for-backlinks/">Anchor Text Distribution for Backlinks</a> appeared first on <a href="https://www.webstuff.com">WebStuff</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Author Pages on News Websites: Index or Noindex?</title>
		<link>https://www.webstuff.com/author-pages-on-news-websites-index-or-noindex/</link>
		
		<dc:creator><![CDATA[Joe Davis]]></dc:creator>
		<pubDate>Sun, 16 Jun 2024 18:41:32 +0000</pubDate>
				<category><![CDATA[News Sites]]></category>
		<category><![CDATA[SEO]]></category>
		<guid isPermaLink="false">https://www.webstuff.com/?p=1490</guid>

					<description><![CDATA[<p>Should Author Pages on News Websites Be Set to Index or Noindex? When it comes to author pages on news websites, the decision to set them to index or noindex depends on your specific goals and circumstances. If your primary objective is to improve the visibility and discoverability of individual authors and their content, setting</p>
<p>The post <a href="https://www.webstuff.com/author-pages-on-news-websites-index-or-noindex/">Author Pages on News Websites: Index or Noindex?</a> appeared first on <a href="https://www.webstuff.com">WebStuff</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Should Author Pages on News Websites Be Set to Index or Noindex?</strong></p>
<p><span id="wpaicg-chat-message-11985" class="wpaicg-chat-message">When it comes to author pages on news websites, the decision to set them to index or noindex depends on your specific goals and circumstances.</span></p>
<p>If your primary objective is to improve the visibility and discoverability of individual authors and their content, setting author pages to index can be beneficial. This allows search engines to crawl and index these pages, making them more likely to appear in search results. It can also help establish author authority and contribute to overall website authority.</p>
<p>On the other hand, if your focus is on the main news content and you don&#8217;t want author pages to compete with or dilute the visibility of your core content, setting them to noindex may be a suitable option. This prevents search engines from indexing these pages, directing their attention solely to the main news articles.</p>
<p>The post <a href="https://www.webstuff.com/author-pages-on-news-websites-index-or-noindex/">Author Pages on News Websites: Index or Noindex?</a> appeared first on <a href="https://www.webstuff.com">WebStuff</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
