<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Billion Web Studio</title>
    <description>The latest articles on DEV Community by Billion Web Studio (@billionwebstudio).</description>
    <link>https://dev.to/billionwebstudio</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4202895%2F69182614-edaf-46ed-ad61-80ff258c913f.png</url>
      <title>DEV Community: Billion Web Studio</title>
      <link>https://dev.to/billionwebstudio</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/billionwebstudio"/>
    <language>en</language>
    <item>
      <title>The PHP Vulnerability Behind PHP2Shell: Who Is at Risk and What to Do Now</title>
      <dc:creator>Billion Web Studio</dc:creator>
      <pubDate>Fri, 23 Oct 2026 15:46:06 +0000</pubDate>
      <link>https://dev.to/billionwebstudio/the-php-vulnerability-behind-php2shell-who-is-at-risk-and-what-to-do-now-3396</link>
      <guid>https://dev.to/billionwebstudio/the-php-vulnerability-behind-php2shell-who-is-at-risk-and-what-to-do-now-3396</guid>
      <description>&lt;p&gt;&lt;em&gt;Two critical flaws in PHP itself, CVE-2026-109618 and CVE-2026-109619, were patched on 21 October 2026. Here is how to tell if your website is exposed, and the steps to take today.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;On Wednesday, 21 October, the PHP project shipped four security releases in a single afternoon and asked every PHP user to update immediately. By Thursday, US Google searches for "PHP vulnerability" had reached their highest point of the week, and the bug had a nickname: PHP2Shell.&lt;/p&gt;

&lt;p&gt;If your website runs on WordPress, WooCommerce, Drupal, Joomla, Magento, Laravel or almost any other PHP software, this one concerns your server, not your plugins.&lt;/p&gt;

&lt;p&gt;This guide explains the PHP vulnerability in plain English, shows who is exposed and who is not, gives you the commands to check your own server, and lists what to do today and over the next few weeks. Every fact comes from PHP's own advisories, government security agencies or the vendors involved.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Two critical flaws in the PHP runtime, CVE-2026-109618 and CVE-2026-109619, can let an attacker who is not logged in run code on a web server. PHP rates both 9.2 on CVSS v4.0.&lt;/li&gt;
&lt;li&gt;The fix is a PHP update: 8.5.12, 8.4.27, 8.3.36 or 8.2.35, or your Linux vendor's patched package. Updating WordPress, a plugin or a theme does not fix it.&lt;/li&gt;
&lt;li&gt;Every PHP installation that serves web requests is in scope. PHP rates the risk highest for Apache with mod_php.&lt;/li&gt;
&lt;li&gt;PHP 8.1 and older get no official release. You need a vendor backport, PHP's source backports or an upgrade.&lt;/li&gt;
&lt;li&gt;Amazon and Cloudflare have seen exploit attempts. As of 23 October, CISA has not added either CVE to its Known Exploited Vulnerabilities catalog, and no successful break-in has been publicly confirmed.&lt;/li&gt;
&lt;li&gt;After patching, restart every PHP worker, then check your logs back to 17 October.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What happened, in plain English
&lt;/h2&gt;

&lt;p&gt;PHP is the language behind the server side of most websites. W3Techs finds it on &lt;a href="https://w3techs.com/technologies/details/pl-php" rel="noopener noreferrer"&gt;69.3% of websites whose server-side language it can detect&lt;/a&gt; (data dated 23 October 2026).&lt;/p&gt;

&lt;p&gt;Researchers found that when PHP runs out of memory or hits a fatal error in the middle of a request, it can leave behind scraps of half-built or already-freed data. A carefully built request can make PHP reuse those scraps in a way the attacker controls. The result is remote code execution: the attacker runs their own commands on your server, with the same permissions as your website.&lt;/p&gt;

&lt;p&gt;No login is needed, and no plugin bug is needed. The weakness sits inside PHP itself, underneath WordPress, Drupal or Laravel.&lt;/p&gt;

&lt;p&gt;Here is how the week unfolded:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;19 and 24 August:&lt;/strong&gt; Wiz Research says it &lt;a href="https://www.wiz.io/blog/php2shell-php-rce" rel="noopener noreferrer"&gt;found the first of the bugs on 19 August and reported them to PHP on 24 August&lt;/a&gt;. PHP's advisories credit several researchers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;17 October:&lt;/strong&gt; Amazon's honeypot network recorded &lt;a href="https://aws.amazon.com/blogs/security/amazon-threat-intelligence-identifies-php2shell-exploitation-prior-to-public-disclosure-in-madpot/" rel="noopener noreferrer"&gt;a PHP2Shell exploitation attempt four days before disclosure&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;20 October:&lt;/strong&gt; PHP posted an advance notice of a critical release, with both flaws rated CVSS v4.0 9.2.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;21 October, 03:02 UTC:&lt;/strong&gt; Cloudflare switched on &lt;a href="https://blog.cloudflare.com/php-vulnerabilities-waf-protection/" rel="noopener noreferrer"&gt;managed WAF rules for free and paid plans&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;21 October:&lt;/strong&gt; PHP released the fixed versions and published its &lt;a href="https://www.php.net/archive/2026.php#2026-10-21-5" rel="noopener noreferrer"&gt;security advisory&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;23 October:&lt;/strong&gt; PHP added an informational note about a third, much narrower issue (CVE-2026-115560), covered in the mitigation section below.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The technical detail
&lt;/h2&gt;

&lt;p&gt;The two CVEs are separate bugs with the same root theme: PHP's error handling can leave memory in a state that a later step trusts by mistake.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CVE-2026-109618, "RCE via OOM corruption"&lt;/strong&gt; (&lt;a href="https://github.com/php/php-src/security/advisories/GHSA-w8hw-w9fx-j79w" rel="noopener noreferrer"&gt;GHSA-w8hw-w9fx-j79w&lt;/a&gt;). PHP aborts a request with &lt;code&gt;longjmp()&lt;/code&gt; when it runs out of memory. If that happens while request memory exists but is not fully set up, request cleanup can read or act on invalid data. The advisory lists ways to force the out-of-memory condition, such as multipart requests without a usable declared length, parts carrying many headers, empty file fields and deeply nested field names. PHP confirmed unauthenticated code execution against Apache mod_php with default limits.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CVE-2026-109619, "RCE via stale global state"&lt;/strong&gt; (&lt;a href="https://github.com/php/php-src/security/advisories/GHSA-6wmf-4rv5-p3rp" rel="noopener noreferrer"&gt;GHSA-6wmf-4rv5-p3rp&lt;/a&gt;). Long-lived PHP workers keep some global state that points into memory owned by one request. If a fatal error, a timeout or an out-of-memory event leaves that state behind, the next request handled by the same worker can use freed memory before normal setup resets it. Session upload progress, which is on by default, is one confirmed path. PHP confirmed it against both mod_php and PHP-FPM, and the application does not even need to call &lt;code&gt;session_start()&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Affected versions.&lt;/strong&gt; PHP's advisories list 8.2 before 8.2.35, 8.3 before 8.3.36, 8.4 before 8.4.27 and 8.5 before 8.5.12. PHP 8.1 and older are past end of life, so the project did not ship releases for them. Wiz reports that releases dating back to PHP 5.4 are affected by at least one of the issues.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Severity.&lt;/strong&gt; PHP scores both flaws 9.2 on CVSS v4.0. On the older CVSS 3.1 scale, &lt;a href="https://nvd.nist.gov/vuln/detail/CVE-2026-109618" rel="noopener noreferrer"&gt;NVD gives CVE-2026-109618 a 9.8&lt;/a&gt; and &lt;a href="https://nvd.nist.gov/vuln/detail/CVE-2026-109619" rel="noopener noreferrer"&gt;CVE-2026-109619 an 8.1&lt;/a&gt;. Red Hat rates CVE-2026-109618 "Important" at 8.1, because reliable exploitation needs precise heap manipulation and timing. The scores differ, but the advice is the same everywhere: patch.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exploitation status.&lt;/strong&gt; Reports differ, so here is exactly who said what:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Amazon says it saw an attempt on 17 October and "broad exploitation attempts in the wild" after disclosure, while noting it is unclear whether any would have succeeded.&lt;/li&gt;
&lt;li&gt;Cloudflare says it observed attack traffic targeting its customers.&lt;/li&gt;
&lt;li&gt;Canada's Cyber Centre said on 21 October that a proof of concept is public but &lt;a href="https://cyber.gc.ca/en/alerts-advisories/al26-026-critical-vulnerabilities-impacting-php-cve-2026-109618-cve-2026-109619" rel="noopener noreferrer"&gt;it had not identified active exploitation&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Neither CVE appears in &lt;a href="https://www.cisa.gov/known-exploited-vulnerabilities-catalog" rel="noopener noreferrer"&gt;CISA's Known Exploited Vulnerabilities catalog&lt;/a&gt; as of 23 October.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In short, attackers are trying. Treat the risk as real, without assuming every unpatched site has already been breached.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who is in danger
&lt;/h2&gt;

&lt;p&gt;PHP's advisory puts it plainly: all PHP installations serving web requests are at risk. How exposed you are depends mostly on how PHP runs on your &lt;a href="https://billionwebstudio.com/glossary/web-hosting" rel="noopener noreferrer"&gt;web hosting&lt;/a&gt; setup.&lt;/p&gt;

&lt;h3&gt;
  
  
  Hosting setups
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Apache with mod_php.&lt;/strong&gt; Highest risk, according to PHP, because the attack can run before any application code does. In a phpinfo page or WordPress Site Health, this shows as "Apache 2.0 Handler".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PHP-FPM behind Nginx or Apache.&lt;/strong&gt; Exposed. PHP's source analysis suggests the out-of-memory bug can be reached, though no complete FPM exploit has been shown, and the session upload progress path was confirmed against FPM.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;php-cgi, FrankenPHP and LiteSpeed.&lt;/strong&gt; All named in PHP's at-risk list.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shared hosting.&lt;/strong&gt; Your host patches PHP. Your job is to confirm it happened.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Managed WordPress platforms.&lt;/strong&gt; Automattic says sites on &lt;a href="https://automattic.com/2026/10/21/your-sites-are-protected-against-the-php2shell-vulnerabilities/" rel="noopener noreferrer"&gt;WordPress.com, WordPress VIP, WP Cloud and Pressable are already protected&lt;/a&gt;, with nothing for customers to do.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;cPanel and WHM servers.&lt;/strong&gt; cPanel's &lt;a href="https://docs.cpanel.net/release-notes/release-notes/" rel="noopener noreferrer"&gt;EasyApache 4 25.91 release&lt;/a&gt; fixes ea-php74 through ea-php85. cPanel also patched its own internal PHP, which runs the cPanel interfaces and Roundcube webmail: versions 138.0.18, 136.0.50 and 134.0.66 include PHP 8.4.27, and 110.0.153 carries backported fixes for PHP 8.1.34.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plesk servers.&lt;/strong&gt; On 21 October, a Plesk staff member said the fixes would be included in Plesk PHP packages but gave no ETA. Check Plesk's announcements for your Obsidian version before you assume you are covered.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AWS.&lt;/strong&gt; &lt;a href="https://aws.amazon.com/security/security-bulletins/2026-143-aws/" rel="noopener noreferrer"&gt;AWS's bulletin&lt;/a&gt; says Elastic Beanstalk managed platform updates apply the fix in the next maintenance window. Lightsail instances cannot be updated in place, so AWS advises creating new instances from updated blueprints and migrating. Lambda functions using custom runtimes or container images need a rebuild and redeploy.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docker and other containers.&lt;/strong&gt; Rebuild on a patched base image and redeploy. A patched host does not patch the PHP inside your container.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;XAMPP and other local stacks.&lt;/strong&gt; These bundle their own PHP. The risk is low while they only listen on your own machine, but any copy reachable from a network needs the same update.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  CMSs and frameworks
&lt;/h3&gt;

&lt;p&gt;Because the bug lives in the PHP runtime, every PHP application running on an unpatched version is in scope. &lt;a href="https://securitylabs.datadoghq.com/articles/php2shell-critical-vulnerabilities-in-php/" rel="noopener noreferrer"&gt;Datadog's analysis&lt;/a&gt; notes that any PHP script exposes the vulnerable path, even one that only prints a response. Wiz demonstrated unauthenticated code execution against the latest WordPress, Drupal and Joomla container images.&lt;/p&gt;

&lt;p&gt;That covers every major PHP &lt;a href="https://billionwebstudio.com/glossary/cms" rel="noopener noreferrer"&gt;CMS&lt;/a&gt; and framework:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CMSs and commerce platforms:&lt;/strong&gt; WordPress and WooCommerce, Drupal, Joomla, self-hosted Magento Open Source and Adobe Commerce, PrestaShop, OpenCart, TYPO3, Craft CMS, Statamic, MediaWiki, phpBB and Moodle.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frameworks:&lt;/strong&gt; Laravel, Symfony, CodeIgniter and CakePHP, plus any custom PHP application.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of these need their own patch to close the hole. WordPress.org &lt;a href="https://wordpress.org/news/2026/10/critical-php-security-release/" rel="noopener noreferrer"&gt;said directly&lt;/a&gt; that no WordPress update is required or planned. The same logic applies to the others: the fix is in PHP, so updating the CMS, a theme or a plugin does not close it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1ecbud2w8klfk9g8eqzs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1ecbud2w8klfk9g8eqzs.png" alt="CMS exposure map: share of all websites by CMS from W3Techs, 23 October 2026. PHP-based CMSs (WordPress 39.6%, Joomla 1.1%, Drupal 0.6%, PrestaShop 0.5%, TYPO3 0.3%, OpenCart 0.3%, Craft CMS 0.1%) are exposed if their server runs unpatched PHP. Hosted builders (Shopify 5.3%, Wix 4.2%, Squarespace 2.4%) leave nothing for site owners to patch. A third of PHP sites still run PHP 7 or 5." width="799" height="571"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Who is not affected, and why
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Hosted website builders such as Shopify, Wix and Squarespace.&lt;/strong&gt; You never manage a PHP runtime on these platforms, so there is nothing for you to patch. The provider looks after its own stack.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Static sites and JavaScript stacks with no PHP anywhere.&lt;/strong&gt; A Next.js or Astro site with no PHP server is out of scope. A headless WordPress backend behind it is not, because that backend still runs PHP.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Servers already on 8.5.12, 8.4.27, 8.3.36 or 8.2.35&lt;/strong&gt;, or on a vendor package that lists both CVEs as fixed, with every PHP worker restarted since.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PHP 8.6 RC4.&lt;/strong&gt; PHP says this release candidate includes the fixes. Earlier 8.6 test builds do not, and no 8.6 build belongs in production yet.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Command-line-only PHP.&lt;/strong&gt; PHP's advisory targets installations that serve web requests, so cron jobs and CLI scripts are lower priority. They usually share the same package, though, so they get patched along with everything else.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to check if the PHP vulnerability affects your server
&lt;/h2&gt;

&lt;p&gt;Work through these steps in order. The goal is to confirm the PHP that actually serves your website, which is not always the one your terminal shows.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3ooa70kj2qucrzklnjsy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3ooa70kj2qucrzklnjsy.png" alt="Decision tree: Am I affected by PHP2Shell? Step 1, does PHP serve your site? Step 2, which branch? Step 3, is the patch in your package changelog? Step 4, have workers restarted since? Outcomes: patched, update now, or backport, upgrade or take offline." width="800" height="674"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Find the PHP version that serves your site.&lt;/strong&gt; Start inside your CMS:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;WordPress:&lt;/strong&gt; Tools, then Site Health, then the Info tab, then Server. Note the PHP version and the PHP SAPI. "Apache 2.0 Handler" means mod_php. "fpm-fcgi" means PHP-FPM.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Drupal:&lt;/strong&gt; Reports, then Status report.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Joomla:&lt;/strong&gt; System, then System Information.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Check the server itself.&lt;/strong&gt; If you have SSH access:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Version of the command-line PHP (can differ from the web runtime)&lt;/span&gt;
php &lt;span class="nt"&gt;-v&lt;/span&gt;

&lt;span class="c"&gt;# Is Apache loading PHP as a module (mod_php)?&lt;/span&gt;
apachectl &lt;span class="nt"&gt;-M&lt;/span&gt; 2&amp;gt;/dev/null | &lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-i&lt;/span&gt; php

&lt;span class="c"&gt;# Which PHP-FPM services are running?&lt;/span&gt;
systemctl list-units &lt;span class="nt"&gt;--type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;service | &lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-i&lt;/span&gt; fpm

&lt;span class="c"&gt;# Is session upload progress still on? (CLI config; check FPM pool files too)&lt;/span&gt;
php &lt;span class="nt"&gt;-i&lt;/span&gt; | &lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-i&lt;/span&gt; &lt;span class="s2"&gt;"session.upload_progress.enabled"&lt;/span&gt;

&lt;span class="c"&gt;# The PHP version Composer sees, useful in CI and deploy scripts&lt;/span&gt;
composer show &lt;span class="nt"&gt;--platform&lt;/span&gt; | &lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="s2"&gt;"^php "&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 3: Read the package changelog, not just the version number.&lt;/strong&gt; Linux distributions often backport fixes without changing the upstream version. On Ubuntu 24.04 LTS, for example, the fixed package is &lt;a href="https://ubuntu.com/security/CVE-2026-109618" rel="noopener noreferrer"&gt;php8.3 version 8.3.6-0ubuntu0.24.04.13&lt;/a&gt;. That looks "old", yet it is patched. Search the changelog for the CVE numbers:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Debian and Ubuntu&lt;/span&gt;
apt changelog php8.3-fpm 2&amp;gt;/dev/null | &lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-m3&lt;/span&gt; &lt;span class="nt"&gt;-E&lt;/span&gt; &lt;span class="s2"&gt;"CVE-2026-10961[89]"&lt;/span&gt;

&lt;span class="c"&gt;# RHEL, AlmaLinux, Rocky Linux and CloudLinux&lt;/span&gt;
rpm &lt;span class="nt"&gt;-q&lt;/span&gt; &lt;span class="nt"&gt;--changelog&lt;/span&gt; php-fpm | &lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-m3&lt;/span&gt; &lt;span class="nt"&gt;-E&lt;/span&gt; &lt;span class="s2"&gt;"CVE-2026-10961[89]"&lt;/span&gt;

&lt;span class="c"&gt;# cPanel EasyApache packages&lt;/span&gt;
rpm &lt;span class="nt"&gt;-qa&lt;/span&gt; &lt;span class="s1"&gt;'ea-php*-php-fpm'&lt;/span&gt; | &lt;span class="nb"&gt;sort
&lt;/span&gt;rpm &lt;span class="nt"&gt;-q&lt;/span&gt; &lt;span class="nt"&gt;--changelog&lt;/span&gt; ea-php81 | &lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-m3&lt;/span&gt; &lt;span class="nt"&gt;-E&lt;/span&gt; &lt;span class="s2"&gt;"CVE-2026-10961[89]"&lt;/span&gt;

&lt;span class="c"&gt;# Plesk (adjust the version folder)&lt;/span&gt;
/opt/plesk/php/8.3/bin/php &lt;span class="nt"&gt;-v&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 4: Confirm the workers restarted after the update.&lt;/strong&gt; A patched package on disk does nothing until PHP reloads it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;systemctl status php8.3-fpm | &lt;span class="nb"&gt;grep &lt;/span&gt;Active
systemctl status apache2 | &lt;span class="nb"&gt;grep &lt;/span&gt;Active    &lt;span class="c"&gt;# httpd on RHEL-based systems&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If the "active since" time is earlier than your update, restart the service.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;On shared or managed hosting,&lt;/strong&gt; ask your host in writing: "Has the PHP that serves my site been patched for CVE-2026-109618 and CVE-2026-109619, and have the PHP workers been restarted?" A clear yes with a date is what you want.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to do now
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Update PHP.&lt;/strong&gt; Move to 8.5.12, 8.4.27, 8.3.36 or 8.2.35, or install your distribution's patched package. The PHP project is blunt about this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"There are no complete mitigations, updating is the only safe choice."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;2. Restart every PHP worker.&lt;/strong&gt; Restart PHP-FPM pools, Apache, LiteSpeed and any container running PHP.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Deal with old branches.&lt;/strong&gt; PHP 8.1 and older get no official release. Your options:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8p8ai9r5ptebfdhfb45x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8p8ai9r5ptebfdhfb45x.png" alt="Branch status: for each PHP branch, the fixed release, the end of security support from php.net, and the route to a fix. 8.5 fixed in 8.5.12 (support to 31 Dec 2029), 8.4 in 8.4.27 (31 Dec 2028), 8.3 in 8.3.36 (31 Dec 2027), 8.2 in 8.2.35 (31 Dec 2026). 8.1, 8.0 and 7.4: source backports or vendor packages. 7.3 and older: vendor packages only, or upgrade." width="800" height="514"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A vendor backport. Ubuntu Pro covers older LTS releases, including PHP 7.4 on 20.04, and cPanel shipped backports for ea-php74, ea-php80 and ea-php81.&lt;/li&gt;
&lt;li&gt;PHP's own &lt;a href="https://www.php.net/archive/2026.php#2026-10-21-5" rel="noopener noreferrer"&gt;minimal source backports for 7.4, 8.0 and 8.1&lt;/a&gt;, if you build PHP from source.&lt;/li&gt;
&lt;li&gt;An upgrade to a supported branch, tested on a staging site first.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If none of these is possible soon, the UK's NCSC advises organisations to &lt;a href="https://www.ncsc.gov.uk/news/critical-security-issue-affecting-php" rel="noopener noreferrer"&gt;consider taking the system offline until it can be fully mitigated&lt;/a&gt;. WordPress.org gives the same advice for self-managed servers on PHP older than 8.2.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. If you cannot patch today, reduce exposure.&lt;/strong&gt; PHP lists interim measures that cut off specific attack paths. None of them makes a server safe on its own:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set &lt;code&gt;session.upload_progress.enabled=0&lt;/code&gt; in &lt;code&gt;php.ini&lt;/code&gt; or the FPM pool configuration, then restart every worker. Do not rely on &lt;code&gt;ini_set()&lt;/code&gt; or &lt;code&gt;.user.ini&lt;/code&gt; for this. PHP's 23 October note recommends keeping it off until the next regular release anyway, because of the narrower CVE-2026-115560 issue.&lt;/li&gt;
&lt;li&gt;On PHP 8.5, set &lt;code&gt;fatal_error_backtraces=0&lt;/code&gt; and restart.&lt;/li&gt;
&lt;li&gt;Keep &lt;code&gt;post_max_size&lt;/code&gt; low (PHP suggests 8M without uploads, 32M with them) and keep &lt;code&gt;upload_max_filesize&lt;/code&gt; below it.&lt;/li&gt;
&lt;li&gt;PHP also suggests &lt;code&gt;memory_limit=-1&lt;/code&gt; enforced with &lt;code&gt;php_admin_value&lt;/code&gt;, paired with a container or cgroup memory limit. Talk to your host first: removing the PHP memory limit means a runaway script can consume far more server memory.&lt;/li&gt;
&lt;li&gt;If your site never accepts file uploads or multipart forms, block multipart requests at the proxy or WAF, as both PHP's advisory and Amazon suggest.&lt;/li&gt;
&lt;li&gt;Turn on WAF rules. Cloudflare's managed rules cover free plans automatically, and paid plans should confirm the managed ruleset is set to block. AWS WAF users should run the latest PHP managed rule group. Vercel applied rules automatically for PHP traffic it serves or proxies. Every one of these vendors says a WAF does not replace patching.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5. Check your logs back to 17 October.&lt;/strong&gt; Amazon recommends starting investigations from 17 October, not the disclosure date. Look for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;POST form uploads containing the string &lt;code&gt;PHP_SESSION_UPLOAD_PROGRESS&lt;/code&gt; (Amazon).&lt;/li&gt;
&lt;li&gt;Unusual multipart requests followed by memory-limit errors or repeated HTTP 500 responses, oversized or malformed &lt;code&gt;PHPSESSID&lt;/code&gt; cookies, and unexplained PHP worker churn (Wiz).&lt;/li&gt;
&lt;li&gt;"Allowed memory size ... exhausted" errors reported at "Unknown on line 0", and Apache &lt;code&gt;AH00052&lt;/code&gt; segmentation fault lines (Datadog).&lt;/li&gt;
&lt;li&gt;A web server process starting a shell, plus unexpected files, accounts, processes or outbound connections (Datadog and Canada's Cyber Centre).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Clean logs do not prove a server is safe, and noisy logs do not prove it was breached. Memory errors happen on healthy sites too.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. If you find signs of compromise,&lt;/strong&gt; take the site offline, restore from a backup made before 17 October onto a patched server, rotate database, admin, SFTP and API credentials, and follow a checklist such as WordPress.org's &lt;a href="https://wordpress.org/documentation/article/faq-my-site-was-hacked/" rel="noopener noreferrer"&gt;guide for hacked sites&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Fix the habits that made this hard.&lt;/strong&gt; Once the emergency passes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Know which PHP branch every site runs and when its support ends. PHP's &lt;a href="https://www.php.net/supported-versions.php" rel="noopener noreferrer"&gt;supported versions page&lt;/a&gt; shows 8.2 security support ending on 31 December 2026, 8.3 on 31 December 2027, 8.4 on 31 December 2028 and 8.5 on 31 December 2029.&lt;/li&gt;
&lt;li&gt;Plan any 8.2 site's move to 8.4 or 8.5 now, while you have a few weeks rather than a few hours.&lt;/li&gt;
&lt;li&gt;Set a written patch window for critical runtime fixes. Amazon advises measuring response to critical internet-facing flaws in hours, not days.&lt;/li&gt;
&lt;li&gt;Keep tested, off-server backups and a staging copy of every important site.&lt;/li&gt;
&lt;li&gt;Treat outdated runtimes as a known risk. &lt;a href="https://owasp.org/Top10/A06_2021-Vulnerable_and_Outdated_Components/" rel="noopener noreferrer"&gt;OWASP's Top 10&lt;/a&gt; lists vulnerable and outdated components as a core web application risk for exactly this reason.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What we're doing for our clients
&lt;/h2&gt;

&lt;p&gt;For the sites we build and look after, our &lt;a href="https://billionwebstudio.com/glossary/website-maintenance" rel="noopener noreferrer"&gt;website maintenance&lt;/a&gt; routine this week is the same checklist as above. We confirm the PHP runtime and SAPI for each site rather than trusting the CLI version, check package changelogs for both CVE numbers, restart workers and verify the restart time, and review logs from 17 October onward. Sites still on PHP 8.2 get an upgrade plan to a newer branch before 8.2's security support ends on 31 December 2026.&lt;/p&gt;

&lt;p&gt;If you run a WordPress or WooCommerce site and are not sure what your host has done, our &lt;a href="https://billionwebstudio.com/wordpress-development-services" rel="noopener noreferrer"&gt;WordPress development team&lt;/a&gt; can run these checks with you.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is PHP2Shell and how does it affect my website?
&lt;/h3&gt;

&lt;p&gt;PHP2Shell is the nickname for two critical bugs in PHP itself, CVE-2026-109618 and CVE-2026-109619. On an unpatched server, an attacker who is not logged in could run code with your website's permissions. That puts your files, database and customer data at risk. Your site is affected only if the PHP serving it has not been updated.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do I need to update WordPress, Drupal or Joomla to fix it?
&lt;/h3&gt;

&lt;p&gt;No. The fix is in PHP, not in the CMS. WordPress.org says no WordPress update is required or planned. Keep your CMS updated for its own security fixes, but only a PHP update closes PHP2Shell.&lt;/p&gt;

&lt;h3&gt;
  
  
  Will a security plugin or a firewall protect my site?
&lt;/h3&gt;

&lt;p&gt;A security plugin cannot be relied on, because the attack happens in PHP's own request handling, which can run before WordPress loads. A network WAF from Cloudflare, AWS or Vercel can block known attack patterns, and it is worth turning on while you patch. Every one of those vendors says a WAF does not replace the PHP update.&lt;/p&gt;

&lt;h3&gt;
  
  
  My site is on shared hosting. What should I do?
&lt;/h3&gt;

&lt;p&gt;Ask your host in writing whether the PHP serving your site has been patched for both CVEs and whether PHP workers have been restarted. Then check the PHP version in your control panel or in WordPress Site Health. If your host cannot confirm a date, consider moving to a host that can.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is there a script that tests whether my server is vulnerable?
&lt;/h3&gt;

&lt;p&gt;Running exploit code from the internet against a live server is risky and may itself be harmful. A safer check is the one in this guide: confirm the serving PHP version, look for both CVE numbers in your package changelog, and confirm the restart. Commercial scanners such as Tenable's Nessus have also added detection plugins.&lt;/p&gt;

&lt;h3&gt;
  
  
  My server shows an older PHP version number, but my host says it is patched. Who is right?
&lt;/h3&gt;

&lt;p&gt;Possibly both. Linux distributions backport security fixes without changing the upstream version number. Ubuntu 24.04's patched PHP 8.3 package, for example, still reports 8.3.6. The package changelog is the reliable record, so search it for the two CVE numbers.&lt;/p&gt;

&lt;h3&gt;
  
  
  My site runs an end-of-life PHP version. Do I have to take it offline?
&lt;/h3&gt;

&lt;p&gt;Not necessarily, if you can get a patched build. Check for a vendor backport through Ubuntu Pro, cPanel or another long-term support vendor, or build from PHP's source backports. If you cannot get a fix quickly, the UK's NCSC and WordPress.org both suggest considering taking the server offline until you can upgrade.&lt;/p&gt;

&lt;h3&gt;
  
  
  Has anyone actually been hacked through PHP2Shell yet?
&lt;/h3&gt;

&lt;p&gt;As of 23 October, no successful compromise has been publicly confirmed. Amazon and Cloudflare have reported exploit attempts, and CISA has not added the CVEs to its Known Exploited Vulnerabilities catalog. That can change quickly, which is why patching comes before waiting for proof.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why do PHP, NVD and Red Hat give different severity scores?
&lt;/h3&gt;

&lt;p&gt;They use different scoring systems and assumptions. PHP scores 9.2 on CVSS v4.0. NVD scores CVE-2026-109618 at 9.8 on CVSS 3.1, while Red Hat scores it 8.1 because reliable exploitation needs precise heap manipulation. All three agree it needs patching.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bottom line
&lt;/h2&gt;

&lt;p&gt;The PHP vulnerability behind PHP2Shell is serious because it sits below everything you normally patch. Your CMS can be fully up to date while the PHP underneath it is not. Five steps get you clear: find the PHP that serves your site, confirm the fix in the package changelog, restart the workers, check your logs back to 17 October, and plan your move off any branch that is near end of life.&lt;/p&gt;

&lt;p&gt;If you'd like a second pair of eyes on your setup, &lt;a href="https://billionwebstudio.com/contact" rel="noopener noreferrer"&gt;get in touch with Billion Web Studio&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Ganesh Shanmugam is the founder of Billion Web Studio, a website development company building for businesses in the USA, the UK, Dubai and the wider UAE, Canada, Australia and India.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>php</category>
      <category>security</category>
      <category>wordpress</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to Build a Website With AI: A 12-Point Checklist Before You Launch</title>
      <dc:creator>Billion Web Studio</dc:creator>
      <pubDate>Fri, 23 Oct 2026 15:45:26 +0000</pubDate>
      <link>https://dev.to/billionwebstudio/how-to-build-a-website-with-ai-a-12-point-checklist-before-you-launch-1l8m</link>
      <guid>https://dev.to/billionwebstudio/how-to-build-a-website-with-ai-a-12-point-checklist-before-you-launch-1l8m</guid>
      <description>&lt;p&gt;Learning how to build a website with AI takes an afternoon. Type a few lines into an AI builder and you get a polished homepage before your coffee cools. The trouble arrives weeks later: no enquiries, half the pages missing from Google, and a quote button that some visitors can't use at all.&lt;/p&gt;

&lt;p&gt;We're &lt;a href="https://billionwebstudio.com/" rel="noopener noreferrer"&gt;Billion Web Studio&lt;/a&gt;, a website development company led by founder &lt;a href="https://www.linkedin.com/in/ganesh-shanmugam" rel="noopener noreferrer"&gt;Ganesh Shanmugam&lt;/a&gt;. This checklist gives you the 12 checks we'd hand any business owner before they publish an AI-built site, in the order you'll meet them. You'll also get real before-and-after examples, the Google and legal rules that apply in the US, the UK and the UAE, and a plain test for when a developer is worth paying.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AI is great at first drafts&lt;/strong&gt; of layouts, copy and code. It is weak at your facts, your legal duties and everything that happens after launch.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Own the domain, the code and the data&lt;/strong&gt; before you write a single prompt, so you can leave the tool later.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google doesn't punish content for being AI-written.&lt;/strong&gt; It punishes pages mass-produced to game rankings that add nothing for readers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Delete every testimonial, figure and badge the AI invented.&lt;/strong&gt; Fake reviews are banned in both the US and the UK.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check what crawlers actually receive.&lt;/strong&gt; Content that only appears after JavaScript runs can be invisible to AI assistants.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test accessibility, security and forms by hand.&lt;/strong&gt; AI code runs fine and still fails these checks surprisingly often.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bring in a developer&lt;/strong&gt; when the site takes payments, holds personal data or carries most of your leads.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to Build a Website With AI Without Paying for It Later
&lt;/h2&gt;

&lt;p&gt;Most guides on how to build a website with AI stop at "write a prompt, pick a style, publish." That gets you a website. However, it doesn't get you a website that ranks, converts and stays safe.&lt;/p&gt;

&lt;p&gt;So here is the honest split.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What AI tools do well:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Turn a rough brief into a tidy layout in minutes&lt;/li&gt;
&lt;li&gt;Write a first draft of page copy that you then fix&lt;/li&gt;
&lt;li&gt;Produce standard parts such as menus, service cards and contact sections&lt;/li&gt;
&lt;li&gt;Speed up small code changes for anyone who can read the result&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What they do badly:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Know anything true about your business that you didn't tell them&lt;/li&gt;
&lt;li&gt;Follow search, accessibility and privacy rules unless you ask, and sometimes even when you do&lt;/li&gt;
&lt;li&gt;Set up tracking, so you can see which page brought which lead&lt;/li&gt;
&lt;li&gt;Look after the site once it's live&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The 12 checks below follow the order of a real project: before you prompt, while you build, before you launch, and after launch. First, though, pick the route that fits your situation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frfj5lxg0j72hbfg3yl64.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frfj5lxg0j72hbfg3yl64.png" alt="Decision tree that asks whether the site takes payments or logins, stores personal data, carries most of your leads, or replaces a site that already ranks, and routes the reader to one of three options: build it yourself with an AI builder, use AI plus a developer review, or hire a developer to lead the build" width="800" height="590"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Before You Prompt: Decide Who Owns What
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Own your domain, code and data from day one
&lt;/h3&gt;

&lt;p&gt;Lock-in is the cost nobody shows on the pricing page. Some AI builders keep everything on their own platform, so leaving later can mean starting again.&lt;/p&gt;

&lt;p&gt;Before you sign up, get a clear yes or no to each of these:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Is the domain registered in my name&lt;/strong&gt;, in a registrar account I control?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Can I export the code&lt;/strong&gt;, or sync it to a repository I own?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Can I host the site elsewhere&lt;/strong&gt; if prices rise or the tool closes?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Can I download form entries, customer records and images&lt;/strong&gt; in a standard format?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If any answer is no, you're renting your website rather than owning it. That's fine for a one-off event page. For the site your sales depend on, it's a real risk.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Match the tool to the job
&lt;/h3&gt;

&lt;p&gt;When you plan how to build a website with AI, the first real decision is which kind of tool to use. "AI website builder" covers very different products. Prompt-to-site builders such as Wix, Squarespace and Webflow give you a hosted site with a visual editor. App builders such as Lovable, Bolt and Replit generate full code, often with a database and logins. Coding assistants such as GitHub Copilot, Cursor and Claude Code help someone who already reads code work faster.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The more code the tool writes for you, the more of its bugs you own.&lt;/strong&gt; A hosted builder patches its own platform. A generated app hands you the code along with the responsibility. Building by describing what you want and accepting the code unread even has a name: &lt;a href="https://billionwebstudio.com/glossary/vibe-coding" rel="noopener noreferrer"&gt;vibe coding&lt;/a&gt;. It's great for prototypes. For anything holding customer data, it's a gamble.&lt;/p&gt;

&lt;h2&gt;
  
  
  While You Build: Feed the AI Real Facts
&lt;/h2&gt;

&lt;h3&gt;
  
  
  3. Write prompts with facts only you know
&lt;/h3&gt;

&lt;p&gt;A vague prompt gets a vague website. The AI fills every gap with safe, generic copy that could belong to any company in your trade. Here is the difference, using a made-up plumbing firm called Harbor Plumbing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Generic prompt:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Make a website for a plumbing company. Modern design, professional, with services and contact pages.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Prompt with real business facts:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Build a site for Harbor Plumbing with Home, Services, Areas, About and Contact pages. We serve Austin and Round Rock, Texas. Services: same-day water heater replacement, slab leak detection and whole-home repiping. Most visitors have an urgent leak and arrive on a phone, so put the phone number and a short quote form at the top of every mobile page. Tone: calm and plain, no buzzwords. Do not invent reviews, awards, years in business or statistics. Write [ADD FACT] wherever you need something I haven't given you.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The second prompt does three things the first can't. It supplies facts, it tells the AI what matters to real visitors, and it forbids invention. That last line matters most, as the next check shows.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Delete every claim the AI made up
&lt;/h3&gt;

&lt;p&gt;AI builders love filler proof. "Trusted by hundreds of happy clients." "Award-winning service." A glowing quote from "Sarah M., satisfied customer." They look real, yet none of them came from you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Publishing them is a legal problem, not just an awkward one.&lt;/strong&gt; In the US, the FTC's &lt;a href="https://www.ftc.gov/news-events/news/press-releases/2024/08/federal-trade-commission-announces-final-rule-banning-fake-reviews-testimonials" rel="noopener noreferrer"&gt;final rule banning fake reviews and testimonials&lt;/a&gt;, announced on 14 August 2024, covers reviews from people who don't exist, including AI-generated ones. It also lets the FTC seek civil penalties against knowing violators. In the UK, the &lt;a href="https://www.gov.uk/government/news/cma-to-boost-consumer-and-business-confidence-as-new-consumer-protection-regime-comes-into-force" rel="noopener noreferrer"&gt;DMCC Act brought in an explicit ban on posting or commissioning fake reviews&lt;/a&gt;, and the CMA can now fine a business up to 10% of its global turnover.&lt;/p&gt;

&lt;p&gt;So search the whole draft for figures, names, logos and badges, and confirm each one. If you can't prove it, delete it. Modest real proof beats impressive invented proof every time.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Make the content yours, not the model's average
&lt;/h3&gt;

&lt;p&gt;Does Google penalise AI-written pages? Not for being AI-written. In February 2023, Google said that &lt;a href="https://developers.google.com/search/blog/2023/02/google-search-and-ai-content" rel="noopener noreferrer"&gt;appropriate use of AI or automation isn't against its guidelines&lt;/a&gt;. What breaks its rules is content made mainly to manipulate rankings.&lt;/p&gt;

&lt;p&gt;The trap to avoid is Google's &lt;a href="https://developers.google.com/search/docs/essentials/spam-policies" rel="noopener noreferrer"&gt;scaled content abuse policy&lt;/a&gt;, last updated on 28 August 2026. One of its named examples is using generative AI to churn out many pages without adding value for users. On small business sites, the usual culprit is a stack of "plumber in [town]" pages where only the town name changes.&lt;/p&gt;

&lt;p&gt;What turns an AI draft into content worth ranking:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Your own photos&lt;/strong&gt; of real jobs, staff and premises&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prices, timelines and processes&lt;/strong&gt; specific to you&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Answers to the questions customers ask&lt;/strong&gt; on the phone every week&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A named person&lt;/strong&gt; who stands behind the advice&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Google's &lt;a href="https://developers.google.com/search/docs/fundamentals/ai-optimization-guide" rel="noopener noreferrer"&gt;AI optimisation guide&lt;/a&gt;, updated on 10 July 2026, calls this non-commodity content that is helpful, reliable and people-first. In other words, the parts an AI can't guess are exactly the parts that rank.&lt;/p&gt;

&lt;h2&gt;
  
  
  Before You Launch: Check What AI Tools Skip
&lt;/h2&gt;

&lt;h3&gt;
  
  
  6. Fix the SEO basics by hand
&lt;/h3&gt;

&lt;p&gt;AI builders usually add a title tag and a sitemap. Rarely do they get them right for your business. Check every important page for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;A specific title tag&lt;/strong&gt; naming the service and the place&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One H1&lt;/strong&gt; that says what the page offers, followed by H2s and H3s in order&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Internal links&lt;/strong&gt; between related services, areas and guides&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;An XML sitemap&lt;/strong&gt; submitted in Search Console&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No leftover noindex tags&lt;/strong&gt;, which test setups sometimes leave behind&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here is a typical title tag fix:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Before:&lt;/strong&gt; Home | Welcome to Our Website&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;After:&lt;/strong&gt; Emergency Plumber in Austin, TX | Same-Day Water Heaters&lt;/p&gt;

&lt;p&gt;Next, run your key pages through the &lt;a href="https://support.google.com/webmasters/answer/9012289?hl=en" rel="noopener noreferrer"&gt;URL Inspection tool in Search Console&lt;/a&gt; to confirm Google can fetch and index them. Also drop any promise of FAQ snippets that an AI tool or plugin makes. Google &lt;a href="https://developers.google.com/search/updates" rel="noopener noreferrer"&gt;stopped showing FAQ rich results from 7 May 2026&lt;/a&gt;, so FAQ markup no longer earns a special listing. Keep the FAQ itself, though, because readers still use it.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. Make sure crawlers can read your pages
&lt;/h3&gt;

&lt;p&gt;Most owners have never heard of this check. Many AI app builders produce single-page apps: the server sends an almost empty HTML shell, and JavaScript paints the content in the browser.&lt;/p&gt;

&lt;p&gt;Google can render JavaScript, and its &lt;a href="https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics" rel="noopener noreferrer"&gt;JavaScript SEO basics&lt;/a&gt; explain how to make that work. AI crawlers are a different story. Vercel's &lt;a href="https://vercel.com/blog/the-rise-of-the-ai-crawler" rel="noopener noreferrer"&gt;study of AI crawler traffic&lt;/a&gt;, published in December 2024, found that none of the major AI crawlers, including OpenAI's GPTBot and Anthropic's ClaudeBot, rendered JavaScript. Its advice was to server-render critical content.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The quick test:&lt;/strong&gt; open your page, right-click, choose View Page Source and search for a sentence from your main content. If the sentence isn't there, any crawler that skips JavaScript sees an empty page. In that case, ask for &lt;a href="https://billionwebstudio.com/glossary/server-side-rendering" rel="noopener noreferrer"&gt;server-side rendering&lt;/a&gt; or static pages.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbztk57to4cs6oumw5eoe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbztk57to4cs6oumw5eoe.png" alt="Side-by-side comparison of the raw HTML a non-JavaScript crawler receives from a client-rendered page, which contains only an empty root div and a script tag, and from a server-rendered page, which contains the heading, service text, phone number and quote form" width="800" height="530"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  8. Check speed against Core Web Vitals
&lt;/h3&gt;

&lt;p&gt;AI tools happily stack up animations, autoplay hero videos and several font families. Each one adds load time on an average phone.&lt;/p&gt;

&lt;p&gt;Google's &lt;a href="https://web.dev/articles/vitals" rel="noopener noreferrer"&gt;Core Web Vitals&lt;/a&gt; set clear pass marks, measured at the 75th percentile of page loads:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Largest Contentful Paint (LCP):&lt;/strong&gt; 2.5 seconds or less&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interaction to Next Paint (INP):&lt;/strong&gt; 200 milliseconds or less&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cumulative Layout Shift (CLS):&lt;/strong&gt; 0.1 or less&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Run your key pages through &lt;a href="https://pagespeed.web.dev/" rel="noopener noreferrer"&gt;PageSpeed Insights&lt;/a&gt; and read the mobile result first, not desktop. Typical fixes include compressing images, removing unused scripts and fonts, and reserving space for images so the layout doesn't jump.&lt;/p&gt;

&lt;h3&gt;
  
  
  9. Test accessibility, because AI code often fails it
&lt;/h3&gt;

&lt;p&gt;Accessibility problems are everywhere, not only on AI-built sites. The &lt;a href="https://webaim.org/projects/million/" rel="noopener noreferrer"&gt;WebAIM Million 2026 report&lt;/a&gt; found detectable WCAG 2 failures on 95.9% of the top million home pages, with an average of 56.1 errors per page. Low-contrast text appeared on 83.9% of those home pages, and 16.2% of all home page images had no alt text.&lt;/p&gt;

&lt;p&gt;Because AI models learned from that same web, they repeat its habits. The two we spot most often in generated code are clickable divs pretending to be buttons, and images with missing or useless alt text.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkhzupt1etupspabt5z8f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkhzupt1etupspabt5z8f.png" alt="Before and after code comparison: a div with an onclick handler replaced by a real button element that works with a keyboard and screen reader, and an image with no alt attribute replaced by one whose alt text describes the photo" width="800" height="620"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the US, the legal risk is real. The Justice Department's &lt;a href="https://www.ada.gov/resources/web-guidance/" rel="noopener noreferrer"&gt;guidance on web accessibility&lt;/a&gt; says the ADA applies to all the goods and services that businesses open to the public offer, and that inaccessible websites can shut people out. Plaintiffs filed 3,117 website accessibility lawsuits in US federal court in 2025, a 27% rise on 2024, according to &lt;a href="https://www.adatitleiii.com/2026/03/federal-court-website-accessibility-lawsuit-filings-bounce-back-in-2025/" rel="noopener noreferrer"&gt;Seyfarth Shaw's annual count&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Aim for Level AA of &lt;a href="https://www.w3.org/TR/WCAG22/" rel="noopener noreferrer"&gt;WCAG 2.2&lt;/a&gt;, the current W3C standard. Run a free &lt;a href="https://wave.webaim.org/" rel="noopener noreferrer"&gt;WAVE&lt;/a&gt; scan, then tab through every page using only your keyboard. Be wary of &lt;a href="https://billionwebstudio.com/glossary/accessibility-overlay" rel="noopener noreferrer"&gt;accessibility overlay&lt;/a&gt; widgets that promise instant compliance. In April 2025, the FTC &lt;a href="https://www.ftc.gov/news-events/news/press-releases/2025/04/ftc-approves-final-order-requiring-accessibe-pay-1-million" rel="noopener noreferrer"&gt;ordered accessiBe to pay $1 million&lt;/a&gt; and barred it from claiming its automated tools can make any site WCAG-compliant without evidence.&lt;/p&gt;

&lt;h3&gt;
  
  
  10. Treat AI-written code as untrusted until tested
&lt;/h3&gt;

&lt;p&gt;AI code looks finished. It runs, it demos well, and it passes a glance. Security, however, is a separate test. Veracode's &lt;a href="https://www.veracode.com/news/llms-are-getting-smarter-but-not-safer-veracode-2026-genai-code-security-report-finds-ai-generated-code-security-has-stalled-at-56%25-pass-rate/" rel="noopener noreferrer"&gt;2026 GenAI Code Security Report&lt;/a&gt;, released on 28 July 2026, found an average security pass rate of 56%. Put the other way, the models failed nearly 44% of the time when given no security-specific guidance.&lt;/p&gt;

&lt;p&gt;There is a real-world example, too. &lt;a href="https://nvd.nist.gov/vuln/detail/CVE-2025-48757" rel="noopener noreferrer"&gt;CVE-2025-48757&lt;/a&gt; records that sites generated by Lovable up to 15 April 2025 could ship with database access rules weak enough to let unauthenticated attackers read or write their tables. Lovable disputes the record, saying each customer is responsible for protecting their own app's data. Either way, &lt;strong&gt;the responsibility lands on you, the site owner.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Even developers don't take AI output on trust. In &lt;a href="https://survey.stackoverflow.co/2026/ai" rel="noopener noreferrer"&gt;Stack Overflow's 2026 Developer Survey&lt;/a&gt;, 48% said they trust AI when they can easily check the answers. If you can't check the code yourself, someone else needs to.&lt;/p&gt;

&lt;p&gt;At minimum, before launch:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No API keys or passwords&lt;/strong&gt; in front-end code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database access rules switched on&lt;/strong&gt;, then tested from a logged-out browser&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;HTTPS on every page&lt;/strong&gt; and spam protection on every form&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Packages up to date&lt;/strong&gt;, reviewed against the &lt;a href="https://owasp.org/www-project-top-ten/" rel="noopener noreferrer"&gt;OWASP Top 10&lt;/a&gt; risks&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No customer data pasted into AI prompts&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Privacy and cookies need the same care. AI builders readily add analytics tags, ad pixels and chat widgets, often without asking for &lt;a href="https://billionwebstudio.com/glossary/cookie-consent" rel="noopener noreferrer"&gt;cookie consent&lt;/a&gt;. In the UK, the Data (Use and Access) Act 2025 added an &lt;a href="https://ico.org.uk/for-organisations/direct-marketing-and-privacy-and-electronic-communications/guidance-on-the-use-of-storage-and-access-technologies/what-are-the-exceptions/" rel="noopener noreferrer"&gt;exception for analytics used only to improve your service&lt;/a&gt;, provided you explain it clearly and give a simple, free way to object. Advertising cookies still need consent. Meanwhile, the ICO can now &lt;a href="https://ico.org.uk/about-the-ico/media-centre/news-and-blogs/2025/06/uk-organisations-stand-to-benefit-from-new-data-protection-laws/" rel="noopener noreferrer"&gt;fine up to £17.5 million or 4% of global turnover&lt;/a&gt; under PECR. In the UAE, the &lt;a href="https://u.ae/en/about-the-uae/digital-uae/data/data-protection-laws" rel="noopener noreferrer"&gt;Personal Data Protection Law&lt;/a&gt;, in force since 2 January 2022, generally prohibits processing personal data without its owner's consent, with limited exceptions.&lt;/p&gt;

&lt;h3&gt;
  
  
  11. Test every form and track every lead
&lt;/h3&gt;

&lt;p&gt;A beautiful site that loses enquiries is worse than a plain one that captures them. AI builders sometimes wire a form to nothing at all, or to an inbox nobody reads.&lt;/p&gt;

&lt;p&gt;Before launch:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Submit every form yourself&lt;/strong&gt; and confirm the email arrives with every field filled&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check the thank-you message&lt;/strong&gt;, and make sure spam protection isn't blocking real people&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mark form submissions, calls and WhatsApp clicks&lt;/strong&gt; as &lt;a href="https://support.google.com/analytics/answer/9267568?hl=en" rel="noopener noreferrer"&gt;key events in Google Analytics 4&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tag campaign links&lt;/strong&gt; so you know which ad or post sent each lead&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Also, keep an eye on GA4's new AI Assistant channel. Since &lt;a href="https://support.google.com/analytics/answer/9164320?hl=en" rel="noopener noreferrer"&gt;13 May 2026&lt;/a&gt;, it shows visits from chatbots such as ChatGPT, Gemini and Claude. If your site is live but quiet, my guide on &lt;a href="https://billionwebstudio.com/blog/why-is-my-website-not-generating-leads" rel="noopener noreferrer"&gt;why a website isn't generating leads&lt;/a&gt; walks through the usual fixes.&lt;/p&gt;

&lt;p&gt;The graphic below pulls checks 6 to 11 into a single test run you can do in one sitting with free tools.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxqbgvii0w463kb55a6yf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxqbgvii0w463kb55a6yf.png" alt="Pre-launch test run in six stops, each with the free tool to use and the pass mark: view page source for content in the HTML, PageSpeed Insights for mobile Core Web Vitals, WAVE plus a keyboard pass for accessibility, Search Console URL Inspection for indexing, a real test submission for each form, and GA4 real-time for the key event" width="800" height="580"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  After Launch: Stay Visible, Safe and Current
&lt;/h2&gt;

&lt;h3&gt;
  
  
  12. Plan for AI search without chasing myths
&lt;/h3&gt;

&lt;p&gt;AI assistants now send real visitors, and getting cited follows mostly the same rules as ranking. Google's AI optimisation guide says you don't need new AI text files, special markup or Markdown copies to appear in its AI features, and that Google Search ignores them. That includes llms.txt. Structured data isn't required either, and there is no special AI schema to add.&lt;/p&gt;

&lt;p&gt;What does help: pages that are indexed and eligible to show a snippet, content crawlers can read (check 7) and original expertise (check 5). If you'd rather keep your content out of Gemini, the &lt;a href="https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers" rel="noopener noreferrer"&gt;Google-Extended&lt;/a&gt; token controls use for Gemini training and grounding. According to Google, it doesn't affect inclusion or ranking in Search.&lt;/p&gt;

&lt;h3&gt;
  
  
  Keep hosting, backups and updates on someone's calendar
&lt;/h3&gt;

&lt;p&gt;An AI builder gets you to launch day. After that, somebody still has to answer these questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Who renews the domain&lt;/strong&gt; and watches the security certificate?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Where are the backups&lt;/strong&gt;, and has anyone tried restoring one?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Who updates&lt;/strong&gt; plugins, packages and integrations?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Where do you test changes&lt;/strong&gt; before they go live?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Re-run your pre-launch test after every big edit. Regenerating a section with AI can quietly overwrite the titles, alt text and tracking you fixed by hand.&lt;/p&gt;

&lt;h3&gt;
  
  
  Know when to bring in a developer
&lt;/h3&gt;

&lt;p&gt;Knowing how to build a website with AI also means knowing where AI should stop. The decision tree near the top covers the main triggers. In short, bring in help when the site takes payments or logins, stores personal data, carries most of your leads, or replaces an older site that already ranks. Moving a site that ranks without a redirect plan can wipe out years of search traffic.&lt;/p&gt;

&lt;p&gt;A developer doesn't have to replace AI, either. Often the best value is AI for the draft and a developer for the review: structure, security, tracking and speed.&lt;/p&gt;

&lt;p&gt;That review work is what we do every day at Billion Web Studio. We build websites for businesses in the USA, the UK, Dubai and the wider UAE, Canada, Australia and other markets, India included. Our &lt;a href="https://billionwebstudio.com/case-studies" rel="noopener noreferrer"&gt;case studies&lt;/a&gt; show what the unglamorous checks above can do. Blues Renewables, a rooftop solar installer, had a slow, client-rendered site with no lead tracking. After its rebuild, it went from zero tracked leads to 7 to 10 enquiries a week, and its Google clicks grew from 14 to 560 a fortnight. Trucks India's weekly Google clicks grew from 12 to 292 after crawling and indexing fixes. Eco Industries, a packaging manufacturer, went from no website leads to about 10 a week, and Terah Tex, a uniform manufacturer, from none to about 5 bulk-order leads a week.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Can AI build a whole website for me?
&lt;/h3&gt;

&lt;p&gt;Yes, for a simple brochure site, AI can generate the pages, copy, code and even hosting in one session. What it can't do is supply your facts, meet your legal duties or decide what your business should say. Treat the output as a draft, then run the checks in this guide before you publish.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can ChatGPT create a website?
&lt;/h3&gt;

&lt;p&gt;ChatGPT can write HTML, CSS and JavaScript, plan a site structure and draft page copy. You'll still need a domain, hosting and someone to assemble, test and publish the pages. For most non-coders, a hosted AI builder is the simpler route, with ChatGPT helping on copy.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does Google penalise AI-generated websites?
&lt;/h3&gt;

&lt;p&gt;No, not for using AI. Google's position is that appropriate use of AI isn't against its guidelines. The risk comes from mass-producing thin pages to manipulate rankings, which falls under its scaled content abuse policy. Original facts, photos and expertise keep you on the right side.&lt;/p&gt;

&lt;h3&gt;
  
  
  Are AI website builders good for SEO?
&lt;/h3&gt;

&lt;p&gt;They cover the basics, such as mobile layouts and an automatic sitemap. However, they often miss business-specific title tags, internal links, crawlable content and indexing checks. Expect to fix those by hand, as described in checks 6 and 7.&lt;/p&gt;

&lt;h3&gt;
  
  
  How can you tell if a website is AI-generated?
&lt;/h3&gt;

&lt;p&gt;Common signs include copy that could fit any company, stock-style images with odd details, vague claims with no names or proof, and identical section patterns on every page. Visitors notice these too, which is why adding your own facts and photos pays off.&lt;/p&gt;

&lt;h3&gt;
  
  
  How much does it cost to have AI build a website?
&lt;/h3&gt;

&lt;p&gt;The builder subscription is usually the smallest cost. Add your domain, any paid features, your own time on prompts and edits, and the fixes from this checklist. If a developer reviews the site, ask for a fixed quote for that review before work starts.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is web design still worth paying for when AI can do it?
&lt;/h3&gt;

&lt;p&gt;For a hobby site or a short campaign page, often not. For a site that carries your revenue, the value has moved from drawing layouts to the parts AI misses: structure, tracking, speed, accessibility, security and search visibility.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;AI has made the first draft almost free. It hasn't made ownership, accuracy, accessibility, security or lead tracking automatic, and those are what decide whether a website earns money.&lt;/p&gt;

&lt;p&gt;So if you remember one thing about how to build a website with AI, make it this: let the AI draft, then check its work like a sceptic before you launch. If you'd like a second pair of eyes on an AI-built site, you can &lt;a href="https://billionwebstudio.com/contact" rel="noopener noreferrer"&gt;ask Billion Web Studio for a review&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>seo</category>
      <category>a11y</category>
    </item>
  </channel>
</rss>
