mage2kishan/module-blog

Panth_Blog — SEO-grade blog module for Magento 2 with first-class AEO/AIO support: JSON-LD, llms.txt, IndexNow, hreflang, markdown export, RSS/Atom feeds, and Hyva-first templates. Built to plug into the Panth_* ecosystem.

Maintainers

Package info

github.com/mage2sk/module-blog

Type:magento2-module

pkg:composer/mage2kishan/module-blog

Statistics

Installs: 3

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.0 2026-05-18 18:16 UTC

This package is auto-updated.

Last update: 2026-05-18 18:20:39 UTC


README

Blog Module for Magento 2 — SEO-Grade Blog with JSON-LD, llms.txt, IndexNow, RSS & Hyva/Luma Templates | Panth Infotech

Magento 2.4.4 - 2.4.8 PHP 8.1 - 8.4 Hyva + Luma SEO JSON-LD AI Ready Packagist Upwork Top Rated Plus Panth Infotech Agency Get a Quote

SEO-grade blog extension for Magento 2 with full JSON-LD schema (BlogPosting, Person, BreadcrumbList, FAQPage, HowTo, CollectionPage, ProfilePage), llms.txt + llms.json integration for AI search, IndexNow auto-pinging, RSS 2.0 + Atom 1.0 feeds, Markdown export endpoint, automatic TL;DR extraction, table of contents, hreflang hooks, and beautifully responsive Hyva (Alpine.js) + Luma (vanilla CSS) storefront templates. Magento 2.4.4 — 2.4.8.

Panth Blog is not a port of a WordPress-style blog into Magento — it is a content engine designed from the ground up for SEO, AEO (Answer Engine Optimization), and GEO (Generative Engine Optimization). Every post emits valid BlogPosting JSON-LD with author Person, breadcrumbs, FAQs, and HowTo schema where applicable. The blog content is exposed to AI crawlers via the Panth_LlmsTxt integration so ChatGPT, Claude, and Perplexity can index your posts; IndexNow notifies Bing and Yandex within minutes of publish; and the storefront ships in Hyva first (Tailwind + Alpine.js) with full Luma fallback styling that does not depend on Tailwind. Built on Panth Core, with native REST + GraphQL APIs and a CLI for import/export.

🚀 Need Custom Magento 2 Development?

Get a free quote for your project in 24 hours — custom modules, Hyva themes, performance optimization, M1→M2 migrations, and Adobe Commerce Cloud.

Get a Free Quote

🏆 Kishan Savaliya

Top Rated Plus on Upwork

Hire on Upwork

100% Job Success • 10+ Years Magento Experience Adobe Certified • Hyva Specialist

🏢 Panth Infotech Agency

Magento Development Team

Visit Agency

Custom Modules • Theme Design • Migrations Performance • SEO • Adobe Commerce Cloud

Visit our website: kishansavaliya.com  |  Get a quote: kishansavaliya.com/get-quote

Table of Contents

Why Panth Blog

Most Magento blog extensions are a checkbox feature — a CMS-page wrapper with a WYSIWYG editor and a category filter. Panth Blog is built for stores that take content seriously as a growth channel:

  1. SEO out of the box — every post emits valid BlogPosting JSON-LD with author, breadcrumbs, FAQs, and HowTo schema. No Yoast / Rank Math plugin needed.
  2. AI-search ready — first-class integration with Panth_LlmsTxt exposes blog posts to ChatGPT, Claude, and Perplexity via /llms.txt, /llms-full.txt, and /llms.json.
  3. IndexNow auto-ping — published posts notify Bing and Yandex within 5 minutes; manual ping CLI command included.
  4. Hyva + Luma — the storefront is Hyva first (Tailwind + Alpine.js, no jQuery on Hyva), with a complete Luma stylesheet (no Tailwind dependency) so the design renders identically on both.
  5. Strict DI, additive schema, idempotent installs — production-grade engineering: no ObjectManager calls anywhere, schema changes are backward-compatible, setup:upgrade is safe to re-run.
  6. Markdown import/export — write posts in your editor of choice; YAML frontmatter is supported by the CLI importer and the public /blog/<slug>.md endpoint.
  7. Native REST + GraphQL — full CRUD via REST, read-only GraphQL for headless storefronts.

Key Features

Content Management

  • Posts — title, URL key, short description, full HTML / WYSIWYG content, featured image, OG image, meta SEO fields, layout template variant, per-store overrides
  • Categories — hierarchical (up to 3 levels), banner image, sort order, per-category posts-per-page and template (grid / list / magazine) override, denormalised post-count cache
  • Tags — flat, lightweight, auto-created from post-edit form; thin-content guard auto-flips tags with < N posts to noindex,follow
  • Authors — display name, role, short + long bio, avatar, email, social links JSON, Person.knowsAbout, Person.alumniOf, Person.sameAs arrays for schema
  • Comments — threaded (1 level), pending/approved/spam/trash workflow, IP rate limit hooks, captcha hooks (math / Turnstile / hCaptcha / reCAPTCHA), nofollow injection on external links — disabled by default in v1
  • Related posts — manual override + auto-suggest based on category overlap + recency
  • Multi-store — per-store post visibility, per-store title/description/content overrides
  • URL history — slug changes are tracked; 404 hits auto-redirect 301 to the new URL

SEO & Structured Data

  • JSON-LD per page type:
    • /blogBlog + BreadcrumbList
    • /blog/<slug>BlogPosting + Person (author) + BreadcrumbList + optional FAQPage + optional HowTo
    • /blog/category/<slug>CollectionPage + BreadcrumbList
    • /blog/tag/<slug>CollectionPage + BreadcrumbList
    • /blog/author/<slug>ProfilePage + Person + BreadcrumbList
  • OG + Twitter metaog:type=article, og:title, og:description, og:image (1200×630), og:url, article:published_time, article:modified_time, article:author, article:section, article:tag, full Twitter Card markup
  • Meta tags — per-post meta_title, meta_description, meta_keywords, meta_robots, canonical_url overrides
  • Title template — admin-configurable with tokens {{post.title}}, {{post.meta_title}}, {{post.category}}, {{post.author}}
  • Hreflang group — auto-seeded blog-posts group for Panth_Hreflang integration
  • Sitemap integration — contributor class for Panth_XmlSitemap emits posts, categories, active tags, and authors into sitemap-blog-1.xml with proper lastmod and priority
  • HTML sitemap — contributor for Panth_HtmlSitemap adds a Blog section to the human-readable sitemap
  • rel=prev/next + canonical URLs on paginated archives

AEO (Answer Engine Optimization)

  • TL;DR auto-extraction — first 80–120 words of post body auto-populated to tldr_summary on save when admin field is empty; rendered as an <aside data-aeo="tldr"> callout above the article
  • Table of contents — auto-built from <h2> and <h3> headings with anchor IDs; sticky on desktop, drawer on mobile
  • HowTo schema — auto-detected from numbered <h2> steps (e.g. <h2>1. First step</h2>); admin toggle
  • FAQPage schema — inline FAQ widget integration via Panth_Faq adds FAQPage JSON-LD to the post graph
  • Citation footnotescitation_list JSON column rendered as numbered references at post foot; emitted as WebPage.citation schema
  • Reading time — auto-computed from word count + admin reading_speed_wpm setting

AIO (AI Indexing)

  • llms.txt integration — when Panth_LlmsTxt is installed, blog posts are injected into /llms.txt and /llms-full.txt via the bundled BuilderPlugin; admin toggle + max_posts setting
  • llms.json integration — structured blog section added to /llms.json for AI agent indexers
  • Markdown export endpoint/blog/<slug>.md returns the post as plain markdown with YAML frontmatter, Content-Type: text/markdown; charset=utf-8
  • AI bot allow-list — configurable list of bot user-agents (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, ChatGPT-User) surfaced via Helper\Config::getAiBotsAllowed() for Panth_RobotsSeo integration

GEO (Generative Engine Optimization)

  • IndexNow auto-ping — observer queues post URL on transition to published; cron drains the queue every 5 minutes; configurable batch size; falls back to direct API POST if Panth_IndexNow is absent
  • Per-event flagsnotify_on_publish, notify_on_update, notify_on_delete admin toggles
  • Manual ping CLIpanth:blog:indexnow:ping --post-id=N

Feeds & Discovery

  • RSS 2.0/blog/feed.xml site-wide; /blog/feed/category/<slug>.xml, /blog/feed/tag/<slug>.xml, /blog/feed/author/<slug>.xml (per-type toggles)
  • Atom 1.0/blog/feed/atom.xml
  • Full or partial content — toggle <content:encoded> per feed
  • RFC 822 timestamps, <dc:creator>, <media:content>, <atom:link rel="self">
  • Cachedpanth_blog_feed cache type with configurable TTL; warmed by cron
  • Feed discovery<link rel="alternate" type="application/rss+xml"> in every blog page <head>

Storefront UX

  • Responsive grid — 1 column under 768px, 2 columns 768–1023px, 3 columns ≥1024px
  • Featured post block — first post on page 1 rendered in a 2-column horizontal hero card
  • Hyva theme — Tailwind utilities + Alpine.js for TOC, search, subscribe
  • Luma theme — comprehensive pb-* BEM stylesheet (no Tailwind dependency); same visual design as Hyva
  • Sticky TOC on desktop, drawer on mobile
  • Pagination — pill buttons with active state, ellipsis for large page counts, prev/next + rel="prev/next" head links
  • Breadcrumbs — Home > Blog > Category > Post, with BreadcrumbList JSON-LD
  • Share buttons — Twitter, LinkedIn, Copy URL pill buttons
  • Sidebar widgets — Search, Recent posts, Categories, Tag cloud (size-scaled by post_count), Subscribe, RSS link

Developer Experience

  • Strict DI — zero ObjectManager calls, constructor property promotion throughout
  • PHP 8.1+ — readonly properties, named arguments, match expressions
  • Type-safe contractsdeclare(strict_types=1) on every file; full type hints
  • REST API/V1/panth-blog/posts, /V1/panth-blog/categories, /V1/panth-blog/tags, /V1/panth-blog/authors (CRUD)
  • GraphQLpanthBlogPosts, panthBlogPost(id|urlKey), panthBlogCategories, panthBlogTags, panthBlogAuthors (read-only)
  • CLI commands — 8 commands for URL rewrite rebuild, count refresh, OG image generation, post import/export, IndexNow ping, tag auto-robots, demo seeder
  • Cron jobs — 6 jobs: publish-scheduled, refresh-counts, warm-feed-cache, drain-indexnow-queue, archive-stale-drafts, daily heartbeat
  • Optional integrations — every cross-module hook is class_exists-guarded so the module runs cleanly whether or not the sibling Panth_* module is installed

Compatibility

Requirement Versions Supported
Magento Open Source 2.4.4, 2.4.5, 2.4.6, 2.4.7, 2.4.8
Adobe Commerce 2.4.4, 2.4.5, 2.4.6, 2.4.7, 2.4.8
Adobe Commerce Cloud 2.4.4 — 2.4.8
PHP 8.1.x, 8.2.x, 8.3.x, 8.4.x
Hyva Theme 1.3+ (Tailwind + Alpine.js)
Luma Theme Native support (BEM stylesheet, no Tailwind dependency)
Panth_Core ^1.0 (installed automatically)

Tested on:

  • Magento 2.4.8-p2 with PHP 8.2 + Hyva 1.4.5
  • Magento 2.4.8-p2 with PHP 8.2 + Luma

Installation

Composer Installation (Recommended)

composer require mage2kishan/module-blog
bin/magento module:enable Panth_Blog
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f
bin/magento cache:flush

Manual Installation via ZIP

  1. Download the latest release ZIP from Packagist or the Adobe Commerce Marketplace
  2. Extract to app/code/Panth/Blog/ in your Magento installation
  3. Run the same commands as above starting from bin/magento module:enable Panth_Blog

Verify Installation

bin/magento module:status Panth_Blog
# Expected output: Module is enabled

After installation, navigate to:

Admin → Stores → Configuration → Panth → Blog
Admin → Panth Infotech → Blog → Manage Posts
Admin → Panth Infotech → Blog → Manage Categories
Admin → Panth Infotech → Blog → Manage Tags
Admin → Panth Infotech → Blog → Manage Authors
Admin → Panth Infotech → Blog → Manage Comments

Optional: Seed Demo Data

bin/magento panth:blog:seed:demo

This creates 5 sample posts, 5 categories, 5 tags, and 5 authors — useful for trying the module before adding real content. Idempotent: re-running prints "already exists" instead of duplicating.

Configuration

Navigate to Stores → Configuration → Panth → Blog.

Group Key Settings
General Enable/disable module, route front name, blog index title + meta description, hero text, posts per page, reading speed (wpm), show reading time, show author bio, show share buttons
Display Show TOC, related posts count, default category template (grid/list/magazine), sidebar widget toggles (categories, tag cloud, search)
RSS / Atom Feeds Enable feeds, posts per feed, include full content in feed, per-category/tag/author feed toggles, cache TTL
SEO Title template with tokens, fallback meta description, tag thin-content threshold
AEO TL;DR auto-extract, HowTo auto-detect
AIO Include in llms.txt, max posts in llms.txt blog section, include in llms-full.txt, Markdown export endpoint, AI bots allow-list
IndexNow Enable IndexNow notifications, notify on publish/update/delete, batch size
Comments Enable comments (default: disabled), auto-approve registered customers, threading, captcha provider, nofollow on external links

All settings are store-view scoped where applicable; comma-separated lists like the AI bot allow-list are parsed into arrays by Helper\Config.

URL Structure

Clean URLs throughout — no query strings on canonical paths. The custom router resolves all of these:

Path Page
/blog Index — featured post + grid
/blog/page/2 Paginated index
/blog/<slug> Single post
/blog/<slug>.md Markdown export of single post
/blog/category/<slug> Category landing
/blog/category/<slug>/page/2 Paginated category
/blog/tag/<slug> Tag landing
/blog/author/<slug> Author profile + their posts
/blog/search?q=keyword Search results
/blog/feed.xml RSS 2.0 site-wide feed
/blog/feed/atom.xml Atom 1.0 site-wide feed
/blog/feed/category/<slug>.xml Per-category RSS
/blog/feed/tag/<slug>.xml Per-tag RSS
/blog/feed/author/<slug>.xml Per-author RSS

The route front name (blog by default) is configurable in admin. Changing it cleanly switches the entire URL hierarchy — pagination, canonical URLs, feed discovery, and inner-page links all follow.

Admin Management

  • Manage PostsPanth Infotech → Blog → Manage Posts — full CRUD with featured-image upload, WYSIWYG content, multi-tab form (Content / Categorisation / Publishing / SEO / AEO), mass-delete, status toggle, duplicate-post action
  • Manage CategoriesPanth Infotech → Blog → Manage Categories — hierarchical tree, banner image, per-category template + posts-per-page overrides
  • Manage TagsPanth Infotech → Blog → Manage Tags — flat list with post-count and robots column
  • Manage AuthorsPanth Infotech → Blog → Manage Authors — display name, role, avatar, bio, social links JSON, knowsAbout/alumniOf/sameAs schema fields
  • Manage CommentsPanth Infotech → Blog → Manage Comments — moderation grid with bulk approve/spam, IP and user-agent visible, status workflow

All admin grids use Magento UI components with sticky header, inline filters, mass actions, per-column sort, bookmark profiles, and configurable column visibility, in the canonical full-width 1-column admin layout.

📸 Screenshots

Admin

Admin grid listing 5 blog posts with title, URL key, status, published date, views, and created columns
Blog Posts grid — native Magento UI grid with inline filters, mass actions, sort, and the canonical full-width 1-column admin layout.
Admin grid of 8 blog categories with name, URL key, level, post count, active, sort order columns
Blog Categories grid — hierarchical category management; level + post-count columns make taxonomy health visible at a glance.
Admin grid of 5 blog tags with name, URL key, posts, robots directive, and created columns
Blog Tags grid — the Robots column reflects the thin-content guard (auto noindex,follow for tags with post_count < threshold).
Admin grid of 6 blog authors with display name, URL key, role, email, active, sort order
Blog Authors grid — author identity for E-E-A-T signals; each row feeds the Person JSON-LD on author pages and post bylines.
Admin moderation grid for blog comments with author, email, post ID, excerpt, status, IP columns
Blog Comments moderation grid — pending/approved/spam/trash workflow, IP visibility, bulk approve and bulk spam mass actions. Comments are disabled by default; enable per store via Configuration.
Store Configuration panel with all 8 Panth Blog setting groups expanded
Store Configuration — Panth Blog — eight groups (General, Display, RSS/Atom Feeds, SEO, AEO, AIO, IndexNow, Comments) all store-view scoped. Every flag verified end-to-end on both Hyva and Luma.

Storefront

Blog index page with hero header, featured post block, two-column post grid, and right sidebar with search, recent posts, categories
Blog index (/blog) — centred hero with accent rule, full-width featured post block on page 1, responsive post-card grid, sticky sidebar with Search, Recent Posts, Categories, Tag cloud, Subscribe. Featured post hero is rendered separately from the regular grid for editorial emphasis.
Blog search results page with prominent search input and result count for the query gpt
Blog search (/blog/search?q=gpt) — prominent large search field, dynamic result count, list-style result cards. Search is noindex,follow by default to avoid thin SERP pages.
Single blog post page with category pill, title, author byline, content sections, tag chips, and share buttons
Single post (/blog/<slug>) — breadcrumbs, category pill, large title, author + date + reading-time meta row, prose body with proper typography, tagged chips, Twitter/LinkedIn/Copy share buttons, author footer card, related-posts grid, and full BlogPosting + Person + BreadcrumbList JSON-LD.

JSON-LD Schema (SEO)

Every blog page emits Google-valid structured data as JSON-LD. Example for a single post:

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "BlogPosting",
      "@id": "https://example.com/blog/getting-started-with-hyva#article",
      "headline": "Getting started with Hyva",
      "description": "A practical walkthrough of installing Hyva and shipping your first storefront tweak.",
      "image": ["https://example.com/media/blog/featured/hyva.jpg"],
      "datePublished": "2026-05-18T12:00:00+00:00",
      "dateModified": "2026-05-18T12:00:00+00:00",
      "wordCount": 850,
      "timeRequired": "PT4M",
      "articleSection": "Hyva",
      "keywords": "tailwind, magento-2.4.8",
      "author": {"@id": "https://example.com/blog/author/jane-doe#person"},
      "mainEntityOfPage": {"@type": "WebPage", "@id": "https://example.com/blog/getting-started-with-hyva"}
    },
    {
      "@type": "Person",
      "@id": "https://example.com/blog/author/jane-doe#person",
      "name": "Jane Doe",
      "jobTitle": "Senior Editor",
      "knowsAbout": ["Magento", "Hyva", "Performance"]
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {"@type": "ListItem", "position": 1, "name": "Home", "item": "https://example.com/"},
        {"@type": "ListItem", "position": 2, "name": "Blog", "item": "https://example.com/blog"},
        {"@type": "ListItem", "position": 3, "name": "Hyva", "item": "https://example.com/blog/category/hyva"},
        {"@type": "ListItem", "position": 4, "name": "Getting started with Hyva", "item": "https://example.com/blog/getting-started-with-hyva"}
      ]
    }
  ]
}

FAQPage is added when the inline FAQ widget (Panth_Faq) is present on the page; HowTo is added when numbered H2 steps are detected. All schema emission is gated by admin toggles and validates against Google's Rich Results Test.

AI Integration (llms.txt + IndexNow)

llms.txt

When Panth_LlmsTxt is installed, Panth Blog injects a ## Blog Posts section into /llms.txt and /llms-full.txt via the bundled plugin:

## Blog Posts

Latest articles from this site.

- [Getting started with Hyva](/blog/getting-started-with-hyva) — A practical walkthrough of installing Hyva and shipping your first storefront tweak.
- [Core Web Vitals for Magento in 2026](/blog/core-web-vitals-2026) — INP replaced FID. Here is what to measure and how to fix the common Magento regressions.
...

The number of posts surfaced is configurable via panth_blog/aio/llms_txt_max_posts (default 50). When disabled per store via panth_blog/aio/llms_txt_include=0, the section is silently omitted.

A structured blog section is also added to /llms.json for AI agent indexers — each entry includes url, label, summary, and published_at metadata.

IndexNow

The Observer/PostSaveAfter.php observer queues post URLs into the panth_blog_indexnow_queue table when a post transitions to published. The Cron/NotifyIndexNow.php job drains the queue every 5 minutes, in configurable batches, with Panth_IndexNow integration or direct API POST fallback.

Manual ping:

bin/magento panth:blog:indexnow:ping --post-id=2

RSS / Atom Feeds

Panth Blog ships six feed endpoints, all RFC-compliant and cached via the panth_blog_feed cache type:

Endpoint Format Scope
/blog/feed.xml RSS 2.0 Site-wide latest N posts
/blog/feed/atom.xml Atom 1.0 Site-wide latest N posts
/blog/feed/category/<slug>.xml RSS 2.0 Per category
/blog/feed/tag/<slug>.xml RSS 2.0 Per tag
/blog/feed/author/<slug>.xml RSS 2.0 Per author
/blog/feed/comments.xml RSS 2.0 Latest 25 approved comments (when comments enabled)

Each <item> includes <title>, <link>, <guid isPermaLink="true">, <description> (CDATA), optional <content:encoded>, <pubDate> (RFC 822), <dc:creator>, <category>, optional <media:content>. Standard namespaces: xmlns:content, xmlns:dc, xmlns:media, xmlns:atom.

Cache TTL, posts-per-feed, full vs partial content, and per-type feed toggles are all admin-configurable.

Markdown Export

Every published post is reachable as plain markdown at /blog/<slug>.md with Content-Type: text/markdown; charset=utf-8. The output includes YAML frontmatter:

---
title: "Getting started with Hyva"
url_key: getting-started-with-hyva
published_at: 2026-05-18 12:00:00
---

> A practical walkthrough of installing Hyva and shipping your first storefront tweak.

## Why Hyva

Hyva is a Tailwind-based front-end for Magento that replaces the Luma + RequireJS stack with a leaner runtime.
...

Disable per store via panth_blog/aio/markdown_export_enabled=0.

CLI Commands

# Rebuild URL rewrites for all blog entities
bin/magento panth:blog:url-rewrite:rebuild

# Recompute denormalised post counts (categories + tags)
bin/magento panth:blog:counts:refresh

# Export a post as markdown to stdout
bin/magento panth:blog:post:export --post-id=2 --format=markdown > post.md

# Import a markdown file with YAML frontmatter as a new post
bin/magento panth:blog:post:import path/to/post.md

# Queue an IndexNow ping for a single post
bin/magento panth:blog:indexnow:ping --post-id=2

# Apply tag thin-content robots flip globally
bin/magento panth:blog:tags:auto-robots

# Generate OG images (stub in v1 — wired for future Python integration)
bin/magento panth:blog:og-images:generate [--post-id=N]

# Seed 5 demo authors / categories / tags / posts (idempotent)
bin/magento panth:blog:seed:demo

Cron Jobs

Job Schedule Purpose
panth_blog_publish_scheduled every 5 min Flip scheduled posts to published when published_at <= NOW()
panth_blog_refresh_post_counts nightly 03:30 Recompute denormalised post counts on categories + tags; apply tag thin-content robots
panth_blog_warm_feed_cache hourly :15 Regenerate RSS / Atom feeds and store in panth_blog_feed cache
panth_blog_notify_indexnow every 5 min Drain IndexNow queue (publishes accumulated since last run)
panth_blog_archive_stale_drafts weekly Sun 05:00 Move drafts older than 180 days to archived
panth_blog_heartbeat daily 08:00 Install reporter heartbeat (suppressed when Panth_Core consolidates pings)

REST & GraphQL APIs

REST endpoints

GET    /V1/panth-blog/posts                 — list (anonymous)
GET    /V1/panth-blog/posts/:id             — single by ID (anonymous)
POST   /V1/panth-blog/posts                 — create (admin token)
PUT    /V1/panth-blog/posts/:id             — update (admin token)
DELETE /V1/panth-blog/posts/:id             — delete (admin token)

# Same shape for /V1/panth-blog/categories, /V1/panth-blog/tags, /V1/panth-blog/authors

GraphQL queries (read-only)

{
  panthBlogPosts(filter: {category_url_key: "hyva"}, pageSize: 10, currentPage: 1) {
    items {
      post_id
      url_key
      title
      short_description
      featured_image
      published_at
      reading_time_min
      author_id
    }
    total_count
    page_info { current_page page_size total_pages }
  }
  panthBlogPost(urlKey: "getting-started-with-hyva") {
    post_id title content tldr_summary word_count
  }
  panthBlogCategories { category_id url_key name post_count }
  panthBlogTags { tag_id url_key name post_count }
  panthBlogAuthors { author_id url_key display_name role short_bio }
}

FAQ

Q: Does Panth Blog work without Hyva? A: Yes. Luma is fully supported — the storefront ships a complete pb-* BEM stylesheet that does not depend on Tailwind. Visual design is identical on both themes.

Q: How does Panth Blog compare to Mirasvit / Magefan Blog? A: Panth Blog is built SEO-first with native JSON-LD (BlogPosting + Person + Breadcrumb + FAQPage + HowTo), llms.txt + IndexNow integration, and strict DI engineering. It does not bundle WordPress-import or comment-spam-protection scaffolding that most stores never use.

Q: Can I disable the AI features? A: Yes — every AIO/AEO feature has an admin toggle. Set panth_blog/aio/llms_txt_include=0 to remove the blog section from /llms.txt; disable markdown export at panth_blog/aio/markdown_export_enabled=0; toggle HowTo schema at panth_blog/aeo/howto_auto_detect=0.

Q: What happens if I change the route front name from blog to articles? A: All URLs (/articles, /articles/page/2, /articles/category/..., /articles/feed.xml, etc.) work immediately after a cache flush. Pagination, canonical URLs, feed discovery, JSON-LD @id fields, and breadcrumbs all follow the new front name dynamically.

Q: Are comments production-ready? A: The database schema, repository, observer, and admin moderation grid are production-ready. The frontend submission form ships disabled by default. Rate-limiting and captcha provider hooks are scaffolded — see Controller/Comment/Submit.php for the integration points.

Q: Does Panth Blog work with Adobe Commerce Cloud? A: Yes. The module is composer-installable, uses declarative schema, has no environment-specific file writes, and respects all Magento Cloud read-only filesystem constraints.

Q: Can I migrate existing blog content into Panth Blog? A: Yes via the CLI: bin/magento panth:blog:post:import path/to/post.md accepts YAML frontmatter for title, url_key, author, status, published_at, short_description, tags, and categories. Run it in a loop from your existing platform's export.

Support

About Panth Infotech

Panth Infotech is a Magento-focused development agency led by Kishan Savaliya — Adobe-Certified Magento Developer with 10+ years of experience and Top Rated Plus status on Upwork. We build custom modules, Hyva themes, performance optimizations, and Adobe Commerce Cloud deployments for stores around the world.

Other Panth modules: Panth_Core, Panth_Faq, Panth_XmlSitemap, Panth_HtmlSitemap, Panth_LlmsTxt, Panth_IndexNow, Panth_Hreflang, Panth_Crosslinks, and more.

Visit our website: kishansavaliya.com  |  Get a free quote: kishansavaliya.com/get-quote

License

Proprietary © Panth Infotech. All rights reserved. See LICENSE.txt for details.