Product support

Get help in the plugin support forum.

Categories

RainLab Blog 2 runs on October CMS 4, but the free add-ons most blogs used for tags, search and view counts were never updated for it. BlogPlus brings those features back in one plugin, tested on October 4.4, and can import your existing tags and view counts from the old add-ons.

WHAT YOU GET

  • Tags: a Tags tab on every post. Type a tag and press Enter; new tags are created when you save, and an existing tag is reused whatever its capitalisation. Manage tags under Blog → Tags, see a Tags column in the posts list and filter posts by tag.
  • Tag cloud and tag pages: show your tags with post counts, sorted by name or by number of posts, each linking to a paginated page of its posts.
  • Blog search: a search box and results page. It searches titles, excerpts, content, tag names and category names, highlights the matching words, ranks posts whose titles contain more of your words first, and can be narrowed to a category or a tag.
  • View counts: counted automatically whenever a post is shown. You don't need to change your theme. Search engine bots, link previews, drafts and your own backend visits are not counted, and each visitor counts once per post per session. See the Views column in the posts list, sort by it, or show {{ post.view_count }} in your theme.
  • Popular posts: the most viewed posts of all time or of the last 7, 30, 90 or 365 days, optionally limited to one category.
  • Related posts: other posts ranked by shared tags first, then shared categories, topped up with your newest posts when needed.
  • Import from the old add-ons: one click (or php artisan blogplus:import) copies tags from Rahman BlogTags and GinoPane Blog Taxonomy, and view counts from Vdomah Blog Views. Running it again never adds anything twice.
  • Settings: switch view counting on or off, count every visit or once per visitor, and include or exclude backend users.
  • Permissions: managing tags and changing settings each have their own permission.

WORKS WITH

October CMS 4.2 and later with RainLab Blog 2.x. MySQL, PostgreSQL and SQLite. Translated (multisite) blogs: post pages, tags, related posts and view counts work on every site; search covers the main language.

SUPPORT

Email support@amjad.com.pk. First reply within 2 business days.

Full guide and product page: https://amjad.com.pk/october-cms/plugins/blogplus

Installation via Command Line

php artisan plugin:install AmjadIqbal.BlogPlus

REQUIREMENTS

October CMS 4.2 or later, RainLab Blog 2.x, PHP 8.2 or later.

SETUP

  1. Install BlogPlus. The migration creates four tables: amjadiqbal_blogplus_tags, amjadiqbal_blogplus_posts_tags, amjadiqbal_blogplus_post_stats (total views per post) and amjadiqbal_blogplus_daily_views (views per post per day, for "last N days").
  2. Posts now have a Tags tab, and the posts list has Tags and Views columns and a Tags filter. Tags are managed under Blog → Tags.
  3. Moving from an old plugin? Use Blog → Tags → Import from old plugins, or run: php artisan blogplus:import It reads the old tables directly (the old plugin doesn't have to work): rahmanblogtags*, ginopane_blogtaxonomy_tags with ginopane_blogtaxonomy_taggables or the older ginopane_blogtaxonomy_post_tag, and vdomah_blogviews_views. Tags are matched by name, case-insensitively. Links to missing posts and non-post links (e.g. series) are skipped. View totals are raised to the old value, never added on top, so it is safe to run more than once.
  4. Add the components to your CMS pages (below).
  5. Optional: Settings → Blog → BlogPlus to change how views are counted.

COMPONENTS

blogPlusTags: tag cloud or list. Properties: sortOrder (name | posts), limit (0 = all), showCounts, tagPage. Only tags with published posts are shown. Each item has a blogplus-tag-weight-1..5 class for sizing.

blogPlusTagPosts: posts with a tag, for a page like /blog/tag/:slug/:page?. Properties: slug, pageNumber, postsPerPage, noPostsMessage, postPage, categoryPage, tagPage. An unknown tag returns a 404; a page number past the end redirects to the last page.

blogPlusSearch: search form and results. Properties: searchParam (default q), resultsPerPage, minLength (default 2), showResults (turn off for a sidebar box), resultsPage (where the form submits), postPage, categoryPage, tagPage. Optional query parameters category=<slug> (includes child categories) and tag=<slug> narrow the search. Every word must appear in the title, excerpt or content, or the phrase must match a tag or category name. Highlighting is HTML-escaped first, and only <mark> is added.

blogPlusPopular: most viewed posts. Properties: postsLimit, period (0 = all time, 7, 30, 90, 365 days), categoryFilter (a category slug, includes child categories), showViews, postPage, categoryPage.

blogPlusRelated: related posts, next to blogPost on the post page. Properties: slug (same as blogPost), results, fillWithRecent, postPage, categoryPage. Each shared tag scores 2 and each shared category 1; newer posts win ties.

TWIG

{{ post.view_count }}: the total views of a post. post.blogplus_tags: the post's tags (name, slug, and url when the component has a tag page set).

VIEW COUNTING

Views are counted when RainLab Blog's own blogPost component shows a published post on a normal GET request. Not counted: AJAX requests, drafts and scheduled posts, empty user agents and bots/previews/monitors (Googlebot, Bingbot, Facebook and WhatsApp previews, curl, headless browsers and similar), logged-in backend users (switchable), and repeat views by the same visitor in the same session (switchable). Daily rows older than about 400 days are pruned by October's scheduler; totals are kept.

PERMISSIONS

amjadiqbal.blogplus.manage_tags: Blog → Tags (rename, delete, import) amjadiqbal.blogplus.settings: the settings page Anyone who can edit a post can tag it, the same as categories.

UNINSTALL

php artisan plugin:remove AmjadIqbal.BlogPlus drops BlogPlus's four tables. RainLab Blog and your posts are not touched.

LIMITATIONS (v1)

  • Search covers each post's main-language text; translated text is not searched yet.
  • Search uses database LIKE matching (as RainLab Blog's own search does). With thousands of very long posts a search takes a few hundred milliseconds.
  • Tags can be renamed and deleted but not merged yet.
  • Series and video embeds are planned for later versions.

FULL GUIDE

https://amjad.com.pk/october-cms/plugins/blogplus

1.0.0

First version of BlogPlus

Oct 12, 2026

1.0.0: First release. If you used Rahman BlogTags, GinoPane Blog Taxonomy or Vdomah Blog Views, open Blog → Tags → Import from old plugins (or run php artisan blogplus:import) to copy your tags and view counts, then swap their components in your theme for the BlogPlus ones (blogPlusTags, blogPlusTagPosts, blogPlusSearch, blogPlusPopular, blogPlusRelated).