Blogposts Categorization

Topic summary

A Shopify store owner using the Dawn theme seeks a free solution to categorize blog posts. Community members have provided two main approaches:

Tag-Based Filtering:

  • Use Shopify’s built-in tagging system to create categories
  • Requires adding custom code to main-blog.liquid file
  • Creates a filter menu displaying all blog tags
  • One responder shared a working demo showing the implementation

Complete Layout Replacement:

  • Another user suggests replacing the entire main-blog.liquid code
  • Includes additional features like sidebar categories, featured images, and custom category tags
  • References a live example site for visual reference

Current Status:

  • The original poster shared a screenshot but hasn’t confirmed which solution they’re pursuing
  • Multiple follow-up requests for clarification remain unanswered
  • Both solutions involve theme code editing rather than app installation
  • Code snippets and visual demos have been provided for implementation
Summarized with AI on November 1. AI used: claude-sonnet-4-5-20250929.

Hello, I have a dawn theme shopify account and I’m looking for a free app that will categorize my blogposts. Or other ways to categorize it. Thank you for those who will help me.

Hi @Camille18 ,

May I suggest you use tag to create category. You can refer this demo https://seo-blog-demo.myshopify.com/blogs/news

  1. Go to Store Online-> theme → edit code
  2. Sections/main-blog.liquid
  3. Refer screenshot to add code below
{% if blog.tags.size > 0 %}
      
        

          

            - Filter by:

          - {{ 'All Topics' }}
            
          

            {% for tag in blog.all_tags %}
            - {{ tag }}
              
            
            {% endfor %}
          

        

      

    {% endif %}
    

To achieve the desired blog layout, follow these steps in your Shopify theme editor:

  1. Access the Code Editor: From your Shopify admin, navigate to ‘Online Store’ > ‘Themes’.
  2. Select Your Theme: Find the theme you want to modify and click the ‘Actions’ button, then select ‘Edit code’.
  3. Find the File: In the ‘Sections’ folder, locate the file named ‘main-blog.liquid’.
  4. Replace the Code: Delete all the existing code within ‘main-blog.liquid’ and replace it with the code I’ve provided.
  5. Save and Preview: Save your changes and preview your blog to see the updated layout. This will give you a similar look to the blog at

Diana Web even with the comprehensive settings , try it mate!

{{ 'component-article-card.css' | asset_url | stylesheet_tag }}
{{ 'component-card.css' | asset_url | stylesheet_tag }}
{{ 'section-main-blog.css' | asset_url | stylesheet_tag }}

{%- style -%}
  .section-{{ section.id }}-padding {
    padding-top: {{ section.settings.padding_top | times: 0.75 | round: 0 }}px;
    padding-bottom: {{ section.settings.padding_bottom | times: 0.75 | round: 0 }}px;
  }

  {% if section.settings.layout == 'collage' %}
    {%- if section.settings.show_date and section.settings.show_author -%}
    .blog-articles__article:first-child .card__information .article-card__info.caption-with-letter-spacing.h5{
      width: 100%;
      max-width: 600px;
      margin: auto
    }
    {%- endif -%}
    
  {% endif %}

  .section-{{ section.id }}-padding h1, .section-{{ section.id }}-padding .h1 {
    font-size: calc(var(--font-heading-scale) * 3rem);
    font-weight: var(--font-heading-weight);
  }

  .section-{{ section.id }}-padding h1.title--primary{
    text-align: center;
    padding-bottom: 2rem !important;
  }

  @media screen and (min-width: 600px) {
    .section-{{ section.id }}-padding .blog_grid-columns{
      grid-template-columns: 1fr 1fr;
      gap: 1rem;
    }
  }
  
  @media screen and (min-width: 750px) {
    .section-{{ section.id }}-padding .blog_grid-columns{
      grid-template-columns: repeat(3, 1fr);
      gap: 2rem;
    }
    
    .section-{{ section.id }}-padding {
      padding-top: {{ section.settings.padding_top }}px;
      padding-bottom: {{ section.settings.padding_bottom }}px;
    }

    .section-{{ section.id }}-padding h1, .section-{{ section.id }}-padding .h1 {
        font-size: calc(var(--font-heading-scale) * 4rem);
        font-weight: var(--font-heading-weight);
    }

    .blog_grid-columns.blog-articles{
      grid-template-columns: repeat(2, 1fr);
    } 
  }

  @media screen and (max-width: 650px) {
    .section-{{ section.id }}-padding h1.title--primary{
      margin: 1rem auto;
    }
  }

 .BlogContentArea {
  display: flex;
  gap: 20px;
  position: relative; /* Add position relative to container */
}

.left-area {
  flex: 1; /* Take remaining space */
  width: 80%;
}

.right-area {
  width: 20%;
  position: sticky;
  top: 20px; 
  height: fit-content; 
  align-self: flex-start;
  overflow:hidden; 
}
.right-area h3 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 15px;
  padding: 40px 30px;
  padding-bottom:0px;
  text-decoration:underline;  
  text-underline-offset: 7px;  
}
.right-area-upper{
  border:1px solid #dcdcdc;
}

.category-blog-link {
  display: block;
  margin-bottom: 10px;
  color: #333;
  text-decoration: none;
  font-size: 14px;
  padding: 4px 30px;
  background-color: #fff;
  transition: background-color 0.3s ease;
}
  .category-blog-link:last-child {
  margin-bottom: 40px;
}

.category-blog-link:hover {
  background-color: #e8e8e8;
}

.right-area img {
  max-width: 100%;
  height: auto;
  margin-top: 40px;
  width: 100%;
  transition: transform 0.3s ease-in-out; 
}

.right-area img:hover {
  transform: scale(1.05); 
}

@media (max-width: 768px) {
  .BlogContentArea {
    flex-direction: column;
  }

  .left-area,
  .right-area {
    width: 100%;
  }

  .right-area {
     position: static; 
    margin-top: 30px;
  }
}

  
{%- endstyle -%}

{%- paginate blog.articles by 8 -%}
  
    # 
      {{ blog.title | escape }}
    
    
      

        

          {%- for article in blog.articles -%}
            

              {%- render 'article-card',
                article: article,
                media_height: section.settings.image_height,
                media_aspect_ratio: article.image.aspect_ratio,
                show_image: section.settings.show_image,
                show_date: section.settings.show_date,
                show_author: section.settings.show_author,
                show_excerpt: true
              -%}
            

          {%- endfor -%}
        

        {%- if paginate.pages > 1 -%}
          {%- render 'pagination', paginate: paginate -%}
        {%- endif -%}
      

 
        {% if section.settings.enable_sidebar %}
          
            

            ### CATEGORY BLOG
            {% assign tags = section.settings.category_tags | split: ',' %}
            {% assign tag_handle = "all" %}
              All
              {% for tag in tags %}
                {% assign tag_handle = tag | strip | downcase | replace: ' ', '-' %}
                {{ tag | strip }}
              {% endfor %}
              

            {% if section.settings.featured_image %}
              
                

              
            {% endif %}
          

        {% endif %}
      

  

{%- endpaginate -%}

{% schema %}
  {
    "name": "t:sections.main-blog.name",
    "tag": "section",
    "class": "section",
    "settings": [
      {
        "type": "header",
        "content": "t:sections.main-blog.settings.header.content"
      },
      {
        "type": "select",
        "id": "layout",
        "options": [
          {
            "value": "grid",
            "label": "t:sections.main-blog.settings.layout.options__1.label"
          },
          {
            "value": "collage",
            "label": "t:sections.main-blog.settings.layout.options__2.label"
          }
        ],
        "default": "collage",
        "label": "t:sections.main-blog.settings.layout.label",
        "info": "t:sections.main-blog.settings.layout.info"
      },
      {
        "type": "checkbox",
        "id": "show_image",
        "default": true,
        "label": "t:sections.main-blog.settings.show_image.label"
      },
      {
        "type": "select",
        "id": "image_height",
        "options": [
          {
            "value": "adapt",
            "label": "t:sections.main-blog.settings.image_height.options__1.label"
          },
          {
            "value": "small",
            "label": "t:sections.main-blog.settings.image_height.options__2.label"
          },
          {
            "value": "medium",
            "label": "t:sections.main-blog.settings.image_height.options__3.label"
          },
          {
            "value": "large",
            "label": "t:sections.main-blog.settings.image_height.options__4.label"
          }
        ],
        "default": "medium",
        "label": "t:sections.main-blog.settings.image_height.label",
        "info": "t:sections.main-blog.settings.image_height.info"
      },
      {
        "type": "checkbox",
        "id": "show_date",
        "default": true,
        "label": "t:sections.main-blog.settings.show_date.label"
      },
      {
        "type": "checkbox",
        "id": "show_author",
        "default": false,
        "label": "t:sections.main-blog.settings.show_author.label"
      },
      {
        "type": "paragraph",
        "content": "t:sections.main-blog.settings.paragraph.content"
      },
      {
        "type": "header",
        "content": "t:sections.all.padding.section_padding_heading"
      },
      {
        "type": "range",
        "id": "padding_top",
        "min": 0,
        "max": 100,
        "step": 4,
        "unit": "px",
        "label": "t:sections.all.padding.padding_top",
        "default": 36
      },
      {
        "type": "range",
        "id": "padding_bottom",
        "min": 0,
        "max": 100,
        "step": 4,
        "unit": "px",
        "label": "t:sections.all.padding.padding_bottom",
        "default": 36
      },
      {
        "type": "checkbox",
        "id": "enable_sidebar",
        "default": false,
        "label": "Show Categories Sidebar"
      },
      {
      "type": "image_picker",
      "id": "featured_image",
      "label": "Featured Image",
      "info": "Select an image for the featured section."
    },
    {
      "type": "url",
      "id": "featured_image_url",
      "label": "Featured Image URL",
      "info": "Enter the URL where this image should link to."
    },
    {
      "type": "text",
      "id": "category_tags",
      "label": "Category Tags (comma-separated)",
      "default": "holiday,vintage,summer"
    }
    ]
  }
{% endschema %}

To achieve the desired blog layout, follow these steps in your Shopify theme editor:

Access the Code Editor: From your Shopify admin, navigate to ‘Online Store’ > ‘Themes’.
Select Your Theme: Find the theme you want to modify and click the ‘Actions’ button, then select ‘Edit code’.
Find the File: In the ‘Sections’ folder, locate the file named ‘main-blog.liquid’.
Replace the Code: Delete all the existing code within ‘main-blog.liquid’ and replace it with the code I’ve provided.
Save and Preview: Save your changes and preview your blog to see the updated layout. This will give you a similar look to the blog at

Diana Web even with the comprehensive settings , try it mate!

{{ 'component-article-card.css' | asset_url | stylesheet_tag }}
{{ 'component-card.css' | asset_url | stylesheet_tag }}
{{ 'section-main-blog.css' | asset_url | stylesheet_tag }}

{%- style -%}
  .section-{{ section.id }}-padding {
    padding-top: {{ section.settings.padding_top | times: 0.75 | round: 0 }}px;
    padding-bottom: {{ section.settings.padding_bottom | times: 0.75 | round: 0 }}px;
  }

  {% if section.settings.layout == 'collage' %}
    {%- if section.settings.show_date and section.settings.show_author -%}
    .blog-articles__article:first-child .card__information .article-card__info.caption-with-letter-spacing.h5{
      width: 100%;
      max-width: 600px;
      margin: auto
    }
    {%- endif -%}
    
  {% endif %}

  .section-{{ section.id }}-padding h1, .section-{{ section.id }}-padding .h1 {
    font-size: calc(var(--font-heading-scale) * 3rem);
    font-weight: var(--font-heading-weight);
  }

  .section-{{ section.id }}-padding h1.title--primary{
    text-align: center;
    padding-bottom: 2rem !important;
  }

  @media screen and (min-width: 600px) {
    .section-{{ section.id }}-padding .blog_grid-columns{
      grid-template-columns: 1fr 1fr;
      gap: 1rem;
    }
  }
  
  @media screen and (min-width: 750px) {
    .section-{{ section.id }}-padding .blog_grid-columns{
      grid-template-columns: repeat(3, 1fr);
      gap: 2rem;
    }
    
    .section-{{ section.id }}-padding {
      padding-top: {{ section.settings.padding_top }}px;
      padding-bottom: {{ section.settings.padding_bottom }}px;
    }

    .section-{{ section.id }}-padding h1, .section-{{ section.id }}-padding .h1 {
        font-size: calc(var(--font-heading-scale) * 4rem);
        font-weight: var(--font-heading-weight);
    }

    .blog_grid-columns.blog-articles{
      grid-template-columns: repeat(2, 1fr);
    } 
  }

  @media screen and (max-width: 650px) {
    .section-{{ section.id }}-padding h1.title--primary{
      margin: 1rem auto;
    }
  }

 .BlogContentArea {
  display: flex;
  gap: 20px;
  position: relative; /* Add position relative to container */
}

.left-area {
  flex: 1; /* Take remaining space */
  width: 80%;
}

.right-area {
  width: 20%;
  position: sticky;
  top: 20px; 
  height: fit-content; 
  align-self: flex-start;
  overflow:hidden; 
}
.right-area h3 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 15px;
  padding: 40px 30px;
  padding-bottom:0px;
  text-decoration:underline;  
  text-underline-offset: 7px;  
}
.right-area-upper{
  border:1px solid #dcdcdc;
}

.category-blog-link {
  display: block;
  margin-bottom: 10px;
  color: #333;
  text-decoration: none;
  font-size: 14px;
  padding: 4px 30px;
  background-color: #fff;
  transition: background-color 0.3s ease;
}
  .category-blog-link:last-child {
  margin-bottom: 40px;
}

.category-blog-link:hover {
  background-color: #e8e8e8;
}

.right-area img {
  max-width: 100%;
  height: auto;
  margin-top: 40px;
  width: 100%;
  transition: transform 0.3s ease-in-out; 
}

.right-area img:hover {
  transform: scale(1.05); 
}

@media (max-width: 768px) {
  .BlogContentArea {
    flex-direction: column;
  }

  .left-area,
  .right-area {
    width: 100%;
  }

  .right-area {
     position: static; 
    margin-top: 30px;
  }
}

  
{%- endstyle -%}

{%- paginate blog.articles by 8 -%}
  
    # 
      {{ blog.title | escape }}
    
    
      

        

          {%- for article in blog.articles -%}
            

              {%- render 'article-card',
                article: article,
                media_height: section.settings.image_height,
                media_aspect_ratio: article.image.aspect_ratio,
                show_image: section.settings.show_image,
                show_date: section.settings.show_date,
                show_author: section.settings.show_author,
                show_excerpt: true
              -%}
            

          {%- endfor -%}
        

        {%- if paginate.pages > 1 -%}
          {%- render 'pagination', paginate: paginate -%}
        {%- endif -%}
      

 
        {% if section.settings.enable_sidebar %}
          
            

            ### CATEGORY BLOG
            {% assign tags = section.settings.category_tags | split: ',' %}
            {% assign tag_handle = "all" %}
              All
              {% for tag in tags %}
                {% assign tag_handle = tag | strip | downcase | replace: ' ', '-' %}
                {{ tag | strip }}
              {% endfor %}
              

            {% if section.settings.featured_image %}
              
                

              
            {% endif %}
          

        {% endif %}
      

  

{%- endpaginate -%}

{% schema %}
  {
    "name": "t:sections.main-blog.name",
    "tag": "section",
    "class": "section",
    "settings": [
      {
        "type": "header",
        "content": "t:sections.main-blog.settings.header.content"
      },
      {
        "type": "select",
        "id": "layout",
        "options": [
          {
            "value": "grid",
            "label": "t:sections.main-blog.settings.layout.options__1.label"
          },
          {
            "value": "collage",
            "label": "t:sections.main-blog.settings.layout.options__2.label"
          }
        ],
        "default": "collage",
        "label": "t:sections.main-blog.settings.layout.label",
        "info": "t:sections.main-blog.settings.layout.info"
      },
      {
        "type": "checkbox",
        "id": "show_image",
        "default": true,
        "label": "t:sections.main-blog.settings.show_image.label"
      },
      {
        "type": "select",
        "id": "image_height",
        "options": [
          {
            "value": "adapt",
            "label": "t:sections.main-blog.settings.image_height.options__1.label"
          },
          {
            "value": "small",
            "label": "t:sections.main-blog.settings.image_height.options__2.label"
          },
          {
            "value": "medium",
            "label": "t:sections.main-blog.settings.image_height.options__3.label"
          },
          {
            "value": "large",
            "label": "t:sections.main-blog.settings.image_height.options__4.label"
          }
        ],
        "default": "medium",
        "label": "t:sections.main-blog.settings.image_height.label",
        "info": "t:sections.main-blog.settings.image_height.info"
      },
      {
        "type": "checkbox",
        "id": "show_date",
        "default": true,
        "label": "t:sections.main-blog.settings.show_date.label"
      },
      {
        "type": "checkbox",
        "id": "show_author",
        "default": false,
        "label": "t:sections.main-blog.settings.show_author.label"
      },
      {
        "type": "paragraph",
        "content": "t:sections.main-blog.settings.paragraph.content"
      },
      {
        "type": "header",
        "content": "t:sections.all.padding.section_padding_heading"
      },
      {
        "type": "range",
        "id": "padding_top",
        "min": 0,
        "max": 100,
        "step": 4,
        "unit": "px",
        "label": "t:sections.all.padding.padding_top",
        "default": 36
      },
      {
        "type": "range",
        "id": "padding_bottom",
        "min": 0,
        "max": 100,
        "step": 4,
        "unit": "px",
        "label": "t:sections.all.padding.padding_bottom",
        "default": 36
      },
      {
        "type": "checkbox",
        "id": "enable_sidebar",
        "default": false,
        "label": "Show Categories Sidebar"
      },
      {
      "type": "image_picker",
      "id": "featured_image",
      "label": "Featured Image",
      "info": "Select an image for the featured section."
    },
    {
      "type": "url",
      "id": "featured_image_url",
      "label": "Featured Image URL",
      "info": "Enter the URL where this image should link to."
    },
    {
      "type": "text",
      "id": "category_tags",
      "label": "Category Tags (comma-separated)",
      "default": "holiday,vintage,summer"
    }
    ]
  }
{% endschema %}

Hi ,

You can view demo here https://mr3ga8l7kpa9ufh9-32574374026.shopifypreview.com/blogs/news

Hi @Camille18

Could you please elaborate on your request further? I mean in detail if possible.

Thank you so much!

Best,

Daisy - Avada Support Team

Hi @Camille18

I’m wondering if you received my latest message.

Looking forward to hearing from you soon. Thank you!

Best,

Daisy - Avada Support Team