<?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>
    <language>en-US</language>
    <title>Degriz blog</title>
    <description>Degriz blog</description>
    <pubDate>Sat, 18 Jul 2026 16:16:10 +0000</pubDate>
    <generator>http://fishpig.co.uk/magento/wordpress-integration/?v=4.6.1.37</generator>
    <link>https://www.degriz.eu/blog/</link>
    <atom:link rel="self" type="application/atom+xml" href="https://www.degriz.eu/blog/feed/"/>
    <item>
      <title>Your website now gets a score for AI agents</title>
      <description><![CDATA[

<p>Until now, PageSpeed Insights measured how fast and pleasant your site is for people. In May 2026, Google quietly added a fifth score to the tool (specifically to Lighthouse 13.3) - Agentic Browsing. It no longer measures how a human experiences the page, but how well an AI agent can read and use it.</p>
<p>The best part? Google can't even agree with itself about it. But first, the basics.</p>
<h2>What is agentic browsing</h2>
<p>More and more often your site is opened not by a person, but by an agent - ChatGPT, Gemini, Perplexity, Claude - which, on the user's behalf, compares products, fills in forms or adds items to the cart. An agent doesn't "look at" a page, it reads its structure. If that structure is a mess, your site is invisible to the agent, even if it looks great to humans.</p>
<h2>A score that isn't a score</h2>
<p>The Agentic Browsing category sits alongside Performance, Accessibility, Best Practices and SEO. The twist: it doesn't return a number from 0 to 100. Instead it shows a ratio of passed checks (e.g. 3/3). Google admits the standards are still emerging, so it gathers signals rather than handing out grades. The category is officially "under development" and does not affect your other scores.</p>
<p>It checks a handful of things:</p>
<ul>
<li><strong>A clean accessibility tree</strong> - the agent "sees" through the accessibility tree, so every button and field needs a clear name (semantic HTML and ARIA).</li>
<li><strong>A stable layout (low CLS)</strong> - if elements jump around, the agent clicks the wrong thing.</li>
<li><strong>llms.txt</strong> - a machine-readable summary of the page for language models.</li>
<li><strong>WebMCP</strong> - annotated forms and "tools" through which an agent can reliably operate your site.</li>
</ul>
<h2>The plot twist: Google vs Google</h2>
<p>Here is where it gets fun. Chrome's team rewards you for llms.txt via Lighthouse. Google's Search team, meanwhile, has spent the past year saying the opposite. John Mueller compared llms.txt to the long-dead "keywords" meta tag, and on Bluesky, asked whether Google pages hosting llms.txt count as an endorsement, he replied: "I'm tempted to say something snarky since this comes up so often, but to be direct, no." Another time he noted that with the file you are essentially telling these systems "I have the best website ever".</p>
<p>The numbers back him up. Ahrefs looked at 137,000 domains: 97% of llms.txt files received zero requests in May 2026, and only 28% of domains published one. The cherry on top: on 3 December 2025 an llms.txt briefly appeared in Google's own developer docs - and was deleted the same day. Brett Tabke, founder of the Pubcon conference, put it bluntly: "We just don't need people thinking LLMs are different from any other spider."</p>
<p>The finest irony: many people generate their llms.txt using an LLM that reads their HTML - so that another LLM will not have to read it. A robot writing a note for a robot about a page the robot can already read.</p>
<h2>So - should you care?</h2>
<p>More than you would think, but not because of llms.txt.</p>
<p>Two of the four checks (the accessibility tree and a stable layout) are things you should fix anyway - they also help humans, SEO and conversions. WebMCP is the direction Google is actually pointing to. llms.txt is a cheap "nice to have": for documentation read by coding assistants (Cursor, Claude Code, Copilot) it has a small, real niche, but for a typical shop do not expect miracles today.</p>
<p>Common sense: do not chase the 3/3 ratio as a fetish. Get the basics right (accessibility, speed, semantics, structured data), keep an eye on WebMCP, and add llms.txt because it costs you nothing. Agent traffic is coming - the only question is whether it finds you ready.</p>
<h2>How we can help</h2>
<p>At Degriz we technically prepare online stores for this shift - accessibility, speed, semantic structure, structured data. If you would like to know how your site scores on agentic browsing and what to improve, we will run an audit for you.</p>
<h2>Sources</h2>
<ul>
<li><a href="https://developer.chrome.com/docs/lighthouse/agentic-browsing/scoring" target="_blank" rel="noopener">Chrome for Developers - Lighthouse agentic browsing scoring</a></li>
<li><a href="https://www.debugbear.com/blog/lighthouse-agentic-browsing" target="_blank" rel="noopener">DebugBear - Lighthouse's new Agentic Browsing category</a></li>
<li><a href="https://www.searchenginejournal.com/google-says-llms-txt-is-purely-speculative-for-now/577576/" target="_blank" rel="noopener">Search Engine Journal - Google says llms.txt is speculative</a></li>
<li><a href="https://www.seroundtable.com/google-does-not-endorse-llms-txt-40789.html" target="_blank" rel="noopener">Search Engine Roundtable - Google does not endorse llms.txt</a></li>
</ul>

The post <a href="https://www.degriz.eu/blog/your-website-now-gets-a-score-for-ai-agents/">Your website now gets a score for AI agents</a> appeared first on <a href="https://www.degriz.eu/blog/">Degriz blog</a>.<p><img src="https://www.degriz.eu/wordpress/wp-content/uploads/2026/07/pexels-photo-373543-1.jpeg" alt=""/></p>]]></description>
      <pubDate>Wed, 01 Jul 2026 18:06:19 +0000</pubDate>
      <link>https://www.degriz.eu/blog/your-website-now-gets-a-score-for-ai-agents/</link>
      <guid>https://www.degriz.eu/blog/your-website-now-gets-a-score-for-ai-agents/</guid>
      <author>anze@degriz.net (admin)</author>
      <category><![CDATA[https://www.degriz.eu/blog/category/marketing/]]></category>
      <dc:creator>admin</dc:creator>
    </item>
    <item>
      <title>EU withdrawal button: new obligation for online stores from June 19, 2026</title>
      <description><![CDATA[



<!-- wp:paragraph -->
<p>In recent years, we have seen several times in European legislation that the requirements for online retailers are moving towards greater transparency and better consumer protection. This time, a change is coming that many retailers initially welcomed because it sounds quite simple – a so-called "Withdrawal Button" or the option for digital contract withdrawal will need to be added.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>However, when we start exploring the details, we quickly realize that it is not just about adding a new button to the website. In reality, it is a change in the process that must allow the buyer to easily submit a request for contract withdrawal and provide the retailer with a clear overview of received requests and their processing.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The European Commission, as part of updating the rules for contracts concluded at a distance, has also introduced the requirement for the so-called "withdrawal function," which must allow consumers to submit a withdrawal statement via an online interface. More information about the changes is published on the official website of the European Commission:</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a target="_blank" rel="noreferrer noopener" href="https://commission.europa.eu/topics/consumers/consumer-rights-and-complaints/consumer-financial-products-and-services/consumer-protection-financial-services_en?utm_source=chatgpt.com">European Commission – Consumer protection in financial services</a></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">The right to withdraw is not new, the method of submission is</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The right to withdraw from a contract for online purchases in the European Union has existed for many years. Most online stores therefore already include a contract withdrawal form, return instructions, or contact information through which the buyer can exercise their rights.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The new regulation goes a step further.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The purpose of the change is that the buyer no longer needs to search for PDF forms, send emails, or browse terms and conditions to withdraw from a contract. The process must be accessible directly through the online interface and designed so that the average user can complete it without additional help.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The European legislator aims to reduce situations where the withdrawal process is formally enabled but in practice is hidden among lengthy terms and conditions or requires more steps than a user would expect.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Details are derived from Directive (EU) 2023/2673, the text of which is available on the EUR-Lex portal:</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a target="_blank" rel="noreferrer noopener" href="https://eur-lex.europa.eu/eli/dir/2023/2673/oj?utm_source=chatgpt.com">Directive (EU) 2023/2673</a></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Why is this change not just another legal formality?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>With many legislative changes, retailers often look for the quickest possible solution that meets the requirements of the regulation. However, with the Withdrawal Button requirement, such an approach can quickly cause problems.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>If a buyer submits a request through a form, the system must know which order the request relates to. The retailer must know when the request was submitted. Confirmation of receipt is required. It is often necessary to know which products the buyer wants to return, as withdrawal is not necessarily tied to the entire order.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>That is why there is much more logic behind the scenes than it might seem at first glance.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>A good system must be able to link the order, the buyer, the submitted request, and further processing. Otherwise, the retailer will have a button but will still manually review emails, check orders, and search for data in the administration.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">What should the process look like in practice?</h2>
<!-- /wp:heading -->

<!-- wp:columns -->
<div class="wp-block-columns"><!-- wp:column -->
<div class="wp-block-column"><!-- wp:paragraph -->
<p>Let's imagine a buyer who received an order a few days ago and wants to return only one product.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Instead of searching for contact information, they open the contract withdrawal page, enter the order number and email address, and the system displays the products from the order. The buyer selects the product they want to return, provides additional information if necessary, and submits the request.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>After submission, they receive confirmation, and the retailer has recorded in the administration when the request was submitted and for which products it applies.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Such a process is significantly more useful for both the buyer and the retailer. That is why many providers of logistics and e-commerce solutions emphasize that it is a change in the process and not just adding a new element to the website.</p>
<!-- /wp:paragraph --></div>
<!-- /wp:column -->

<!-- wp:column -->
<div class="wp-block-column"><!-- wp:image {"id":2283,"sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image size-full"><img src="https://www.degriz.net/wordpress/wp-content/uploads/2026/06/narocilo_za_odstop.png" alt="" class="wp-image-2283"/></figure>
<!-- /wp:image --></div>
<!-- /wp:column --></div>
<!-- /wp:columns -->

<!-- wp:heading -->
<h2 class="wp-block-heading">What does this mean for Magento stores?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Magento users can be somewhat more at ease, as the community has started preparing for the changes even before the new rules come into effect.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For Magento 2, an open-source implementation is already available, allowing the submission of withdrawal requests directly through the online store. The solution includes a form for customers, order verification, and administrative review of requests.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a target="_blank" rel="noreferrer noopener" href="https://github.com/Zwernemann/magento2-withdrawl?utm_source=chatgpt.com">Magento 2 Withdrawal Module</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Even users of Magento 1 or the Maho project have not been left without a solution. As part of the platform's development, a module was prepared that implements the requirements of European legislation and provides similar functionality as with Magento 2.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a target="_blank" rel="noreferrer noopener" href="https://github.com/MahoCommerce/maho/pull/1009?utm_source=chatgpt.com">Maho Revocation Module (Magento 1 / Maho)</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>When we look at both implementations, we quickly notice an interesting thing. Neither solves just the display of the button. The focus is on order verification, customer identification, request submission, administrative review, and traceability of the entire process. This further confirms that the essence of the new requirement is primarily in the digitalization of the contract withdrawal process.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For retailers using Magento, implementing the appropriate module and adjusting the request processing process will be sufficient in most cases. However, it is advisable to also review existing terms and conditions, return procedures, and communication with customers, as the technical implementation alone does not necessarily mean full compliance with the legislation.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Opportunity for a better user experience</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Many retailers will see the new requirement primarily as an additional administrative burden. However, it is possible to look at the change differently.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Today, customers expect to be able to handle most things themselves. Just as they want to track package delivery, review order status, or download an invoice, they also expect a simple return or contract withdrawal process.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>If the process is clear, fast, and transparent, the store creates a sense of trust with the customer. A good return policy often influences the purchase decision, as customers know that potential issues can be resolved without complicated procedures.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>In practice, this means that the new legislation is not necessarily just a cost or obligation. It can also be an opportunity to improve the user experience and reduce the number of support requests.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Is your store ready for June 19?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>There is not much time left until the new rules come into effect. Retailers should check how they currently handle contract withdrawals, whether the process is digitized, whether it is accessible to guests without a user account, and whether they have an appropriate overview of submitted requests in the administration.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Many stores today still use only a contact form or instructions for sending an email. Although this approach has often been sufficient until now, it will be sensible to consider a more structured solution in the future.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The Withdrawal Button is a small change at first glance, but it nicely illustrates the direction of development of European e-commerce. Consumers will have increasingly simple digital procedures available, and online stores will have to adapt their processes accordingly. Those who see the change as an opportunity to improve the user experience will likely gain more than just fulfilling a legal obligation.</p>
<!-- /wp:paragraph -->



The post <a href="https://www.degriz.eu/blog/eu-withdrawal-button-new-obligation-for-online-stores-from-june-19-2026/">EU withdrawal button: new obligation for online stores from June 19, 2026</a> appeared first on <a href="https://www.degriz.eu/blog/">Degriz blog</a>.<p><img src="https://www.degriz.eu/wordpress/wp-content/uploads/2026/06/eu_withdrawal-scaled.jpg" alt=""/></p>]]></description>
      <pubDate>Mon, 15 Jun 2026 09:34:13 +0000</pubDate>
      <link>https://www.degriz.eu/blog/eu-withdrawal-button-new-obligation-for-online-stores-from-june-19-2026/</link>
      <guid>https://www.degriz.eu/blog/eu-withdrawal-button-new-obligation-for-online-stores-from-june-19-2026/</guid>
      <author>anze@degriz.net (admin)</author>
      <dc:creator>admin</dc:creator>
    </item>
    <item>
      <title>New tool for Magento 2: AI SEO optimization and translation</title>
      <description><![CDATA[

<!-- wp:paragraph -->
<p>In recent years, while working with Magento stores, I have repeatedly noticed the same two problems.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The first is SEO.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The second is translations and entering new markets.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Many stores have thousands of products, categories, and CMS pages. Manually writing SEO titles, meta descriptions, and other content is time-consuming, and often it doesn't even happen. The result is unoptimized pages, poorer visibility in search engines, and lost opportunities to attract visitors.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>A similar story repeats itself when translating the store. When a company decides on a new market, it often faces translating a huge amount of content. Even when machine translation is used, attention must be paid to brand names, technical terms, and consistency throughout the store.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Precisely because of these challenges, I started developing a system that would significantly simplify this process.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The testing system is here: <a href="https://conductor.degriz.net/si">https://conductor.degriz.net/si</a></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">A project that grew with the merchants' wishes</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The original plan was much less ambitious.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>I wanted to create a tool for faster translation of Magento stores. During development, however, clients suggested numerous additional functionalities that would save them a lot of time.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Thus, the project gradually grew into a much larger platform.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Today, it enables AI translation, AI SEO optimization, support for multiple stores, custom term dictionaries, and many other functionalities intended for Magento stores.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">AI SEO optimization for the entire store</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>One of the biggest advantages of the system is the possibility of mass SEO optimization.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Instead of spending hours manually editing individual products, the system can prepare SEO titles, meta descriptions, and other content for a larger number of products, categories, or pages.</p>
<!-- /wp:paragraph -->

<!-- wp:columns -->
<div class="wp-block-columns"><!-- wp:column -->
<div class="wp-block-column"><!-- wp:heading -->
<h2 class="wp-block-heading">Translation to new markets without weeks of work</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Expanding to a new market usually means a lot of administrative work.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Products, categories, CMS pages, blocks, and other content need to be translated. With several thousand products, such a project can quickly become a multi-week task.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The system allows for quick translation of various types of content, where the merchant can also use their own term dictionary. This ensures that brand names, product names, or other important terms are translated consistently in all languages.</p>
<!-- /wp:paragraph --></div>
<!-- /wp:column -->

<!-- wp:column -->
<div class="wp-block-column"><!-- wp:image {"id":2274,"sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image size-full"><img src="https://www.degriz.net/wordpress/wp-content/uploads/2026/06/CPT2606011936-1598x1001-1.gif" alt="" class="wp-image-2274"/></figure>
<!-- /wp:image --></div>
<!-- /wp:column --></div>
<!-- /wp:columns -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Available for testing</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>After a long development, the system is finally ready for the first users.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Test access: <a href="https://conductor.degriz.net/si">https://conductor.degriz.net/si</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Since this is a platform that must operate in many different Magento environments, the testing period is very important. User feedback will help with further improvements and the development of new functionalities.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>If you manage a Magento store and are looking for a way to speed up SEO optimization or make it easier to expand to new markets, this tool is definitely worth trying.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The best result is not just saving time, but the ability for the team to focus on sales growth instead of routine content editing.</p>
<!-- /wp:paragraph -->

The post <a href="https://www.degriz.eu/blog/new-tool-for-magento-2-ai-seo-optimization-and-translation/">New tool for Magento 2: AI SEO optimization and translation</a> appeared first on <a href="https://www.degriz.eu/blog/">Degriz blog</a>.<p><img src="https://www.degriz.eu/wordpress/wp-content/uploads/2026/06/ai_magento_trannslate.png" alt=""/></p>]]></description>
      <pubDate>Mon, 01 Jun 2026 19:32:54 +0000</pubDate>
      <link>https://www.degriz.eu/blog/new-tool-for-magento-2-ai-seo-optimization-and-translation/</link>
      <guid>https://www.degriz.eu/blog/new-tool-for-magento-2-ai-seo-optimization-and-translation/</guid>
      <author>anze@degriz.net (admin)</author>
      <dc:creator>admin</dc:creator>
    </item>
    <item>
      <title>Server side tracking for online stores</title>
      <description><![CDATA[

<!-- wp:paragraph -->
<p>Online stores today operate in an environment where user data is lost faster than ever before. Browsers restrict cookies, ad blockers block scripts, and users are increasingly sensitive to privacy. All this means that traditional browser-based tracking no longer provides a realistic picture of what is happening on the website.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Therefore, server side tracking is increasingly used, which not only changes the way of measurement but also affects the speed of the site and the stability of the data we use for marketing.</p>
<!-- /wp:paragraph -->

<!-- wp:columns -->
<div class="wp-block-columns"><!-- wp:column -->
<div class="wp-block-column"><!-- wp:heading -->
<h2 class="wp-block-heading">Why server side tracking changes the entire measurement picture</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>In traditional tracking, all data is collected in the user's browser. This means that every interaction – from viewing a product to making a purchase – has to go through JavaScript, which is often blocked or slowed down.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Server side tracking moves this step to the server. The browser no longer communicates directly with all advertising systems but sends the data first to your server, where it is processed and only then forwarded.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>In practice, this means that much less data is lost, as browser blocks no longer have the same impact. At the same time, the load on the site is reduced because part of the scripts is moved from the user's browser to the server.</p>
<!-- /wp:paragraph --></div>
<!-- /wp:column -->

<!-- wp:column -->
<div class="wp-block-column"><!-- wp:image {"id":2262,"sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image size-full"><img src="https://www.degriz.net/wordpress/wp-content/uploads/2026/05/tracking_block.jpg" alt="" class="wp-image-2262"/></figure>
<!-- /wp:image --></div>
<!-- /wp:column --></div>
<!-- /wp:columns -->

<!-- wp:heading -->
<h2 class="wp-block-heading">How it is used in real online stores</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>In practice, server side tracking is most often set up by creating a separate server "container" that receives data from the online store. Google Tag Manager is still used on the site, but only as an interface that forwards the data.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For online stores on the Magento platform, this is especially useful because it is possible to very accurately track events such as adding to cart, starting checkout, or purchase. The difference is that this data is now significantly more reliable because it no longer relies solely on browser performance.</p>
<!-- /wp:paragraph -->

<!-- wp:columns -->
<div class="wp-block-columns"><!-- wp:column -->
<div class="wp-block-column"><!-- wp:heading -->
<h2 class="wp-block-heading">Google Cloud or Stape – two real implementation paths</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>When a company decides on server side tracking, the question of infrastructure usually arises.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>One option is a complete setup via the Google Cloud environment and a server container in Google Tag Manager. This approach gives the most control but requires more technical knowledge and maintenance.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The other, much more practical option for most online stores, is to use the Stape platform, which already prepares the entire infrastructure and allows for quick setup without complex configurations.</p>
<!-- /wp:paragraph --></div>
<!-- /wp:column -->

<!-- wp:column -->
<div class="wp-block-column"><!-- wp:image {"id":2258,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://www.degriz.net/wordpress/wp-content/uploads/2026/05/69bd591e328e3924506699-1024x640.webp" alt="" class="wp-image-2258"/></figure>
<!-- /wp:image --></div>
<!-- /wp:column --></div>
<!-- /wp:columns -->

<!-- wp:columns -->
<div class="wp-block-columns"><!-- wp:column -->
<div class="wp-block-column"><!-- wp:heading -->
<h2 class="wp-block-heading">Practical example - Magento server side tracking</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>In one of the Magento online stores, we implemented server side tracking with a clear goal: to improve data accuracy while reducing the impact of scripts on page speed.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We separated the entire tracking into a server container and a web container in Google Tag Manager. Events such as product view, add to cart, and purchase are now first processed on the server and only then sent to analytics and advertising systems.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For stability and speed, we set everything up on a separate subdomain served via Cloudflare. This allowed the system to operate as part of the same domain, reducing data loss and improving reliability.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Additionally, a custom loader was added to reduce the impact of ad blockers, meaning that even in cases where users block tracking scripts, the data is largely preserved.</p>
<!-- /wp:paragraph --></div>
<!-- /wp:column -->

<!-- wp:column -->
<div class="wp-block-column"><!-- wp:image {"id":2260,"sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image size-full"><img src="https://www.degriz.net/wordpress/wp-content/uploads/2026/05/tag_mager_server_side.png" alt="" class="wp-image-2260"/></figure>
<!-- /wp:image --></div>
<!-- /wp:column --></div>
<!-- /wp:columns -->

<!-- wp:columns -->
<div class="wp-block-columns"><!-- wp:column -->
<div class="wp-block-column"><!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Result visible in page speed</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>After implementation, page loading improved by about one second, which is very noticeable on mobile devices. The optimization also affected the PageSpeed score, reaching around 90/100 on mobile devices.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>More importantly, the impact on data was significant. Conversions became more consistent, differences between advertising platforms decreased, and it became clear that significantly fewer purchases were lost.</p>
<!-- /wp:paragraph --></div>
<!-- /wp:column -->

<!-- wp:column -->
<div class="wp-block-column"><!-- wp:image {"id":2259,"sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image size-full"><img src="https://www.degriz.net/wordpress/wp-content/uploads/2026/05/page_speed_server_side.png" alt="" class="wp-image-2259"/></figure>
<!-- /wp:image --></div>
<!-- /wp:column --></div>
<!-- /wp:columns -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Backend tracking or server side tracking?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>It often seems sufficient to send data directly from the backend system, for example, upon order confirmation. This is very accurate but only captures final events.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Server side tracking works more broadly. It captures not only the purchase but also all the intermediate steps of the user, from the first click to conversion. This allows for a much better understanding of the user journey and more effective ad optimization.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For this reason, Google advisors recommend it today, as it represents a balance between the accuracy of backend data and the breadth of user behavior data.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Why it will become a standard for online stores</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Online stores no longer need just "some tracking," but tracking they can trust. If the data is not accurate, decisions about ads and sales are also wrong.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Server side tracking has practically become one of the few solutions that simultaneously improves page speed, reduces data loss, and enables more stable analytics in a world where traditional tracking is increasingly limited.</p>
<!-- /wp:paragraph -->

The post <a href="https://www.degriz.eu/blog/server-side-tracking-za-spletne-trgovine/">Server side tracking for online stores</a> appeared first on <a href="https://www.degriz.eu/blog/">Degriz blog</a>.<p><img src="https://www.degriz.eu/wordpress/wp-content/uploads/2026/05/server_side_tracking_magento.jpg" alt=""/></p>]]></description>
      <pubDate>Wed, 20 May 2026 18:07:24 +0000</pubDate>
      <link>https://www.degriz.eu/blog/server-side-tracking-za-spletne-trgovine/</link>
      <guid>https://www.degriz.eu/blog/server-side-tracking-za-spletne-trgovine/</guid>
      <author>anze@degriz.net (admin)</author>
      <dc:creator>admin</dc:creator>
    </item>
    <item>
      <title>Optimization of online stores for AI search</title>
      <description><![CDATA[

<!-- wp:columns --><div class="wp-block-columns"><!-- wp:column --><div class="wp-block-column"><!-- wp:paragraph --><p>Online search is rapidly changing. Users no longer use search engines just for "browsing links," but increasingly receive direct answers from artificial intelligence. This means that the question of what constitutes good optimization of an online store has also changed.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>If the goal used to be to rank high on Google, today the goal is something more subtle: to be structured well enough for AI to understand and choose you as a source of answers or recommendations.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>This is a shift from classic SEO to something that could be called AI content optimization.</p><!-- /wp:paragraph --><!-- wp:heading --><h2 class="wp-block-heading">How AI actually "reads" online stores today</h2><!-- /wp:heading --><!-- wp:paragraph --><p>AI systems do not view pages like humans. They are not interested in design, banners, or marketing phrases. They are interested in meaning, structure, and clarity.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>When AI analyzes a website, it tries to understand:<br>what is being sold, who it is intended for, how the product is used, and whether the information is reliable enough to use in a response.</p><!-- /wp:paragraph --></div><!-- /wp:column --><!-- wp:column --><div class="wp-block-column"><!-- wp:image {"id":2250,"sizeSlug":"full","linkDestination":"none"} --><figure class="wp-block-image size-full"><img src="https://www.degriz.net/wordpress/wp-content/uploads/2026/05/ai_naup.png" alt="" class="wp-image-2250"/></figure><!-- /wp:image --></div><!-- /wp:column --></div><!-- /wp:columns --><!-- wp:paragraph --><p>Therefore, today, pages that are not only "beautiful" but logically built have an advantage. Those where the content is divided, answers are clear, and there is no need to guess what is important.</p><!-- /wp:paragraph --><!-- wp:heading --><h2 class="wp-block-heading">Why content structure has become crucial</h2><!-- /wp:heading --><!-- wp:paragraph --><p>One of the biggest changes in recent years is that content structure affects how AI interprets a page.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>If the content is clearly divided, with logical headings and subheadings, AI can more easily understand the context. It is especially important that the answers are direct and not hidden in long, unclear paragraphs.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>In practice, this means that a well-structured category or product page is no longer just an SEO element but becomes a "source of knowledge" that AI can use to answer users.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>In working with clients, we have already established a system for monitoring the technical and content effectiveness of pages. In addition to speed and LCP metrics, we also monitor how pages actually behave in search results and how stable their visibility is over time. This often shows that small content improvements have a greater impact than large technical changes.</p><!-- /wp:paragraph --><!-- wp:heading --><h2 class="wp-block-heading">Practical example: how structured content changed results</h2><!-- /wp:heading --><!-- wp:columns --><div class="wp-block-columns"><!-- wp:column --><div class="wp-block-column"><!-- wp:paragraph --><p>A very good example is the online store<a href="https://sveterotike.si/eroticne-igracke.html" target="_blank" rel="noreferrer noopener"> Sveterotike – category erotic toys</a>.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>It is a category page that was a typical example of a "classic e-commerce approach" before optimization: a short description, a basic list of products, and minimal additional content.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>Later, the page was redesigned to include:</p><!-- /wp:paragraph --><!-- wp:list --><ul class="wp-block-list"><!-- wp:list-item --><li>an expanded category description, divided into meaningful content sections</li><!-- /wp:list-item --><!-- wp:list-item --><li>clear subheadings that answer actual user questions</li><!-- /wp:list-item --><!-- wp:list-item --><li>a FAQ section with real questions that people actually search for</li><!-- /wp:list-item --></ul><!-- /wp:list --><!-- wp:paragraph --><p>This change was not just cosmetic.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>The result was very concrete:<br>the page began to achieve better positions in search engines, in some cases even the first position for important search terms, and organic traffic also increased.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>What is interesting about this example is that the product, price, or design did not change. Only the content structure and the way the page answers user questions changed.</p><!-- /wp:paragraph --></div><!-- /wp:column --><!-- wp:column --><div class="wp-block-column"><!-- wp:image {"id":2237,"sizeSlug":"full","linkDestination":"none"} --><figure class="wp-block-image size-full"><img src="https://www.degriz.net/wordpress/wp-content/uploads/2026/05/1777903698192.png" alt="" class="wp-image-2237"/></figure><!-- /wp:image --></div><!-- /wp:column --></div><!-- /wp:columns --><!-- wp:paragraph --><p>This is a very clear signal of how important content is today, which is understandable not only to people but also to AI systems.</p><!-- /wp:paragraph --><!-- wp:heading --><h2 class="wp-block-heading">How the way of writing content is changing</h2><!-- /wp:heading --><!-- wp:paragraph --><p>Writing for modern search engines is no longer classic SEO writing, where you optimize for keywords. Today, it is important that the content actually answers questions.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>The best-performing content is:<br>clear, concrete, explained with actual examples, and without unnecessary marketing.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>AI prioritizes content that looks like an expert explanation, not an advertisement.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>Interestingly, pages that are somewhat "human" often achieve better results – even if they are not perfect, but are honest and informative.</p><!-- /wp:paragraph --><!-- wp:columns --><div class="wp-block-columns"><!-- wp:column --><div class="wp-block-column"><!-- wp:heading --><h2 class="wp-block-heading">The role of the brand in AI search</h2><!-- /wp:heading --><!-- wp:paragraph --><p>Besides the content itself, the strength of the brand is becoming increasingly important.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>AI systems do not only choose the most technically optimized pages but also those with more trust signals. This means it is important how often the brand appears elsewhere on the internet, whether it is mentioned in articles, forums, or social networks.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>In practice, this means that SEO is no longer just an "on-site game," but a combination of content, technical optimization, and external trust signals.</p><!-- /wp:paragraph --></div><!-- /wp:column --><!-- wp:column --><div class="wp-block-column"><!-- wp:image {"id":2241,"sizeSlug":"full","linkDestination":"none"} --><figure class="wp-block-image size-full"><img src="https://www.degriz.net/wordpress/wp-content/uploads/2026/05/ai_mnenja.png" alt="" class="wp-image-2241"/></figure><!-- /wp:image --></div><!-- /wp:column --></div><!-- /wp:columns --><!-- wp:columns --><div class="wp-block-columns"><!-- wp:column --><div class="wp-block-column"><!-- wp:heading --><h2 class="wp-block-heading">Page speed and technical stability</h2><!-- /wp:heading --><!-- wp:paragraph --><p>The technical part of SEO has not disappeared but has become even more important.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>Page speed, layout stability, and mobile optimization are still key factors. After the latest Google updates, slow pages have lost visibility, even if they had good content.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>In practice, this means that AI and search engines no longer only look at "what is written," but also "how well the page works."</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>Therefore, in projects, we regularly monitor:<br>loading speed, LCP metrics, and the overall technical health of the page. This allows problems to be detected early and not only when there is a drop in traffic.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>For ourselves and our clients, we have developed a system that regularly checks page loading and quickly reports any necessary issues.</p><!-- /wp:paragraph --></div><!-- /wp:column --><!-- wp:column --><div class="wp-block-column"><!-- wp:image {"id":2244,"sizeSlug":"large","linkDestination":"none"} --><figure class="wp-block-image size-large"><img src="https://www.degriz.net/wordpress/wp-content/uploads/2026/05/ai_uptime-1024x753.png" alt="" class="wp-image-2244"/></figure><!-- /wp:image --></div><!-- /wp:column --></div><!-- /wp:columns --><!-- wp:columns --><div class="wp-block-columns"><!-- wp:column --><div class="wp-block-column"><!-- wp:heading --><h2 class="wp-block-heading">Where development is heading: from SEO to AI optimization of stores</h2><!-- /wp:heading --><!-- wp:paragraph --><p>In the future, online stores will no longer be optimized only for search engines but for AI systems that will act as intermediaries between the user and the purchase.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>This means that it will no longer be enough to be "visible on Google." It will be important whether AI understands, trusts, and chooses you as a relevant provider.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>In this context, optimizing content, structure, and data is becoming crucial for any serious online store.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>At the same time, another important shift is emerging: AI will no longer just search and recommend products but will also become a sales channel. OpenAI has already introduced the concept of "Buy it in ChatGPT," where the user can make a purchase directly within the conversation (Agentic Commerce Protocol).</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>This means that stores are no longer just competing for positions in the search engine but for AI to even recognize, understand, and include them in its selection of products. Structured data, clean product feeds, and clear information will be key in this.</p><!-- /wp:paragraph --></div><!-- /wp:column --><!-- wp:column --><div class="wp-block-column"><!-- wp:image {"sizeSlug":"large","linkDestination":"none"} --><figure class="wp-block-image size-large"><img src="https://www.degriz.net/wordpress/wp-content/uploads/2026/05/CPT2605041635-1147x645-1.gif" alt=""/></figure><!-- /wp:image --></div><!-- /wp:column --></div><!-- /wp:columns --><!-- wp:columns --><div class="wp-block-columns"><!-- wp:column --><div class="wp-block-column"><!-- wp:heading --><h2 class="wp-block-heading">Conclusion</h2><!-- /wp:heading --><!-- wp:paragraph --><p>The optimization of online stores is shifting from classic SEO to more intelligent, structured, and data-driven optimization.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>Practical examples show that even relatively small changes in content structure can bring concrete results in the form of better positions and increased traffic.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>AI is not only changing how we search. It is also changing what a good website means.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>In this, we must not forget one more important thing: AI not only affects search but also the way we work. With its help, we can significantly speed up content preparation, page optimization, and data analysis, which means we must start actively incorporating it into our daily processes.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>In this new environment, those who are not only visible but understood and agile enough to use AI as part of their work process are winning.</p><!-- /wp:paragraph --></div><!-- /wp:column --><!-- wp:column --><div class="wp-block-column"><!-- wp:image {"sizeSlug":"large","linkDestination":"none"} --><figure class="wp-block-image size-large"><img src="https://www.degriz.net/wordpress/wp-content/uploads/2026/02/CPT2602111413-1553x944-1.gif" alt=""/></figure><!-- /wp:image --></div><!-- /wp:column --></div><!-- /wp:columns -->

The post <a href="https://www.degriz.eu/blog/optimization-of-online-stores-for-ai-search/">Optimization of online stores for AI search</a> appeared first on <a href="https://www.degriz.eu/blog/">Degriz blog</a>.<p><img src="https://www.degriz.eu/wordpress/wp-content/uploads/2026/05/ai_spletno_iskanje.jpg" alt=""/></p>]]></description>
      <pubDate>Mon, 04 May 2026 16:08:58 +0000</pubDate>
      <link>https://www.degriz.eu/blog/optimization-of-online-stores-for-ai-search/</link>
      <guid>https://www.degriz.eu/blog/optimization-of-online-stores-for-ai-search/</guid>
      <author>anze@degriz.net (admin)</author>
      <dc:creator>admin</dc:creator>
    </item>
    <item>
      <title>Guide to legislation for online stores</title>
      <description><![CDATA[<!-- wp:paragraph --><p>Setting up an online store today is not a problem.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>Platforms are simple, designs are beautiful, marketing starts in days. Most things resolve themselves — except for one question that most postpone for "another time":</p><!-- /wp:paragraph --><!-- wp:paragraph --><p><strong>Is my store actually compliant with the law?</strong></p><!-- /wp:paragraph --><!-- wp:columns --><div class="wp-block-columns"><!-- wp:column --><div class="wp-block-column"><!-- wp:heading --><h2 class="wp-block-heading">What is the guide for online stores</h2><!-- /wp:heading --><!-- wp:paragraph --><p>The SPOT guide for online stores is an official overview of the requirements that every online store in Slovenia must meet.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>It doesn't just talk about <em>which documents</em> you need to have. It talks about <em>how the entire process must be set up</em> - what the customer sees, when they see it, and what they must confirm before placing an order.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>In practice, it is one of the few resources where it is clearly explained how an online store should actually operate — not just how it should look.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p><em>Image source: https://spot.gov.si/</em></p><!-- /wp:paragraph --><!-- wp:heading --><h2 class="wp-block-heading">Which legislation is included in the guide for online stores</h2><!-- /wp:heading --><!-- wp:paragraph --><p>The guide for online stores covers requirements from several laws at once — from consumer protection and electronic commerce to tax invoice certification and language rules. All in one place, in the form of questions that guide you through your specific case.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>It includes legislation from the fields of:</p><!-- /wp:paragraph --><!-- wp:list --><ul class="wp-block-list"><!-- wp:list-item --><li>consumer protection (ZVPot-1)</li><!-- /wp:list-item --><!-- wp:list-item --><li>electronic commerce in the market (ZEPT)</li><!-- /wp:list-item --><!-- wp:list-item --><li>prevention of undeclared work (ZPDZC)</li><!-- /wp:list-item --><!-- wp:list-item --><li>out-of-court resolution of consumer disputes (ZIsRPS)</li><!-- /wp:list-item --><!-- wp:list-item --><li>public use of the Slovenian language (ZJRS)</li><!-- /wp:list-item --><!-- wp:list-item --><li>tax invoice certification (ZDavPR)</li><!-- /wp:list-item --><!-- wp:list-item --><li>European regulation on geo-blocking</li><!-- /wp:list-item --></ul><!-- /wp:list --></div><!-- /wp:column --><!-- wp:column --><div class="wp-block-column"><!-- wp:image {"id":2227,"sizeSlug":"full","linkDestination":"none"} --><figure class="wp-block-image size-full"><img src="https://www.degriz.net/wordpress/wp-content/uploads/2026/04/guidepage_ilu1-1.png" alt="" class="wp-image-2227"/></figure><!-- /wp:image --></div><!-- /wp:column --></div><!-- /wp:columns --><!-- wp:heading --><h2 class="wp-block-heading">Where online stores most often get stuck</h2><!-- /wp:heading --><!-- wp:paragraph --><p>Most stores have the basics covered. Terms of business, privacy policy, checkout process that somehow works.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>The problem is elsewhere.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>Information is not displayed at the right time. The purchase process does not include all mandatory steps. Texts are "just in case" - not part of the real customer experience.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>And so the store operates without problems - until someone takes a closer look.</p><!-- /wp:paragraph --><!-- wp:columns --><div class="wp-block-columns"><!-- wp:column --><div class="wp-block-column"><!-- wp:heading --><h2 class="wp-block-heading">Why the guide for online stores is not just a list of documents</h2><!-- /wp:heading --><!-- wp:paragraph --><p>When it comes to legislation, most do the same. Look at the competition, take a template or generate text with AI.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>In the end, you get something that <em>looks</em> correct.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>But an online store is not a document - it is a <strong>process</strong>.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>Legislation doesn't just check what is written. It checks how the customer gets to this information and what they actually confirm. If this is not set up correctly, no text will fix it.</p><!-- /wp:paragraph --></div><!-- /wp:column --><!-- wp:column --><div class="wp-block-column"><!-- wp:image {"id":2232,"sizeSlug":"full","linkDestination":"none"} --><figure class="wp-block-image size-full"><img src="https://www.degriz.net/wordpress/wp-content/uploads/2026/04/CPT2604201427-744x575-1.gif" alt="" class="wp-image-2232"/></figure><!-- /wp:image --></div><!-- /wp:column --></div><!-- /wp:columns --><!-- wp:heading --><h2 class="wp-block-heading">How to use the guide for online stores for self-checking</h2><!-- /wp:heading --><!-- wp:paragraph --><p>Instead of guessing whether everything is okay, you now have a concrete framework.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>The guide allows you to check the store according to specific requirements — not by feeling, but by standard. You quickly see what holds and where you have gaps that you wouldn't otherwise notice.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>&#x1f449; <a href="https://spot.gov.si/sl/dejavnosti-in-poklici/vodic-za-spletne-trgovine">Guide for online stores on SPOT</a></p><!-- /wp:paragraph --><!-- wp:heading --><h2 class="wp-block-heading">If you know what needs to be fixed — but don't know how</h2><!-- /wp:heading --><!-- wp:paragraph --><p>The guide is clear. But knowing <em>what</em> needs to be fixed and actually <em>fixing</em> it in your store — are two different things.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>If you've gone through the guide and see that things are not set up as they should be, I'm available to help you fix it. Specifically, without theory - just what needs to be done to make it right.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>Because the point is not to know what is missing.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p><strong>The point is to actually fix it.</strong></p><!-- /wp:paragraph --><!-- wp:paragraph --><p></p><!-- /wp:paragraph -->The post <a href="https://www.degriz.eu/blog/guide-to-legislation-for-online-stores/">Guide to legislation for online stores</a> appeared first on <a href="https://www.degriz.eu/blog/">Degriz blog</a>.<p><img src="https://www.degriz.eu/wordpress/wp-content/uploads/2026/04/zakonodaja_spletna_trgovina.jpg" alt=""/></p>]]></description>
      <pubDate>Mon, 20 Apr 2026 13:49:43 +0000</pubDate>
      <link>https://www.degriz.eu/blog/guide-to-legislation-for-online-stores/</link>
      <guid>https://www.degriz.eu/blog/guide-to-legislation-for-online-stores/</guid>
      <author>anze@degriz.net (admin)</author>
      <dc:creator>admin</dc:creator>
    </item>
    <item>
      <title>How to enable Redis in Magento 2</title>
      <description><![CDATA[



<!-- wp:paragraph -->
<p>Redis is a powerful in-memory data storage tool that drastically speeds up your Magento store by redirecting sessions and cache from a slower database or file system to fast RAM.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>In this post, we will look at how to find information about your Redis server and how to properly integrate it into Magento.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">1. How to enable Redis in a cPanel environment (shared hosting)</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>On shared servers, Redis typically does not operate via the classic TCP port <code>6379</code>, but through a <strong>Unix socket</strong> enabled by the hosting provider. Before connecting Redis to Magento, you must check if PHP support for Redis is active at all.</p>
<!-- /wp:paragraph -->

<!-- wp:columns -->
<div class="wp-block-columns"><!-- wp:column -->
<div class="wp-block-column"><!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Activating the Redis extension in cPanel</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>In most cPanel environments (especially on CloudLinux servers), you enable Redis through the PHP selector:</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list"><!-- wp:list-item -->
<li>Log in to <strong>cPanel</strong></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Open <strong>Select PHP Version</strong> (sometimes called <em>PHP Selector</em>)</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Switch to the <strong>Extensions</strong> tab</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Check the <strong>redis</strong> extension</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Save the changes</li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>This activates the PHP extension <strong>phpredis</strong>, which allows Magento to connect to the Redis server.</p>
<!-- /wp:paragraph --></div>
<!-- /wp:column -->

<!-- wp:column -->
<div class="wp-block-column"><!-- wp:image {"id":2213,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://www.degriz.net/wordpress/wp-content/uploads/2026/02/1771259169001-1024x789.png" alt="" class="wp-image-2213"/></figure>
<!-- /wp:image --></div>
<!-- /wp:column --></div>
<!-- /wp:columns -->

<!-- wp:paragraph -->
<p>If this extension is not enabled, Magento will report a connection error when trying to use the Redis backend, or the cache will not initialize at all.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Note:</strong><br>If you use the <a href="https://www.neoserv.si/?a=1916"><strong>NEOSERV Turbo LiteSpeed package</strong>,</a> Redis is available in cPanel at no extra charge (via Unix socket). You can activate it directly in the hosting settings.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="user-content-1-how-to-find-redis-information">2. How to find information for Redis?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Before starting the configuration, you need to know where Redis is running. It usually runs on certain ports (port 6379) or via a Unix socket, which is common on shared hosting.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading" id="user-content-searching-for-the-process-via-console">Searching for the process via console</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The easiest way to find this information is by using the command&nbsp;<code>ps</code>:</p>
<!-- /wp:paragraph -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">ps aux | grep redis</pre>
<!-- /wp:preformatted -->

<!-- wp:paragraph -->
<p>Look for something similar in the output:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><code>redis-server *:6379</code>&nbsp;(means it runs on port 6379)</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><code>redis-server unixsocket:/home/user/.tmp/redis.sock</code>&nbsp;(means it uses a Unix socket)</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading" id="user-content-checking-the-connection">Checking the connection</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Once you have the information, you can check if you can connect:</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>For port:</strong></p>
<!-- /wp:paragraph -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">redis-cli -p 6379 ping</pre>
<!-- /wp:preformatted -->

<!-- wp:paragraph -->
<p><strong>For Unix socket:</strong></p>
<!-- /wp:paragraph -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">redis-cli -s /path/to/redis.sock ping</pre>
<!-- /wp:preformatted -->

<!-- wp:paragraph -->
<p>If you get a response&nbsp;<code>PONG</code>, everything is working!</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">3. Complete configuration for&nbsp;app/etc/env.php</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Below is the complete code to insert into your file.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading" id="user-content-a-session-configuration">A. Session configuration</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Sessions are critical as they refresh with every user click.</p>
<!-- /wp:paragraph -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">'session' =&gt; [<br>    'save' =&gt; 'redis',<br>    'redis' =&gt; [<br>        'host' =&gt; '/home/<strong>username</strong>/.cagefs/tmp/redis.sock', // Path to socket or IP<br>        'port' =&gt; '0',                                  // 0 for socket, 6379 for port<br>        'password' =&gt; '',                               // Password if set<br>        'timeout' =&gt; '2.5',                             // Connection timeout (seconds)<br>        'persistent_identifier' =&gt; '',                  // ID for persistent connection<br>        'database' =&gt; '2',                              // Database number (recommended 2)<br>        'compression_threshold' =&gt; '2048',              // Compress data over 2KB<br>        'compression_library' =&gt; 'gzip',                // Compression library (gzip or lzf)<br>        'log_level' =&gt; '1',                             // 1 for errors, 4 for all<br>        'max_concurrency' =&gt; '6',                       // Max concurrent processes per session<br>        'break_after_frontend' =&gt; '5',                  // Time to release lock (seconds)<br>        'break_after_adminhtml' =&gt; '30',                // Time for admin lock<br>        'first_lifetime' =&gt; '600',                      // New session lifetime<br>        'bot_first_lifetime' =&gt; '60',                   // Time for bots<br>        'bot_lifetime' =&gt; '7200',                       // Total time for bots<br>        'disable_locking' =&gt; '0',                       // 0 enables locking (safer)<br>        'min_lifetime' =&gt; '60',                         // Minimum session time<br>        'max_lifetime' =&gt; '2592000',                    // Maximum time (30 days)<br>        'sentinel_master' =&gt; '',                        // For Redis Sentinel clusters<br>        'sentinel_servers' =&gt; '',<br>        'sentinel_connect_retries' =&gt; '5',<br>        'sentinel_verify_master' =&gt; '0'<br>    ]<br>],</pre>
<!-- /wp:preformatted -->

<!-- wp:paragraph -->
<p><strong>Explanation of key fields:</strong></p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>database</strong>: Redis allows multiple separate databases (usually 0-15). We use database 2 for sessions to avoid mixing with cache.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>compression_threshold</strong>: Magento will compress data before sending it to Redis if it is larger than this value. This saves memory.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>max_concurrency</strong>: Prevents one user from consuming too many resources (e.g., if they open 10 tabs at once).</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>disable_locking</strong>: Always set to&nbsp;<code>0</code>&nbsp;in production to prevent session data corruption.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

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

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading" id="user-content-b-cache-configuration">B. Cache configuration</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>This covers the default cache and full page cache (Page Cache).</p>
<!-- /wp:paragraph -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">'cache' =&gt; [<br>    'frontend' =&gt; [<br>        'default' =&gt; [<br>            'id_prefix' =&gt; '2e4_',<br>            'backend' =&gt; 'Magento\Framework\Cache\Backend\Redis',<br>            'backend_options' =&gt; [<br>                'server' =&gt; '/home/<strong>username</strong>/.cagefs/tmp/redis.sock',<br>                'port' =&gt; '0',<br>                'password' =&gt; '',<br>                'database' =&gt; '0',                      // Database 0 for default cache<br>                'compress_data' =&gt; '1',                 // Enable compression<br>                'compression_lib' =&gt; 'gzip'<br>            ]<br>        ],<br>        'page_cache' =&gt; [<br>            'id_prefix' =&gt; '2e4_',<br>            'backend' =&gt; 'Magento\Framework\Cache\Backend\Redis',<br>            'backend_options' =&gt; [<br>                'server' =&gt; '/home/<strong>username</strong>/.cagefs/tmp/redis.sock',<br>                'port' =&gt; '0',<br>                'password' =&gt; '',<br>                'database' =&gt; '1',                      // Database 1 for FPC<br>                'compress_data' =&gt; '0',                 // FPC is usually not compressed for max speed<br>                'compression_lib' =&gt; 'gzip'<br>            ]<br>        ]<br>    ]<br>],</pre>
<!-- /wp:preformatted -->

<!-- wp:paragraph -->
<p><strong>Explanation of key fields:</strong></p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>id_prefix</strong>: A short code (e.g.,&nbsp;<code>2e4_</code>) added to each key. This is necessary if you have multiple stores on the same Redis server.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>backend</strong>: Tells Magento to use the Redis driver.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>database</strong>: Database 0 is for general Magento data, and database 1 is for Full Page Cache (FPC).</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>compress_data</strong>: For FPC, it is often set to&nbsp;<code>0</code> because the data is already in HTML form and it is faster for Redis to return it directly without unpacking.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

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

<!-- wp:heading -->
<h2 class="wp-block-heading" id="user-content-3-conclusion">3. Conclusion</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>After editing the file, be sure to clear the cache:</p>
<!-- /wp:paragraph -->

<!-- wp:preformatted -->
<pre class="wp-block-preformatted">php bin/magento cache:flush</pre>
<!-- /wp:preformatted -->

<!-- wp:paragraph -->
<p>With Redis, your store will breathe easier, and the processor will be less burdened with MySQL queries for sessions!</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->



The post <a href="https://www.degriz.eu/blog/how-to-enable-redis-in-magento-2/">How to enable Redis in Magento 2</a> appeared first on <a href="https://www.degriz.eu/blog/">Degriz blog</a>.<p><img src="https://www.degriz.eu/wordpress/wp-content/uploads/2026/02/redis_magento.jpg" alt=""/></p>]]></description>
      <pubDate>Mon, 16 Feb 2026 17:13:52 +0000</pubDate>
      <link>https://www.degriz.eu/blog/how-to-enable-redis-in-magento-2/</link>
      <guid>https://www.degriz.eu/blog/how-to-enable-redis-in-magento-2/</guid>
      <author>anze@degriz.net (admin)</author>
      <dc:creator>admin</dc:creator>
    </item>
    <item>
      <title>AI and its impact on online stores</title>
      <description><![CDATA[

<!-- wp:paragraph -->
<p>This post was created after an interesting conversation where I mentioned that artificial intelligence has completely changed my perspective on the development of online stores recently. The reactions were varied – from enthusiasm to skepticism. But the essence remained the same: development today is no longer what it was a few months ago.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>AI does not mean that someone without knowledge will become a developer overnight. However, it does mean that for those of us who understand architecture, processes, and business logic, it removes a lot of technical friction.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>And this is precisely what changes the competitiveness of platforms.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Shopify is not as good as we imagine</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Shopify also seriously attracted me. The concept is logical. Quick launch. Organized admin. The feeling that you can set up a store almost without technical knowledge.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>I went deep enough to do several trainings, develop a theme, and understand their ecosystem. And honestly – I understand why the platform is so popular.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>However, the problem shows up later.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Shopify is great as long as you do things that Shopify has anticipated. When you want to step out of the box, you start adapting to the platform instead of the other way around. Solutions often mean apps, monthly costs, detours, or compromises in logic.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For a long time, Shopify's biggest advantage was the speed of development. Magento allowed more, but development was slower and more expensive. And that was a legitimate dilemma.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Today, this difference is no longer so obvious.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Magento, which disappointed, now impresses</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Magento disappointed many due to its complexity. Development was demanding. Every major customization meant a significant investment of time.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>But Magento has one key feature: it is not limited by the platform owner. It does not have a subscription model that dictates what you can and cannot do. It has an open architecture where business logic is actually in your hands.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>And this is where AI changes the game.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Because when you remove Magento's biggest weakness – the slowness of development – you are left with a platform that is practically unlimited.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Today, with the help of AI, you can significantly faster:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>analyze existing code,</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>set up a module with the appropriate structure,</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>write an integration with an external system,</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>model complex rules,</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>check edge cases.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Things that used to take weeks are now realistically achievable in days. Not because Magento has become simple. But because AI removes that part of the work that was mechanical and time-consuming.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>And when the speed of development approaches Shopify, while Magento retains complete flexibility, the decision becomes different.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Practical example: processing payments by proforma invoice</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>In the discussion, I mentioned a concrete example that is not tied to B2B. It is something that many stores use – payment by proforma invoice.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The process is usually like this:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>The customer places an order.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Receives payment details.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Once the payment is made, someone manually checks the bank statement, finds the reference, verifies the amount, confirms the order, and creates an invoice.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>This is a process that unnecessarily takes time, and almost every store that allows payment by proforma invoice encounters it.</p>
<!-- /wp:paragraph -->

<!-- wp:columns -->
<div class="wp-block-columns"><!-- wp:column -->
<div class="wp-block-column"><!-- wp:paragraph -->
<p>On Magento, you can now set up a system where the bank statement is automatically processed. The module automatically reads emails, imports XML payments, and analyzes transactions, recognizes the order number or reference, and checks for matching amounts and dates. If the data matches, the system automatically confirms the order and updates the status.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>If the match is not perfect, the case is marked for manual review.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This is not futurism. This is the optimization of a daily process. Such a solution is not tied to an external application or monthly subscription – it is part of your platform.</p>
<!-- /wp:paragraph --></div>
<!-- /wp:column -->

<!-- wp:column -->
<div class="wp-block-column"><!-- wp:image {"id":2201,"sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image size-full"><img src="https://www.degriz.net/wordpress/wp-content/uploads/2026/02/Usklajevanje-bancnih-placil-Prodaja-OpenMage-Admin-Hemptouch-Hemptouch-02-11-2026_02_06_PM.png" alt="" class="wp-image-2201"/></figure>
<!-- /wp:image --></div>
<!-- /wp:column --></div>
<!-- /wp:columns -->

<!-- wp:paragraph -->
<p>The key is this: the development of such a solution today is no longer a project for several weeks, but a module that essentially requires less than 2 hours of work without additional costs. What was once a reason for stores to move away from Magento is no longer such a big obstacle today.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Where is the real difference today</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Shopify is still a very good choice for beginners. For someone who wants to quickly set up a store, without worrying about infrastructure and without complex processes.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>But it is no longer a universal solution for everyone.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Once you build a store as a serious business system, where you want to automate processes, customize rules, and connect different systems, the openness of the platform becomes crucial.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>And if today you can develop these customizations faster than ever before, then Magento regains the advantage it lost for a while.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://www.degriz.net/wordpress/wp-content/uploads/2026/02/CPT2602111413-1553x944-1.gif" alt=""/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>In the end, I am interested in something else.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>What is the thing in your store that takes the most time?<br>Which process do you feel you cannot automate?</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Write to me. It is very likely that there is a solution – and it is very likely that it is achievable today faster than you think.</p>
<!-- /wp:paragraph -->

The post <a href="https://www.degriz.eu/blog/ai-and-its-impact-on-online-stores/">AI and its impact on online stores</a> appeared first on <a href="https://www.degriz.eu/blog/">Degriz blog</a>.<p><img src="https://www.degriz.eu/wordpress/wp-content/uploads/2026/02/ai_spletne_trgovine.jpg" alt=""/></p>]]></description>
      <pubDate>Wed, 11 Feb 2026 14:01:26 +0000</pubDate>
      <link>https://www.degriz.eu/blog/ai-and-its-impact-on-online-stores/</link>
      <guid>https://www.degriz.eu/blog/ai-and-its-impact-on-online-stores/</guid>
      <author>anze@degriz.net (admin)</author>
      <dc:creator>admin</dc:creator>
    </item>
    <item>
      <title>Example of good practice: how Vetisa combines B2B and B2C on one platform</title>
      <description><![CDATA[



<!-- wp:paragraph -->
<p>More and more online retailers are faced with the challenge of <strong>how to effectively combine B2B and B2C sales on one platform</strong>. B2B buyers expect a simple user experience, while companies need complex price lists, customized conditions, and integration with ERP systems.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>In this post, I present a concrete example of how the company Vetisa successfully combined both sales models on the Magento platform, simplifying its operations and preparing the store for further growth.</p>
<!-- /wp:paragraph -->

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

<!-- wp:columns -->
<div class="wp-block-columns"><!-- wp:column -->
<div class="wp-block-column"><!-- wp:heading -->
<h2 class="wp-block-heading">1. One platform for B2B and B2C</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The new store combines <strong>B2B and B2C sales on one platform</strong>, without separate systems or duplicated work.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>B2B customers have customized price lists, clear display of discounts and different price displays, support for ordering larger quantities, and their own payment methods, including the option of deferred payment.<br>B2C customers have a simplified and transparent purchasing process that allows for quick and easy ordering.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Check out the store yourself:</strong> <a href="https://www.vetisa.si/">vetisa.si</a></p>
<!-- /wp:paragraph --></div>
<!-- /wp:column -->

<!-- wp:column -->
<div class="wp-block-column"><!-- wp:image {"id":2191,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://www.degriz.net/wordpress/wp-content/uploads/2026/01/vetisa_spletna-edited-1.png" alt="" class="wp-image-2191"/></figure>
<!-- /wp:image --></div>
<!-- /wp:column --></div>
<!-- /wp:columns -->

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

<!-- wp:columns -->
<div class="wp-block-columns"><!-- wp:column -->
<div class="wp-block-column"><!-- wp:heading -->
<h2 class="wp-block-heading">2. ERP as the central data source</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>ERP Pantheon acts as <strong>the central data source</strong> for the entire system. Items, stocks, prices, and orders are synchronized in real-time.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This reduces manual work — there is no longer a need for manual order transfers, stock updates, or price corrections. Data is always synchronized, simplifying logistics, accounting, and customer support.</p>
<!-- /wp:paragraph --></div>
<!-- /wp:column -->

<!-- wp:column -->
<div class="wp-block-column"><!-- wp:image {"id":2178,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://www.degriz.net/wordpress/wp-content/uploads/2026/01/ChatGPT-Image-Jan-8-2026-12_22_24-PM-1024x683.png" alt="" class="wp-image-2178"/></figure>
<!-- /wp:image --></div>
<!-- /wp:column --></div>
<!-- /wp:columns -->

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

<!-- wp:columns -->
<div class="wp-block-columns"><!-- wp:column -->
<div class="wp-block-column"><!-- wp:heading -->
<h2 class="wp-block-heading">3. Advanced pricing logic, promotions, and discounts</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The store supports complex pricing and promotion logic tailored to different types of customers.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Price display is separated: B2C customers see a standard display with two decimal places, while B2B partners see four decimal places, allowing for accurate calculations for larger orders. The system ensures that pricing, discount, and promotion rules are automated and transparent, without manual corrections.</p>
<!-- /wp:paragraph --></div>
<!-- /wp:column -->

<!-- wp:column -->
<div class="wp-block-column"><!-- wp:image {"id":2177,"sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image size-full"><img src="https://www.degriz.net/wordpress/wp-content/uploads/2026/01/ceniki.png" alt="" class="wp-image-2177"/></figure>
<!-- /wp:image --></div>
<!-- /wp:column --></div>
<!-- /wp:columns -->

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

<!-- wp:columns -->
<div class="wp-block-columns"><!-- wp:column -->
<div class="wp-block-column"><!-- wp:heading -->
<h2 class="wp-block-heading">4. Automated logistics without manual work</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The logistics process is fully automated. The delivery cost is calculated based on the distance to the address and the weight/volume of the order, and the final price and payment option are immediately displayed to the customer.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>There is no longer a need for a person to manually calculate delivery costs or coordinate orders via email. Address entries are further verified with suggestions and geolocation, reducing delivery errors.</p>
<!-- /wp:paragraph --></div>
<!-- /wp:column -->

<!-- wp:column -->
<div class="wp-block-column"><!-- wp:image {"id":2179,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://www.degriz.net/wordpress/wp-content/uploads/2026/01/dostava_narocevanje-1024x695.png" alt="" class="wp-image-2179"/></figure>
<!-- /wp:image --></div>
<!-- /wp:column --></div>
<!-- /wp:columns -->

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

<!-- wp:columns -->
<div class="wp-block-columns"><!-- wp:column -->
<div class="wp-block-column"><!-- wp:heading -->
<h2 class="wp-block-heading">5. User experience that connects online and physical store</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The user experience is designed to allow the customer <strong>quick decision-making and easy purchase</strong>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The customer can check availability, see the nearest physical store for pickup, or choose the appropriate home delivery. Material calculators are available, calculating the required quantity and price based on dimensions and material type, reducing incorrect decisions and returns.</p>
<!-- /wp:paragraph --></div>
<!-- /wp:column -->

<!-- wp:column -->
<div class="wp-block-column"><!-- wp:image {"id":2180,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://www.degriz.net/wordpress/wp-content/uploads/2026/01/lokacije_izdelkov-1024x719.png" alt="" class="wp-image-2180"/></figure>
<!-- /wp:image --></div>
<!-- /wp:column --></div>
<!-- /wp:columns -->

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

<!-- wp:columns -->
<div class="wp-block-columns"><!-- wp:column -->
<div class="wp-block-column"><!-- wp:heading -->
<h2 class="wp-block-heading">6. Ready for rapid expansion into new markets</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The store is designed to allow <strong>quick entry into new markets</strong>. Using proprietary solutions for content translation with LLM models, the store can be translated into multiple languages <strong>in one day</strong>, with natural and sales-oriented texts.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This allows the new language version to be immediately offered to customers in new markets, without additional technical interventions or delays.</p>
<!-- /wp:paragraph --></div>
<!-- /wp:column -->

<!-- wp:column -->
<div class="wp-block-column"><!-- wp:image {"id":2181,"sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image size-full"><img src="https://www.degriz.net/wordpress/wp-content/uploads/2026/01/prevajanje_trgovine.png" alt="" class="wp-image-2181"/></figure>
<!-- /wp:image --></div>
<!-- /wp:column --></div>
<!-- /wp:columns -->

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

<!-- wp:columns -->
<div class="wp-block-columns"><!-- wp:column -->
<div class="wp-block-column"><!-- wp:heading -->
<h2 class="wp-block-heading">7. Fast data transfer and page activation</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Product data was transferred from existing CSVs and databases, enabling <strong>quick content transfer and immediate store activation</strong>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>At the same time, instructions and a plan for further improvements were prepared, providing the client with a clear foundation for independent management and growth.</p>
<!-- /wp:paragraph --></div>
<!-- /wp:column -->

<!-- wp:column -->
<div class="wp-block-column"><!-- wp:image {"id":2184,"sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image size-full"><img src="https://www.degriz.net/wordpress/wp-content/uploads/2026/01/product_sync.png" alt="" class="wp-image-2184"/></figure>
<!-- /wp:image --></div>
<!-- /wp:column --></div>
<!-- /wp:columns -->

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

<!-- wp:columns -->
<div class="wp-block-columns"><!-- wp:column -->
<div class="wp-block-column"><!-- wp:heading -->
<h2 class="wp-block-heading">8. A platform that enables growth without limitations</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The transition to Magento allows the use of thousands of ready-made solutions that can be quickly integrated, while also allowing complete customization without limitations or bindings.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The system is ready for <strong>functional and business growth</strong>, without the need for expensive and lengthy customizations, allowing the client to introduce new features and expansions faster.</p>
<!-- /wp:paragraph --></div>
<!-- /wp:column -->

<!-- wp:column -->
<div class="wp-block-column"><!-- wp:image {"id":2187,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://www.degriz.net/wordpress/wp-content/uploads/2026/01/media_razsiritev-1024x768.webp" alt="" class="wp-image-2187"/></figure>
<!-- /wp:image --></div>
<!-- /wp:column --></div>
<!-- /wp:columns -->

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

<!-- wp:paragraph -->
<p>If you are considering combining B2B and B2C sales or are interested in whether Magento is the right platform for your case, we can help you assess the current situation and suggest the optimal solution.</p>
<!-- /wp:paragraph -->



The post <a href="https://www.degriz.eu/blog/example-of-good-practice-how-vetisa-combines-b2b-and-b2c-on-one-platform/">Example of good practice: how Vetisa combines B2B and B2C on one platform</a> appeared first on <a href="https://www.degriz.eu/blog/">Degriz blog</a>.<p><img src="https://www.degriz.eu/wordpress/wp-content/uploads/2026/01/vetisa_b2b_b2c_trgovina.jpg" alt=""/></p>]]></description>
      <pubDate>Thu, 08 Jan 2026 13:27:31 +0000</pubDate>
      <link>https://www.degriz.eu/blog/example-of-good-practice-how-vetisa-combines-b2b-and-b2c-on-one-platform/</link>
      <guid>https://www.degriz.eu/blog/example-of-good-practice-how-vetisa-combines-b2b-and-b2c-on-one-platform/</guid>
      <author>anze@degriz.net (admin)</author>
      <dc:creator>admin</dc:creator>
    </item>
    <item>
      <title>How to maximize existing email campaigns</title>
      <description><![CDATA[

<!-- wp:paragraph --><p>If you are already sending newsletters, promotional or automated emails, you have <strong>the basics covered</strong>. The database exists, the tool works, the campaigns go out. But often the results are not optimal. Small changes in the way you approach emails can make <strong>a big difference</strong> – higher open rates, more clicks, and increased sales.</p><!-- /wp:paragraph --><!-- wp:heading --><h2 class="wp-block-heading">Why generic emails often don't work</h2><!-- /wp:heading --><!-- wp:paragraph --><p>Many marketers still use generic subject lines, such as <em>“New collection”</em> or <em>“Special offer”</em>. The problem is that <strong>the recipient doesn't see why they should open the email</strong>. Subject lines that immediately show <strong>a specific benefit or limited opportunity</strong> work better.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>For example, instead of “Sale this weekend” you could write:<br><strong>“Your discount expires today at midnight”</strong> or <strong>“Only 17 items left at this price”</strong>.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>You can achieve an even stronger effect with a subject line that includes <strong>the recipient's name or email address</strong>, especially when reactivating an old database: <strong>“<a>jan@example.com</a> – are you still using this email?”</strong></p><!-- /wp:paragraph --><!-- wp:heading --><h2 class="wp-block-heading">One clear action per email</h2><!-- /wp:heading --><!-- wp:paragraph --><p>Too often an email looks like a mini website – multiple banners, multiple CTAs, too much information. As a result, the user <strong>decides on nothing</strong>.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>An email should have <strong>one main goal</strong>, one clear CTA, and everything else should be secondary or removed. If it's a promotional email, only <strong>one product or one category</strong> should be highlighted. A reminder email should lead <strong>back to the cart</strong>, while an educational email can include <strong>one blog post or guide</strong>.</p><!-- /wp:paragraph --><!-- wp:heading --><h2 class="wp-block-heading">Value, not just sales</h2><!-- /wp:heading --><!-- wp:paragraph --><p>If every email calls for a purchase, the database quickly gets used to it and responsiveness decreases. It helps to occasionally send <strong>useful tips, product use cases, or answers to frequently asked questions</strong>.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>Examples that work:</p><!-- /wp:paragraph --><!-- wp:list --><ul class="wp-block-list"><!-- wp:list-item --><li>“How to choose the right product for X”</li><!-- /wp:list-item --><!-- wp:list-item --><li>“The most common mistake when using this product”</li><!-- /wp:list-item --><!-- wp:list-item --><li>“Why customers return this product and how to avoid it”</li><!-- /wp:list-item --></ul><!-- /wp:list --><!-- wp:paragraph --><p>Such emails increase engagement and make subsequent sales emails more effective.</p><!-- /wp:paragraph --><!-- wp:heading --><h2 class="wp-block-heading">Additional concrete email marketing tricks that really work</h2><!-- /wp:heading --><!-- wp:paragraph --><p>If you are already regularly sending email campaigns, there are <strong>upgrades to classic tactics</strong> that bring better results without major discounts. The key is to <strong>test them with A/B testing</strong>, as not everything will work for all segments of your database.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p><strong>Showing limited stock or personal limits</strong> is a surprisingly powerful trick. Instead of a generic “Sale this weekend”, you can include in the email: <em>“Only 3 items left — get them now!”</em> or <em>“Only 7 people viewed this product in the last hour”</em>. Such information triggers a sense of urgency and often increases immediate clicks and sales, especially for users who have already shown interest.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>A similarly strong effect is achieved with a <strong>countdown timer</strong> in the email. When the recipient sees time ticking away, they respond faster than with a regular date in the subject line. The countdown should be at the top of the email, with visible colors and a clear CTA, for example, <em>“Take advantage of the offer until …”</em>.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>To re-engage an old database, you can also try <strong>personalized subject lines with the email address</strong>. Example: <em>“<a>jan@example.com</a> – are you still using this email?”</em> Such an email often achieves a high open rate, but use it thoughtfully, as too many can trigger a spam feeling.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>If you want to reduce psychological barriers to purchase, an effective trick is to offer <strong>risk-free options</strong>. These can be free shipping, a 100% refund, or a 30-day risk-free trial. This principle often increases the average order value, as users decide to buy knowing they risk nothing.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>Including <strong>social proof</strong> is also extremely effective. You can add customer reviews, testimonials, or short screenshots of comments in the email. For example: <em>“⭐ 4.9/5 – 324 reviews”</em> or <em>“See how others have used this product”</em>. People don't just buy because of a discount, but because of proven value and trust.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>Consider <strong>multi-part sequences for abandoned carts</strong>. Instead of sending one email, send three: first a gentle reminder, then add social proof, and finally use an urgency element, for example: <em>“Offer expires in X hours”</em>. This approach often yields better results than a single reminder.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>For those with many inactive recipients, an effective <strong>re-engagement or “win-back” email</strong> is not directly sales-oriented but tries to re-establish contact. Examples: <em>“We miss you — here’s something you might find interesting”</em>, <em>“See what has changed since your last visit”</em> or <em>“Choose what you're still interested in — help us send you better content”</em>.</p><!-- /wp:paragraph --><!-- wp:heading --><h2 class="wp-block-heading">A/B testing – the only way to know what really works</h2><!-- /wp:heading --><!-- wp:paragraph --><p>Even the most well-thought-out emails are not always optimal. <strong>A/B testing</strong> is crucial because <strong>every database reacts differently</strong>. Test one element at a time – subject line, CTA, content, or sending time – and measure what brings the best results.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>Example: two versions of an email, one with the subject <em>“Your discount expires today at midnight”</em>, the other with <em>“Sale this weekend”</em>. The result shows which version achieves a higher open rate and conversions, allowing you to optimize future campaigns.</p><!-- /wp:paragraph --><!-- wp:heading --><h2 class="wp-block-heading">Measuring the real impact</h2><!-- /wp:heading --><!-- wp:paragraph --><p>Don't just look at the <strong>open rate</strong>. It's important to know which email actually <strong>brings in the most revenue</strong>, which type of email <strong>generates the most conversions</strong>, and where users stop or click. Often it turns out that an email with a lower open rate still increases <strong>sales or average order value</strong>.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>If you are already sending emails, <strong>you don't need a revolution</strong>. Most often, <strong>small, thoughtful changes</strong> help: clearer subjects, one clear CTA, content that resolves doubts and builds trust, the use of advanced tricks (FOMO, countdowns, social proof), reactivation emails, and A/B testing to precisely see what really suits your audience.</p><!-- /wp:paragraph --><!-- wp:paragraph --><p>You can implement these changes immediately, without new tools or databases, and maximize <strong>what you already have</strong>.</p><!-- /wp:paragraph -->

The post <a href="https://www.degriz.eu/blog/how-to-maximize-existing-email-campaigns/">How to maximize existing email campaigns</a> appeared first on <a href="https://www.degriz.eu/blog/">Degriz blog</a>.<p><img src="https://www.degriz.eu/wordpress/wp-content/uploads/2025/12/izboljsanje_email_kampanije-1.jpg" alt=""/></p>]]></description>
      <pubDate>Wed, 17 Dec 2025 13:36:05 +0000</pubDate>
      <link>https://www.degriz.eu/blog/how-to-maximize-existing-email-campaigns/</link>
      <guid>https://www.degriz.eu/blog/how-to-maximize-existing-email-campaigns/</guid>
      <author>anze@degriz.net (admin)</author>
      <dc:creator>admin</dc:creator>
    </item>
  </channel>
</rss>
