Skip to content

Blog Pro

Blog Pro turns your Magento store into a full content platform: write posts in a rich editor (or generate them with AI), organise them with categories, tags and authors, collect moderated comments, and rank with built-in SEO. It renders on a standard Luma storefront and serves a headless (Astro) storefront through a complete GraphQL + REST API.

Blog Pro posts grid in the admin

Magento

Open Source 2.4.9 GA (and later 2.4.x).

PHP

Tested on 8.4 and 8.5.

Storefront

Standard Luma/PWA and headless (Astro) via GraphQL/REST.

AI (optional)

Google Gemini for post content & featured images (bring your own key).
  1. Enable the blog: Stores → Configuration → AgenticEcom · SEO & Content → Blog Pro → General → Enable Blog = Yes, and set your Blog Route (default blog). Everything else lives under Content → Blog Pro (Posts, Categories, Tags, Authors, Comments, Import & Export, AI Writer).

  2. Go to Content → Blog Pro → Posts → Add New Post.

  3. Enter a Title, URL Key and Content (or use the AI Writer to generate everything from the title). Set Enable = Yes.

  4. Assign Categories, Tags and an Author, add a Featured Image, then Save Post.

  5. Visit your blog at /<blog route> (default /blog) — or query it from a headless storefront by URL key.

Content → Blog Pro → Posts lists every post with its ID, Title, URL Key, Status, Categories, Publish Date and Created date. Filter, search, sort, and use the Actions menu for mass Enable / Disable / Delete and Auto-interlink.

Open a post (or Add New Post). The editor is organised into tabs:

  • Title — the post headline (required).
  • URL Key — the slug used in the post URL (required, unique).
  • Short Description — the summary shown on listing cards (≈36 words is ideal).
  • Content — the full post body in a rich WYSIWYG editor.
  • Featured Image (+ Alt text) — the hero/thumbnail image.
  • Publish Date — when the post goes live (set a future date to schedule it).
  • Author — who wrote it (drives the author page + byline).
  • Tags — cross-cutting labels.
  • Enable — publish/unpublish this post.
  • Featured — flag the post for “featured” widgets and placements.

Generate a complete, EEAT-optimised post — body HTML, meta title/description, short description, Open Graph metadata — and a featured image, from just a title.

The AI Writer panel in the post editor — enter a title, pick tone/style/language, then generate

Enter a Title, choose Tone, Article Style and Language, then click Generate Content and Meta (body, meta and short description) and Generate Image (a featured image, auto-assigned to the Featured Image and OG Image fields):

A real generation — short description written and a featured image generated and assigned

Configure it under Configuration → Blog Pro → AI Writer:

AI Writer configuration — models, fallbacks, prompts and your encrypted API key

  • Enable AI Writer — master switch.
  • Google AI API Key — your key from Google AI Studio. Stored encrypted; used for both text and image.

Content → Blog Pro → Categories — hierarchical categories that build your blog navigation and category landing pages.

Blog categories grid

Each category has:

  • Name and URL Key (slug).
  • Parent Category — for nesting (e.g. News → Product Updates).
  • Description and Category Image.
  • Include in Menu — show it in the blog navigation / top menu.
  • Sort Order and Is Active.
  • SEO — meta title/description/keywords and robots per category.

Editing a blog category

Content → Blog Pro → Tags — lightweight, cross-cutting labels with their own archive pages and an optional tag-cloud sidebar widget. Each tag has a Name, URL Key, Is Active and its own meta fields.

Blog tags grid

Content → Blog Pro → Authors — author profiles that power bylines and (optionally) public author pages listing each author’s posts.

Blog authors grid

Each author has a Name, URL Key, Bio and Avatar, plus per-section robots control for the author page.

Editing a blog author

Threaded comments with full moderation. Moderate from Content → Blog Pro → Comments — approve, reject or delete individually or in bulk.

Blog comments moderation grid

Configure behaviour under Configuration → Blog Pro → Comments:

  • Enable Comments · Moderate Comments (require approval before publishing).
  • Auto-approve Registered Users · Allow Guest Comments.
  • Number of Comments to Display · Number of Nested Replies.
  • Display Privacy Policy Checkbox (GDPR) on the comment form.
  • Notify Admin on New CommentAdmin Notification Email + Email Sender.

On a headless storefront, comments are posted with the addBlogComment mutation and respect the same enable/moderation settings.

The blog renders at your configured route (default /blog) with a listing page, category and tag archives, author pages and a sidebar — all driven by the settings below.

Under Configuration → Blog Pro → Design & Layout:

  • Blog Index / Post / Category Page Layout — pick the Magento page layout for each.
  • Post List Display ModeGrid or List.
  • Short Content Length (chars) — how much summary text to show on cards.
  • Featured Image Width / Height (px) · Lazy Load Images.

Under Configuration → Blog Pro → Post View Page:

  • Related Posts — enable, set the number, and optionally auto-suggest by tags/categories.
  • Related Products — show catalog products linked to the post (number configurable).
  • Previous / Next Post Navigation.
  • Reading Progress Bar — enable, with a custom colour and height.

Toggle and order each block under Configuration → Blog Pro → Sidebar Widgets:

WidgetOptions
Searchenable, sort order
Categoriesenable, show post count, max depth, sort order
Recent Postsenable, show image, number of posts, sort order
Popular Postsenable, number of posts, sort order
Archiveenable, sort order
RSS Feedenable, feed title, feed description

Show related blog posts on product pages (enable + number) — and the reverse, products related to a post — so a PDP can surface relevant articles and an article can surface the products it discusses.

  • Category Top Navigation — show a Blog link in the main menu (custom Link Text), optionally with blog categories as a sub-menu.
  • Social Share Buttons — enable and pick the networks to show on posts.

Blog Pro is built for ranking. Under Configuration → Blog Pro → Search Engine Optimization:

  • Default Meta Title / Description / Keywords — store-wide fallbacks for posts.
  • Use Canonical URLs · Default Robots.
  • Enable Open Graph Tags — social previews.
  • Enable JSON-LD Structured Data — outputs BlogPosting schema.org markup for rich results.

And under XML Sitemap: include posts and categories, each with their own frequency and priority.

Configuration → Blog Pro → Permalink Settings controls the entire URL structure:

  • Blog Route (e.g. blog/blog), with an optional 301 redirect from /blog/ to /blog.
  • Post / Category / Tag / Author / Search / Archive routes, each with an optional URL Suffix (e.g. .html).
  • Use Categories Path in Post URLs for /blog/category/news/my-post-style permalinks.

URL rewrites are written automatically when posts and categories are saved (via commit-after observers), so links resolve on the storefront without a custom router.

  • WordPress import — migrate an existing WordPress blog via Content → Blog Pro → Import & Export or the CLI: bin/magento agenticecom:blog:import-wp /path/to/wordpress-export.xml --store-id=1 (add --dry-run to preview first). Posts, categories and tags are mapped to Blog Pro entities.
  • CSV export — export posts, categories and tags to CSV for backup or migration.

A standards-compliant RSS 2.0 feed is published at /<blog route>/feed/rss (e.g. /blog/feed/rss) when the RSS widget is enabled — set the feed title and description in Sidebar Widgets → RSS Feed.

The full blog is available over GraphQL (with a REST subset for SSG):

# List posts (paginated, filterable, sortable)
{ blogPosts(pageSize: 10, currentPage: 1) {
items { post_id title url_key status content_json excerpt
featured_image reading_time views_count created_at
author { name } categories { name url_key } tags { name } }
total_count
} }
# Single post with everything for a detail page
{ blogPost(url_key: "headless-commerce-explained") {
title content_json status meta_title og_image
author { name } categories { name } tags { name }
related_posts { title url_key } comments_count
} }

Also available: blogCategories, blogCategory, blogTags, blogAuthors, blogSearch, blogWidgetPosts(type: RECENT|FEATURED|POPULAR|RELATED), blogRoute(url_key) (resolve a slug to its entity), and reverse lookups blogPostsByProduct / blogPostsByCatalogCategory.

Stores → Configuration → AgenticEcom · SEO & Content → Blog Pro

GroupSettings
⚡ AI Auto-ConfigureOne-click optimal defaults for the whole module
GeneralEnable Blog · Blog Title · Posts Per Page · Date Format · Display Author / Views / Reading Time / Publication Date
AI WriterEnable · Google AI Key · text/image models + fallbacks · prompts · auto-generate meta/image · image aspect ratio/resolution · brand colours · default tone/style/language
Design & LayoutIndex/Post/Category page layouts · Grid/List mode · short-content length · featured-image width/height · lazy-load
Post View PageRelated posts (number, auto) · related products (number) · prev/next · reading-progress bar (colour, height)
CommentsEnable · moderation · auto-approve registered · guest comments · counts · nested replies · GDPR checkbox · admin notification + email + sender
Author SettingsDisplay author info · enable author pages · default robots
Tag SettingsDefault robots · tag cloud + count
Sidebar WidgetsSearch · Categories (post count, depth) · Recent · Popular · Archive · RSS (title, description) — each with enable + sort order
Product Page IntegrationDisplay related blog posts on product pages + number
PermalinkBlog/post/category/tag/author/search/archive routes + suffixes · no-slash redirect · categories-in-URL
SEOMeta defaults · canonical · robots · Open Graph · JSON-LD structured data
Social ShareEnable + networks
Category Top NavigationShow blog link · link text · include categories sub-menu
XML SitemapInclude posts/categories with frequency + priority
DeveloperInclude blog CSS on all pages · custom CSS
Do I have to write posts by hand?

No. With the AI Writer enabled and a Google AI key set, you can generate the full post — body, meta, short description and a featured image — from just a title, then edit before publishing. The Topical Map can plan a whole cluster of posts for you.

Can I move my existing WordPress blog over?

Yes — use the WordPress import (Content → Blog Pro → Import & Export, or the agenticecom:blog:import-wp <export.xml> --store-id=1 CLI command). Posts, categories and tags are mapped across.

Can I schedule posts to publish later?

Yes. Set a future Publish Date on an enabled post; the publish cron makes it live automatically at that time.

Does it work on a headless storefront?

Fully. Every entity is exposed over GraphQL (posts, categories, tags, authors, comments, search, widgets, route resolution, product/category reverse-lookups), with a REST subset for static generation. Posts include a content_json field for block-based rendering.

Is it good for SEO?

Yes — per-post meta with store defaults, canonical URLs, configurable robots, Open Graph tags, JSON-LD BlogPosting structured data, XML-sitemap inclusion, and clean configurable permalinks with automatic URL rewrites.

What about secure development practices?

Admin actions are protected by a granular ACL tree (separate edit permissions per entity); the comment mutation validates and (optionally) moderates all input server-side; the Google AI key is stored encrypted; and the module is verified clean on PHP 8.4 and 8.5.