<?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: Glowory</title>
    <description>The latest articles on DEV Community by Glowory (@glowory).</description>
    <link>https://dev.to/glowory</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4225778%2Fdc9ac046-d326-4651-988a-7e0849c8aa91.png</url>
      <title>DEV Community: Glowory</title>
      <link>https://dev.to/glowory</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/glowory"/>
    <language>en</language>
    <item>
      <title>Moissanite vs lab grown diamond: building two Shopify landing pages that don't compete with each other published: false</title>
      <dc:creator>Glowory</dc:creator>
      <pubDate>Wed, 04 Nov 2026 09:11:30 +0000</pubDate>
      <link>https://dev.to/glowory/moissanite-vs-lab-grown-diamond-building-two-shopify-landing-pages-that-dont-compete-with-each-34h8</link>
      <guid>https://dev.to/glowory/moissanite-vs-lab-grown-diamond-building-two-shopify-landing-pages-that-dont-compete-with-each-34h8</guid>
      <description>&lt;p&gt;We run a small 925 silver jewelry workshop in Surat, India, and sell on Shopify. Two of our landing pages target searches that look almost the same but come from different buyers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;moissanite rings for men&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;lab grown diamond rings for men&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both are Shopify &lt;em&gt;pages&lt;/em&gt; (&lt;code&gt;/pages/...&lt;/code&gt;), not collections. Getting them to rank means solving two problems: page type, and making sure the two pages don't cannibalise each other. Here's how I approached both.&lt;/p&gt;

&lt;h2&gt;
  
  
  Problem 1: a text page for a shopping search
&lt;/h2&gt;

&lt;p&gt;For either search, the buyer wants to see rings and prices. What ranks for queries like these is mostly category pages with a product grid, not articles.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Collection (&lt;code&gt;/collections/...&lt;/code&gt;)&lt;/th&gt;
&lt;th&gt;Page (&lt;code&gt;/pages/...&lt;/code&gt;)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Product grid&lt;/td&gt;
&lt;td&gt;Built in&lt;/td&gt;
&lt;td&gt;None by default&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Filters and sorting&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Product schema on grid&lt;/td&gt;
&lt;td&gt;Usually from the theme&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Best for&lt;/td&gt;
&lt;td&gt;Shopping searches&lt;/td&gt;
&lt;td&gt;Guides, policies, about&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A text-only page answering a shopping search is a mismatch, however good the copy is.&lt;/p&gt;

&lt;h3&gt;
  
  
  Fix: add a product grid without changing the URL
&lt;/h3&gt;

&lt;p&gt;If a page already has links and history, keep the URL and add a grid with a small reusable section.&lt;/p&gt;

&lt;p&gt;First, create one collection per stone, for example with tag rules:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;tag &lt;code&gt;moissanite-ring-men&lt;/code&gt; → moissanite rings&lt;/li&gt;
&lt;li&gt;tag &lt;code&gt;lab-grown-ring-men&lt;/code&gt; → lab grown diamond rings&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then one section renders any collection on any page:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight liquid"&gt;&lt;code&gt;&lt;span class="cp"&gt;{%&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;comment&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;%}&lt;/span&gt;&lt;span class="c"&gt; sections/collection-grid-on-page.liquid &lt;/span&gt;&lt;span class="cp"&gt;{%&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;endcomment&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;%}&lt;/span&gt;
&lt;span class="cp"&gt;{%&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;assign&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;c&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;collections&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;section&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;settings&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;collection&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;%}&lt;/span&gt;

&amp;lt;div class="page-width"&amp;gt;
  &amp;lt;h2&amp;gt;&lt;span class="cp"&gt;{{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;section&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;settings&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;heading&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;}}&lt;/span&gt;&amp;lt;/h2&amp;gt;
  &amp;lt;ul class="grid"&amp;gt;
    &lt;span class="cp"&gt;{%&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;product&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;in&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;products&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="na"&gt;limit&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;section&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;settings&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nv"&gt;limit&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;%}&lt;/span&gt;
      &amp;lt;li class="grid__item"&amp;gt;
        &lt;span class="cp"&gt;{%&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;render&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;'card-product'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="na"&gt;card_product&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;product&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;%}&lt;/span&gt;
      &amp;lt;/li&amp;gt;
    &lt;span class="cp"&gt;{%&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;endfor&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;%}&lt;/span&gt;
  &amp;lt;/ul&amp;gt;
&amp;lt;/div&amp;gt;

&lt;span class="cp"&gt;{%&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;schema&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;%}&lt;/span&gt;
{
  "name": "Collection grid on page",
  "settings": [
    { "type": "collection", "id": "collection", "label": "Collection" },
    { "type": "text", "id": "heading", "label": "Heading", "default": "Shop the rings" },
    { "type": "range", "id": "limit", "label": "Products", "min": 4, "max": 24, "step": 4, "default": 12 }
  ],
  "presets": [{ "name": "Collection grid on page" }]
}
&lt;span class="cp"&gt;{%&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;endschema&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cp"&gt;%}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add the section to each page's template, pick the matching collection, and both pages now show live products with live prices. The snippet name (&lt;code&gt;card-product&lt;/code&gt;) depends on your theme, so check &lt;code&gt;snippets/&lt;/code&gt; for the one your collection template uses.&lt;/p&gt;

&lt;h2&gt;
  
  
  Problem 2: two similar pages competing for the same searches
&lt;/h2&gt;

&lt;p&gt;"Moissanite ring" and "lab grown diamond ring" sound alike, and a lot of buyers compare them. If both pages say the same things, Google can't tell which one to show, and both end up weaker.&lt;/p&gt;

&lt;p&gt;The fix is to give each page a clearly different job.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Moissanite page&lt;/th&gt;
&lt;th&gt;Lab grown diamond page&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Buyer&lt;/td&gt;
&lt;td&gt;Wants maximum sparkle on a budget&lt;/td&gt;
&lt;td&gt;Wants a real diamond at a lower price&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Core message&lt;/td&gt;
&lt;td&gt;Very hard, more rainbow sparkle, much cheaper than diamond&lt;/td&gt;
&lt;td&gt;Chemically the same as a mined diamond, lower price&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;H1 phrase&lt;/td&gt;
&lt;td&gt;moissanite rings for men&lt;/td&gt;
&lt;td&gt;lab grown diamond rings for men&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Main questions answered&lt;/td&gt;
&lt;td&gt;Is it a real diamond? Does it get cloudy?&lt;/td&gt;
&lt;td&gt;Is it a real diamond? Will it test as diamond?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Comparison section&lt;/td&gt;
&lt;td&gt;Short, links to the lab grown page&lt;/td&gt;
&lt;td&gt;Short, links to the moissanite page&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Each page owns its own phrase and mentions the other stone only in one comparison section, with one link across. That tells Google how the two relate instead of making them duplicates.&lt;/p&gt;

&lt;h2&gt;
  
  
  Problem 3: product data that contradicts the page
&lt;/h2&gt;

&lt;p&gt;While checking our catalogue, I found products whose titles said "Diamond" even though they weren't lab grown. On a lab grown page, that's a trust problem; on a moissanite page, it's a relevance problem.&lt;/p&gt;

&lt;p&gt;A quick audit with the Admin GraphQL API:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight graphql"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="n"&gt;products&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;first&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"tag:moissanite-ring-men OR tag:lab-grown-ring-men"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="n"&gt;nodes&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="n"&gt;title&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="n"&gt;handle&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="n"&gt;tags&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&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;Then flag titles that don't match their tag:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;products&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;title&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;title&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;lower&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="n"&gt;tags&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;lower&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;tags&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;moissanite-ring-men&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;tags&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;moissanite&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Moissanite missing from title:&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;title&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;lab-grown-ring-men&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;tags&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;lab grown&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Lab grown missing from title:&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;title&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Renaming a product title keeps its handle (URL) the same, so nothing breaks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Problem 4: copy that repeats instead of answering
&lt;/h2&gt;

&lt;p&gt;With the grid in place, the text supports the products instead of carrying the page. Under each grid, a few short H2 sections are enough:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Moissanite page&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What moissanite is, and how its sparkle differs from diamond&lt;/li&gt;
&lt;li&gt;Hardness and everyday wear&lt;/li&gt;
&lt;li&gt;Why a silver setting keeps the price low&lt;/li&gt;
&lt;li&gt;How it compares with lab grown diamond (one link across)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Lab grown diamond page&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What a lab grown diamond is&lt;/li&gt;
&lt;li&gt;How it compares with a mined diamond&lt;/li&gt;
&lt;li&gt;Why set it in 925 silver instead of gold&lt;/li&gt;
&lt;li&gt;How it compares with moissanite (one link across)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Keep the target phrase in the H1 and the first paragraph. There's no need to repeat it in every line.&lt;/p&gt;

&lt;h2&gt;
  
  
  The live pages
&lt;/h2&gt;

&lt;p&gt;You can see both pages here:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://glowory.com/pages/mens-moissanite-diamond-rings" rel="noopener noreferrer"&gt;moissanite diamond rings for men&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://glowory.com/pages/mens-lab-grown-diamond-rings" rel="noopener noreferrer"&gt;lab grown diamond rings for men&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Checklist
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;[ ] Shopping search? Show a product grid, not only text&lt;/li&gt;
&lt;li&gt;[ ] One collection per stone, driven by tags&lt;/li&gt;
&lt;li&gt;[ ] Each page owns one phrase; the other stone gets one comparison section&lt;/li&gt;
&lt;li&gt;[ ] One link between the two pages, in that comparison section&lt;/li&gt;
&lt;li&gt;[ ] Product titles match the stone actually used&lt;/li&gt;
&lt;li&gt;[ ] Prices come from live product data, not typed into the copy&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;When two pages target closely related searches, the goal isn't to make both pages cover everything. It's to give each one a clear job, show the right products, and connect them with a single honest comparison.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;I run Glowory, a 925 sterling silver jewelry workshop in Surat, India, and write about the Shopify and SEO side of running a small manufacturing brand.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>shopify</category>
      <category>seo</category>
      <category>ecommerce</category>
    </item>
    <item>
      <title>How I audited internal links across a Shopify store with the Admin GraphQL API</title>
      <dc:creator>Glowory</dc:creator>
      <pubDate>Wed, 04 Nov 2026 09:08:03 +0000</pubDate>
      <link>https://dev.to/glowory/how-i-audited-internal-links-across-a-shopify-store-with-the-admin-graphql-api-5g6m</link>
      <guid>https://dev.to/glowory/how-i-audited-internal-links-across-a-shopify-store-with-the-admin-graphql-api-5g6m</guid>
      <description>&lt;p&gt;Angle: pull every collection description through GraphQL, extract the links with a short script, then count incoming links per page to find weak pages.&lt;br&gt;
Outline: the problem (pages ranking 50–100), the query using collection By Identifier, parsing links with Python, the inbound-link table, what was fixed.&lt;br&gt;
Link: “on our store, &lt;a href="https://glowory.com/collections/hip-hop-jewelry" rel="noopener noreferrer"&gt;Glowory's Hip hop jewelry&lt;/a&gt;, the lab grown rings page had just 1 internal link.”&lt;br&gt;
Tags: #shopify #seo #graphql #python&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
