Blog Category's article_excerpt issue for meta property it's taking whole blog content

Topic summary

Main issue: After adding two new blog categories, Open Graph meta tags show the full blog content as the og:description for those category pages, while individual blog posts work correctly. The author suspects the excerpt behavior (article_excerpt) isn’t working.

Current implementation (Liquid):

  • og:image set by template: product (selected variant or product image), collection (collection.image), article (article.image if present).
  • og:description outputs {{ og_description | escape }}.
  • og_title/og_description logic: product uses product.title + variant.title; article sets og_title to article.title, og_type to “article”, and og_description to article.excerpt_or_content | strip_html; password page falls back to shop info.

Observation: For article templates, og_description is derived from article.excerpt_or_content with HTML stripped; for the two blog categories it resolves to the entire content instead of an excerpt.

Status: No fix or consensus yet. Code snippets are central; the question remains open as to why excerpts aren’t applied for the new categories.

Summarized with AI on January 10. AI used: gpt-5.

I Have created two more category of blog. I Update Diffrent blog page for both category and same as for article. my meta property is as :

{% if template.name == ‘product’ %}
{% assign variant = product.selected_variant %}
{% assign og_image = variant.featured_media.preview_image | default: product.featured_media.preview_image %}
{% elsif template.name == ‘collection’ %}
{% assign og_image = collection.image %}
{% elsif template.name == ‘article’ %}
{% if article.image %}
{% assign og_image = article.image %}
{% endif %}
{% endif %}

Where my blog-post is working properly in meta tag. bt for other two category takes complete blog in meta property tag. article_excerpt is not working may be.

{% if template.name == ‘product’ %}
{% assign variant = product.selected_variant %}
{% assign og_title = product.title | append: variant.title | strip_html %}
{% elsif template.name == ‘article’ %}
{% assign og_title = article.title | strip_html %}
{% assign og_type = ‘article’ %}
{% assign og_description = article.excerpt_or_content | strip_html %}
{% elsif template.name == ‘password’ %}
{% assign og_title = shop.name %}
{% assign og_url = shop.url %}
{% assign og_description = shop.description | default: shop.name %}
{% endif %}