Documentation

Find documentation for our Joomla extensions on this page.

JoomFAQs - SEO Configuration

JoomFAQs includes a suite of built-in SEO features designed to help your FAQ content rank well in search engines and display attractively when shared on social media. This guide walks you through every SEO option available in the component, from Schema.org structured data to Open Graph and Twitter Card meta tags.

All global SEO settings are found in the Joomla administrator under Components > JoomFAQs > Configuration > SEO tab.


Table of Contents

  1. FAQ Schema Markup (Schema.org)
  2. Enabling and Disabling Schema Markup
  3. Open Graph Tags
  4. Twitter Cards
  5. Per-Question Meta Fields
  6. SEF URLs and Routing
  7. Global SEO Configuration Reference
  8. Testing Your Schema Markup
  9. Best Practices for FAQ SEO
  10. Related Guides

1. FAQ Schema Markup (Schema.org)

What Is It?

FAQ Schema markup is a form of structured data that uses the Schema.org FAQPage vocabulary. When you add this markup to your FAQ pages, you are giving search engines a machine-readable description of your questions and answers.

Why It Matters

Google and other search engines use FAQPage structured data to generate rich results -- expanded listings in search results that display your questions and answers directly on the results page. This can significantly increase your click-through rate and visibility.

A typical rich result shows your FAQ questions as expandable dropdowns right within the Google search listing, allowing users to read answers without even visiting your site. While this might sound counterproductive, it actually increases trust and drives more qualified traffic.

How JoomFAQs Generates Schema Markup

JoomFAQs automatically outputs FAQPage schema as JSON-LD in the <head> section of your pages. The component handles two scenarios:

Category pages -- All published questions with answers in the category are included as a single FAQPage schema block. This is the most common and effective use, since Google expects multiple Q&A pairs on a FAQPage.

Single question pages -- The individual question and its answer are output as a FAQPage schema with one Q&A entry.

Example: Category Page Schema Output

When a visitor loads a category page containing three questions, JoomFAQs injects the following into the page <head>:

<script type="application/ld+json">
{
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
        {
            "@type": "Question",
            "name": "How do I reset my password?",
            "acceptedAnswer": {
                "@type": "Answer",
                "text": "Navigate to Settings, click Security, then choose Reset Password. You will receive a confirmation email."
            }
        },
        {
            "@type": "Question",
            "name": "What payment methods do you accept?",
            "acceptedAnswer": {
                "@type": "Answer",
                "text": "We accept Visa, MasterCard, PayPal, and bank transfers."
            }
        },
        {
            "@type": "Question",
            "name": "How long does shipping take?",
            "acceptedAnswer": {
                "@type": "Answer",
                "text": "Standard shipping takes 3-5 business days. Express shipping is available for 1-2 business day delivery."
            }
        }
    ]
}
</script>

Example: Single Question Page Schema Output

<script type="application/ld+json">
{
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
        {
            "@type": "Question",
            "name": "How do I reset my password?",
            "acceptedAnswer": {
                "@type": "Answer",
                "text": "Navigate to Settings, click Security, then choose Reset Password. You will receive a confirmation email."
            }
        }
    ]
}
</script>

Note that HTML tags are automatically stripped from answer text before it is placed in the schema. The component also skips any questions that have an empty answer, so unpublished or pending answers will not produce invalid schema.


2. Enabling and Disabling Schema Markup

FAQ Schema is enabled by default when you install JoomFAQs.

To toggle it:

  1. Go to Components > JoomFAQs > Configuration (or click the gear icon on the JoomFAQs dashboard).
  2. Click the SEO tab.
  3. Find the Enable FAQ Schema option.
  4. Set it to Yes (enabled) or No (disabled).
  5. Click Save.

When disabled, no application/ld+json script block will be added to any JoomFAQs pages.


3. Open Graph Tags

What They Do

Open Graph (OG) meta tags control how your FAQ pages appear when shared on Facebook, LinkedIn, WhatsApp, Slack, and other platforms that support the Open Graph protocol. They determine the title, description, image, and URL that appear in the share preview card.

What JoomFAQs Generates

When Open Graph is enabled, JoomFAQs adds the following meta tags to the <head> of your pages:

For category pages:

<meta property="og:type" content="website" />
<meta property="og:url" content="https://example.com/faq/general" />
<meta property="og:title" content="General FAQ - My Site" />
<meta property="og:description" content="Find answers to frequently asked questions about..." />
<meta property="og:site_name" content="My Site" />
<meta property="og:image" content="https://example.com/images/category-image.jpg" />
<meta property="og:locale" content="en-GB" />
<meta property="fb:app_id" content="123456789" />

For single question pages:

<meta property="og:type" content="article" />
<meta property="og:url" content="https://example.com/faq/general/how-do-i-reset-my-password" />
<meta property="og:title" content="How do I reset my password? - My Site" />
<meta property="og:description" content="How do I reset my password? - Navigate to Settings, click Security..." />
<meta property="og:site_name" content="My Site" />
<meta property="og:image" content="https://example.com/images/logo.png" />
<meta property="og:locale" content="en-GB" />

Notice that category pages use og:type of website, while individual question pages use article.

How Descriptions Are Determined

The component follows a fallback chain for Open Graph descriptions:

  • Category pages: Page meta description (if set) -> category meta description -> first 200 characters of the category description (HTML stripped).
  • Question pages: Page meta description (if set) -> question's meta description field -> the question text combined with the first 100 characters of the answer text.

How Images Are Determined

The component looks for images in this order:

  1. The category image or question image (if one is associated).
  2. The site template logo (from your active template's parameters).
  3. If neither is found, the og:image tag is omitted.

Enabling Open Graph

  1. Go to Components > JoomFAQs > Configuration > SEO tab.
  2. Set Enable Open Graph to Yes.
  3. Optionally enter your Facebook App ID (this is used for Facebook Insights analytics -- it is not required for sharing to work).
  4. Click Save.

4. Twitter Cards

What They Do

Twitter Card meta tags control how your FAQ pages appear when links are shared on X (formerly Twitter). JoomFAQs uses the summary_large_image card type, which shows a large featured image alongside the title and description.

What JoomFAQs Generates

<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="How do I reset my password? - My Site" />
<meta name="twitter:description" content="How do I reset my password? - Navigate to Settings..." />
<meta name="twitter:image" content="https://example.com/images/logo.png" />
<meta name="twitter:site" content="@yourcompany" />
<meta name="twitter:creator" content="@authorname" />

Configuration Options

  1. Go to Components > JoomFAQs > Configuration > SEO tab.
  2. Set Enable Twitter Card to Yes.
  3. Fill in the optional fields that appear:
    • Twitter Site -- Your organization's X/Twitter handle (e.g., @yourcompany). This identifies the website's account.
    • Twitter Creator -- The content creator's X/Twitter handle (e.g., @authorname). This identifies the individual author.
  4. Click Save.

Both the Twitter Site and Twitter Creator fields are optional. If left empty, those particular meta tags will simply be omitted. The title, description, and image tags will still be generated.

The description and image fallback logic is the same as described in the Open Graph section above.


5. Per-Question Meta Fields

Each individual FAQ question has its own SEO fields that you can fill in when editing the question in the Joomla administrator.

Accessing the Meta Fields

  1. Go to Components > JoomFAQs > Questions.
  2. Click on a question to edit it.
  3. Click the Meta data tab (labeled "seo" in the edit form).

Available Fields

FieldDescriptionRecommendation
Meta Description A short summary of the question and answer, used by search engines in their results pages and as a fallback for Open Graph/Twitter descriptions. Write a clear, concise description of 120-160 characters that naturally includes relevant keywords.
Meta Keywords A comma-separated list of keywords relevant to this question. While most modern search engines no longer use meta keywords for ranking, some specialized search tools may still reference them. Keep the list short and relevant.

How These Fields Are Used

  • Page <meta> tags: When a visitor loads a single question page, the meta description is set as the page's <meta name="description"> tag, and the meta keywords are set as <meta name="keywords">.
  • Open Graph fallback: If the question's meta description is set, it is used as the og:description value on the single question page.
  • Twitter Card fallback: Similarly, it is used as the twitter:description value.
  • Schema markup: The schema answer text is always derived from the answer content itself (HTML stripped), not from the meta description.

Question Alias (URL Slug)

In addition to the meta fields, each question has an Alias field. This controls the URL slug used in SEF URLs. For example, a question with the alias how-to-reset-password would produce a URL like:

https://example.com/faq/general/how-to-reset-password

If you leave the Alias field blank, JoomFAQs will use the question ID instead.


6. SEF URLs and Routing

How JoomFAQs Handles URLs

JoomFAQs uses Joomla's RouterView system to generate clean, search-engine-friendly URLs. The router supports nested categories, so your URL structure reflects your FAQ hierarchy.

URL Structure

By default, JoomFAQs removes numeric IDs from URLs and uses aliases instead. Here is how URLs are structured:

ViewURL PatternExample
Category /menu-alias/category-alias /faq/billing
Nested subcategory /menu-alias/parent-alias/child-alias /faq/billing/refunds
Single question /menu-alias/category-alias/question-alias /faq/billing/how-do-i-get-a-refund

Router Rules

The JoomFAQs router applies rules in the following order:

  1. Form Rules -- Custom routing rules specific to JoomFAQs.
  2. Menu Rules -- Matches URLs to menu items.
  3. Standard Rules -- Joomla's default routing logic.
  4. No-menu Rules -- Fallback routing when no menu item is assigned.

Tips for Clean URLs

  • Always create a menu item for your top-level FAQ category. This gives the router a "root" to build clean URLs from. Without a menu item, Joomla falls back to less attractive URL patterns.
  • Set meaningful aliases for both categories and questions. If you leave the alias blank on a question, the question ID will be used.
  • Make sure Joomla's SEF URLs are enabled in System > Global Configuration > SEO Settings. Enable both "Search Engine Friendly URLs" and "Use URL Rewriting" for the cleanest results.

7. Global SEO Configuration Reference

All settings below are found under Components > JoomFAQs > Configuration > SEO tab.

SettingTypeDefaultDescription
Enable FAQ Schema Yes/No Yes Outputs Schema.org FAQPage structured data (JSON-LD) in the page <head>. This is used by Google to generate rich results.
Enable Twitter Card Yes/No Yes Outputs Twitter Card meta tags (twitter:card, twitter:title, twitter:description, twitter:image). Uses the summary_large_image card type.
Twitter Site Text (empty) Your organization's X/Twitter handle (e.g., @yourcompany). Only shown when Twitter Card is enabled.
Twitter Creator Text (empty) The content creator's X/Twitter handle (e.g., @authorname). Only shown when Twitter Card is enabled.
Enable Open Graph Yes/No Yes Outputs Open Graph meta tags (og:type, og:title, og:description, og:image, etc.) for rich previews on Facebook, LinkedIn, and other platforms.
Facebook App ID Text (empty) Your Facebook App ID for Facebook Insights analytics integration. Optional. Only shown when Open Graph is enabled.

8. Testing Your Schema Markup

After enabling FAQ Schema, you should validate that the markup is correct and eligible for rich results.

Step 1: Check the Page Source

  1. Visit one of your FAQ category pages on the frontend.
  2. View the page source (right-click > "View Page Source" in most browsers).
  3. Search for application/ld+json in the source.
  4. Verify that you see a JSON block with "@type": "FAQPage" and your questions listed under "mainEntity".

Step 2: Use Google's Rich Results Test

  1. Go to https://search.google.com/test/rich-results.
  2. Enter the URL of your FAQ category page.
  3. Click Test URL.
  4. Google will analyze the page and report whether it detects valid FAQ structured data.
  5. If valid, you will see a green checkmark next to "FAQ" with a preview of how it might appear in search results.

Step 3: Use Schema Markup Validator

For a more detailed technical validation:

  1. Go to https://validator.schema.org/.
  2. Paste the URL of your FAQ page.
  3. The tool will parse all structured data on the page and highlight any errors or warnings.

Step 4: Monitor in Google Search Console

After your pages are indexed:

  1. Log in to Google Search Console.
  2. Navigate to Enhancements > FAQs (this section appears once Google detects FAQ markup on your site).
  3. Review any errors or warnings that Google has identified.
  4. Monitor impressions and clicks for pages with FAQ rich results under Performance > Search results (filter by "Search appearance: FAQ rich results").

Common Issues

  • No rich results showing: Google does not guarantee rich results even with valid markup. It depends on the page quality, search query, and Google's own algorithms. Ensure your content is high-quality and your site has good overall SEO health.
  • Empty answers: Questions without answers are automatically excluded from the schema output. Make sure all published questions have answers.
  • Duplicate FAQPage markup: If another extension or template also outputs FAQPage schema, you may have duplicate structured data. Disable FAQ Schema in JoomFAQs or in the other source to avoid conflicts.

9. Best Practices for FAQ SEO

Write Clear, Specific Questions

Use the exact phrasing your users would type into a search engine. "How do I cancel my subscription?" is better than "Cancellation" or "About cancellations."

Provide Complete Answers

Google prefers answers that fully address the question. Avoid one-word or overly brief answers. Aim for at least 2-3 sentences per answer.

Use One Question Per FAQ Item

Do not combine multiple questions into a single FAQ entry. Each entry should address exactly one question with one answer.

Fill In Meta Descriptions

For your most important questions, write a custom meta description that summarizes the Q&A pair. This gives you control over what appears in search results and social media previews, rather than relying on auto-generated text.

Set Meaningful Aliases

Choose short, descriptive URL slugs for your questions. For example, reset-password is better than leaving the alias blank and getting a numeric ID in the URL.

Create Category Menu Items

Always create at least one menu item pointing to your top-level FAQ category. This is essential for clean URL generation and helps search engines understand your site structure.

Keep Categories Organized

Use a logical hierarchy of categories and subcategories. This not only helps users navigate your FAQs but also produces clean, hierarchical URLs that search engines can follow.

Add Category Images

Adding an image to your FAQ categories provides a fallback for Open Graph and Twitter Card image tags, making your shared links more visually appealing on social media.

Do Not Duplicate Content

Avoid having the same question appear in multiple categories. Duplicate content can confuse search engines and dilute your ranking potential.

Monitor and Iterate

Use Google Search Console to monitor which FAQ pages are generating rich results and how they are performing. Update questions and answers based on what users are actually searching for.

Cron Job Starts

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.

Ok