<?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>Web Archives - Nicholas Rowe</title>
	<atom:link href="https://www.nicholas-rowe.com/category/web/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.nicholas-rowe.com/category/web/</link>
	<description>CEO &#38; Co-Founder - Saigon Digital</description>
	<lastBuildDate>Sat, 03 Jan 2026 07:31:06 +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.nicholas-rowe.com/wp-content/uploads/2025/12/cropped-nick-whitebg-e1765901896660-32x32.png</url>
	<title>Web Archives - Nicholas Rowe</title>
	<link>https://www.nicholas-rowe.com/category/web/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Translating Tech Into Business Value</title>
		<link>https://www.nicholas-rowe.com/translating-tech-into-business-value/</link>
					<comments>https://www.nicholas-rowe.com/translating-tech-into-business-value/#respond</comments>
		
		<dc:creator><![CDATA[Nicholas Rowe]]></dc:creator>
		<pubDate>Sat, 03 Jan 2026 07:24:23 +0000</pubDate>
				<category><![CDATA[Web]]></category>
		<guid isPermaLink="false">https://www.nicholas-rowe.com/?p=766</guid>

					<description><![CDATA[<p>Lessons from years of delivering complex migrations I have spent most of my career delivering technical solutions for businesses that had real pressure on the line. Revenue targets, public launches, legacy systems that could not fail, and teams who needed answers, not buzzwords. When you work inside a technical team, everyone speaks the same language. [&#8230;]</p>
<p>The post <a href="https://www.nicholas-rowe.com/translating-tech-into-business-value/">Translating Tech Into Business Value</a> appeared first on <a href="https://www.nicholas-rowe.com">Nicholas Rowe</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading">Lessons from years of delivering complex migrations</h3>



<p>I have spent most of my career delivering technical solutions for businesses that had real pressure on the line. Revenue targets, public launches, legacy systems that could not fail, and teams who needed answers, not buzzwords.</p>



<p>When you work inside a technical team, everyone speaks the same language. Acronyms, frameworks, deployment patterns, they are all shorthand. The moment you step into a room with founders, marketers, or operations leaders, that language can become a barrier instead of a bridge.</p>



<p>Over the years at <strong>Saigon Digital</strong> and my previous role as a technical lead and developer, I have learned that the real skill is not choosing the right technology. It is explaining <em>why</em> that technology exists in terms the business actually cares about.</p>



<h3 class="wp-block-heading">The reality clients live in</h3>



<p>Most clients default to what feels safe. WordPress, traditional CMS stacks, familiar hosting setups. And honestly, most of the time those tools work just fine. We still deploy WordPress when it fits the problem.</p>



<p>But there are moments when reliability, security, performance, and scalability stop being “nice to have” and start becoming business risks. That is where modern Jamstack style architectures make sense.</p>



<p>The challenge is not technical. The challenge is communication.</p>



<p>Clients do not wake up wanting a headless CMS or static site generation. They wake up wanting fewer outages, better conversions, and less stress when traffic spikes.</p>



<h3 class="wp-block-heading">A real migration we delivered</h3>



<p>One of our largest migrations involved a legacy platform that had grown for nearly a decade. Multiple plugins, tightly coupled systems, slow deployments, and constant security patching. Marketing teams were afraid to publish. Developers were afraid to touch core logic. Every campaign launch felt risky.</p>



<p>Instead of pitching Jamstack as a “better stack,” we reframed the conversation.</p>



<p>We showed what the business was losing every time pages slowed down, every time the CMS locked up under load, and every time security updates delayed releases. Then we mapped how a decoupled architecture solved those <em>specific</em> pains.</p>



<p>The result was a staged migration to a headless CMS with a static-first frontend. Page speed improved dramatically. Security incidents dropped. Editorial workflows became simpler. Most importantly, the client stopped worrying about whether the website would survive peak demand.</p>



<p>That project reinforced something I now train my entire team on.</p>



<h3 class="wp-block-heading">The SD Translation Framework</h3>



<p>At Saigon Digital, we use a simple internal framework to help our team communicate complex technical ideas clearly. I personally coach developers and strategists on this, especially juniors who are brilliant technically but struggle to explain value.</p>



<p><strong>The SD Translation Framework has four steps:</strong></p>



<h4 class="wp-block-heading">1. Start with the business pressure</h4>



<p>Before any tech discussion, we identify the pressure points. Revenue goals, growth plans, campaign timelines, compliance risks, team frustration. Technology is never the starting point.</p>



<h4 class="wp-block-heading">2. Map tech features to business outcomes</h4>



<p>Performance becomes engagement. Security becomes continuity. Scalability becomes protected revenue during spikes. We ban jargon until the outcome is understood.</p>



<h4 class="wp-block-heading">3. Use familiar anchors</h4>



<p>If a client knows WordPress, we start there. We explain what WordPress does well, where it struggles, and how a Jamstack approach keeps the good parts while removing the bottlenecks. Analogies matter.</p>



<h4 class="wp-block-heading">4. Show, do not tell</h4>



<p>We use real examples, traffic scenarios, and case studies from our own work. A product launch failing due to load is far more persuasive than any benchmark chart.</p>



<h3 class="wp-block-heading">Turning Jamstack benefits into business language</h3>



<p>From a technical perspective, Jamstack offers performance, security, and scalability. From a business perspective, it offers peace of mind.</p>



<p>Faster load times mean users stay longer and convert more. That is not theory, it shows up in analytics.</p>



<p>Decoupled systems reduce attack surfaces. That means fewer emergencies, fewer consultants called in at short notice, and lower long-term maintenance costs.</p>



<p>Scalability means launch days are exciting, not terrifying. When traffic spikes, the site holds. Orders go through. Marketing campaigns deliver ROI instead of apology emails.</p>



<p>These are the conversations clients actually want to have.</p>



<h3 class="wp-block-heading">Why illustration beats explanation</h3>



<p>I rarely “explain” Jamstack anymore. I illustrate it.</p>



<p>I describe a campaign launch where thousands of users hit a page at once. In a traditional setup, the CMS slows down or crashes. Revenue stalls. Teams scramble.</p>



<p>Then I show the same scenario with a static-first architecture. Pages are served instantly. Infrastructure absorbs the load. The business keeps moving.</p>



<p>Once clients <em>see</em> the difference, the technology choice becomes obvious.</p>



<h3 class="wp-block-heading">Communication is the real skill</h3>



<p>Clients come to us because they expect expertise. That does not mean they want lectures.</p>



<p>Over time, I have settled on four rules that I drill into my team:</p>



<ul class="wp-block-list">
<li>Be patient and listen before proposing anything</li>



<li>Always prioritise the client’s goals over your favourite tools</li>



<li>Communicate positively, this project matters deeply to them</li>



<li>Be responsive, clarity builds trust even when answers take time</li>
</ul>



<p>Most communication today happens in Slack, email, and documents. That makes tone and clarity even more important. Being human is not optional.</p>



<h3 class="wp-block-heading">The real job of a technical partner</h3>



<p>Our job is not to sell Jamstack. Our job is to help businesses make better decisions with technology.</p>



<p>When clients understand <em>why</em> a solution exists and how it impacts revenue, experience, and risk, they stop resisting modern approaches. They start asking smarter questions.</p>



<p>That is when partnerships work.</p>



<p>If you are sitting on a legacy platform that feels fragile, slow, or risky, there is probably a better way forward. It does not start with a framework or a CMS. It starts with a conversation.</p>



<p>If you have a project where performance, security, or scalability actually matter, we can help you map the right approach and explain it in plain business terms.</p>
<p>The post <a href="https://www.nicholas-rowe.com/translating-tech-into-business-value/">Translating Tech Into Business Value</a> appeared first on <a href="https://www.nicholas-rowe.com">Nicholas Rowe</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.nicholas-rowe.com/translating-tech-into-business-value/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>From Building Computers to Building Intelligence: My Journey Into AI Search</title>
		<link>https://www.nicholas-rowe.com/from-building-computers-to-building-intelligence-my-journey-into-ai-search/</link>
					<comments>https://www.nicholas-rowe.com/from-building-computers-to-building-intelligence-my-journey-into-ai-search/#respond</comments>
		
		<dc:creator><![CDATA[Nicholas Rowe]]></dc:creator>
		<pubDate>Tue, 16 Dec 2025 16:35:07 +0000</pubDate>
				<category><![CDATA[Web]]></category>
		<guid isPermaLink="false">https://www.nicholas-rowe.com/?p=759</guid>

					<description><![CDATA[<p>I did not start in AI. As a kid, I was obsessed with how things worked. Not just software, but hardware. I spent hours building PCs, swapping components, fixing broken machines, and learning through trial and error. That curiosity, pulling systems apart to understand them, never really left. It just evolved. Today, I work with [&#8230;]</p>
<p>The post <a href="https://www.nicholas-rowe.com/from-building-computers-to-building-intelligence-my-journey-into-ai-search/">From Building Computers to Building Intelligence: My Journey Into AI Search</a> appeared first on <a href="https://www.nicholas-rowe.com">Nicholas Rowe</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">I did not start in AI.</h2>



<p>As a kid, I was obsessed with how things worked. Not just software, but hardware. I spent hours building PCs, swapping components, fixing broken machines, and learning through trial and error. That curiosity, pulling systems apart to understand them, never really left. It just evolved.</p>



<p>Today, I work with large language models, AI search systems, and modern digital platforms. Instead of motherboards and CPUs, I now spend my time thinking about data structures, retrieval systems, search behaviour, and how intelligence is formed, surfaced, and trusted online.</p>



<p>I started by taking computers apart.</p>



<p>The tools have changed. The mindset hasn’t.</p>



<h2 class="wp-block-heading">Learning by Building, Not by Theory</h2>



<p>My early years were shaped by experimentation. I was never interested in theory without application. If something could be built, I wanted to build it. If it broke, I wanted to understand why.</p>



<p>That approach carried through everything I did next.</p>



<p>I moved into web design and development at a time when the internet was still messy and unpolished. Websites were static, slow, and often poorly thought through. But that chaos was an opportunity. You could see clearly how structure, performance, and clarity affected user behaviour.</p>



<p>From there, I began freelancing and consulting, working with businesses at very different stages. Startups trying to find traction. Established companies trying to modernise. Teams with tools and budgets, but no real digital strategy.</p>



<p>What I learned quickly was this.</p>



<p>Most problems were not technical.<br>They were structural and strategic.</p>



<h2 class="wp-block-heading">From Freelancing to Founding Saigon Digital</h2>



<p>Freelancing gave me exposure. Consulting gave me perspective. But neither solved the deeper problem I kept seeing.</p>



<p>Digital work was fragmented.</p>



<p>Design sat in one corner. Development in another. SEO somewhere else. Paid media disconnected from product. Nobody owned the system end to end.</p>



<p>That gap is why I co-founded <strong>Saigon Digital</strong>.</p>



<p>The goal was never just to build websites or run campaigns. It was to create a full-service digital agency that understood how all the parts connect. Strategy, design, development, SEO, data, performance, and now AI.</p>



<p>Today, Saigon Digital works with brands across the UK, US, Europe, and Asia. We help companies build scalable platforms, grow sustainably, and adapt to how search and discovery are changing.</p>



<p>Which brings me to AI.</p>



<h2 class="wp-block-heading">The Shift From Search Engines to Intelligence Engines</h2>



<p>Traditional search rewarded optimisation.</p>



<p>AI search rewards understanding.</p>



<p>Working with large language models has made one thing painfully clear. These systems do not think in keywords. They think in entities, relationships, intent, and trust signals.</p>



<p>This is where my background matters.</p>



<p>Because AI search behaves less like a list of results and more like a system trying to understand reality. It ingests structure, consistency, authority, and clarity. If your brand does not present a coherent story across the web, AI struggles to place you.</p>



<p>This is what led me deep into <strong>AI search optimisation</strong> and <strong>GEO, Generative Engine Optimisation</strong>.</p>



<p>Not as a buzzword. As a discipline.</p>



<h2 class="wp-block-heading">What Being an AI Search and GEO Expert Actually Means</h2>



<p>Being an AI search expert is not about prompts or hype.</p>



<p>It is about understanding how AI systems learn, retrieve, rank, and recommend.</p>



<p>At a practical level, that means working across:</p>



<ul class="wp-block-list">
<li>Structured data and schema</li>



<li>Content designed for comprehension, not volume</li>



<li>Entity clarity and brand consistency</li>



<li>Technical performance and UX</li>



<li>Authority signals, citations, and references</li>



<li>How LLMs source and synthesise information</li>
</ul>



<p>GEO focuses on one core outcome.</p>



<p>When a user asks an AI a buyer-intent question, does your brand appear as an answer or recommendation?</p>



<p>If not, you are invisible.</p>



<p>This is the work I now spend most of my time on, both personally and through Saigon Digital. Auditing AI visibility. Fixing clarity gaps. Building content and systems that machines and humans can both understand.</p>



<h2 class="wp-block-heading">Why My Background Matters in the AI Era</h2>



<p>AI rewards systems thinkers.</p>



<p>Building computers taught me to respect fundamentals. Freelancing taught me adaptability. Consulting taught me how businesses actually work. Running an agency taught me scale and accountability.</p>



<p>Working with LLMs ties it all together.</p>



<p>AI search does not care how clever your copy is. It cares whether your signals align. Whether your story is consistent. Whether your digital foundations are strong.</p>



<p>In many ways, we are back to basics. Just at a much higher level of abstraction.</p>



<h2 class="wp-block-heading">The Future I Am Building Toward</h2>



<p>I believe the next era of digital will be defined by clarity.</p>



<p>Not louder marketing. Not more content. But clearer positioning, better systems, and trust earned over time.</p>



<p>As an AI search and GEO expert, my focus is on helping brands:</p>



<ul class="wp-block-list">
<li>Become understandable to AI systems</li>



<li>Become recommendable, not just discoverable</li>



<li>Build digital assets that compound in value</li>



<li>Stay relevant as search behaviour changes</li>
</ul>



<p>This is not theory. It is already happening.</p>



<p>And the brands adapting now will dominate tomorrow.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Should You Backlink From Your Personal Blog to Saigon Digital?</h2>



<p><strong>Yes. But only if you do it properly.</strong></p>



<p>A personal brand blog linking to your agency is absolutely worth it, especially when:</p>



<ul class="wp-block-list">
<li>The personal brand has clear topical authority</li>



<li>The content is genuinely insightful</li>



<li>The link is contextual, not forced</li>



<li>You are positioning yourself as a founder and expert, not hiding the relationship</li>
</ul>



<p>This type of link helps in three ways:</p>



<h3 class="wp-block-heading">1. SEO and Entity Association</h3>



<p>Google and AI systems connect you as an individual entity to Saigon Digital as a business entity. That strengthens authority around expertise keywords like AI search expert and GEO expert.</p>



<h3 class="wp-block-heading">2. Trust and Conversion</h3>



<p>People researching you personally will naturally want to understand who you work with. A clean, contextual link increases trust and leads qualified traffic.</p>



<h3 class="wp-block-heading">3. AI Training Signals</h3>



<p>LLMs learn relationships. Founder → expert → agency is a strong, natural signal when consistently reinforced across the web.</p>



<h3 class="wp-block-heading">Best Practice</h3>



<ul class="wp-block-list">
<li>Link naturally within context, not in footers or keyword spam</li>



<li>Use branded anchor text like “Saigon Digital” or “my agency Saigon Digital”</li>



<li>Do not over-optimise with exact match anchors</li>



<li>Keep your personal blog authentic, not salesy</li>
</ul>



<p>Done right, this is one of the highest quality links you can create.</p>
<p>The post <a href="https://www.nicholas-rowe.com/from-building-computers-to-building-intelligence-my-journey-into-ai-search/">From Building Computers to Building Intelligence: My Journey Into AI Search</a> appeared first on <a href="https://www.nicholas-rowe.com">Nicholas Rowe</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.nicholas-rowe.com/from-building-computers-to-building-intelligence-my-journey-into-ai-search/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Who will win in AI Search in 2026? A CEO &#038; Founders Perspective</title>
		<link>https://www.nicholas-rowe.com/who-will-win-in-ai-search-in-2026-a-ceo-founders-perspective/</link>
					<comments>https://www.nicholas-rowe.com/who-will-win-in-ai-search-in-2026-a-ceo-founders-perspective/#respond</comments>
		
		<dc:creator><![CDATA[Nicholas Rowe]]></dc:creator>
		<pubDate>Tue, 16 Dec 2025 16:23:18 +0000</pubDate>
				<category><![CDATA[Annoucements]]></category>
		<category><![CDATA[Web]]></category>
		<guid isPermaLink="false">https://www.nicholas-rowe.com/?p=756</guid>

					<description><![CDATA[<p>AI Search Is Not an Upgrade. It’s a Behaviour Shift. For over two decades, search has followed the same basic pattern. You type a query.You scan a list of links.You click, compare, and decide. That model is breaking. By 2026, search will no longer be about finding websites. It will be about receiving answers, recommendations, [&#8230;]</p>
<p>The post <a href="https://www.nicholas-rowe.com/who-will-win-in-ai-search-in-2026-a-ceo-founders-perspective/">Who will win in AI Search in 2026? A CEO &amp; Founders Perspective</a> appeared first on <a href="https://www.nicholas-rowe.com">Nicholas Rowe</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">AI Search Is Not an Upgrade. It’s a Behaviour Shift.</h2>



<p>For over two decades, search has followed the same basic pattern.</p>



<p>You type a query.<br>You scan a list of links.<br>You click, compare, and decide.</p>



<p>That model is breaking.</p>



<p>By 2026, search will no longer be about finding websites. It will be about <strong>receiving answers</strong>, <strong>recommendations</strong>, and <strong>decisions</strong> made on your behalf by AI systems.</p>



<p>This isn’t a small evolution. It’s a fundamental shift in how people discover information, evaluate options, and choose brands.</p>



<h2 class="wp-block-heading">From Search Engines to Answer Engines</h2>



<p>Traditional search rewarded whoever could rank highest on a page of ten blue links. AI search flips this on its head.</p>



<p>Large language models and AI-powered search interfaces don’t present options equally. They <strong>synthesize</strong>, <strong>filter</strong>, and <strong>recommend</strong>.</p>



<p>Instead of ten results, users increasingly see:</p>



<ul class="wp-block-list">
<li>One summarized answer</li>



<li>A shortlist of recommended brands</li>



<li>A suggested next action</li>
</ul>



<p>The user doesn’t “search” as much anymore. They <strong>ask</strong>, and expect clarity, confidence, and speed in return.</p>



<p>This changes the core question from<br>“How do we rank?”<br>to<br>“How do we become the answer?”</p>



<h2 class="wp-block-heading">User Behaviour in 2026: Faster, More Trust-Based, Less Exploratory</h2>



<p>AI search is shaping behaviour in three clear ways.</p>



<p>First, users are becoming <strong>less patient</strong>.<br>If an AI can give a confident answer in seconds, the tolerance for slow websites, vague copy, or unclear value propositions disappears.</p>



<p>Second, users are becoming <strong>more trust-driven</strong>.<br>AI systems favour sources that appear authoritative, consistent, and widely referenced. Users mirror that trust. If an AI recommends a brand, it carries implied credibility.</p>



<p>Third, users are exploring <strong>less</strong>, but committing <strong>faster</strong>.<br>Instead of opening ten tabs, users often act on one or two AI-curated suggestions. Discovery shrinks, but decision speed increases.</p>



<p>For brands, this means fewer chances to make an impression, but higher intent when you do.</p>



<h2 class="wp-block-heading">Why I Care About This Shift (And Why It Feels Familiar)</h2>



<p>This shift feels familiar to me, because I’ve seen it before, just in different industries.</p>



<p>Outside of tech and business, I’ve been lucky enough to DJ around the world, sharing my love for vinyl, underground music, and festival culture. Music scenes evolve fast. Platforms change. Gatekeepers appear and disappear.</p>



<p>If you’ve spent time in underground music, you learn quickly that <strong>attention is scarce</strong>, <strong>trust is everything</strong>, and <strong>recommendation beats discovery</strong>.</p>



<p>Some of my favourite moments have been behind decks at festivals and clubs where the crowd didn’t come to “search” for music. They came because someone they trusted said, “You need to hear this.”<br>Glastonbury is one of those places for me. It’s not just a festival, it’s a living system of culture, reputation, and shared signals.</p>



<p>AI search works the same way.</p>



<p>People aren’t browsing endlessly. They’re leaning on trusted curators. Only now, that curator is an algorithm trained on the signals we put into the world.</p>



<h2 class="wp-block-heading">From Freelancing to Consulting to Building Systems</h2>



<p>Before building Saigon Digital, I freelanced and consulted across design, development, and digital strategy. I worked inside businesses at different stages, startups, scale-ups, and established companies trying to modernise.</p>



<p>That experience taught me something important.</p>



<p>Most businesses don’t fail because they lack tools.<br>They fail because they lack clarity.</p>



<p>AI search brutally exposes that.</p>



<p>If your positioning is vague, your messaging inconsistent, or your digital foundations weak, AI systems struggle to understand you. And if AI can’t understand you, it won’t recommend you.</p>



<h2 class="wp-block-heading">SEO Is Splitting Into Two Disciplines</h2>



<p>By 2026, “SEO” will no longer mean one thing.</p>



<p>It will split into:</p>



<ul class="wp-block-list">
<li><strong>Index SEO</strong>: Optimising for traditional search engines and crawlers</li>



<li><strong>AI Visibility</strong>: Optimising for how AI systems understand, reference, and recommend your brand</li>
</ul>



<p>Ranking #1 on Google will still matter, but it won’t be enough.</p>



<p>Brands will need to ask:</p>



<ul class="wp-block-list">
<li>Does AI understand what we do clearly?</li>



<li>Are we cited or referenced in AI-generated answers?</li>



<li>Do we appear as a recommended option for buyer-intent questions?</li>
</ul>



<p>This requires structured data, clear positioning, consistent messaging across the web, and content written for comprehension, not keyword density.</p>



<h2 class="wp-block-heading">Websites Become Trust Hubs, Not Just Traffic Funnels</h2>



<p>In an AI-first search world, websites are less about attracting mass traffic and more about <strong>validating trust</strong>.</p>



<p>When AI sends a user your way, that user arrives with expectations:</p>



<ul class="wp-block-list">
<li>Clear answers</li>



<li>Proof of credibility</li>



<li>Frictionless experience</li>
</ul>



<p>Your website becomes a confirmation layer. If it’s slow, confusing, or inconsistent, the trust transfer breaks instantly.</p>



<p>This is why performance, clarity, and UX matter more than ever. Not because of rankings, but because AI is pre-qualifying your visitors.</p>



<h2 class="wp-block-heading">Brands Will Compete on Clarity, Not Just Content</h2>



<p>AI systems reward clarity.</p>



<p>Vague positioning, generic service pages, and buzzword-heavy copy don’t translate well into AI understanding. Clear brands win.</p>



<p>The winners in 2026 will be the companies that can clearly answer:</p>



<ul class="wp-block-list">
<li>Who they help</li>



<li>What problem they solve</li>



<li>Why they’re trusted</li>



<li>What makes them different</li>
</ul>



<p>Not in ten pages. In one concise, machine-readable narrative.</p>



<h2 class="wp-block-heading">The Quiet Shift Most Businesses Are Missing</h2>



<p>The biggest mistake businesses are making right now is treating AI search as a future problem.</p>



<p>By the time it’s obvious in analytics, it’s already too late.</p>



<p>AI models learn from today’s data. The brands being referenced, cited, and understood now are training the systems that will dominate discovery in 2026.</p>



<p>This creates a compounding advantage. Early clarity leads to repeated recommendation. Repeated recommendation leads to market dominance.</p>



<h2 class="wp-block-heading">Final Thought</h2>



<p>AI search won’t kill websites. It will expose weak ones.</p>



<p>Just like in music, the artists and labels that endure aren’t the loudest, they’re the ones people trust to deliver consistently.</p>



<p>In 2026, the brands that win won’t be the noisiest or the most aggressive. They’ll be the clearest, the most trusted, and the easiest for both humans and machines to understand.</p>



<p>The future of search isn’t about fighting algorithms.</p>



<p>It’s about earning recommendation.</p>
<p>The post <a href="https://www.nicholas-rowe.com/who-will-win-in-ai-search-in-2026-a-ceo-founders-perspective/">Who will win in AI Search in 2026? A CEO &amp; Founders Perspective</a> appeared first on <a href="https://www.nicholas-rowe.com">Nicholas Rowe</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.nicholas-rowe.com/who-will-win-in-ai-search-in-2026-a-ceo-founders-perspective/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>DNS – How a website is found on the internet</title>
		<link>https://www.nicholas-rowe.com/dns-how-a-website-is-found-on-the-internet/</link>
					<comments>https://www.nicholas-rowe.com/dns-how-a-website-is-found-on-the-internet/#respond</comments>
		
		<dc:creator><![CDATA[Nicholas Rowe]]></dc:creator>
		<pubDate>Thu, 11 Apr 2019 04:27:03 +0000</pubDate>
				<category><![CDATA[Web]]></category>
		<guid isPermaLink="false">https://www.nicholas-rowe.com/?p=710</guid>

					<description><![CDATA[<p>DNS stands for Domain Name System. A domain name is the unique name that is assigned to a website. DNS is the system that enables this to work. When you build a website, you also register a domain name. Then, you point the domain name to your website. Reference: https://howdns.works</p>
<p>The post <a href="https://www.nicholas-rowe.com/dns-how-a-website-is-found-on-the-internet/">DNS – How a website is found on the internet</a> appeared first on <a href="https://www.nicholas-rowe.com">Nicholas Rowe</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>DNS stands for Domain Name System. A domain name is the unique name that is assigned to a website. DNS is the system that enables this to work. When you build a website, you also register a domain name. Then, you point the domain name to your website.</p>
<p><a href="https://www.nicholas-rowe.com/dns-how-a-website-is-found-on-the-internet/8myeqdcdtdr21/" rel="attachment wp-att-711"><img fetchpriority="high" decoding="async" class="alignnone size-large wp-image-711" src="https://www.nicholas-rowe.com/wp-content/uploads/2019/04/8myeqdcdtdr21-633x1024.png" alt="" width="633" height="1024" srcset="https://www.nicholas-rowe.com/wp-content/uploads/2019/04/8myeqdcdtdr21-633x1024.png 633w, https://www.nicholas-rowe.com/wp-content/uploads/2019/04/8myeqdcdtdr21-185x300.png 185w, https://www.nicholas-rowe.com/wp-content/uploads/2019/04/8myeqdcdtdr21.png 640w" sizes="(max-width: 633px) 100vw, 633px" /></a></p>
<p>Reference:</p>
<p>https://howdns.works</p>
<p>The post <a href="https://www.nicholas-rowe.com/dns-how-a-website-is-found-on-the-internet/">DNS – How a website is found on the internet</a> appeared first on <a href="https://www.nicholas-rowe.com">Nicholas Rowe</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.nicholas-rowe.com/dns-how-a-website-is-found-on-the-internet/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>NodeJS &#8211; Setup a Simple HTTP Server / Local Web Server</title>
		<link>https://www.nicholas-rowe.com/nodejs-setup-a-simple-http-server-local-web-server/</link>
					<comments>https://www.nicholas-rowe.com/nodejs-setup-a-simple-http-server-local-web-server/#respond</comments>
		
		<dc:creator><![CDATA[Nicholas Rowe]]></dc:creator>
		<pubDate>Tue, 26 Mar 2019 10:25:50 +0000</pubDate>
				<category><![CDATA[Web]]></category>
		<guid isPermaLink="false">https://www.nicholas-rowe.com/?p=677</guid>

					<description><![CDATA[<p>This is a quick post to show you how to setup a simple HTTP web server on your local machine using NodeJS. The web server runs on the http-server npm package, a simple zero-configuration http server for serving static files to the browser, it&#8217;s started from the command line and doesn&#8217;t require a server.js file. Download and Install [&#8230;]</p>
<p>The post <a href="https://www.nicholas-rowe.com/nodejs-setup-a-simple-http-server-local-web-server/">NodeJS &#8211; Setup a Simple HTTP Server / Local Web Server</a> appeared first on <a href="https://www.nicholas-rowe.com">Nicholas Rowe</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>This is a quick post to show you how to setup a simple HTTP web server on your local machine using NodeJS. The web server runs on the <a href="https://www.npmjs.com/package/http-server" target="_blank" rel="nofollow noopener noreferrer">http-server</a> npm package, a simple zero-configuration http server for serving static files to the browser, it&#8217;s started from the command line and doesn&#8217;t require a server.js file.</p>
<h2>Download and Install NodeJS</h2>
<p>If you haven&#8217;t installed Node yet, download the latest stable release of NodeJS from <a href="https://nodejs.org/" target="_blank" rel="nofollow noopener noreferrer">https://nodejs.org</a> and install using all the default options.</p>
<h2>Install the http-server package from npm</h2>
<p>Install the http-server globally on your machine using the node package manager (npm) command line tool, this will allow you to run a web server from anywhere on your computer.</p>
<p>Open a command prompt / command line window and enter the following:</p>
<pre>"npm install -g http-server"

</pre>
<h2>Browse to your local website with a browser</h2>
<p>Open your browser and go to the address http://localhost:8080 and you should see your local website.</p>
<p>The post <a href="https://www.nicholas-rowe.com/nodejs-setup-a-simple-http-server-local-web-server/">NodeJS &#8211; Setup a Simple HTTP Server / Local Web Server</a> appeared first on <a href="https://www.nicholas-rowe.com">Nicholas Rowe</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.nicholas-rowe.com/nodejs-setup-a-simple-http-server-local-web-server/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>WordPress SSL Offloading</title>
		<link>https://www.nicholas-rowe.com/wordpress-ssl-offloading/</link>
					<comments>https://www.nicholas-rowe.com/wordpress-ssl-offloading/#respond</comments>
		
		<dc:creator><![CDATA[Nicholas Rowe]]></dc:creator>
		<pubDate>Tue, 31 May 2016 12:25:01 +0000</pubDate>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Wordpress Development]]></category>
		<guid isPermaLink="false">http://nicholas-rowe.com/?p=352</guid>

					<description><![CDATA[<p>Understanding what’s happening When your page is accessed over HTTPS, but the Load Balancer is performing SSL offloading and actually requesting your content on the non-SSL port 80, the webserver, PHP, or anything else for that matter, does not understand or see that it&#8217;s being accessed over https://. The fix for this, is that Load [&#8230;]</p>
<p>The post <a href="https://www.nicholas-rowe.com/wordpress-ssl-offloading/">WordPress SSL Offloading</a> appeared first on <a href="https://www.nicholas-rowe.com">Nicholas Rowe</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><u>Understanding what’s happening</u></h2>
<p>When your page is accessed over HTTPS, but the Load Balancer is performing SSL offloading and actually requesting your content on the non-SSL port 80, the webserver, PHP, or anything else for that matter, does not understand or see that it&#8217;s being accessed over https://.</p>
<p>The fix for this, is that Load Balancer sends the de-facto standard X-Forwareded-Proto HTTP header, which we can use to figure out which protocol the client is actually using on the other side of the Load Balancer.</p>
<p>With Apache 2.2, you could use something along the lines of:</p>
<p>&lt;IfModule mod_setenvif.c&gt;</p>
<p>SetEnvIf X-Forwarded-Proto &#8220;^https$&#8221; HTTPS</p>
<p>&lt;/IfModule&gt;</p>
<p>This simply reads the X-Forwared-Proto header, and if it equals https then, sets the HTTPS environment variable to 1. PHP will see this environment variable, and eventually it will become $_SERVER[&#8216;HTTPS&#8217;] that equals 1 &#8212; just like it would be for a &#8220;real&#8221; native SSL request.</p>
<h2><u>The solution</u></h2>
<p>Websites behind load balancers or reverse proxies that support HTTP_X_FORWARDED_PROTO can be fixed by adding the following code to the wp-config.php file</p>
<p>if ($_SERVER[&#8216;HTTP_X_FORWARDED_PROTO&#8217;] == &#8216;https&#8217;)</p>
<p>$_SERVER[&#8216;HTTPS&#8217;]=&#8217;on&#8217;;</p>
<p>Then to redirect any http requests to https, we need to define the following In the .htaccess file:</p>
<p>&lt;IfModule mod_rewrite.c&gt;</p>
<p>RewriteEngine On</p>
<p><strong>RewriteCond %{HTTP:X-Forwarded-Proto} !https</strong></p>
<p><strong>RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]</strong></p>
<p>RewriteBase /</p>
<p>RewriteRule ^index\.php$ &#8211; [L]</p>
<p>RewriteCond %{REQUEST_FILENAME} !-f</p>
<p>RewriteCond %{REQUEST_FILENAME} !-d</p>
<p>RewriteRule . /index.php [L]</p>
<p>&lt;/IfModule&gt;</p>
<p>&nbsp;</p>
<p>The important parts here are in bold. Under usual circumstances inside the .htaccess file the rewrite condition would be to check for https to be set to OFF:</p>
<p>RewriteCond %{HTTPS} off</p>
<p>When behind some forms of proxying, whereby the client is connecting via HTTPS to a proxy, load balancer, Passenger application, etc., the %{HTTPS} variable may never be on and cause a rewrite loop. This is because your application is actually receiving plain HTTP traffic even though the client and the proxy/load balancer are using HTTPS. In these cases, check the X-Forwarded-Proto header.</p>
<p>References:</p>
<p><a href="http://stackoverflow.com/questions/452375/detecting-https-requests-in-php">http://stackoverflow.com/questions/452375/detecting-https-requests-in-php</a></p>
<p><a href="http://stackoverflow.com/questions/13977851/htaccess-redirect-to-https-www">http://stackoverflow.com/questions/13977851/htaccess-redirect-to-https-www</a></p>
<p>The post <a href="https://www.nicholas-rowe.com/wordpress-ssl-offloading/">WordPress SSL Offloading</a> appeared first on <a href="https://www.nicholas-rowe.com">Nicholas Rowe</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.nicholas-rowe.com/wordpress-ssl-offloading/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Fonts. What and where.</title>
		<link>https://www.nicholas-rowe.com/fonts-what-and-where/</link>
					<comments>https://www.nicholas-rowe.com/fonts-what-and-where/#respond</comments>
		
		<dc:creator><![CDATA[Nicholas Rowe]]></dc:creator>
		<pubDate>Wed, 14 May 2014 08:58:16 +0000</pubDate>
				<category><![CDATA[Web]]></category>
		<guid isPermaLink="false">http://nicholas-rowe.com/?p=309</guid>

					<description><![CDATA[<p>Found a great little font &#8220;cheat sheet&#8221; I&#8217;m going to leave it here, else I&#8217;ll never remember where I found it!</p>
<p>The post <a href="https://www.nicholas-rowe.com/fonts-what-and-where/">Fonts. What and where.</a> appeared first on <a href="https://www.nicholas-rowe.com">Nicholas Rowe</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Found a great little font &#8220;cheat sheet&#8221; I&#8217;m going to leave it here, else I&#8217;ll never remember where I found it!</p>
<p><img decoding="async" src="http://i.imgur.com/C3mUZOQ.jpg" width="750" height="4000" class="alignnone" /></p>
<p>The post <a href="https://www.nicholas-rowe.com/fonts-what-and-where/">Fonts. What and where.</a> appeared first on <a href="https://www.nicholas-rowe.com">Nicholas Rowe</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.nicholas-rowe.com/fonts-what-and-where/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Vertically aligning elements</title>
		<link>https://www.nicholas-rowe.com/vertically-aligning-elements/</link>
					<comments>https://www.nicholas-rowe.com/vertically-aligning-elements/#respond</comments>
		
		<dc:creator><![CDATA[Nicholas Rowe]]></dc:creator>
		<pubDate>Mon, 24 Feb 2014 00:08:33 +0000</pubDate>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Vertical Align]]></category>
		<guid isPermaLink="false">http://nicholas-rowe.com/?p=294</guid>

					<description><![CDATA[<p>For a long time I&#8217;ve always been using the following method of vertically aligning elements on a web page: .parent{ display: table; width: 100%; } .child{ display: table-cell; text-align: center; vertical-align: middle; } This method works good across all browsers and includes solid IE support down to IE7. The downfall of this particular method is [&#8230;]</p>
<p>The post <a href="https://www.nicholas-rowe.com/vertically-aligning-elements/">Vertically aligning elements</a> appeared first on <a href="https://www.nicholas-rowe.com">Nicholas Rowe</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>For a long time I&#8217;ve always been using the following method of vertically aligning elements on a web page:</p>
<pre>.parent{
display: table;
width: 100%;
}
.child{
display: table-cell;
text-align: center;
vertical-align: middle;
}
</pre>
<p>This method works good across all browsers and includes solid IE support down to IE7. The downfall of this particular method is that it requires two html elements in order for it to work (a parent and a child).</p>
<p>Using CSS3 transforms property, we can now vertically align elements with just 3 lines of css:</p>
<pre>
.element {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}</pre>
<p>Transforming the element on the Y axis with a negative 50% of the height the element is currently contained in will pull it up half way (more than likely outside the parents width and height).</p>
<p><img decoding="async" src="http://nicholas-rowe.com/wp-content/uploads/2014/02/transformy.png" alt="transformy" width="286" height="261" class="alignnone size-full wp-image-295" /></p>
<p>Now if we add a top: 50% it will pull the element back down directly in the center of whatever parent container the element is sitting inside of.</p>
<p><img loading="lazy" decoding="async" src="http://nicholas-rowe.com/wp-content/uploads/2014/02/top50.png" alt="top50" width="286" height="261" class="alignnone size-full wp-image-296" /></p>
<p>The post <a href="https://www.nicholas-rowe.com/vertically-aligning-elements/">Vertically aligning elements</a> appeared first on <a href="https://www.nicholas-rowe.com">Nicholas Rowe</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.nicholas-rowe.com/vertically-aligning-elements/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Element height based on viewport height</title>
		<link>https://www.nicholas-rowe.com/element-height-based-on-viewport-height/</link>
					<comments>https://www.nicholas-rowe.com/element-height-based-on-viewport-height/#comments</comments>
		
		<dc:creator><![CDATA[Nicholas Rowe]]></dc:creator>
		<pubDate>Tue, 12 Mar 2013 16:37:02 +0000</pubDate>
				<category><![CDATA[Web]]></category>
		<guid isPermaLink="false">http://nicholas-rowe.com/?p=206</guid>

					<description><![CDATA[<p>Today I had to create a little landing page for one of our clients. one of the requirements was to have the landing page fill the screen no matter what height the viewport was. So this would fill the space up on a desktop, iPad for example. I stumbled across a handy piece of jQquery [&#8230;]</p>
<p>The post <a href="https://www.nicholas-rowe.com/element-height-based-on-viewport-height/">Element height based on viewport height</a> appeared first on <a href="https://www.nicholas-rowe.com">Nicholas Rowe</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Today I had to create a little landing page for one of our clients. one of the requirements was to have the landing page fill the screen no matter what height the viewport was. So this would fill the space up on a desktop, iPad for example.</p>
<p>I stumbled across a handy piece of jQquery that makes use of jQuery <strong>height</strong> element, below is the snippet:</p>
<pre>
function stretch_pc() {
var height = $(window).height();
var stretch = (80 * height) / 100;
thirtypc = parseInt(thirtypc) + 'px';
$("div").css('height',stretch);
}

$(document).ready(function() {
stretch_pc();
$(window).bind('resize', stretch_pc);
});
</pre>
<p>This is essentially a function that is defining two variables <strong>height</strong> and <strong>stretch</strong>. The height variable is simply just finding the height of the windows viewport. By reading the jQuery documentation <a href="http://api.jquery.com/height/">here</a></p>
<blockquote><p>The difference between <code>.css('height')</code> and <code>.height()</code> is that the latter returns a unit-less pixel value (for example, <code>400</code>) while the former returns a value with units intact (for example, <code>400px</code>). The <code>.height()</code> method is recommended when an element&#8217;s height needs to be used in a mathematical calculation.</p></blockquote>
<p>The second variable <strong>stretch </strong>is going to be 80 percent of the viewport  * the height of the document and then divided by 100 to give us 80 percent of the viewport height. You may change 80 to match whatever you find sufficient, I opted for this as the height element does not take in to account any padding or margin, so you will get a bit of excess if you decide to have these in your css.</p>
<p>Lastly, after the function, the jquery will load on the document ready and initialise the function, making the <strong>&#8216;div&#8217;</strong> height match the percentage defined in the function.</p>
<p>Further reading: <a href="http://api.jquery.com/height/">jQuery Documentation</a></p>
<p>Source: <a href="http://stackoverflow.com/questions/6564752/set-div-height-dynamically-based-on-viewport-height">link</a></p>
<p>The post <a href="https://www.nicholas-rowe.com/element-height-based-on-viewport-height/">Element height based on viewport height</a> appeared first on <a href="https://www.nicholas-rowe.com">Nicholas Rowe</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.nicholas-rowe.com/element-height-based-on-viewport-height/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Find out what template a WordPress theme is using.</title>
		<link>https://www.nicholas-rowe.com/find-out-what-template-a-wordpress-theme-is-using/</link>
					<comments>https://www.nicholas-rowe.com/find-out-what-template-a-wordpress-theme-is-using/#respond</comments>
		
		<dc:creator><![CDATA[Nicholas Rowe]]></dc:creator>
		<pubDate>Thu, 07 Feb 2013 15:59:35 +0000</pubDate>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Wordpress Theming]]></category>
		<category><![CDATA[current_theme_template]]></category>
		<guid isPermaLink="false">http://nicholas-rowe.com/?p=198</guid>

					<description><![CDATA[<p>Recently I was working on a clients website and it was decided that I was going to integrate buddypress on the website. I have worked with buddypress in the past and found it a great bit of software to extend upon with WordPress. This time round it was a bit more of a overall custom feel [&#8230;]</p>
<p>The post <a href="https://www.nicholas-rowe.com/find-out-what-template-a-wordpress-theme-is-using/">Find out what template a WordPress theme is using.</a> appeared first on <a href="https://www.nicholas-rowe.com">Nicholas Rowe</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Recently I was working on a clients website and it was decided that I was going to integrate <a href="http://buddypress.org/">buddypress</a> on the website. I have worked with buddypress in the past and found it a great bit of software to extend upon with WordPress. This time round it was a bit more of a overall custom feel to it and some extra theming was required.</p>
<p>Some of the buddypress pages used different templates and I found it misleading sometimes as to which pages where using which templates. I found a great little bit of code that will show only the administrator who is logged in which template the current page is using. Great for debugging and other little things.</p>
<p>First of all we need to register a new little function, with which we will be using a global var. Put this in to your themes functions.php file.</p>
<pre>add_filter( 'template_include', 'var_template_include', 1000 );
function var_template_include( $t ){
$GLOBALS['current_theme_template'] = basename($t);
return $t;
}

function get_current_template( $echo = false ) {
if( !isset( $GLOBALS['current_theme_template'] ) )
return false;
if( $echo )
echo $GLOBALS['current_theme_template'];
else
return $GLOBALS['current_theme_template'];
}</pre>
<p>Once we have registered our new function, we will want to call it in our theme files somewhere. I simply added the below snippet to my header.php file of my theme. This code will print out the current page template by using the function we registered before.</p>
<pre>// If the current user can manage options(ie. an admin)
if( current_user_can( &#039;manage_options&#039; ) )
// Print the saved global
printf( &#039;
&lt;div&gt;&lt;strong&gt;Current template:&lt;/strong&gt; %s&lt;/div&gt;
&#039;, get_current_template() );
?&amp;gt;</pre>
<p>So there you have it, if you ever get stuck needing to find out what page is using what template (great for plugins) you can use this.</p>
<p>Edit: I also found this little snippet and it can be used in the same manner:</p>
<pre>
add_action('wp_head', 'show_template');
function show_template() {
global $template;
print_r($template);
}</pre>
<p>The post <a href="https://www.nicholas-rowe.com/find-out-what-template-a-wordpress-theme-is-using/">Find out what template a WordPress theme is using.</a> appeared first on <a href="https://www.nicholas-rowe.com">Nicholas Rowe</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.nicholas-rowe.com/find-out-what-template-a-wordpress-theme-is-using/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
