From an SEO perspective, WooCommerce category pages often end up in the Search Console report as "Crawled — currently not indexed": too little content, overly generic text, and insufficient use of relevant keywords. The standard solution—a short description at the top—is no longer sufficient for Google. We'll show you how to... additionally below the product list You include a detailed content block that delivers real added value and thus ensures ranking improvements.
From both an SEO perspective and for customers, it makes sense to display content both at the top and at the bottom. WooCommerce Product category pages.
How we can display content below in addition to the "normal description above" is explained here:
Step 1: Add category metadata
Use a plugin like Advanced Custom Fields (ACF) or create custom fields in the functions.php, to save custom content for each category. Here's an example using ACF:
- Install and activate the Advanced Custom Fields plugin.
- Create custom fields for the category pages.
- Go to "Field Groups" > "Add New".
- Create a new field group, e.g., "Category Content".
- Add a field, e.g., "Content below", type WYSWYG Editor.
- Set the field group so that it is only displayed for product categories.
Step 2: Adjusting the functions.php
- Öffnen Sie die
functions.php-file of your active theme. - Add the following code to display custom content for each category:
// Content below the category
add_action('woocommerce_after_main_content', 'add_custom_content_below_category', 5);
function add_custom_content_below_category() {
if (is_product_category()) {
$term = get_queried_object();
$content_below = get_field('inhalt_unten', 'product_cat_' . $term->term_id);
if ($content_below) {
echo '<div class="custom-category-content-below">';
echo $content_below;
echo '</div>';
}
}
}
Explanation of the code:
get_queried_object()This function retrieves the current category object.get_field('inhalt_unten', 'product_cat_' . $term->term_id)This function retrieves the custom field "Content below" for the current category.
Step 3: Add category content
- Go to “Products” > “Categories”.
- Edit a category.
- Add the custom content to the "Content below" field.
Step 4: Testing
Visit different category pages in your WooCommerce store to ensure that the specific content for each category is displayed.
This method allows you to display different content for each product category in the WooCommerce shop, both above and below the category page.
Version without plugin (functions.php only)
If you don't want to install an additional plugin, you can use the entire solution in the functions.php Implement this in your child theme. Prerequisite: WordPress Term Meta API (available since WP 4.4).
// 1. Eingabefeld auf "Kategorie bearbeiten"
add_action('product_cat_edit_form_fields', 'stm_pcat_content_below_field', 10, 2);
function stm_pcat_content_below_field($term) {
$val = get_term_meta($term->term_id, 'stm_content_below', true);
?>
<tr class="form-field">
<th><label for="stm_content_below">Content unten</label></th>
<td><?php wp_editor($val, 'stm_content_below', ['textarea_rows' => 10]); ?></td>
</tr>
<?php
}
// 2. Speichern
add_action('edited_product_cat', 'stm_pcat_save_content_below');
function stm_pcat_save_content_below($term_id) {
if (isset($_POST['stm_content_below'])) {
update_term_meta($term_id, 'stm_content_below', wp_kses_post($_POST['stm_content_below']));
}
}
// 3. Ausgabe unter der Produktliste
add_action('woocommerce_after_shop_loop', 'stm_pcat_render_content_below', 999);
function stm_pcat_render_content_below() {
if (!is_product_category()) return;
$term = get_queried_object();
$val = get_term_meta($term->term_id, 'stm_content_below', true);
if ($val) {
echo '<div class="stm-category-content-below">' . do_shortcode($val) . '</div>';
}
}
Performance and indexing notes
- Write cache-aware:
get_term_meta()It is automatically cached, so there is no performance hit on well-configured servers. - Avoid lazy-loaded contentGoogle only indexes content if it is in the initial HTML — no JavaScript hydration.
- Structured data: for FAQ sections below the product list
FAQPage-Include a schema (via Yoast or a schema plugin) so that rich snippets can be triggered. - Image lazyload for content only outside of the viewport — Hero images in the above-the-fold must be eagerly loaded (LCP-relevant).
What really belongs in the content below
A typical high-quality block has:
- 250–400 words of continuous text containing the 2–3 main keywords of the category.
- A short H3-structured FAQ section (3-5 questions) — brings featured snippet opportunities.
- Crosslinks to thematically related categories.
- Trust signals: Shipping information, guarantees, customer service hotline.
Frequently asked questions
Does duplicated content at the bottom cause harm?
If you copy the same block to 20 categories — yes. Individual text for each category is mandatory, otherwise Google's duplicate content filter will kick in.
Should the content also be mentioned in the sitemap?
Indirectly yes — the content increases the relevance of the URL, but the sitemap itself only contains the URL, not the content.
Can I use the block editor (Gutenberg) instead of TinyMCE?
Yes, with the ACF Pro Flexible Content field or the native wp_editor() In HTML mode. A bit more setup required, but block-consistent.
How do I measure success?
In Search Console, compare impressions and average position for each category—before and after adding the bottom-up content. A 6–8 week observation window is realistic for tracking ranking changes.
WooCommerce SEO optimization by experts
If you don't want to do it yourself, we'll take care of the SEO setup, content structuring, and performance tuning completely. Details at WooCommerce agency Hamburg.








Be the first to leave a comment!