# Article Represents an article object with content, author, and comment information. Articles are typically published on blogs and can include SEO metadata, author information, and reader comments. ## Type Definition ```graphql type Article { seoDescription: String seoTitle: String seoKeywords: String handle: String headerImage: String author: Author id: Int title: String content: String summary: String comments: [Comment] commentsCount: Int blog: Blog isPublished: Boolean commentsAreEnabled: Boolean commentsRequireAccount: Boolean commentsRequireApproval: Boolean accountOwner: Boolean url: String createdAt: String updatedAt: String metafields: [Metafield]! metafield: Metafield } ``` ## Fields | Field | Type | Description | |-------|------|-------------| | seoDescription | String | Returns description for search engines. | | seoTitle | String | Returns title for search engines. | | seoKeywords | String | Returns keywords for search engines. | | handle | String | Retrieve a handle for this article. | | headerImage | String | Retrieve the associated header image URL for this article. | | author | Author | Returns information about the article's author as an AuthorDrop. | | id | Int | Get the identifier for this article. | | title | String | Returns the title. | | content | String | Get the content of this article. | | summary | String | Returns the summary (max. 140 characters) for this article. | | comments | [Comment] | List of published comments for this article. Empty if comments are disabled. | | commentsCount | Int | Number of published comments for this article. | | blog | Blog | The blog object this article belongs to. | | isPublished | Boolean | Whether this article is published (unpublished articles are visible in design mode). | | commentsAreEnabled | Boolean | Whether commenting is enabled for this article. | | commentsRequireAccount | Boolean | Whether commenting requires a customer account. | | commentsRequireApproval | Boolean | Whether comments require approval for this article. | | accountOwner | Boolean | Returns true if the author is the owner of the store. | | url | String | Returns the URL for this product group. | | createdAt | String | Returns the timestamp when the article was published. | | updatedAt | String | Returns the timestamp when the article was updated or modified. | | metafields | [Metafield]! | Metafields stored on this resource. | | metafield | Metafield | A single metafield by namespace and key. | ## Relationships The Article type is a core content object that represents published or draft articles within a blog. It maintains relationships with several key types: - **Author**: Each article is written by an author, whose information is retrieved through the `author` field. - **Blog**: Articles belong to a specific blog, accessible via the `blog` field. - **Comments**: Articles can have associated reader comments through the `comments` field, with the count available via `commentsCount`. - **Metafields**: Articles can store custom metadata through the `metafields` field for extensibility. Articles are also referenced by queries and can appear as nodes in connection edges throughout the API. ## Example ```graphql { article(id: 12345) { id title handle content summary seoTitle seoDescription seoKeywords headerImage url isPublished createdAt updatedAt commentsCount commentsAreEnabled author { name email } blog { title handle } comments { content author } metafields { namespace key value } } } ``` ## Implements This type does not implement any interfaces. ## Related Types - [Author](/reference/storefront/1.3.0/objects/author) - [Comment](/reference/storefront/1.3.0/objects/comment) - [Blog](/reference/storefront/1.3.0/objects/blog) - [Metafield](/reference/storefront/1.3.0/objects/metafield)