⚠ This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
Skip to content

[Feature Request] Community-driven Q&A and Knowledge Lifecycle Management with Schema.org Markup for SEO #3951

@d0ubIeU

Description

@d0ubIeU

Feature Request: Community-driven Q&A and Knowledge Lifecycle Management with Schema.org Markup for SEO

I would like to propose an alternative implementation/extension of the "Open Questions" page for discussion. This description represents an initial draft and is open for community feedback, refinement, or potential rejection if deemed impractical.

Core Concept:
The goal of this concept is to transform the list of open questions into an interactive Q&A ecosystem. Each approved question receives a dedicated detail page where users can submit answers and rate them using a 5-star system. An automated workflow creates a "Shadow FAQ" (draft) in the background, which administrators can review, edit, and publish as an official entry after the community phase. This approach significantly increases SEO visibility through structured data (QAPage) and reduces the administrative burden of content creation.

Optional Implementation:
This community-driven approach is designed to be optional. Administrators should be able to toggle this feature in the system configuration to maintain the classic, simplified "Open Questions" list if preferred.


1. Current State & Objectives

Current State:
The current "Open Questions" module in phpMyFAQ acts as an isolated list with limited interaction possibilities for users. Submitted FAQ suggestions must be evaluated solely by the administrator to ensure accuracy and utility.

Objective:
This request aims to introduce an interactive Q&A ecosystem. By involving the community in the solution process and subsequently transitioning these discussions into curated FAQ entries, phpMyFAQ evolves from a static knowledge base into a dynamic, community-driven knowledge platform.

Core Goals:

  • Increase User-Generated Content (UGC): Actively involve users in the problem-solving process.
  • Maximize SEO Visibility: Leverage granular URL structures and Rich Snippets QAPage, FAQPage, and AggregateRating.
  • Admin Efficiency: Minimize administrator workload through an automated "Shadow-FAQ" workflow.

2. Detailed Workflow (Lifecycle)

Phase 1: Submission & Shadowing (Status: open)

  • Submission: Based on existing permissions, guests and/or users can continue to submit questions. These are initially held in a moderation queue and are not publicly visible.
  • Approval: Only after explicit approval by an administrator is the question listed on the "Open Questions" overview. At this moment, two processes occur simultaneously:
    • Detail Page: The system immediately generates a dedicated detail page (Unique URL) for the discussion, which is linked from the overview.
    • Shadow FAQ: An inactive FAQ entry (faqdata.active = 'no') is created in the background as a permanent container for the later solution, linked via shadow_faq_id.
  • Interaction: After approval, registered users (and guests, if records.allowNewFaqsForGuests = 'true') can submit unlimited answers on this detail page.
  • Rating & Features: A 5-star voting system with IP-Check allows the crowd to evaluate the quality of each individual answer to generate star snippets in search results. There should be a comment function for questions and answers, as well as a share button.
  • SEO Status: The detail page is publicly indexable and marked as a QAPage. The accumulated rating of the answers (or the best answer) is output as aggregateRating to generate star snippets in Google search results.

Phase 2: Moderation & Curation (Status: review)

  • Admin Dashboard: Within the management of open questions, the administrator can see the entire discussion history, all submitted answers, and their respective rating profiles.
  • Shadow Sync: The system automatically suggests the answer with the highest rating as the primary content for the FAQ.
  • Curational Authority: The moderator maintains full control over the knowledge lifecycle. They alone decide when a discussion is mature enough to be closed and transitioned. Specifically, they can:
    • Determine Timing: Decide the exact moment to end the community phase.
    • Edit the top answer (fine-tuning).
    • Manually declare an alternative answer as the "accepted answer".
    • Set the status to "Ready for FAQ".

Phase 3: Transition & Archiving (Status: archived)

  • Activation: With a single click, the Shadow FAQ is set live (active = 'yes'). The published FAQ receives a note stating it originated from community interaction, including a link to the original discussion page.
  • Data Migration: To maintain the "social proof" of the community phase, the following logic is applied when transitioning from the discussion page to the active FAQ:
    • Initialization: The weighted average (legacy_rating_avg) and the number of votes (legacy_rating_count) from the Q&A phase are migrated as starting values into the faqvoting table of the new FAQ ID.
    • Dynamics: Once the FAQ is active, new user votes flow into the same data set. The community starting value is thus organically evolved through the ongoing evaluation of FAQ users.
    • Archive Snapshot: On the original discussion page (Archive), the final rating status at the time of closing is "frozen". This serves as a historical record of the quality of the original discussion, while the FAQ page can develop independently.
  • Archiving: The original discussion page is placed in a Read-Only mode (forms and voting buttons are disabled). Additionally, the discussion page receives a link to the live FAQ containing the "solution to the question". The URL remains intact.
  • List Management: The link to the question disappears from the "Open Questions" overview to make room for new topics.

3. Technical Specifications

A. Database Architecture

  • faq_community_answers: id, question_id, user_id, answer_text, is_accepted, created_at.
  • faq_community_votes: id, answer_id, user_id, vote_value (1-5), timestamp, ip.
  • faqdata (Extension):
    • origin_question_id: Foreign key to the original question.
    • is_community_driven: Flag to identify community-generated content.
    • legacy_rating_avg & legacy_rating_count: For storing historical community votes (Snapshot).
  • faq_questions (Extension): status (open/review/archived), shadow_faq_id.

B. SEO Structure & Rich Snippets

  • Detail Page (Discussion):
    • Schema: JSON-LD QAPage. Addition: aggregateRating for the best answer -> transferred to FAQpage later.
    • URL: Independent URL for each question, linked from OpenQuestionPage and later from the FAQ page.
    • Sitemap: Included in sitemap.xml only after Question admin approval.
  • Canonical Tags: Since the discussion page and the final FAQ can be very similar in content, the archive page should receive a canonical tag pointing to the final FAQ to avoid "Duplicate Content" issues while preserving the history.
  • JSON-LD Dynamics: The aggregateRating on the discussion page must be updated with every new vote so that Google always crawls the current star values.

C. API Enhancements (REST API)

To support external integrations, mobile apps, and headless implementations, the phpMyFAQ REST API should be extended with the following capabilities:

  • Questions Endpoint:
    • Update GET to include the question status (open/review/archived) and the shadow_faq_id.
  • Answers & Comments:
    • GET /questions/{id}/answers: Retrieve all community answers, including their current rating scores and "accepted" status.
    • GET /questions/{id}/comments: Retrieve comments for specific questions or answers.
    • POST /questions/{id}/answers: Submit a new community answer.
  • Voting System:
    • POST /answers/{id}/vote: Submit a 1-5 star rating for a specific answer.
  • Admin & Lifecycle:
    • Potentially new endpoints to allow remote moderation and to trigger the "One-Click-Conversion" (transitioning a question to an active FAQ) via API.

4. UI/UX Requirements

Frontend (User View)

  • Interaction Interface: Clear separation between the initial question and the subsequent answer feed.
  • Visual Feedback: Real-time display of the current star rating average for each individual answer.
  • Archive Notice: A permanent banner on archived discussion pages: "This discussion is closed. You can find the final, editorially reviewed solution here: [Link to FAQ]".

Backend (Admin View)

  • Review Console: An overview of open discussions that can be sorted chronologically or by "Rating Impact" (highest rated answers first).
  • One-Click Conversion: A prominent "Publish as FAQ" button that triggers all database updates (status change, rating transfer, linking) simultaneously.

5. Visualization of the Enhanced Workflow

flowchart TD
    subgraph S1 [Phase 1: Submission & Validation]
        A[User submits question] --> B{Admin: Approval?}
        B -- No --> C[Delete / Reject]
        B -- Yes --> D[System: Create Detail-URL & Shadow-FAQ]
        D --> E[Status: OPEN]
    end

    subgraph S2 [Phase 2: Community Phase & SEO]
        E --> F{Interaction Loop}
        F -->|UGC & API| G[User Answers & Comments]
        F -->|Voting & API| H[1-5 Star Crowdsourcing]
        G & H --> I[SEO: QAPage Snippets / aggregateRating]
        I --> J[Mirror top answer into Shadow-FAQ]
    end

    subgraph S3 [Phase 3: Moderation & AI-Support]
        J --> K[Admin-Dashboard: Review]
        L[AI-Model #3878] -.->|Optional: Sources/Suggestions| K
        K --> M{Curation}
        M -->|Edits| N[Manual Polish / Refinement]
        M -->|Selection| O[Set Accepted Answer]
    end

    subgraph S4 [Phase 4: Transition & Archiving]
        N & O --> P[Status: ARCHIVED / FAQ: ACTIVE]
        P --> Q[Rating Transfer & Read-Only Mode]
        Q --> R[Bidirectional Linking: FAQ <--> Archive]
        R --> S[SEO: FAQPage Schema / Canonical to FAQ]
        S --> T[Remove from 'Open Questions' List]
    end

    Z[All phases supported by extended REST API] -.-> S1
    Z -.-> S2
    Z -.-> S3
    Z -.-> S4

    style D fill:#e1f5fe,stroke:#01579b
    style I fill:#fff9c4,stroke:#fbc02d
    style L fill:#f3e5f5,stroke:#7b1fa2,stroke-dasharray: 5 5
    style P fill:#c8e6c9,stroke:#2e7d32
    style S fill:#ffebee,stroke:#c62828
    style Z fill:#f9f9f9,stroke:#333,stroke-dasharray: 5 5
Loading

6. Business Value & SEO Impact

  • SERP Dominance: Through aggregateRating, even unsolved questions can display attractive star snippets in search results, significantly increasing the Click-Through Rate (CTR).
  • Quality Assurance: The 5-star system automatically pre-filters low-quality content, allowing administrators to focus on polishing the most relevant "essence" of the solutions.
  • Knowledge History: Archiving the discussion history provides valuable context and edge-case information. This strengthens user trust in the official solution and improves Long-Tail SEO by indexing various ways of an answer to a question might be phrased.

I'm happy to discuss technical details or help with the documentation for this workflow.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions