Blog Revolution: setup and help
Quick start
- Upload and install mprblogrevolution, then open Blog > Settings > Configuration.
- Set URL prefix, Posts per page, List layout and the intended comments policy.
- Create an author and category under Blog > Authors and Blog > Categories.
- Add a post with Title, Content, URL slug, Category and Author; fill your required languages.
- Set Status to Published and Publish date to the intended publication time, then save.
- Open the blog and post, check images and product shortcodes, and run Settings > Integrity.
- Submit and moderate a test comment, then check RSS and any theme widgets you enabled.
Requires PrestaShop 1.6.1 or later and PHP 7.1 or later.
Setup manual
Install and publish a test post
Upload and install mprblogrevolution, then click Configure or open Blog > Settings > Configuration. The Blog menu contains Dashboard, Posts, Categories, Tags, Comments, Authors, Import / Export and Settings. Settings contains Configuration, Integrity, License, Support and Update.
Create an author and a category, then open Blog > Posts. Add a post with Title, Content, URL slug, Category, Author, Status and Publish date. Fill translated content for each language you publish. Set Status = Published and a current publish date for your first test. Open the public post from the Back Office and check it before linking it in navigation.
A published post becomes public only when its publish date has arrived according to the database clock and it is active in the requested shop. For a future publication, use Published with a future Publish date. The separate Scheduled status does not automatically change to Published.
Configure listing and dates
Open Blog > Settings > Configuration. In the General group:
- Posts per page. Controls how many posts appear on blog listing pages; default:
12. - List layout. Controls listing style:
grid,list,masonry,cover, orcompact; default:grid. - Grid columns. Controls the number of columns in grid layouts:
2,3, or4; default:3. - Show author. Shows the author name in blog listings and widgets; default:
1. - Show date. Shows the publish date in blog listings and widgets; default:
1. - Show view count. Shows post view counts; default:
1. - Show comment count. Shows comment counts; default:
1. - Show rating. Shows post ratings where the template supports them; default:
1. - Show excerpt. Shows excerpts on post cards; default:
1. - Excerpt length. Sets the maximum length for auto-generated excerpts; default:
200. - Enable likes. Allows visitors to like posts; default:
1. - Show like count. Shows the number of likes next to the like control; default:
1. - Date format. Uses a PHP
date()format string for blog dates; default:M d, Y. - Timezone. Uses an IANA timezone such as
Europe/Warsaw; default:''to use the shop default.
Blog index cards defaults to overlay. Use this to choose the card presentation on the main blog index. Review it together with List layout and Grid columns. Enable only the card metadata you want visitors to see. GDPR compliance defaults on and enables the module's comment export/delete hooks.
The Timezone preference controls date presentation. Publication still follows the database clock. If a future post appears at the wrong time, compare its saved Publish date with the shop database time.
Configure comments, ratings and sharing
Comments
- Enable comments. Enables the native comment form on posts; default:
1. - Allow guest comments. Lets non-logged-in visitors comment with a name and email address; default:
1. - Auto-approve comments. Publishes new comments immediately instead of leaving them pending; default:
0. - Notification email. Sends new comment notifications to this address when filled; default:
''. - Privacy policy URL. Sets the link used by the comment consent checkbox; default:
'', which falls back to/privacy-policy. - Enable ratings. Allows 1-5 star ratings with comments and AJAX rating actions; default:
1. - Comment system. Selects
native,native_disqus,native_facebook,native_social,disqus, orfacebook; default:native. - Disqus shortname. Required for Disqus-only or native-plus-Disqus modes; default:
''. - Facebook App ID. Required for Facebook Comments modes; default:
''. - Enable reCAPTCHA. Protects the comment form with Google reCAPTCHA v2; default:
0. - reCAPTCHA site key. Public key used by the comment form widget; default:
''. - reCAPTCHA secret key. Server-side key used to verify comment submissions; default:
''. - Staff highlight emails. Comma-separated emails whose comments are highlighted as staff comments; default:
''.
Use Blog > Comments to review pending comments. Auto-approve comments = No is the default. New guest comments need a name, valid email, comment text and privacy consent. Comment text must contain 3 to 5000 characters. Native post-level Allow comments also affects the public form.
Choose the native comment system for the initial test. For Disqus modes, set Disqus shortname. For Facebook modes, set Facebook App ID. Mixed native/social modes retain the native form alongside the selected social system. Google reCAPTCHA v2 needs both keys before it can protect native submissions.
Comment moderation and reply notifications are on by default, with no separate fields in the current form. Auto-approval controls publication. Reply notifications depend on the configured shop mail delivery. Set Notification email to receive new-comment notifications.
Social
- Enable social sharing. Shows the sharing block on post pages; default:
1. - Facebook. Shows the Facebook share button; default:
1. - Twitter/X. Shows the X/Twitter share button; default:
1. - Pinterest. Shows the Pinterest share button; default:
1. - LinkedIn. Shows the LinkedIn share button; default:
1. - WhatsApp. Shows the WhatsApp share button; default:
1. - Email. Shows the email share button; default:
1.
The native share block also supports copying the post link. Check the generated title, image and URL in a public post before sharing it.
Native comment data requests
With GDPR compliance enabled, the module registers native comment-data disclosure, export and deletion hooks. Native comments can contain a name, email address and IP address. The export and deletion hooks locate local records by customer ID, or by guest email when no customer ID is supplied. Deletion recalculates ratings for affected posts.
These hooks operate on Blog Revolution's own comment table. They do not export or erase comments held by Disqus or Facebook. Handle those records through the selected provider's tools.
Configure URLs, SEO and RSS
In the SEO group:
-
URL prefix. Sets the base blog URL segment, for example
/blogor/guides; default:blog. -
Schema.org markup. Adds native BlogPosting schema on post pages and CollectionPage schema on first listing pages; default:
1. -
OpenGraph tags. Adds social preview meta tags on blog pages; default:
1. -
Category URLs. Default:
segment. Use/blog/category/category-slug, or choose the flat mode/blog/category-slug. Flat mode shares the slug namespace with posts. Existing category addresses are handled when switching styles. -
Category pages robots directive. Default:
noindex,follow. -
Paginated blog listing robots directive. Default:
noindex,nofollowafter the first main listing page. -
Blog search robots directive. Default:
noindex,nofollow.
In inherited shop contexts, the robots fields may offer Inherit with the effective parent directive. Set these deliberately for the intended shop.
The native output includes BlogPosting data on public posts and listing schema where supported. Hreflang alternates follow the module's public-page integration; there is no separate Hreflang alternates field in this form. When another SEO module owns these tags, inspect the final page source for duplicates.
The default blog title is Blog, and the blog meta description is empty. The default meta title pattern is {title} - {shop_name} and the default meta description pattern is {excerpt}. These defaults have no separate fields in the current configuration form. Use the post's Meta title, Meta description, Meta keywords and optional Canonical URL for individual metadata. No legacy X/Twitter handle is set.
In the RSS group:
- Enable RSS feed. Enables the RSS endpoint at the configured prefix plus
/rss; default:1. - RSS items. Sets the number of posts included in the feed; default:
20. - RSS content. Chooses
excerptorfullcontent in RSS descriptions; default:excerpt.
After changing URL prefix to guides, check these example paths:
/guides
/guides/my-post-slug
/guides/category/category-slug
/guides/tag/tag-slug
/guides/author/author-slug
/guides/archive/2026/6
/guides/search
/guides/rss
Use the shop-generated links when your shop adds a language prefix or subdirectory. Authors also have a listing page. Open RSS and inspect its title, author/category data, publish dates, chosen excerpt/full content and image enclosures.
Edit post types and insert products
The post editor supports Short title, Excerpt, Featured Image, Cover Image, Tags, Featured, Allow comments, Access restriction and product selection as well as the initial fields. One post stores one author ID. Create separate author profiles in Blog > Authors as needed.
Choose Post type standard, gallery, video or link. Set Video embed code for a video post and External URL for a link post. Use only content you intend to publish. Review the rendered result for each type.
Add related products with the post's product selector. To place products inside Content, use these shortcodes:
[products ids="12,34,56,78"]
[products category="3" limit="4"]
[products new limit="4"]
[products bestsellers limit="4"]
The default shortcode limit is 4 and the maximum is 12. Only active products the shop can load are displayed. A shortcode with no valid products is removed from the output.
On a public post, check the title, metadata, images, article content, generated table of contents when enough H2/H3 headings exist, share block, author, related content, related products, comments, ratings and likes. Their visibility depends on your settings and theme.
Import and export content
Open Blog > Import / Export. Back up current data before importing. The WordPress import accepts WXR XML up to 50 MB, subject to your server's upload limits. SimpleBlog imports are also supported. Inspect imported authors, categories, dates, slugs, images, related content and publication state before exposing them.
Export Blog Revolution data as XML or JSON before a migration. Do not assume a data export alone contains all binary image files; back up the image storage too. There is no fixed module count limit for posts, categories, tags or comments. Hosting, database size and Back Office operations still constrain practical volume.
Place widgets and customize the theme
The module can render home, footer, column and product-related widgets. If your theme does not render a position, add it deliberately in the theme template:
{hook h='displayHome' mod='mprblogrevolution'}
{hook h='displayLeftColumn' mod='mprblogrevolution'}
{hook h='displayRightColumn' mod='mprblogrevolution'}
{hook h='displayFooter' mod='mprblogrevolution'}
{hook h='displayFooterProduct' mod='mprblogrevolution' product=$product}
Theme overrides can use these paths:
themes/your_theme/modules/mprblogrevolution/views/templates/front/post.tpl
themes/your_theme/modules/mprblogrevolution/views/templates/front/list.tpl
themes/your_theme/modules/mprblogrevolution/views/templates/front/_partials/_post_card.tpl
themes/your_theme/modules/mprblogrevolution/views/templates/front/_partials/_product_block.tpl
Useful CSS targets include .mprblog-post-title, .mprblog-product-block, .mprblog-comment-form and .mprblog-star. The rating color uses --mprblog-star, with fallback #e8a838.
MPR Search Revolution can receive blog articles through actionMprSearchRevolutionRegisterContentProviders. The blog returns its versioned provider descriptor when that integration hook is called. The blog also has native search/AJAX search and sitemap hooks. Test the installed search and sitemap providers rather than assuming a hook registration alone makes a post appear in every search or sitemap.
Verify, troubleshoot and uninstall
Run Blog > Settings > Integrity. Open the blog index, a post, category, tag, author, archive, search and RSS in the intended shop and languages. Submit a guest test comment with consent, approve it, test a reply and check mail delivery. Test a rating and a like separately.
If a post is missing, check Published status, database time, language content, shop activation and access restriction. If images fail, check stored filenames, folder permissions and regenerated variants. If widgets fail, check the theme hooks and sidebar switches. For comments, check global and post controls, moderation, guest permissions, consent and any configured reCAPTCHA or social credentials.
Export data and back up images before uninstalling. Uninstall removes menus, module configuration and module schema. The image folder remains regardless of the delete-images preference. Remove scheduler or navigation integrations you added, and replace inbound blog links. Do not expect posts or comments to remain usable after uninstall.
Compatibility
Requires PrestaShop 1.6.1 or later and PHP 7.1 or later.
Questions
No questions about this module yet
Ask anything about installation, compatibility or setup. Answers appear here.
Known Issues
51
Blog post URLs return 404 after changing the blog route prefix
Changing the route prefix from /blog to /journal causes all existing posts to return 404 because old URLs are not redirected.
Resolution note
Added automatic 301 redirect generation for all existing posts when the route prefix changes.
Undated WordPress imports appeared published but stayed hidden
Duplicate breadcrumb structured data appeared
Language switcher opened the wrong blog address
Mixed SEO module versions produced incorrect blog metadata
Updated date was missing from article headers
Widgets and dates could fail in the page context
Publication counts were inconsistent between shops
Blog footer made phone pages too wide
Blog settings lost inherited or unchanged values
Article snippets joined words or decoded text incorrectly
Widget caches were not refreshed correctly
Newsletter call to action lost translations
Security hardening
Comment dialogs could stop working with mixed comment modes
Unapproved comments cleared public page caches
Cached blog content stayed outdated
Scheduled publication cache timing was incorrect
Latest Articles colours ignored blog settings
Theme integration could fail alongside other modules
Large camera photos could fail during processing
Blog text stayed in English in other languages
Footer widgets broke floated footer layouts
Blog content ignored the theme page layout
Blog pages failed with subdirectory image addresses
Author lists displayed broken portraits
Text-only article headers had excessive empty space
Imported photos displayed as dark or letterboxed cards
Old article addresses could redirect across shops
Related product selections became too broad
Fresh installation failed on PrestaShop 9
Article links could point to another shop
Missing articles returned a misleading response
Article ratings and view counts were inaccurate
Older article addresses needed several redirects
Reading-time calculation failed on MySQL 5.7
Blog pages could fail on PrestaShop 8 and 9
Article images caused page content to jump
Blog widget styles were missing
Privacy link did not follow the shop language
Post previews exposed public structured data
Administration list filters did not work correctly
Pagination exposed invalid page addresses
Blog listing social metadata could be duplicated
Article structured data used the wrong address
Noindex pages exposed conflicting search metadata
Alternate blog addresses were not canonicalised
Blog category links used the wrong language
Blog search did not use the correct friendly address
Missing articles redirected to the blog listing
Blog routes hid other blog pages
Feature Requests
33
Implemented
Signed preview links for unpublished blog posts
Clean /page/N pagination for blog listings
Blog publishing
Unpublished post previews
Live sidebar search
Automatic article thumbnails
Modern blog image formats
Localized blog navigation
Author page metadata
Search indexing notification
Back-office module updates
Installation checks
Additional interface languages
Curated related articles
Latest Articles widget styles
Blog index cover image
Transparent artwork covers
Author job titles
Author credential badges
Author pages in sitemaps
Article code blocks
Alternating screenshot sections
SimpleBlog importer
Classic article cards
Cacheable articles with personal likes
Central image alternative text integration
Indexing controls by blog page type
Short category addresses
Variables in authored blog content
Persistent blog search cache
Coordinated blog structured data
Schema module integration for blog content
Performance page cache integration
Changelog
v2.4.142026-05-27
- AddedOpen previews on clean blog URLs
- AddedAdd signed blog post previews
- AddedIntegrate shared assets and style tokens
- AddedRegister actionLanguageLinkParameters hook for PS language selector
- AddedAdd WebP support alongside AVIF in all picture tags
- Addedcomplete FR/DE/ES/IT/PL translations
- ImprovedRemove version query string from asset registration
- FixedNofollow noindex author archive links
- FixedLocalize blog privacy policy link
- FixedConfigure blog privacy consent link
- FixedSuppress preview blog schema
Older releases
v1.3.02026-04-20
- AddedLocalized page keywords + route variants (strona/seite/pagina)
- AddedEmit <link rel="prev"/"next"> for paginated blog listings
- AddedMigrate blog pagination to /page/N + consolidate URL building via shared lib
- AddedAdd hreflang support to all blog front controllers
- Addedself-healing integrity checks for automatic diagnostics and repair
- Addedadmin menu management via MenuInstaller for streamlined module setup
- AddedLicense management tab with key management and renewal options
- Addedcomplete FR/DE/ES/IT/PL translations
- ImprovedRemove stray getCanonicalFromRequest() wrapper
- Improvedadmin list columns with visual badge indicators and multiselect filters
- Improvedsettings form organization with tabbed layout
- ImprovedSEO handling with proper canonical URLs and meta tags on all front pages
- FixedRemove noindex from blog tag and archive pages
- FixedBuild alternative_langs URLs manually instead of getModuleLink
- FixedColumn widget uses CSS vars, drops hardcoded card styling
- Fixedvarious stability and compatibility improvements (10 fixes total)
- Fixedadmin list filters — sorting, searching, and filtering now work correctly on all columns
v1.2.02026-01-19
- AddedPrestaShop 9 and Hummingbird theme compatibility
- AddedXML sitemap generation for blog posts and categories, submitted automatically to configured search consoles
- Improvedrich text editor with image caption, table, and embedded video support
- Fixedcomment moderation email not dispatched when PS mail is configured with SMTP transport
- Optimized blog index query performance by adding compound index on author and publication date
- Addedbreadcrumb Schema.org markup for blog post pages
v1.0.02025-09-26
- Initialrelease of Blog Revolution
- InitialFull blog platform with posts, categories, and tags
- InitialRich HTML editor for post content with inline media embedding
- InitialComment system with moderation queue in back office
- InitialSchema.org Article markup for Google rich snippet eligibility
- InitialPer-post SEO title and meta description fields
v1.1.02025-07-28
- Addedmulti-author support with per-author biography pages and avatar upload
- Addedtag cloud widget for sidebar and footer hook positions
- ImprovedSEO: added OpenGraph and Twitter Card meta tags generated per post
- Fixedpagination returning 404 on page 2 and beyond when URL rewriting is enabled
- Addedestimated reading time display in post header based on word count
Demo
Test the full module before you buy
Buy a licence later and keep your settings.
- Your 30-day demo Test it on your own shop for 30 days from the first install.
- Ready demo shop Explore a ready demo shop in your browser.
- No registration No account, email or store domain needed.
By downloading, you accept the demo terms and privacy policy.
By opening this demo you accept the demo terms and the privacy policy.