Skip to content

feat(blog): two editorial SEO posts + single source for blog content - #253

Merged
AutomatosAI merged 1 commit into
mainfrom
feat/blog-seo-posts
Aug 15, 2026
Merged

feat(blog): two editorial SEO posts + single source for blog content#253
AutomatosAI merged 1 commit into
mainfrom
feat/blog-seo-posts

Conversation

@AutomatosAI

Copy link
Copy Markdown
Owner

What

Two real blog posts for budstacks.io/blog, plus the refactor that makes adding a third sane.

Content architecture. Posts lived in two hardcoded arrays — app/blog/page.tsx and app/blog/[slug]/page.tsx — which had already drifted (6 entries vs 8). Editorial posts now live in lib/blog/posts.ts; both pages read from it. The six original samples stay inline until each is rewritten.

Post 1 — "Should You Build Your Cannabis Storefront on WordPress?"
Grounded in our own WordPress fleet rather than generic comparison filler: the four plugins that turned out to be necessary (ID upload, direct pay, local pricing, policies), the fleet-patching problem once you pass a handful of sites, and compliance as structure rather than plugin. States plainly where WordPress is the better choice.

Post 2 — "The Real Economics of a Medical Cannabis Storefront"
Margin per gram, where the 20% share goes and when it stops, overhead by tier, break-even expressed in grams/day, and the patients × reorder-rate multiplier. Includes a section saying the work is not passive — consistent with the guides, which describe a daily order queue and ID approvals.

Editorial decisions worth flagging

  • Framed as economics, not "passive income" as originally briefed. A passive-income claim would contradict our own documentation and is the highest-risk framing for cannabis + earnings.
  • No revenue promises anywhere; the economics post carries an explicit illustrative-figures and not-financial-advice line.
  • Authored as "BudStacks" rather than inventing a person, unlike the sample posts' fictional bylines.

Test plan

  • Typecheck · Lint · Build green
  • /blog lists 8 posts, the two new ones first
  • Both new posts render at their slugs with headings intact (sanitize-html defaults allow h2/ul/strong — verified)
  • Related-posts and generateStaticParams cover both sources
  • Cover images resolve (post-01-franchise.svg, post-06-analytics.svg)

The platform blog kept its posts in two hardcoded arrays - one in the index,
one in the detail page - which had already drifted out of sync. Editorial posts
now live in lib/blog/posts.ts and both pages read from it, so a new post is one
edit rather than two.

Adds two posts written against what the product actually does:
- WordPress vs BudStacks, grounded in the four plugins our own WordPress fleet
  needed (ID upload, direct pay, local pricing, policies) and the fleet-patching
  problem at scale. Names the cases where WordPress is the better answer.
- The real economics of a storefront: margin per gram, where the 20% share goes
  and when it stops, break-even in grams/day, and an explicit statement that the
  work is not passive - which matches the guides rather than contradicting them.

Both avoid earnings promises; the economics post carries an illustrative-figures
disclaimer. The six original sample posts stay inline until each is rewritten.
@coderabbitai

coderabbitai Bot commented Aug 15, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@AutomatosAI, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 20 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 82e1b29c-ad9c-416e-8169-a70a0feeef5b

📥 Commits

Reviewing files that changed from the base of the PR and between 5bbf2c6 and 2dd8fb5.

📒 Files selected for processing (3)
  • nextjs_space/app/blog/[slug]/page.tsx
  • nextjs_space/app/blog/page.tsx
  • nextjs_space/lib/blog/posts.ts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@AutomatosAI
AutomatosAI merged commit 002b6bf into main Aug 15, 2026
7 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants