<?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: Ruslan Bilohash</title>
    <description>The latest articles on DEV Community by Ruslan Bilohash (@bilohash).</description>
    <link>https://dev.to/bilohash</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%2F3858507%2F71a6f1fd-a2e7-4b5d-a224-fda2612e50b5.jpg</url>
      <title>DEV Community: Ruslan Bilohash</title>
      <link>https://dev.to/bilohash</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bilohash"/>
    <language>en</language>
    <item>
      <title>Booking CMS — PHP Reservation Script for Hotels, Rentals, Clinics &amp; Salons</title>
      <dc:creator>Ruslan Bilohash</dc:creator>
      <pubDate>Fri, 04 Sep 2026 19:21:58 +0000</pubDate>
      <link>https://dev.to/bilohash/booking-cms-php-reservation-script-for-hotels-rentals-clinics-salons-26il</link>
      <guid>https://dev.to/bilohash/booking-cms-php-reservation-script-for-hotels-rentals-clinics-salons-26il</guid>
      <description>&lt;p&gt;Take bookings from day one, on your server.&lt;/p&gt;

&lt;p&gt;Booking CMS is a reservation script in plain PHP 8 — search, listings, amenities, guest reviews, a booking flow and a 24-screen admin panel. No framework, no build step, no npm. Upload it to ordinary shared hosting, run the installer, and it runs.&lt;/p&gt;

&lt;p&gt;It ships as a hotel demo, but the listing type is yours to relabel: clinics and dental practices, beauty salons, spas, fitness studios, apartment rentals, equipment hire — anything that takes a reservation against a date range.&lt;/p&gt;

&lt;p&gt;Live demo: bilohash.com/booking&lt;/p&gt;

&lt;p&gt;Front end&lt;/p&gt;

&lt;p&gt;Search with destination, dates, guests and rooms, then filter by property type, price range and sort order&lt;/p&gt;

&lt;p&gt;Listing pages with photo, rating, review count, discount badge, per-night and total price&lt;/p&gt;

&lt;p&gt;Property detail with overview, amenities and guest review tabs&lt;/p&gt;

&lt;p&gt;Location block — GPS coordinates, an OpenStreetMap embed and a Start trip link into Google Maps directions&lt;/p&gt;

&lt;p&gt;Booking form that collects guest details and writes a real reservation record&lt;/p&gt;

&lt;p&gt;Public guest review form with reCAPTCHA and a moderation queue&lt;/p&gt;

&lt;p&gt;Vertical landing pages for hotels, rentals, clinics, salons, spa, fitness and equipment hire&lt;/p&gt;

&lt;p&gt;Responsive layout with a mobile menu&lt;/p&gt;

&lt;p&gt;Admin panel — 24 screens&lt;/p&gt;

&lt;p&gt;Dashboard with property, booking and revenue figures&lt;/p&gt;

&lt;p&gt;Properties — price, discount, rating, coordinates, names per language, active or hidden&lt;/p&gt;

&lt;p&gt;Bookings — pending, confirmed, cancelled&lt;/p&gt;

&lt;p&gt;Review moderation — approve, hide, delete or add&lt;/p&gt;

&lt;p&gt;Appearance settings: colours and footer&lt;/p&gt;

&lt;p&gt;reCAPTCHA v2 and an AI chat widget (xAI Grok or OpenAI)&lt;/p&gt;

&lt;p&gt;Payment method settings for PayPal, Stripe and Vipps — see the note below&lt;/p&gt;

&lt;p&gt;Admin interface in all five languages, with a mobile drawer&lt;/p&gt;

&lt;p&gt;Payments — read this before you buy&lt;/p&gt;

&lt;p&gt;This script does not process payments. The booking form asks the guest to pick a method, and that choice is stored with the reservation, but nothing is charged and no payment provider is contacted. The admin panel has settings screens where you can save PayPal, Stripe and Vipps credentials, and those are stored — but no checkout is built on top of them yet.&lt;/p&gt;

&lt;p&gt;That is deliberate for a reservation workflow where you take payment on arrival, by invoice, or over the phone. If you need a guest to pay online at the moment of booking, this is not that script — or budget for that integration on top.&lt;/p&gt;

&lt;p&gt;The demo says the same thing on the property page, so you can see it for yourself before you spend anything.&lt;/p&gt;

&lt;p&gt;Storage — MySQL or flat files&lt;/p&gt;

&lt;p&gt;Four tables — properties, bookings, reviews and settings. Run it on MySQL, or leave it on the bundled JSON files for a quick evaluation and migrate later with the included script.&lt;/p&gt;

&lt;p&gt;5 languages&lt;/p&gt;

&lt;p&gt;Front end and admin panel both ship in Norwegian (default), English, Ukrainian, Russian and Swedish. Language files are plain PHP arrays in lang/ — copy one to add your own.&lt;/p&gt;

&lt;p&gt;Tech&lt;/p&gt;

&lt;p&gt;PHP 8.0+, no framework — runs on ordinary shared hosting&lt;/p&gt;

&lt;p&gt;MySQL, or JSON files with a migration script to move over&lt;/p&gt;

&lt;p&gt;Browser-based installer, no SSH needed&lt;/p&gt;

&lt;p&gt;Apache .htaccess, canonical URLs, sitemap.php, robots.txt, llms.txt&lt;/p&gt;

&lt;p&gt;OpenStreetMap embeds and Google Maps directions links&lt;/p&gt;

&lt;p&gt;Google reCAPTCHA v2 on the public review form&lt;/p&gt;

&lt;p&gt;Optional AI chat widget using your own xAI Grok or OpenAI key&lt;/p&gt;

&lt;p&gt;What you get&lt;/p&gt;

&lt;p&gt;Full source, unencrypted, no licence key and no callback to any server&lt;/p&gt;

&lt;p&gt;Installer, demo properties, bookings and reviews so it is not empty on first run&lt;/p&gt;

&lt;p&gt;README in English, Norwegian, Ukrainian and Russian, plus a changelog&lt;/p&gt;

&lt;p&gt;Requirements&lt;/p&gt;

&lt;p&gt;PHP 8.0 or newer, Apache with mod_rewrite (or the nginx equivalent), MySQL if you want database storage, and writable data/.&lt;/p&gt;

&lt;p&gt;Third-party services&lt;/p&gt;

&lt;p&gt;Nothing is contacted until you enter your own credentials and switch that integration on. The services are: OpenStreetMap, Google Maps, Google reCAPTCHA, xAI Grok and OpenAI. You are responsible for complying with each provider's terms.&lt;/p&gt;

&lt;p&gt;Trademarks&lt;/p&gt;

&lt;p&gt;All product names, logos and brands named above are property of their respective owners and are used for identification only. Booking CMS is independent and not affiliated with, sponsored by, or endorsed by any of them.&lt;/p&gt;

&lt;p&gt;Screenshots&lt;/p&gt;

</description>
      <category>php</category>
    </item>
    <item>
      <title>Booking CMS — PHP Reservation Script for Hotels, Rentals, Clinics &amp; Salons</title>
      <dc:creator>Ruslan Bilohash</dc:creator>
      <pubDate>Fri, 04 Sep 2026 18:45:08 +0000</pubDate>
      <link>https://dev.to/bilohash/booking-cms-php-reservation-script-for-hotels-rentals-clinics-salons-4e7a</link>
      <guid>https://dev.to/bilohash/booking-cms-php-reservation-script-for-hotels-rentals-clinics-salons-4e7a</guid>
      <description>&lt;p&gt;Take bookings from day one, on your server.&lt;/p&gt;

&lt;p&gt;Booking CMS is a reservation script in plain PHP 8 — search, listings, amenities, guest reviews, a booking flow and a 24-screen admin panel. No framework, no build step, no npm. Upload it to ordinary shared hosting, run the installer, and it runs.&lt;/p&gt;

&lt;p&gt;It ships as a hotel demo, but the listing type is yours to relabel: clinics and dental practices, beauty salons, spas, fitness studios, apartment rentals, equipment hire — anything that takes a reservation against a date range.&lt;/p&gt;

&lt;p&gt;Live demo:&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://bilohash.com/booking/" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fbilohash.com%2Fbooking%2Fscreen%2Fhome.svg" height="720" class="m-0" width="1200"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://bilohash.com/booking/" rel="noopener noreferrer" class="c-link"&gt;
            Booking CMS — PHP bookingsskript Norge | Hotell, utleie, legetime
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Booking CMS — universelt PHP online bookingsskript fra Norge: hotell, utleie, legetime, tannlege, skjønnhetssalong og mer. Flerspråklig frontend, Schema.org, adminpanel og JSON. Booking.com-demo — samme motor for ethvert reservasjonsbehov i Norge og Skandinavia.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/data%3Aimage%2Fsvg%2Bxml%2C%253Csvg%2520xmlns%253D%2527http%253A%252F%252Fwww.w3.org%252F2000%252Fsvg%2527%2520viewBox%253D%25270%25200%2520100%2520100%2527%253E%253Crect%2520fill%253D%2527%2523185eb9%2527%2520width%253D%2527100%2527%2520height%253D%2527100%2527%2520rx%253D%252712%2527%252F%253E%253Ctext%2520x%253D%252750%2527%2520y%253D%252762%2527%2520font-size%253D%252744%2527%2520text-anchor%253D%2527middle%2527%2520fill%253D%2527white%2527%2520font-family%253D%2527sans-serif%2527%2520font-weight%253D%2527bold%2527%253EB%253C%252Ftext%253E%253C%252Fsvg%253E" width="" height=""&gt;
          bilohash.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://bilohash.gumroad.com/l/booking" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpublic-files.gumroad.com%2Fxb8b8kiaqz5k9z7kwwodv0rpohod" height="670" class="m-0" width="1005"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://bilohash.gumroad.com/l/booking" rel="noopener noreferrer" class="c-link"&gt;
            Booking CMS — PHP Reservation Script for Hotels, Rentals, Clinics &amp;amp; Salons
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Take bookings from day one, on your server.Booking CMS is a reservation script in plain PHP 8 — search, listings, amenities, guest reviews, a booking flow and a 24-screen admin panel. No framework, no build step, no npm. Upload it to ordinary shared hosting, run the installer, and it runs.It ships as a hotel demo, but the listing type is yours to relabel: clinics and dental practices, beauty salons, spas, fitness studios, apartment rentals, equipment hire — anything that takes a reservation against a date range.Live demo: bilohash.com/bookingFront end Search with destination, dates, guests and rooms, then filter by property type, price range and sort order Listing pages with photo, rating, review count, discount badge, per-night and total price Property detail with overview, amenities and guest review tabs Location block — GPS coordinates, an OpenStreetMap embed and a Start trip link into Google Maps directions Booking form that collects guest details and writes a real reservation record Public guest review form with reCAPTCHA and a moderation queue Vertical landing pages for hotels, rentals, clinics, salons, spa, fitness and equipment hire Responsive layout with a mobile menu Admin panel — 24 screens Dashboard with property, booking and revenue figures Properties — price, discount, rating, coordinates, names per language, active or hidden Bookings — pending, confirmed, cancelled Review moderation — approve, hide, delete or add Appearance settings: colours and footer reCAPTCHA v2 and an AI chat widget (xAI Grok or OpenAI) Payment method settings for PayPal, Stripe and Vipps — see the note below Admin interface in all five languages, with a mobile drawer Payments — read this before you buyThis script does not process payments. The booking form asks the guest to pick a method, and that choice is stored with the reservation, but nothing is charged and no payment provider is contacted. The admin panel has settings screens where you can save PayPal, Stripe and Vipps credentials, and those are stored — but no checkout is built on top of them yet.That is deliberate for a reservation workflow where you take payment on arrival, by invoice, or over the phone. If you need a guest to pay online at the moment of booking, this is not that script — or budget for that integration on top.The demo says the same thing on the property page, so you can see it for yourself before you spend anything.Storage — MySQL or flat filesFour tables — properties, bookings, reviews and settings. Run it on MySQL, or leave it on the bundled JSON files for a quick evaluation and migrate later with the included script.5 languagesFront end and admin panel both ship in Norwegian (default), English, Ukrainian, Russian and Swedish. Language files are plain PHP arrays in lang/ — copy one to add your own.Tech PHP 8.0+, no framework — runs on ordinary shared hosting MySQL, or JSON files with a migration script to move over Browser-based installer, no SSH needed Apache .htaccess, canonical URLs, sitemap.php, robots.txt, llms.txt OpenStreetMap embeds and Google Maps directions links Google reCAPTCHA v2 on the public review form Optional AI chat widget using your own xAI Grok or OpenAI key What you get Full source, unencrypted, no licence key and no callback to any server Installer, demo properties, bookings and reviews so it is not empty on first run README in English, Norwegian, Ukrainian and Russian, plus a changelog RequirementsPHP 8.0 or newer, Apache with mod_rewrite (or the nginx equivalent), MySQL if you want database storage, and writable data/.Third-party servicesNothing is contacted until you enter your own credentials and switch that integration on. The services are: OpenStreetMap, Google Maps, Google reCAPTCHA, xAI Grok and OpenAI. You are responsible for complying with each provider's terms.TrademarksAll product names, logos and brands named above are property of their respective owners and are used for identification only. Booking CMS is independent and not affiliated with, sponsored by, or endorsed by any of them.ScreenshotsSearch results — filters for type, price and sort order, with review scores, discount badges and per-night pricing.Property page — overview, facilities and guest review tabs, beside a live stay summary and Reserve button.Booking form — guest details, payment method and reCAPTCHA, with subtotal, VAT and total. Demo mode: no payment is charged.Home page — search hero above the eight industries the same engine covers.Solutions hub — eight industry landing pages, SEO-optimised in five languages.Contact page — the enquiry form included with the front end.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpublic-files.gumroad.com%2Fs9dolm67h8nam20s0qaeg6e58xsd" width="400" height="400"&gt;
          bilohash.gumroad.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;Front end&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%2Ff3brjnvgu66h49wfeblj.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%2Ff3brjnvgu66h49wfeblj.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Search with destination, dates, guests and rooms, then filter by property type, price range and sort order&lt;/p&gt;

&lt;p&gt;Listing pages with photo, rating, review count, discount badge, per-night and total price&lt;/p&gt;

&lt;p&gt;Property detail with overview, amenities and guest review tabs&lt;/p&gt;

&lt;p&gt;Location block — GPS coordinates, an OpenStreetMap embed and a Start trip link into Google Maps directions&lt;/p&gt;

&lt;p&gt;Booking form that collects guest details and writes a real reservation record&lt;/p&gt;

&lt;p&gt;Public guest review form with reCAPTCHA and a moderation queue&lt;/p&gt;

&lt;p&gt;Vertical landing pages for hotels, rentals, clinics, salons, spa, fitness and equipment hire&lt;/p&gt;

&lt;p&gt;Responsive layout with a mobile menu&lt;/p&gt;

&lt;p&gt;Admin panel — 24 screens&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%2Fayrvqa8viyzsfbcf6agf.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%2Fayrvqa8viyzsfbcf6agf.png" alt=" " width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Dashboard with property, booking and revenue figures&lt;/p&gt;

&lt;p&gt;Properties — price, discount, rating, coordinates, names per language, active or hidden&lt;/p&gt;

&lt;p&gt;Bookings — pending, confirmed, cancelled&lt;/p&gt;

&lt;p&gt;Review moderation — approve, hide, delete or add&lt;/p&gt;

&lt;p&gt;Appearance settings: colours and footer&lt;/p&gt;

&lt;p&gt;reCAPTCHA v2 and an AI chat widget (xAI Grok or OpenAI)&lt;/p&gt;

&lt;p&gt;Payment method settings for PayPal, Stripe and Vipps — see the note below&lt;/p&gt;

&lt;p&gt;Admin interface in all five languages, with a mobile drawer&lt;/p&gt;

&lt;p&gt;Payments — read this before you buy&lt;/p&gt;

&lt;p&gt;This script does not process payments. The booking form asks the guest to pick a method, and that choice is stored with the reservation, but nothing is charged and no payment provider is contacted. The admin panel has settings screens where you can save PayPal, Stripe and Vipps credentials, and those are stored — but no checkout is built on top of them yet.&lt;/p&gt;

&lt;p&gt;That is deliberate for a reservation workflow where you take payment on arrival, by invoice, or over the phone. If you need a guest to pay online at the moment of booking, this is not that script — or budget for that integration on top.&lt;/p&gt;

&lt;p&gt;The demo says the same thing on the property page, so you can see it for yourself before you spend anything.&lt;/p&gt;

&lt;p&gt;Storage — MySQL or flat files&lt;/p&gt;

&lt;p&gt;Four tables — properties, bookings, reviews and settings. Run it on MySQL, or leave it on the bundled JSON files for a quick evaluation and migrate later with the included script.&lt;/p&gt;

&lt;p&gt;5 languages&lt;/p&gt;

&lt;p&gt;Front end and admin panel both ship in Norwegian (default), English, Ukrainian, Russian and Swedish. Language files are plain PHP arrays in lang/ — copy one to add your own.&lt;/p&gt;

&lt;p&gt;Tech&lt;/p&gt;

&lt;p&gt;PHP 8.0+, no framework — runs on ordinary shared hosting&lt;/p&gt;

&lt;p&gt;MySQL, or JSON files with a migration script to move over&lt;/p&gt;

&lt;p&gt;Browser-based installer, no SSH needed&lt;/p&gt;

&lt;p&gt;Apache .htaccess, canonical URLs, sitemap.php, robots.txt, llms.txt&lt;/p&gt;

&lt;p&gt;OpenStreetMap embeds and Google Maps directions links&lt;/p&gt;

&lt;p&gt;Google reCAPTCHA v2 on the public review form&lt;/p&gt;

&lt;p&gt;Optional AI chat widget using your own xAI Grok or OpenAI key&lt;/p&gt;

&lt;p&gt;What you get&lt;/p&gt;

&lt;p&gt;Full source, unencrypted, no licence key and no callback to any server&lt;/p&gt;

&lt;p&gt;Installer, demo properties, bookings and reviews so it is not empty on first run&lt;/p&gt;

&lt;p&gt;README in English, Norwegian, Ukrainian and Russian, plus a changelog&lt;/p&gt;

&lt;p&gt;Requirements&lt;/p&gt;

&lt;p&gt;PHP 8.0 or newer, Apache with mod_rewrite (or the nginx equivalent), MySQL if you want database storage, and writable data/.&lt;/p&gt;

&lt;p&gt;Third-party services&lt;/p&gt;

&lt;p&gt;Nothing is contacted until you enter your own credentials and switch that integration on. The services are: OpenStreetMap, Google Maps, Google reCAPTCHA, xAI Grok and OpenAI. You are responsible for complying with each provider's terms.&lt;/p&gt;

&lt;p&gt;Trademarks&lt;/p&gt;

&lt;p&gt;All product names, logos and brands named above are property of their respective owners and are used for identification only. Booking CMS is independent and not affiliated with, sponsored by, or endorsed by any of them.&lt;/p&gt;

&lt;p&gt;Screenshots&lt;/p&gt;

&lt;p&gt;Search results — filters for type, price and sort order, with review scores, discount badges and per-night pricing.&lt;/p&gt;

&lt;p&gt;Property page — overview, facilities and guest review tabs, beside a live stay summary and Reserve button.&lt;/p&gt;

&lt;p&gt;Booking form — guest details, payment method and reCAPTCHA, with subtotal, VAT and total. Demo mode: no payment is charged.&lt;/p&gt;

&lt;p&gt;Home page — search hero above the eight industries the same engine covers.&lt;/p&gt;

&lt;p&gt;Solutions hub — eight industry landing pages, SEO-optimised in five languages.&lt;/p&gt;

&lt;p&gt;Contact page — the enquiry form included with the front end.&lt;/p&gt;

</description>
      <category>php</category>
      <category>mysql</category>
    </item>
    <item>
      <title>All-in-One Business Management, Inventory &amp; E-commerce Platform for Laravel</title>
      <dc:creator>Ruslan Bilohash</dc:creator>
      <pubDate>Fri, 04 Sep 2026 18:35:13 +0000</pubDate>
      <link>https://dev.to/bilohash/all-in-one-business-management-inventory-e-commerce-platform-for-laravel-14el</link>
      <guid>https://dev.to/bilohash/all-in-one-business-management-inventory-e-commerce-platform-for-laravel-14el</guid>
      <description>&lt;p&gt;Run your whole business from one panel.&lt;/p&gt;

&lt;p&gt;A self-hosted Laravel 13 + Filament 3 admin panel for product catalogs, multi-warehouse inventory, invoicing with 11 working payment gateways, and marketplace connections. One purchase, install it on your own server, own it forever.&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%2Fhktf2gi47t5mibkvp1qf.jpg" 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%2Fhktf2gi47t5mibkvp1qf.jpg" alt=" " width="590" height="300"&gt;&lt;/a&gt;WHAT'S INSIDE&lt;/p&gt;

&lt;p&gt;Products, variants and full catalog management&lt;/p&gt;

&lt;p&gt;Stock across multiple warehouses, incoming and outgoing waybills&lt;/p&gt;

&lt;p&gt;Customers, orders and invoices with one-click payment links and PDF export&lt;/p&gt;

&lt;p&gt;11 payment gateways: Stripe, PayPal, LiqPay, Fondy, WayForPay, Vipps MobilePay, Paysera, Revolut, Mollie, Mercado Pago, Midtrans&lt;/p&gt;

&lt;p&gt;Marketplace and ads integrations: Google Merchant Center, Google Ads, Meta Commerce Manager, Meta Ads, TikTok Ads, Amazon, eBay, Rozetka, Shopify, WooCommerce, PrestaShop, Wix&lt;/p&gt;

&lt;p&gt;A public customer-facing storefront, included in the box&lt;/p&gt;

&lt;p&gt;Role-based permissions: Owner, Manager, Accountant, Sales Manager, Marketing Manager, Warehouse Staff&lt;/p&gt;

&lt;p&gt;REST API&lt;/p&gt;

&lt;p&gt;14 languages: English, Ukrainian, Norwegian, Swedish, Lithuanian, German, Spanish, Portuguese, Brazilian Portuguese, French, Polish, Italian, Turkish, Dutch, Indonesian&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%2Fx9015ho36wifbrf59hvr.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%2Fx9015ho36wifbrf59hvr.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;TECH&lt;/p&gt;

&lt;p&gt;Laravel 13, PHP 8.3, Filament 3, MySQL or PostgreSQL.&lt;/p&gt;

&lt;p&gt;No Node or npm build step. Unzip and deploy: every screen ships with its CSS and JS already in place.&lt;/p&gt;

&lt;p&gt;Standard HTTP security headers (Content-Security-Policy, X-Frame-Options and more) are sent on every response by default. All third-party credentials are encrypted at rest and never leave your own server.&lt;/p&gt;

&lt;p&gt;WHAT YOU GET&lt;/p&gt;

&lt;p&gt;Full source code&lt;/p&gt;

&lt;p&gt;Installation and configuration documentation in 14 languages&lt;/p&gt;

&lt;p&gt;Demo data seeder&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%2Fhy41g1m7cfkzd4xud7sl.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%2Fhy41g1m7cfkzd4xud7sl.png" alt=" " width="590" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>laravel</category>
    </item>
    <item>
      <title>Shop CMS: полный обзор возможностей — витрина, админка, AI, оплата, SEO (со скриншотами)</title>
      <dc:creator>Ruslan Bilohash</dc:creator>
      <pubDate>Mon, 03 Aug 2026 17:06:25 +0000</pubDate>
      <link>https://dev.to/bilohash/shop-cms-polnyi-obzor-vozmozhnostiei-vitrina-adminka-ai-oplata-seo-so-skrinshotami-52a8</link>
      <guid>https://dev.to/bilohash/shop-cms-polnyi-obzor-vozmozhnostiei-vitrina-adminka-ai-oplata-seo-so-skrinshotami-52a8</guid>
      <description>&lt;p&gt;Полный обзор &lt;strong&gt;Shop CMS&lt;/strong&gt; — всё, что есть в комплекте, со скриншотами каждой части. Это тот самый self-hosted PHP 8+ / MySQL скрипт интернет-магазина, который я недавно выпустил: разовая покупка, без подписки, без ограничений триала.&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%2Fp4x7bqpmkz1mh3fqhdyc.jpg" 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%2Fp4x7bqpmkz1mh3fqhdyc.jpg" alt="Дашборд админки" width="799" height="390"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Витрина
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Каталог товаров с поиском, фильтрами, категориями, сортировкой, бейджами скидок&lt;/li&gt;
&lt;li&gt;Страницы товаров с галереей, Schema.org Product JSON-LD, сопутствующими товарами&lt;/li&gt;
&lt;li&gt;Корзина на сессии с разбивкой налогов&lt;/li&gt;
&lt;li&gt;6 языков из коробки: норвежский (по умолчанию), английский, украинский, русский, шведский, литовский&lt;/li&gt;
&lt;li&gt;GDPR-согласие на cookies, SEO-страницы, аккаунты клиентов (телефон, вход через Google и Apple)&lt;/li&gt;
&lt;li&gt;Страницы отслеживания посылок (Bring/Posten, Новая Почта)&lt;/li&gt;
&lt;/ul&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%2F37r189zdkt3lv7hyhq30.jpg" 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%2F37r189zdkt3lv7hyhq30.jpg" alt="Каталог товаров" width="799" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Управление каталогом
&lt;/h2&gt;

&lt;p&gt;Категории с перетаскиванием, остатки/SKU/цены со скидкой, массовое редактирование товаров:&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%2Fvpnhdkdw4052d1tmkoak.jpg" 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%2Fvpnhdkdw4052d1tmkoak.jpg" alt="Управление категориями" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Конструктор главной страницы
&lt;/h2&gt;

&lt;p&gt;Включайте и переставляйте блоки главной (статистика, рекомендуемые товары, категории, новинки) без кода:&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%2F0a759jcq8imhur9xdpmv.jpg" 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%2F0a759jcq8imhur9xdpmv.jpg" alt="Конструктор блоков главной" width="800" height="571"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Оплата
&lt;/h2&gt;

&lt;p&gt;Stripe, PayPal, Vipps, наложенный платёж — Google Pay и Apple Pay подключаются автоматически через Stripe:&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%2Fklu43eq271e1e6jx8c0a.jpg" 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%2Fklu43eq271e1e6jx8c0a.jpg" alt="Настройки Stripe" width="799" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  AI-ассистент (опционально)
&lt;/h2&gt;

&lt;p&gt;Свой ключ Grok или OpenAI — генерация текстов товаров, переводов и SEO-метаданных. Работает на локальных шаблонах даже без ключа, так что можно сразу попробовать процесс:&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%2Fsg9sqp9mceql4jv1gcct.jpg" 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%2Fsg9sqp9mceql4jv1gcct.jpg" alt="Настройки AI-ассистента" width="800" height="444"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  SEO
&lt;/h2&gt;

&lt;p&gt;Структурированные данные Schema.org, XML sitemap, Open Graph — всё настраивается отдельно для каждого языка:&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%2Fz2iv1bm1dnyjry36mwqu.jpg" 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%2Fz2iv1bm1dnyjry36mwqu.jpg" alt="Настройки SEO и Schema.org" width="800" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Настройки магазина
&lt;/h2&gt;

&lt;p&gt;Валюта, доступность и базовые вещи, которые нужно настроить в первый же день:&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%2Ft01g90rzzzhxixqkxgpl.jpg" 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%2Ft01g90rzzzhxixqkxgpl.jpg" alt="Настройки магазина" width="799" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Техническая часть
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;PHP 8+, без фреймворков&lt;/li&gt;
&lt;li&gt;Хранение в MySQL/MariaDB&lt;/li&gt;
&lt;li&gt;Автоматически определяет, установлен ли скрипт в корне домена или в подпапке — никаких ручных настроек&lt;/li&gt;
&lt;li&gt;Поставляется с демо-каталогом, который загружается веб-установщиком&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Где взять
&lt;/h2&gt;

&lt;p&gt;Полный исходный код, разовая покупка — без пробного периода, без подписки:&lt;br&gt;
&lt;a href="https://bilohash.gumroad.com/l/shop_cms" rel="noopener noreferrer"&gt;https://bilohash.gumroad.com/l/shop_cms&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Живое демо: &lt;a href="https://bilohash.com/shop/" rel="noopener noreferrer"&gt;https://bilohash.com/shop/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;С радостью отвечу на вопросы о любой из этих возможностей в комментариях.&lt;/p&gt;

</description>
      <category>php</category>
      <category>ecommerce</category>
      <category>russian</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Shop CMS: повний огляд можливостей — вітрина, адмінка, AI, оплата, SEO (зі скріншотами)</title>
      <dc:creator>Ruslan Bilohash</dc:creator>
      <pubDate>Mon, 03 Aug 2026 16:37:52 +0000</pubDate>
      <link>https://dev.to/bilohash/shop-cms-povnii-oghliad-mozhlivostiei-vitrina-adminka-ai-oplata-seo-zi-skrinshotami-3cff</link>
      <guid>https://dev.to/bilohash/shop-cms-povnii-oghliad-mozhlivostiei-vitrina-adminka-ai-oplata-seo-zi-skrinshotami-3cff</guid>
      <description>&lt;p&gt;Повний огляд &lt;strong&gt;Shop CMS&lt;/strong&gt; — все, що є в комплекті, зі скріншотами кожної частини. Це той самий self-hosted PHP 8+ / MySQL скрипт інтернет-магазину, який я нещодавно випустив: одноразова покупка, без підписки, без обмежень тріалу.&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%2Fp4x7bqpmkz1mh3fqhdyc.jpg" 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%2Fp4x7bqpmkz1mh3fqhdyc.jpg" alt="Дашборд адмінки" width="799" height="390"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Вітрина
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Каталог товарів з пошуком, фільтрами, категоріями, сортуванням, бейджами знижок&lt;/li&gt;
&lt;li&gt;Сторінки товарів з галереєю, Schema.org Product JSON-LD, супутніми товарами&lt;/li&gt;
&lt;li&gt;Кошик на сесії з розбивкою податків&lt;/li&gt;
&lt;li&gt;6 мов з коробки: норвезька (за замовчуванням), англійська, українська, російська, шведська, литовська&lt;/li&gt;
&lt;li&gt;GDPR-згода на cookies, SEO-сторінки, акаунти клієнтів (телефон, вхід через Google та Apple)&lt;/li&gt;
&lt;li&gt;Сторінки відстеження посилок (Bring/Posten, Нова Пошта)&lt;/li&gt;
&lt;/ul&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%2F37r189zdkt3lv7hyhq30.jpg" 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%2F37r189zdkt3lv7hyhq30.jpg" alt="Каталог товарів" width="799" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Керування каталогом
&lt;/h2&gt;

&lt;p&gt;Категорії з перетягуванням, залишки/SKU/знижкові ціни, масове редагування товарів:&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%2Fvpnhdkdw4052d1tmkoak.jpg" 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%2Fvpnhdkdw4052d1tmkoak.jpg" alt="Керування категоріями" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Конструктор головної сторінки
&lt;/h2&gt;

&lt;p&gt;Вмикайте й переставляйте блоки головної (статистика, рекомендовані товари, категорії, новинки) без коду:&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%2F0a759jcq8imhur9xdpmv.jpg" 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%2F0a759jcq8imhur9xdpmv.jpg" alt="Конструктор блоків головної" width="800" height="571"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Оплата
&lt;/h2&gt;

&lt;p&gt;Stripe, PayPal, Vipps, накладений платіж — Google Pay та Apple Pay підключаються автоматично через Stripe:&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%2Fklu43eq271e1e6jx8c0a.jpg" 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%2Fklu43eq271e1e6jx8c0a.jpg" alt="Налаштування Stripe" width="799" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  AI-асистент (опціонально)
&lt;/h2&gt;

&lt;p&gt;Свій ключ Grok чи OpenAI — генерація текстів товарів, перекладів і SEO-метаданих. Працює на локальних шаблонах навіть без ключа, тож можна одразу спробувати процес:&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%2Fsg9sqp9mceql4jv1gcct.jpg" 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%2Fsg9sqp9mceql4jv1gcct.jpg" alt="Налаштування AI-асистента" width="800" height="444"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  SEO
&lt;/h2&gt;

&lt;p&gt;Структуровані дані Schema.org, XML sitemap, Open Graph — усе налаштовується окремо для кожної мови:&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%2Fz2iv1bm1dnyjry36mwqu.jpg" 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%2Fz2iv1bm1dnyjry36mwqu.jpg" alt="Налаштування SEO та Schema.org" width="800" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Налаштування магазину
&lt;/h2&gt;

&lt;p&gt;Валюта, доступність та базові речі, які потрібно налаштувати в перший же день:&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%2Ft01g90rzzzhxixqkxgpl.jpg" 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%2Ft01g90rzzzhxixqkxgpl.jpg" alt="Налаштування магазину" width="799" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Технічна частина
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;PHP 8+, без фреймворків&lt;/li&gt;
&lt;li&gt;Зберігання в MySQL/MariaDB&lt;/li&gt;
&lt;li&gt;Автоматично визначає, чи скрипт встановлено в корені домену, чи в підпапці — жодних ручних налаштувань&lt;/li&gt;
&lt;li&gt;Постачається з демо-каталогом, який завантажується веб-інсталятором&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Де взяти
&lt;/h2&gt;

&lt;p&gt;Повний вихідний код, одноразова покупка — без пробного періоду, без підписки:&lt;br&gt;
&lt;a href="https://bilohash.gumroad.com/l/shop_cms" rel="noopener noreferrer"&gt;https://bilohash.gumroad.com/l/shop_cms&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Живе демо: &lt;a href="https://bilohash.com/shop/" rel="noopener noreferrer"&gt;https://bilohash.com/shop/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;З радістю відповім на питання про будь-яку з цих можливостей у коментарях.&lt;/p&gt;

</description>
      <category>php</category>
      <category>ecommerce</category>
      <category>ukrainian</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Shop CMS Full Feature Tour: Storefront, Admin, AI, Payments and SEO (with screenshots)</title>
      <dc:creator>Ruslan Bilohash</dc:creator>
      <pubDate>Mon, 03 Aug 2026 16:37:51 +0000</pubDate>
      <link>https://dev.to/bilohash/shop-cms-full-feature-tour-storefront-admin-ai-payments-and-seo-with-screenshots-15pa</link>
      <guid>https://dev.to/bilohash/shop-cms-full-feature-tour-storefront-admin-ai-payments-and-seo-with-screenshots-15pa</guid>
      <description>&lt;p&gt;A full tour of &lt;strong&gt;Shop CMS&lt;/strong&gt; — everything that's in the box, with screenshots of each part. This is the self-hosted PHP 8+ / MySQL e-commerce script I released recently: one-time purchase, no subscription, no trial lock.&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%2Fp4x7bqpmkz1mh3fqhdyc.jpg" 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%2Fp4x7bqpmkz1mh3fqhdyc.jpg" alt="Admin dashboard" width="799" height="390"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Storefront
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Product catalog with search, filters, categories, sorting, sale badges&lt;/li&gt;
&lt;li&gt;Product pages with gallery, Schema.org Product JSON-LD, related items&lt;/li&gt;
&lt;li&gt;Session-based shopping cart with tax breakdown&lt;/li&gt;
&lt;li&gt;6 languages out of the box: Norwegian (default), English, Ukrainian, Russian, Swedish, Lithuanian&lt;/li&gt;
&lt;li&gt;GDPR cookie consent, SEO landing pages, customer accounts (phone, Google &amp;amp; Apple sign-in)&lt;/li&gt;
&lt;li&gt;Parcel tracking pages (Bring/Posten, Nova Poshta)&lt;/li&gt;
&lt;/ul&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%2F37r189zdkt3lv7hyhq30.jpg" 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%2F37r189zdkt3lv7hyhq30.jpg" alt="Product catalog" width="799" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Catalog management
&lt;/h2&gt;

&lt;p&gt;Drag-sort categories, stock/SKU/sale pricing, bulk product editing:&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%2Fvpnhdkdw4052d1tmkoak.jpg" 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%2Fvpnhdkdw4052d1tmkoak.jpg" alt="Category management" width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Homepage builder
&lt;/h2&gt;

&lt;p&gt;Toggle and reorder homepage sections (stats, featured products, categories, new arrivals) without touching code:&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%2F0a759jcq8imhur9xdpmv.jpg" 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%2F0a759jcq8imhur9xdpmv.jpg" alt="Homepage block builder" width="800" height="571"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Payments
&lt;/h2&gt;

&lt;p&gt;Stripe, PayPal, Vipps, cash on delivery — Google Pay and Apple Pay come along automatically through Stripe:&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%2Fklu43eq271e1e6jx8c0a.jpg" 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%2Fklu43eq271e1e6jx8c0a.jpg" alt="Stripe payment settings" width="799" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  AI content assistant (optional)
&lt;/h2&gt;

&lt;p&gt;Bring your own Grok or OpenAI key to generate product copy, translations and SEO meta. Works with local fallback templates even without a key, so you can try the workflow immediately:&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%2Fsg9sqp9mceql4jv1gcct.jpg" 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%2Fsg9sqp9mceql4jv1gcct.jpg" alt="AI assistant settings" width="800" height="444"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  SEO
&lt;/h2&gt;

&lt;p&gt;Schema.org structured data, XML sitemap, Open Graph — all configurable per language:&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%2Fz2iv1bm1dnyjry36mwqu.jpg" 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%2Fz2iv1bm1dnyjry36mwqu.jpg" alt="SEO and Schema.org settings" width="800" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Store settings
&lt;/h2&gt;

&lt;p&gt;Currency, availability, and the basics that every store needs to configure on day one:&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%2Ft01g90rzzzhxixqkxgpl.jpg" 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%2Ft01g90rzzzhxixqkxgpl.jpg" alt="Store settings" width="799" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Under the hood
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;PHP 8+, no framework&lt;/li&gt;
&lt;li&gt;MySQL/MariaDB storage&lt;/li&gt;
&lt;li&gt;Auto-detects whether it's installed at your domain root or in a subfolder — no manual path config&lt;/li&gt;
&lt;li&gt;Ships with a demo catalog pre-loaded via the web installer&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Get it
&lt;/h2&gt;

&lt;p&gt;Full source code, one-time purchase — no trial period, no subscription:&lt;br&gt;
&lt;a href="https://bilohash.gumroad.com/l/shop_cms" rel="noopener noreferrer"&gt;https://bilohash.gumroad.com/l/shop_cms&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Live preview: &lt;a href="https://bilohash.com/shop/" rel="noopener noreferrer"&gt;https://bilohash.com/shop/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Happy to answer questions about any of these features in the comments.&lt;/p&gt;

</description>
      <category>php</category>
      <category>ecommerce</category>
      <category>webdev</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Shop CMS: PHP-скрипт интернет-магазина для собственного хостинга (без WordPress, без подписки)</title>
      <dc:creator>Ruslan Bilohash</dc:creator>
      <pubDate>Sun, 02 Aug 2026 20:18:23 +0000</pubDate>
      <link>https://dev.to/bilohash/shop-cms-php-skript-intierniet-maghazina-dlia-sobstviennogho-khostingha-biez-wordpress-biez-podpiski-5foi</link>
      <guid>https://dev.to/bilohash/shop-cms-php-skript-intierniet-maghazina-dlia-sobstviennogho-khostingha-biez-wordpress-biez-podpiski-5foi</guid>
      <description>&lt;p&gt;Только что выпустил &lt;strong&gt;Shop CMS&lt;/strong&gt; — PHP 8+ скрипт интернет-магазина для собственного хостинга, для тех, кто хочет настоящий магазин без WordPress, без ежемесячной платы за SaaS и без привязки к одному поставщику.&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%2Fp4x7bqpmkz1mh3fqhdyc.jpg" 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%2Fp4x7bqpmkz1mh3fqhdyc.jpg" alt="Админ-панель, дашборд" width="799" height="390"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Зачем ещё один скрипт магазина?
&lt;/h2&gt;

&lt;p&gt;Большинство доступных вариантов — это либо WooCommerce (неплохо, но вы привязаны к WordPress и куче плагинов), либо хостинговая SaaS-платформа (вечные ежемесячные платежи, ваши данные на чужих серверах). Shop CMS — ни то, ни другое: чистый PHP + MySQL, код принадлежит вам, хостить можно где угодно.&lt;/p&gt;

&lt;h2&gt;
  
  
  Что входит
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Витрина&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Каталог товаров с поиском, фильтрами, категориями, сортировкой&lt;/li&gt;
&lt;li&gt;Корзина на сессии, оплата через Stripe / PayPal / Vipps / наложенный платёж&lt;/li&gt;
&lt;li&gt;6 языков из коробки: норвежский, английский, украинский, русский, шведский, литовский&lt;/li&gt;
&lt;li&gt;Разметка Schema.org, XML sitemap, баннер согласия на cookies (GDPR)&lt;/li&gt;
&lt;/ul&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%2F37r189zdkt3lv7hyhq30.jpg" 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%2F37r189zdkt3lv7hyhq30.jpg" alt="Каталог товаров" width="799" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Админ-панель&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Дашборд, категории с перетаскиванием, остатки/SKU/цены со скидкой&lt;/li&gt;
&lt;li&gt;Конструктор блоков главной страницы&lt;/li&gt;
&lt;li&gt;Инструмент SEO-анализа, интеграция с пиксельной аналитикой&lt;/li&gt;
&lt;li&gt;Опциональный AI-ассистент (свой ключ Grok/OpenAI) для текстов товаров, переводов и SEO-метаданных — работает на локальных шаблонах даже без ключа&lt;/li&gt;
&lt;/ul&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%2Fvpnhdkdw4052d1tmkoak.jpg" 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%2Fvpnhdkdw4052d1tmkoak.jpg" alt="Управление категориями" width="800" height="443"&gt;&lt;/a&gt;&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%2Fz2iv1bm1dnyjry36mwqu.jpg" 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%2Fz2iv1bm1dnyjry36mwqu.jpg" alt="Настройки SEO и Schema.org" width="800" height="440"&gt;&lt;/a&gt;&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%2Fsg9sqp9mceql4jv1gcct.jpg" 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%2Fsg9sqp9mceql4jv1gcct.jpg" alt="AI-ассистент" width="800" height="444"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Техническая часть&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PHP 8+, без фреймворков&lt;/li&gt;
&lt;li&gt;Хранение в MySQL/MariaDB&lt;/li&gt;
&lt;li&gt;Автоматически определяет, установлен ли скрипт в корне домена или в подпапке — никаких ручных настроек&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Магазин поставляется с демо-каталогом, который загружается веб-установщиком, так что вы не начинаете с пустого магазина.&lt;/p&gt;

&lt;h2&gt;
  
  
  Где взять
&lt;/h2&gt;

&lt;p&gt;Полный исходный код, разовая покупка — без пробного периода, без подписки:&lt;br&gt;
&lt;a href="https://bilohash.gumroad.com/l/shop_cms" rel="noopener noreferrer"&gt;https://bilohash.gumroad.com/l/shop_cms&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Живое демо: &lt;a href="https://bilohash.com/shop/" rel="noopener noreferrer"&gt;https://bilohash.com/shop/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Вопросы о коде или о том, как что-то работает внутри — с радостью отвечу в комментариях.&lt;/p&gt;

</description>
      <category>php</category>
      <category>ecommerce</category>
      <category>russian</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Shop CMS: PHP-скрипт інтернет-магазину для власного хостингу (без WordPress, без підписки)</title>
      <dc:creator>Ruslan Bilohash</dc:creator>
      <pubDate>Sun, 02 Aug 2026 20:14:49 +0000</pubDate>
      <link>https://dev.to/bilohash/shop-cms-php-skript-intierniet-maghazinu-dlia-vlasnogho-khostinghu-biez-wordpress-biez-pidpiski-1l9i</link>
      <guid>https://dev.to/bilohash/shop-cms-php-skript-intierniet-maghazinu-dlia-vlasnogho-khostinghu-biez-wordpress-biez-pidpiski-1l9i</guid>
      <description>&lt;p&gt;Щойно випустив &lt;strong&gt;Shop CMS&lt;/strong&gt; — PHP 8+ скрипт інтернет-магазину для власного хостингу, для тих, хто хоче реальний магазин без WordPress, без щомісячної плати за SaaS і без прив'язки до одного постачальника.&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%2Fp4x7bqpmkz1mh3fqhdyc.jpg" 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%2Fp4x7bqpmkz1mh3fqhdyc.jpg" alt="Адмін-панель, дашборд" width="799" height="390"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Навіщо ще один скрипт магазину?
&lt;/h2&gt;

&lt;p&gt;Більшість доступних варіантів — це або WooCommerce (непогано, але ви прив'язані до WordPress і купи плагінів), або хостингова SaaS-платформа (вічні щомісячні платежі, ваші дані на чужих серверах). Shop CMS — ні те, ні інше: чистий PHP + MySQL, код належить вам, хостити можна де завгодно.&lt;/p&gt;

&lt;h2&gt;
  
  
  Що входить
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Вітрина&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Каталог товарів з пошуком, фільтрами, категоріями, сортуванням&lt;/li&gt;
&lt;li&gt;Кошик на сесії, оплата через Stripe / PayPal / Vipps / накладений платіж&lt;/li&gt;
&lt;li&gt;6 мов з коробки: норвезька, англійська, українська, російська, шведська, литовська&lt;/li&gt;
&lt;li&gt;Розмітка Schema.org, XML sitemap, банер згоди на cookies (GDPR)&lt;/li&gt;
&lt;/ul&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%2F37r189zdkt3lv7hyhq30.jpg" 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%2F37r189zdkt3lv7hyhq30.jpg" alt="Каталог товарів" width="799" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Адмін-панель&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Дашборд, категорії з перетягуванням, залишки/SKU/знижкові ціни&lt;/li&gt;
&lt;li&gt;Конструктор блоків головної сторінки&lt;/li&gt;
&lt;li&gt;Інструмент SEO-аналізу, інтеграція з піксельною аналітикою&lt;/li&gt;
&lt;li&gt;Опціональний AI-асистент (свій ключ Grok/OpenAI) для текстів товарів, перекладів і SEO-метаданих — працює на локальних шаблонах навіть без ключа&lt;/li&gt;
&lt;/ul&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%2Fvpnhdkdw4052d1tmkoak.jpg" 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%2Fvpnhdkdw4052d1tmkoak.jpg" alt="Керування категоріями" width="800" height="443"&gt;&lt;/a&gt;&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%2Fz2iv1bm1dnyjry36mwqu.jpg" 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%2Fz2iv1bm1dnyjry36mwqu.jpg" alt="Налаштування SEO та Schema.org" width="800" height="440"&gt;&lt;/a&gt;&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%2Fsg9sqp9mceql4jv1gcct.jpg" 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%2Fsg9sqp9mceql4jv1gcct.jpg" alt="AI-асистент" width="800" height="444"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Технічна частина&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PHP 8+, без фреймворків&lt;/li&gt;
&lt;li&gt;Зберігання в MySQL/MariaDB&lt;/li&gt;
&lt;li&gt;Автоматично визначає, чи встановлений скрипт у корені домену, чи в підпапці — жодних ручних налаштувань&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Магазин постачається з демо-каталогом, який завантажується веб-інсталятором, тож ви не стартуєте з порожнього магазину.&lt;/p&gt;

&lt;h2&gt;
  
  
  Де взяти
&lt;/h2&gt;

&lt;p&gt;Повний вихідний код, одноразова покупка — без пробного періоду, без підписки:&lt;br&gt;
&lt;a href="https://bilohash.gumroad.com/l/shop_cms" rel="noopener noreferrer"&gt;https://bilohash.gumroad.com/l/shop_cms&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Живе демо: &lt;a href="https://bilohash.com/shop/" rel="noopener noreferrer"&gt;https://bilohash.com/shop/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Питання про код чи те, як щось працює всередині — з радістю відповім у коментарях.&lt;/p&gt;

</description>
      <category>php</category>
      <category>ecommerce</category>
      <category>ukrainian</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Shop CMS: Selvhostet PHP e-handelsskript (uten WordPress, uten abonnement)</title>
      <dc:creator>Ruslan Bilohash</dc:creator>
      <pubDate>Sun, 02 Aug 2026 20:14:48 +0000</pubDate>
      <link>https://dev.to/bilohash/shop-cms-selvhostet-php-e-handelsskript-uten-wordpress-uten-abonnement-26j</link>
      <guid>https://dev.to/bilohash/shop-cms-selvhostet-php-e-handelsskript-uten-wordpress-uten-abonnement-26j</guid>
      <description>&lt;p&gt;Jeg har nettopp lansert &lt;strong&gt;Shop CMS&lt;/strong&gt; — et selvhostet PHP 8+ e-handelsskript for deg som vil ha en ekte nettbutikk uten WordPress, uten månedlig SaaS-avgift og uten leverandørlåsing.&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%2Fp4x7bqpmkz1mh3fqhdyc.jpg" 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%2Fp4x7bqpmkz1mh3fqhdyc.jpg" alt="Admin dashboard" width="799" height="390"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Hvorfor enda et butikkskript?
&lt;/h2&gt;

&lt;p&gt;De fleste rimelige alternativene er enten WooCommerce (bra, men du er låst til WordPress og plugin-jungelen) eller en hostet SaaS-plattform (evige abonnementskostnader, dataene dine ligger på deres servere). Shop CMS er verken/eller — ren PHP + MySQL, du eier koden, du hoster den hvor du vil.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hva er inkludert
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Butikkfront&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Produktkatalog med søk, filtre, kategorier, sortering&lt;/li&gt;
&lt;li&gt;Handlekurv, betaling med Stripe / PayPal / Vipps / postoppkrav&lt;/li&gt;
&lt;li&gt;6 språk ferdig konfigurert: norsk, engelsk, ukrainsk, russisk, svensk, litauisk&lt;/li&gt;
&lt;li&gt;Schema.org SEO-merking, XML-sitemap, GDPR cookie-samtykke&lt;/li&gt;
&lt;/ul&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%2F37r189zdkt3lv7hyhq30.jpg" 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%2F37r189zdkt3lv7hyhq30.jpg" alt="Produktkatalog" width="799" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Admin-panel&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dashboard, dra-og-slipp kategorisortering, lager/SKU/tilbudspris&lt;/li&gt;
&lt;li&gt;Bygger for forsideblokker&lt;/li&gt;
&lt;li&gt;SEO-analyseverktøy, integrasjon med analytics-piksler&lt;/li&gt;
&lt;li&gt;Valgfri AI-assistent (bruk din egen Grok/OpenAI-nøkkel) for produkttekster, oversettelser og SEO-metadata — fungerer med lokale fallback-maler selv uten nøkkel&lt;/li&gt;
&lt;/ul&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%2Fvpnhdkdw4052d1tmkoak.jpg" 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%2Fvpnhdkdw4052d1tmkoak.jpg" alt="Kategorihåndtering" width="800" height="443"&gt;&lt;/a&gt;&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%2Fz2iv1bm1dnyjry36mwqu.jpg" 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%2Fz2iv1bm1dnyjry36mwqu.jpg" alt="SEO og Schema.org-innstillinger" width="800" height="440"&gt;&lt;/a&gt;&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%2Fsg9sqp9mceql4jv1gcct.jpg" 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%2Fsg9sqp9mceql4jv1gcct.jpg" alt="AI-assistent" width="800" height="444"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Under panseret&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PHP 8+, uten rammeverk&lt;/li&gt;
&lt;li&gt;MySQL/MariaDB-lagring&lt;/li&gt;
&lt;li&gt;Oppdager automatisk om skriptet er installert i domenets rot eller i en undermappe — ingen manuell konfigurering&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Den leveres med en demokatalog forhåndslastet via webinstallatøren, så du starter ikke med en tom butikk.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hent det
&lt;/h2&gt;

&lt;p&gt;Full kildekode, engangskjøp — ingen prøveperiode, ingen abonnement:&lt;br&gt;
&lt;a href="https://bilohash.gumroad.com/l/shop_cms" rel="noopener noreferrer"&gt;https://bilohash.gumroad.com/l/shop_cms&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Live forhåndsvisning: &lt;a href="https://bilohash.com/shop/" rel="noopener noreferrer"&gt;https://bilohash.com/shop/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Spørsmål om koden eller hvordan noe fungerer under panseret — svarer gjerne i kommentarfeltet.&lt;/p&gt;

</description>
      <category>php</category>
      <category>ecommerce</category>
      <category>norsk</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Shop CMS: A Self-Hosted PHP E-Commerce Script (No WordPress, No Subscription)</title>
      <dc:creator>Ruslan Bilohash</dc:creator>
      <pubDate>Sun, 02 Aug 2026 19:54:01 +0000</pubDate>
      <link>https://dev.to/bilohash/shop-cms-a-self-hosted-php-e-commerce-script-no-wordpress-no-subscription-33ab</link>
      <guid>https://dev.to/bilohash/shop-cms-a-self-hosted-php-e-commerce-script-no-wordpress-no-subscription-33ab</guid>
      <description>&lt;p&gt;I've just released &lt;strong&gt;Shop CMS&lt;/strong&gt; — a self-hosted PHP 8+ e-commerce script for anyone who wants a real online store without WordPress, without a monthly SaaS fee, and without vendor lock-in.&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%2Fp4x7bqpmkz1mh3fqhdyc.jpg" 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%2Fp4x7bqpmkz1mh3fqhdyc.jpg" alt="Admin dashboard" width="799" height="390"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why another shop script?
&lt;/h2&gt;

&lt;p&gt;Most affordable options are either WooCommerce (great, but you're stuck with WordPress and its plugin sprawl) or a hosted SaaS platform (recurring fees forever, your data lives on their servers). Shop CMS is neither — it's plain PHP + MySQL, you own the code, you host it anywhere.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's included
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Storefront&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Product catalog with search, filters, categories, sorting&lt;/li&gt;
&lt;li&gt;Session cart, checkout with Stripe / PayPal / Vipps / cash on delivery&lt;/li&gt;
&lt;li&gt;6 languages out of the box: Norwegian, English, Ukrainian, Russian, Swedish, Lithuanian&lt;/li&gt;
&lt;li&gt;Schema.org SEO markup, XML sitemap, GDPR cookie consent&lt;/li&gt;
&lt;/ul&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%2F37r189zdkt3lv7hyhq30.jpg" 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%2F37r189zdkt3lv7hyhq30.jpg" alt="Product catalog" width="799" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Admin panel&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dashboard, drag-sort categories, stock/SKU/sale pricing&lt;/li&gt;
&lt;li&gt;Homepage block builder&lt;/li&gt;
&lt;li&gt;SEO analysis tool, analytics pixel integrations&lt;/li&gt;
&lt;li&gt;Optional AI content assistant (bring your own Grok/OpenAI key) for product copy, translations and SEO meta — works with local fallback templates even without a key&lt;/li&gt;
&lt;/ul&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%2Fvpnhdkdw4052d1tmkoak.jpg" 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%2Fvpnhdkdw4052d1tmkoak.jpg" alt="Categories management" width="800" height="443"&gt;&lt;/a&gt;&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%2Fz2iv1bm1dnyjry36mwqu.jpg" 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%2Fz2iv1bm1dnyjry36mwqu.jpg" alt="SEO and Schema.org settings" width="800" height="440"&gt;&lt;/a&gt;&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%2Fsg9sqp9mceql4jv1gcct.jpg" 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%2Fsg9sqp9mceql4jv1gcct.jpg" alt="AI content assistant" width="800" height="444"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Under the hood&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PHP 8+, no framework&lt;/li&gt;
&lt;li&gt;MySQL/MariaDB storage&lt;/li&gt;
&lt;li&gt;Auto-detects whether it's installed at your domain root or in a subfolder — no manual path config&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It ships with a demo catalog pre-loaded via the web installer, so you're not staring at an empty store on day one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get it
&lt;/h2&gt;

&lt;p&gt;Full source code, one-time purchase — no trial period, no subscription:&lt;br&gt;
&lt;a href="https://bilohash.gumroad.com/l/shop_cms" rel="noopener noreferrer"&gt;https://bilohash.gumroad.com/l/shop_cms&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Live preview: &lt;a href="https://bilohash.com/shop/" rel="noopener noreferrer"&gt;https://bilohash.com/shop/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Questions about the codebase or how something works under the hood — happy to answer in the comments.&lt;/p&gt;

</description>
      <category>php</category>
      <category>ecommerce</category>
      <category>webdev</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Building a Multilingual PHP E-Commerce Script That Auto-Detects Its Own Install Path</title>
      <dc:creator>Ruslan Bilohash</dc:creator>
      <pubDate>Sun, 02 Aug 2026 19:51:06 +0000</pubDate>
      <link>https://dev.to/bilohash/building-a-multilingual-php-e-commerce-script-that-auto-detects-its-own-install-path-28m6</link>
      <guid>https://dev.to/bilohash/building-a-multilingual-php-e-commerce-script-that-auto-detects-its-own-install-path-28m6</guid>
      <description>&lt;p&gt;Most PHP shop scripts I've seen make one annoying assumption: they expect to live in exactly one folder, on exactly one domain, forever. Move them, and you're editing config constants by hand.&lt;/p&gt;

&lt;p&gt;I wanted &lt;strong&gt;Shop CMS&lt;/strong&gt; to just work — root domain or subfolder, no manual path config — so I spent time on the boring-but-critical plumbing before touching any storefront features.&lt;/p&gt;

&lt;h2&gt;
  
  
  The base-path problem
&lt;/h2&gt;

&lt;p&gt;Most PHP scripts hardcode something like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nb"&gt;define&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'SH_BASE_PATH'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'/shop'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's fine until you install to a different folder, or straight to a domain root, and every asset/link breaks.&lt;/p&gt;

&lt;p&gt;The fix is to detect it from the request itself:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;sh_resolve_base_path&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt; &lt;span class="kt"&gt;string&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nv"&gt;$script&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;str_replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'\\'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'/'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$_SERVER&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;'SCRIPT_NAME'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;??&lt;/span&gt; &lt;span class="s1"&gt;'/index.php'&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
    &lt;span class="nv"&gt;$dir&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;rtrim&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;dirname&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$script&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="s1"&gt;'/'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="c1"&gt;// Strip known subfolders so admin/api requests resolve back to the site root&lt;/span&gt;
    &lt;span class="k"&gt;foreach&lt;/span&gt; &lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="s1"&gt;'/admin/api'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'/admin'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'/api'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nv"&gt;$suffix&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$suffix&lt;/span&gt; &lt;span class="o"&gt;!==&lt;/span&gt; &lt;span class="s1"&gt;''&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nf"&gt;str_ends_with&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$dir&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$suffix&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="nv"&gt;$dir&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;substr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$dir&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nb"&gt;strlen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$suffix&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
            &lt;span class="k"&gt;break&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$dir&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="s1"&gt;''&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nv"&gt;$dir&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="s1"&gt;'.'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;?&lt;/span&gt; &lt;span class="s1"&gt;''&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nv"&gt;$dir&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every internal URL builder (&lt;code&gt;sh_url()&lt;/code&gt;, asset paths, &lt;code&gt;.htaccess&lt;/code&gt; rewrite rules) then goes through this instead of a hardcoded constant. Install to &lt;code&gt;public_html/&lt;/code&gt; or &lt;code&gt;public_html/shop/&lt;/code&gt; — same zip, zero edits.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keeping the .htaccess portable too
&lt;/h2&gt;

&lt;p&gt;The Apache side needed the same treatment. Dropping an explicit &lt;code&gt;RewriteBase /shop/&lt;/code&gt; breaks a root install; omitting it lets &lt;code&gt;mod_rewrite&lt;/code&gt; infer the base from wherever the file actually sits:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;DirectoryIndex index.php
&amp;lt;IfModule mod_rewrite.c&amp;gt;
RewriteEngine On
RewriteRule ^product/([a-z][a-z0-9_-]*)/?$ product.php?id=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^$ index.php [L]
RewriteRule ^sitemap\.xml$ sitemap-index.php [L]
RewriteRule . 404.php [L]
&amp;lt;/IfModule&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No absolute paths anywhere in the ruleset.&lt;/p&gt;

&lt;h2&gt;
  
  
  What else is in there
&lt;/h2&gt;

&lt;p&gt;Beyond the install flexibility, the script ended up with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;6-language storefront&lt;/strong&gt; (Norwegian default, English, Ukrainian, Russian, Swedish, Lithuanian) with a modular &lt;code&gt;lang/*.php&lt;/code&gt; system&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MySQL storage&lt;/strong&gt; with a web installer that seeds demo products/categories so you're not staring at an empty catalog&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optional AI content tools&lt;/strong&gt; — bring your own Grok/OpenAI key for product copy, SEO meta and translations; works with local fallback templates if you don't&lt;/li&gt;
&lt;li&gt;Stripe / PayPal / Vipps / COD checkout, Schema.org markup, XML sitemap, GDPR cookie consent&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's PHP 8+, no framework — just organized enough to actually maintain.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it / grab it
&lt;/h2&gt;

&lt;p&gt;Live preview: &lt;a href="https://bilohash.com/shop/" rel="noopener noreferrer"&gt;https://bilohash.com/shop/&lt;/a&gt;&lt;br&gt;
Full source (one-time purchase, no trial, no subscription): &lt;a href="https://bilohash.gumroad.com/l/shop_cms" rel="noopener noreferrer"&gt;https://bilohash.gumroad.com/l/shop_cms&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Happy to answer questions about the base-path detection approach or anything else in the comments.&lt;/p&gt;

</description>
      <category>php</category>
      <category>mysql</category>
      <category>webdev</category>
      <category>opensource</category>
    </item>
    <item>
      <title>AI Chat Consultant 2.8.0 Multilang</title>
      <dc:creator>Ruslan Bilohash</dc:creator>
      <pubDate>Thu, 04 Jun 2026 09:28:54 +0000</pubDate>
      <link>https://dev.to/bilohash/ai-chat-consultant-280-multilang-cl2</link>
      <guid>https://dev.to/bilohash/ai-chat-consultant-280-multilang-cl2</guid>
      <description>&lt;p&gt;&lt;a href="https://wordpress.org/plugins/bilohash-ai-chat-consultant/#description" rel="noopener noreferrer"&gt;https://wordpress.org/plugins/bilohash-ai-chat-consultant/#description&lt;/a&gt;&lt;br&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.amazonaws.com%2Fuploads%2Farticles%2Fivvef2p4av5upi78oa8v.jpeg" 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.amazonaws.com%2Fuploads%2Farticles%2Fivvef2p4av5upi78oa8v.jpeg" alt=" " width="800" height="600"&gt;&lt;/a&gt;&lt;br&gt;
AI Chat Consultant 2.8.0 &lt;/p&gt;

&lt;p&gt;Bilohash AI Chat Consultant is a powerful, beautiful and intelligent chatbot for WordPress built with Grok xAI and OpenAI GPT.&lt;br&gt;
It now supports two leading AI providers — Grok by xAI and OpenAI GPT — giving you complete flexibility to choose the best model for your business.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://wordpress.org/plugins/bilohash-ai-chat-consultant/#description" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Key Features&lt;/p&gt;

&lt;p&gt;Dual AI Engine: Seamlessly switch between Grok xAI and OpenAI GPT directly from the admin panel&lt;br&gt;
Multiple Models Support:&lt;br&gt;
Grok: grok-4.20-0309-non-reasoning, grok-4.20-0309-reasoning, grok-4.3 and more&lt;br&gt;
GPT: gpt-4o, gpt-4o-mini, gpt-4-turbo&lt;br&gt;
Real-time Telegram Notifications — receive every customer message and bot reply instantly&lt;br&gt;
Beautiful Floating Chat Widget with full design customization and live preview&lt;br&gt;
Secure Conversation History — stored safely in WordPress uploads folder with .htaccess protection&lt;br&gt;
Professional System Prompt — easily customize the bot’s personality and expertise&lt;br&gt;
Auto-open, RTL support, Mobile Responsive, Accessibility ready&lt;br&gt;
Optional Branding — complies with WordPress.org requirements&lt;br&gt;
Perfect for:&lt;br&gt;
– Cleaning services, agencies, online stores, consulting businesses, SaaS products, and any website that wants smart 24/7 customer support.&lt;/p&gt;

&lt;p&gt;What’s New in 2.8.0&lt;/p&gt;

&lt;p&gt;Full support for OpenAI GPT models alongside Grok xAI&lt;br&gt;
New AI Provider selector in the General tab&lt;br&gt;
Dedicated new tab 🤖 GPT / OpenAI for separate API key and model settings&lt;br&gt;
Updated core logic in bot.php to handle both providers cleanly&lt;br&gt;
Improved plugin header, constants, and default settings&lt;br&gt;
Better documentation and readme&lt;br&gt;
This version significantly expands your options while keeping everything stable and WordPress.org compliant.&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.amazonaws.com%2Fuploads%2Farticles%2Fe17hektwl1fhs8xk8tu6.jpeg" 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.amazonaws.com%2Fuploads%2Farticles%2Fe17hektwl1fhs8xk8tu6.jpeg" alt=" " width="800" height="600"&gt;&lt;/a&gt;&lt;br&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.amazonaws.com%2Fuploads%2Farticles%2Fx05d3j89awbh03913mqk.jpeg" 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.amazonaws.com%2Fuploads%2Farticles%2Fx05d3j89awbh03913mqk.jpeg" alt=" " width="800" height="600"&gt;&lt;/a&gt;&lt;br&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.amazonaws.com%2Fuploads%2Farticles%2Fcrndjvihu4rppg92vuwo.jpeg" 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.amazonaws.com%2Fuploads%2Farticles%2Fcrndjvihu4rppg92vuwo.jpeg" alt=" " width="800" height="600"&gt;&lt;/a&gt;&lt;br&gt;
External Services&lt;/p&gt;

&lt;p&gt;This plugin uses two external API services for the AI chatbot and optional Telegram integration.&lt;/p&gt;

&lt;p&gt;xAI Grok API&lt;br&gt;
– Purpose: generates intelligent AI consultant responses.&lt;br&gt;
– Data sent: system prompt, conversation history, and user message.&lt;br&gt;
– Data is sent only when a user submits a message.&lt;br&gt;
– Terms of Service: &lt;a href="https://x.ai/legal/terms-of-service-enterprise" rel="noopener noreferrer"&gt;https://x.ai/legal/terms-of-service-enterprise&lt;/a&gt;&lt;br&gt;
– Privacy Policy: &lt;a href="https://x.ai/legal/privacy-policy" rel="noopener noreferrer"&gt;https://x.ai/legal/privacy-policy&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Telegram Bot API&lt;br&gt;
– Purpose: (optional) sends notifications and messages via your Telegram bot.&lt;br&gt;
– Data sent: message text.&lt;br&gt;
– Data is sent only when Telegram integration is active.&lt;br&gt;
– Terms of Service: &lt;a href="https://telegram.org/tos/bots" rel="noopener noreferrer"&gt;https://telegram.org/tos/bots&lt;/a&gt;&lt;br&gt;
– Privacy Policy: &lt;a href="https://telegram.org/privacy" rel="noopener noreferrer"&gt;https://telegram.org/privacy&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>chatgpt</category>
      <category>xai</category>
      <category>wordpress</category>
    </item>
  </channel>
</rss>
