<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ievgenii Gryshkun</title>
    <description>The latest articles on DEV Community by Ievgenii Gryshkun (@angeo).</description>
    <link>https://dev.to/angeo</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3580569%2Fe36547f2-8587-41ac-a1fd-185e01ca2034.jpeg</url>
      <title>DEV Community: Ievgenii Gryshkun</title>
      <link>https://dev.to/angeo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/angeo"/>
    <language>en</language>
    <item>
      <title>What is llms.ljson and why eCommerce needs it</title>
      <dc:creator>Ievgenii Gryshkun</dc:creator>
      <pubDate>Sun, 12 Apr 2026 08:10:18 +0000</pubDate>
      <link>https://dev.to/angeo/what-is-llmsljson-and-why-ecommerce-needs-it-a2a</link>
      <guid>https://dev.to/angeo/what-is-llmsljson-and-why-ecommerce-needs-it-a2a</guid>
      <description>&lt;p&gt;&lt;strong&gt;AI assistants don't read your website the way customers do.&lt;/strong&gt; They need structured, machine-readable data — and that's exactly what &lt;code&gt;llms.ljson&lt;/code&gt; provides.&lt;/p&gt;

&lt;p&gt;If you already know about &lt;code&gt;llms.txt&lt;/code&gt;, think of &lt;code&gt;llms.ljson&lt;/code&gt; as its structured, data-rich sibling — purpose-built for eCommerce product catalogs.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🔗 This article was originally published on &lt;a href="https://angeo.dev/what-is-llms-ljson-and-why-ecommerce-needs-it/" rel="noopener noreferrer"&gt;https://angeo.dev/what-is-llms-ljson-and-why-ecommerce-needs-it/&lt;/a&gt;:  &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7ujsepsbvc538oet1jh0.png" alt=" " width="800" height="533"&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  What Is llms.ljson?
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;llms.ljson&lt;/code&gt; stands for &lt;strong&gt;LLM-optimized Line-delimited JSON&lt;/strong&gt;. It is a file where each line contains a complete, self-contained JSON object representing a single entity — a product, a category, or a CMS page.&lt;/p&gt;

&lt;p&gt;Unlike a regular JSON array (which wraps everything in brackets and requires loading the whole file at once), LJSON is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Streamable&lt;/strong&gt; — AI agents can read it line by line&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scalable&lt;/strong&gt; — stores with 50,000 SKUs don't need one giant file&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Parseable&lt;/strong&gt; — each line is valid JSON independently&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  A Single Product Line in llms.ljson
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;"product"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nl"&gt;"sku"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;"WB-004"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;"Alpine Hiking Jacket"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nl"&gt;"price"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mf"&gt;189.99&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nl"&gt;"currency"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;"USD"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;"https://angeo.test/alpine-jacket"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nl"&gt;"category"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;"Outerwear"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nl"&gt;"short_description"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;"Waterproof 3-layer shell for alpine conditions"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nl"&gt;"in_stock"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nl"&gt;"attributes"&lt;/span&gt;&lt;span class="p"&gt;:{&lt;/span&gt;&lt;span class="nl"&gt;"color"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;"Navy"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nl"&gt;"size_options"&lt;/span&gt;&lt;span class="p"&gt;:[&lt;/span&gt;&lt;span class="s2"&gt;"S"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"M"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"L"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"XL"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="nl"&gt;"material"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;"Gore-Tex"&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every product — one line. Every line — complete context for an AI to understand and recommend that product.&lt;/p&gt;




&lt;h2&gt;
  
  
  llms.txt vs llms.ljson — What Is the Difference?
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;llms.txt&lt;/th&gt;
&lt;th&gt;llms.ljson&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Format&lt;/td&gt;
&lt;td&gt;Markdown (human-readable)&lt;/td&gt;
&lt;td&gt;Line-delimited JSON (machine-readable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Best for&lt;/td&gt;
&lt;td&gt;Store overview, pages, categories&lt;/td&gt;
&lt;td&gt;Full product catalog data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI use case&lt;/td&gt;
&lt;td&gt;Context &amp;amp; navigation&lt;/td&gt;
&lt;td&gt;Product recommendations &amp;amp; queries&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Scalability&lt;/td&gt;
&lt;td&gt;Up to ~500 items&lt;/td&gt;
&lt;td&gt;Unlimited (streamed line by line)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Attributes&lt;/td&gt;
&lt;td&gt;Basic (name, URL, price)&lt;/td&gt;
&lt;td&gt;Full (variants, stock, specs)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Both files work together. &lt;code&gt;llms.txt&lt;/code&gt; tells AI &lt;em&gt;what your store is&lt;/em&gt;. &lt;code&gt;llms.ljson&lt;/code&gt; tells AI &lt;em&gt;what your store sells&lt;/em&gt; — in full detail.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Does eCommerce Specifically Need llms.ljson?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. AI Agents Need Structured Product Data
&lt;/h3&gt;

&lt;p&gt;When a user asks ChatGPT or Claude "recommend a waterproof jacket under $200," the AI needs structured, queryable product data — not HTML product pages. &lt;code&gt;llms.ljson&lt;/code&gt; provides exactly that: a clean feed of every product with its attributes, price, stock status, and URL.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. HTML Product Pages Are Noise for AI
&lt;/h3&gt;

&lt;p&gt;A typical Magento 2 product page contains navigation menus, cookie banners, review widgets, upsell carousels, and footer links. The actual product data is buried inside this noise. AI context windows are limited, and parsing messy HTML wastes them. &lt;code&gt;llms.ljson&lt;/code&gt; gives AI only signal, zero noise.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Product Catalogs Are Too Large for llms.txt
&lt;/h3&gt;

&lt;p&gt;A store with 5,000 SKUs cannot fit them all meaningfully into a single &lt;code&gt;llms.txt&lt;/code&gt; file. &lt;code&gt;llms.ljson&lt;/code&gt; handles any catalog size because AI systems can stream and process it line by line — one product at a time.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Variants, Stock, and Pricing Change Daily
&lt;/h3&gt;

&lt;p&gt;Unlike static blog content, product data changes constantly. A configurable product might have 12 size/color combinations. Stock goes in and out. Prices change with promotions. &lt;code&gt;llms.ljson&lt;/code&gt; is generated fresh by cron and always reflects the current state of your catalog.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Does a Full llms.ljson File Look Like?
&lt;/h2&gt;

&lt;p&gt;Each line is an independent JSON object. Here is a multi-entity example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{"type":"store","code":"angeo_en","name":"EN","url":"https:\/\/angeo.test\/","currency":"USD","locale":en}
{"type":"category","store":"angeo_nl","id":"4","name":"Sale","parent_id":"2","url":"https:\/\/angeo.test\/sale.html","description":"","embedding_text":"Sale "}
{"type":"product","store":"angeo_en","id":"4","sku":"product_sku","title":"product name","price":"123.00","currency":"USD","short_description":"","description":"test descriprtion","url":"https:\/\/angeo.test\/product-name.html","embedding_text":"product name  test descriprtion"}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;An AI agent processing this file can instantly answer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"What waterproof jackets do you have under $300?" → WB-001&lt;/li&gt;
&lt;li&gt;"Do you have merino base layers?" → WB-002&lt;/li&gt;
&lt;li&gt;"Is the 3-in-1 jacket in stock?" → No (&lt;code&gt;in_stock: false&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  How to Generate llms.ljson for Magento 2
&lt;/h2&gt;

&lt;p&gt;The open-source module &lt;a href="https://packagist.org/packages/angeo/module-llms-txt" rel="noopener noreferrer"&gt;&lt;strong&gt;angeo/module-llms-txt&lt;/strong&gt;&lt;/a&gt; generates both &lt;code&gt;llms.txt&lt;/code&gt; and &lt;code&gt;llms.ljson&lt;/code&gt; automatically for your Magento 2 store.&lt;/p&gt;

&lt;p&gt;Install in 3 commands:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;composer require angeo/module-llms-txt
bin/magento setup:upgrade
bin/magento cache:flush
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After installation, navigate to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Stores → Configuration → General → Angeo → LLMS
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Generate manually or let cron handle scheduled updates. Both files are created at your store root:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;https://yourstore.com/llms.txt&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;https://yourstore.com/llms.ljson&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The module supports multi-store and multi-language Magento 2 setups, includes unit tests for both file types, and is MIT licensed.&lt;/p&gt;

&lt;p&gt;Source: &lt;a href="https://packagist.org/packages/angeo/module-llms-txt" rel="noopener noreferrer"&gt;Packagist&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Bigger Picture: AI Commerce Infrastructure
&lt;/h2&gt;

&lt;p&gt;We are entering a phase where AI agents don't just recommend products — they initiate purchase flows on behalf of users. For an AI agent to recommend &lt;em&gt;your&lt;/em&gt; products, it must be able to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Understand what you sell&lt;/li&gt;
&lt;li&gt;Filter by price, attributes, stock status&lt;/li&gt;
&lt;li&gt;Navigate to a product URL and initiate checkout&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Steps 1 and 2 are solved by &lt;code&gt;llms.ljson&lt;/code&gt;. Step 3 is the next frontier — but without steps 1 and 2, step 3 is impossible.&lt;/p&gt;

&lt;p&gt;Stores that generate structured AI feeds today will be the ones AI agents recommend tomorrow.&lt;/p&gt;




&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;llms.ljson&lt;/code&gt; is a line-delimited JSON file that exposes your full product catalog to AI systems&lt;/li&gt;
&lt;li&gt;It complements &lt;code&gt;llms.txt&lt;/code&gt; — together they give AI both context and structured data&lt;/li&gt;
&lt;li&gt;For Magento 2, the open-source &lt;code&gt;angeo/module-llms-txt&lt;/code&gt; generates both files automatically&lt;/li&gt;
&lt;li&gt;Implementation takes under 5 minutes and requires no custom development&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The AI commerce era is not coming — it is already here.&lt;/strong&gt; Structured product feeds are the foundation that makes your store visible to the systems that are replacing traditional search.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Have questions about llms.ljson for Magento 2? Drop a comment below or check the module on &lt;a href="https://packagist.org/packages/angeo/module-llms-txt" rel="noopener noreferrer"&gt;Packagist&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>magento</category>
      <category>ai</category>
      <category>seo</category>
      <category>ecommerce</category>
    </item>
  </channel>
</rss>
