Magento
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.

Compatibility
Section titled “Compatibility”PHP
Storefront
AI (optional)
Quick start
Section titled “Quick start”-
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). -
Go to Content → Blog Pro → Posts → Add New Post.
-
Enter a Title, URL Key and Content (or use the AI Writer to generate everything from the title). Set Enable = Yes.
-
Assign Categories, Tags and an Author, add a Featured Image, then Save Post.
-
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.
The post editor
Section titled “The post editor”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.
- Meta Title · Meta Description · Meta Keywords — per-post search metadata (falls back to the store-wide blog defaults when blank).
- Meta Robots — index/follow directives for this post.
- Canonical URL — override the canonical link if needed.
- OG Title · OG Description · OG Image · OG Type — control how the post looks when shared on social media. The AI Writer fills these automatically.
Assign the post to one or more blog categories — this drives the blog navigation, category landing pages and breadcrumbs.
AI Writer (Google Gemini)
Section titled “AI Writer (Google Gemini)”Generate a complete, EEAT-optimised post — body HTML, meta title/description, short description, Open Graph metadata — and a featured image, from just a title.

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):

AI Writer settings
Section titled “AI Writer settings”Configure it under Configuration → Blog Pro → AI Writer:

- Enable AI Writer — master switch.
- Google AI API Key — your key from Google AI Studio. Stored encrypted; used for both text and image.
- Text Generation Model — the Gemini model for content + meta (default
gemini-3.1-pro-preview). - Image Generation Model — the model for featured images (default
gemini-3.1-flash-image). - Fallback Text / Image Model — auto-retry model if the primary returns a
503(overloaded). Set “None” to disable.
- Default Text / Image Prompt Template — customise the generation prompts (use
{{title}}); leave blank for the built-in EEAT-optimised prompts. - Auto-generate Meta Title & Description · Auto-generate Featured Image — run automatically on generate.
- Image Aspect Ratio · Resolution — output sizing for generated images.
- Brand Primary / Secondary Colour — hex colours the AI works into images.
- Default Writing Tone · Article Style · Language — defaults for every generation.
Categories
Section titled “Categories”Content → Blog Pro → Categories — hierarchical categories that build your blog navigation and category landing pages.

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.

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.

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

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

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

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 Comment → Admin Notification Email + Email Sender.
On a headless storefront, comments are posted with the addBlogComment mutation and respect
the same enable/moderation settings.
On the storefront
Section titled “On the storefront”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.
Design & layout
Section titled “Design & layout”Under Configuration → Blog Pro → Design & Layout:
- Blog Index / Post / Category Page Layout — pick the Magento page layout for each.
- Post List Display Mode — Grid or List.
- Short Content Length (chars) — how much summary text to show on cards.
- Featured Image Width / Height (px) · Lazy Load Images.
Post-view features
Section titled “Post-view features”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.
Sidebar widgets
Section titled “Sidebar widgets”Toggle and order each block under Configuration → Blog Pro → Sidebar Widgets:
| Widget | Options |
|---|---|
| Search | enable, sort order |
| Categories | enable, show post count, max depth, sort order |
| Recent Posts | enable, show image, number of posts, sort order |
| Popular Posts | enable, number of posts, sort order |
| Archive | enable, sort order |
| RSS Feed | enable, feed title, feed description |
Product page integration
Section titled “Product page integration”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.
Top navigation & social
Section titled “Top navigation & social”- 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
BlogPostingschema.org markup for rich results.
And under XML Sitemap: include posts and categories, each with their own frequency and priority.
URLs & permalinks
Section titled “URLs & permalinks”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.
Import & Export
Section titled “Import & Export”- 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-runto 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.
RSS feed
Section titled “RSS feed”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.
Headless / API
Section titled “Headless / API”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.
# Post a comment (respects enable + moderation settings)mutation { addBlogComment( post_id: 1, author_name: "Jane", author_email: "jane@example.com", content: "Great article!") { success message comment { comment_id status } } }
# Increment a post's view countermutation { trackBlogPostView(post_id: 1) { success } }GET /V1/blog/posts → all posts (for static generation)GET /V1/blog/post/{urlKey} → a single postGET /V1/blog/categories → all categoriesGlobal configuration reference
Section titled “Global configuration reference”Stores → Configuration → AgenticEcom · SEO & Content → Blog Pro
| Group | Settings |
|---|---|
| ⚡ AI Auto-Configure | One-click optimal defaults for the whole module |
| General | Enable Blog · Blog Title · Posts Per Page · Date Format · Display Author / Views / Reading Time / Publication Date |
| AI Writer | Enable · Google AI Key · text/image models + fallbacks · prompts · auto-generate meta/image · image aspect ratio/resolution · brand colours · default tone/style/language |
| Design & Layout | Index/Post/Category page layouts · Grid/List mode · short-content length · featured-image width/height · lazy-load |
| Post View Page | Related posts (number, auto) · related products (number) · prev/next · reading-progress bar (colour, height) |
| Comments | Enable · moderation · auto-approve registered · guest comments · counts · nested replies · GDPR checkbox · admin notification + email + sender |
| Author Settings | Display author info · enable author pages · default robots |
| Tag Settings | Default robots · tag cloud + count |
| Sidebar Widgets | Search · Categories (post count, depth) · Recent · Popular · Archive · RSS (title, description) — each with enable + sort order |
| Product Page Integration | Display related blog posts on product pages + number |
| Permalink | Blog/post/category/tag/author/search/archive routes + suffixes · no-slash redirect · categories-in-URL |
| SEO | Meta defaults · canonical · robots · Open Graph · JSON-LD structured data |
| Social Share | Enable + networks |
| Category Top Navigation | Show blog link · link text · include categories sub-menu |
| XML Sitemap | Include posts/categories with frequency + priority |
| Developer | Include 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.