Skip to main content

Overview

Content moderation ensures quality and appropriateness of user-generated content. This guide covers comment moderation, post approval workflows, and best practices for maintaining platform standards.

Comment Moderation

Required Permission: You need either admin_completo or editor role permissions to moderate comments.

Accessing Comment Moderation

Navigate to Admin Dashboard > Comments to access the moderation interface. Interface Features:
  • Real-time pending count badge
  • Search and filter capabilities
  • Bulk moderation actions
  • Comment context (post title, author, date)

Comment Status Types

Awaiting moderation
  • Default status for new comments
  • Not visible to public
  • Requires editor review
  • Badge: Yellow/Orange
Typical scenarios:
  • First-time commenter
  • Comment contains flagged keywords
  • Automatic moderation rules triggered
Visible to public
  • Comment passed moderation
  • Publicly visible on the post
  • Can still be reversed to rejected
  • Badge: Green
Hidden from public
  • Failed moderation standards
  • Not visible to public
  • Author can see rejection status
  • Can be approved later if reviewed
  • Badge: Red
Common reasons:
  • Inappropriate language
  • Off-topic content
  • Spam or promotional
  • Policy violations
Marked as unwanted
  • Identified as spam or abuse
  • Hidden from all views
  • May trigger automatic filters
  • Badge: Orange
Characteristics:
  • Promotional links
  • Repetitive content
  • Bot-generated text
  • Unrelated to post content

Moderating Comments

1

Review Comment Content

Each comment card displays:
  • Author name and avatar
  • Current status badge
  • Comment text
  • Post title where comment appears
  • Submission date
  • Like count
  • Any existing moderation notes
Click the post title to view the comment in its full context.
2

Choose Moderation Action

Available actions depend on current status:For Pending Comments:
  • Approve - Make visible to public
  • Reject - Hide from public with reason
  • ⚠️ Mark as Spam - Flag as unwanted content
For Approved Comments:
  • Reject - Remove from public view
For Rejected/Spam Comments:
  • Approve - Restore to public view
3

Add Moderation Notes (Optional)

When rejecting a comment:
  1. Rejection action opens notes dialog
  2. Enter reason for rejection
  3. Notes are stored and visible to admins
  4. Helps maintain moderation consistency
Example notes:
  • “Off-topic discussion”
  • “Contains promotional links”
  • “Inappropriate language”
  • “Duplicate comment”
4

Confirm Action

  • Click the appropriate action button
  • Status updates immediately
  • Success notification appears
  • Comment moves to new status filter

Search and Filter Comments

Search Bar: Search comments by:
  • Comment content text
  • Author name
  • Post title
Status Filter Dropdown:
  • All statuses (default)
  • Pending only
  • Approved only
  • Rejected only
  • Spam only
Statistics Display:
  • 🟡 X pendientes - Comments awaiting review
  • 🟠 X spam - Comments marked as spam
Use “Pending” filter to focus on comments requiring immediate attention.

Bulk Moderation

For efficient comment management:
  1. Filter to target status (e.g., all pending)
  2. Review multiple comments sequentially
  3. Apply actions quickly using action buttons
  4. Monitor the pending count to track progress

Post Approval Workflow

Editors and Administrators can review and approve posts submitted by authors.

Post Status Workflow

1

Author Submits Post

  • Author creates post
  • Submits with status: Pending
  • Post appears in editor’s review queue
  • Author receives submission confirmation
2

Editor Reviews Content

Navigate to Admin > Posts and filter by “Pending” status.Review checklist:
  • Content quality and accuracy
  • Grammar and spelling
  • SEO optimization
  • Image appropriateness
  • Category and tags correctness
  • Policy compliance
3

Editor Takes Action

Three possible actions:1. Approve and Publish:
  • Changes status to “Published”
  • Post becomes publicly visible
  • Author receives approval notification
2. Reject with Feedback:
  • Changes status to “Rejected”
  • Add review notes explaining issues
  • Author can see notes and revise
  • Author can resubmit after changes
3. Request Changes:
  • Change back to “Draft”
  • Add detailed editorial notes
  • Author can continue editing
4

Post Publication

When approved:
  • Status updates to “Published”
  • publishedAt timestamp is set
  • Post appears in public blog
  • Analytics tracking begins
  • Author statistics update

Accessing Post Status Workflow

Method 1: Posts Table
  1. Navigate to Admin > Posts
  2. Filter by status: Pending
  3. Click edit icon for the post
  4. Use quick status change buttons
Method 2: Post Editor
  1. Open post in editor
  2. View Post Status Workflow card in sidebar
  3. See full history and available actions
  4. Take action with contextual buttons

Status Workflow Card Features

Current Status Display:
  • Status badge with icon and color
  • Status description
  • Last update timestamp
Workflow History: Chronological timeline showing:
  • 📝 Post Created
  • 📤 Submitted for Approval
  • ✅ Approved/❌ Rejected
  • 🌐 Published
Available Actions Section: Context-aware buttons based on current status and permissions:
Current StatusAvailable Actions (Editors)
DraftPublish Directly
PendingApprove & Publish, Reject with Notes
PublishedUnpublish (back to Draft)
RejectedN/A (author must resubmit)
Editorial Notes Display:
  • Shows rejection reasons
  • Displays reviewer name
  • Includes review date
  • Helps maintain consistency

Moderation Best Practices

Comment Moderation Guidelines

Should be approved:
  • Add value to the discussion
  • Ask relevant questions
  • Provide constructive feedback
  • Share related experiences
  • Correct factual errors politely
  • Express opinions respectfully
Should be rejected:
  • Contain hate speech or harassment
  • Include spam or promotional links
  • Are off-topic or irrelevant
  • Use excessive profanity
  • Violate privacy or share personal info
  • Spread misinformation
  • Duplicate existing comments
⚠️ Spam indicators:
  • Bot-generated text
  • Repeated promotional messages
  • Links to unrelated sites
  • Generic comments (“Great post!”) with links
  • Nonsensical text
  • Same comment on multiple posts

Post Review Guidelines

  1. Content Quality Standards
    • Minimum 300 words for substantial posts
    • Clear structure with headings
    • Proper grammar and spelling
    • Accurate and fact-checked information
    • Original content (not plagiarized)
  2. SEO Requirements
    • Meta title and description present
    • Focus keyword identified
    • SEO score of 60+ recommended
    • Proper heading hierarchy
    • Alt text for images
  3. Visual Standards
    • Featured image present
    • High-quality images (min 1200x630px)
    • Images relevant to content
    • Proper image attribution
  4. Technical Checks
    • All links functional
    • Proper category assignment
    • Relevant tags applied (3-5 recommended)
    • Code snippets properly formatted
    • Responsive content formatting

Response Time Targets

Recommended Moderation SLAs:
  • Comments: Within 24 hours
  • Spam reports: Within 4 hours
  • Post submissions: Within 48 hours
  • Urgent content: Within 2 hours

Communication Best Practices

When Rejecting Content:
  1. Be Specific
    • ❌ “Content needs improvement”
    • ✅ “Please add at least 2 more paragraphs to meet our 300-word minimum”
  2. Be Constructive
    • ❌ “This is poorly written”
    • ✅ “Consider restructuring with clear H2 headings for each section”
  3. Provide Guidance
    • Include links to style guides
    • Reference examples of good posts
    • Offer specific revision suggestions
  4. Be Timely
    • Review within promised timeframe
    • Set expectations for revision turnaround
    • Update authors on review status

Permission-Based Moderation

Who Can Moderate What

Full moderation access:
  • All comments on all posts
  • All post submissions
  • Can override any moderation decision
  • Access to moderation logs
  • Can set moderation policies
Content moderation:
  • Comments on posts they manage
  • Post submissions from authors
  • Can approve/reject posts
  • Can moderate comments
  • Cannot change moderation settings
Limited moderation:
  • Only comments on their own posts
  • Cannot moderate others’ content
  • Can report inappropriate comments
  • Cannot change comment status
No moderation access:
  • Can only report content
  • Cannot moderate anything
  • Can edit/delete own comments

Troubleshooting

Possible causes:
  • Insufficient permissions
  • Not logged in as editor/admin
  • Comment belongs to another editor’s scope
Solutions:
  • Verify you have editor or admin role
  • Check if you’re viewing comments in your scope
  • Contact admin for permission review
Check:
  • Network connection stable
  • No error notifications appeared
  • Refresh the page to see latest status
If persists:
  • Try the action again
  • Check browser console for errors
  • Report to system administrator
Reasons:
  • No posts currently pending
  • Filter is set incorrectly
  • Lack of necessary permissions
Solutions:
  • Reset filters to “All statuses”
  • Verify editor/admin role
  • Check if authors have submitted posts
Common causes:
  • Browser cache needs clearing
  • Post itself is not published
  • Comment pagination issue
Try:
  • Clear browser cache
  • Verify post status is “Published”
  • Check comment sorting/pagination

Moderation Analytics

Track moderation efficiency: Key Metrics:
  • Total comments moderated
  • Average response time
  • Pending comment count
  • Spam detection rate
  • Post approval rate
  • Revision request rate
Access Statistics:
  • Navigate to Admin > Analytics
  • View Moderation Dashboard
  • Filter by date range
  • Export reports

Technical Reference

Source Code References:
  • Comment Moderation: src/components/admin/CommentsModeration.tsx:11
  • Post Status Workflow: src/components/admin/PostStatusWorkflow.tsx:23
  • Comments Service: src/services/commentsService.ts:170
  • Permission Checks: src/hooks/usePermissions.tsx

Build docs developers (and LLMs) love