How to add descriptions to category and tag pages in WordPress


WordPress gives us a great opportunity to add descriptions to almost all elements in our website. In the tutorial today, we will learn how to deal with category and tags descriptions and how to make our tag and category pages better SEO optimized. In other words, this is about custom category page in wordpress.

How to add tag and category descriptions

The first part of the tutorial is focused on preparations. To do so, we have to add a few categories to our WordPress instance and a few tags assigned to our posts. Here is how to do it:

Login to wp-admin section and click Categories under Posts menu. There you will find Add New Category option. Now add a category name, slug and short description which will later be used for SEO purposes.

The same way find Tags menu under Posts tab and add a few tags making sure they have names, slugs and descriptions up to 100 characters.

How to build tags and category pages

After these changes we are ready to start building our tags and category pages. In the tutorial named How to create WordPress theme from scratch we learned how to build a simple WordPress theme. If you followed its steps, you have the theme files and you can just copy the code of single.php file to tag.php and category.php. Note that these two files handle the requests towards tags and category pages. The loop inside these two files will remain the same. We can easily optimize it further, but today we are focuses on descriptions and the default code would do the job.

How to optimize tags page

Before making our tag page better SEO optimized, let’s make a little test to see what WordPress knows about our tags. To do so we will print the information that comes from WordPress using print_r. Here is what needs to be done.

Open tag.php file and right after

<div class="content rounded">

add the following piece of code:

<?php

$check_tags = get_tags();

echo '<pre>';

print_r($check_tags);

echo '</pre>';

?>

The result would be similar to this one:

WordPress tag objects

WordPress tag objects

In my case I see two objects in an array and each one represents one of my tags. As you can see they have names, slugs taxonomies, IDs, descriptions and so on. Our task is to grab the names and descriptions. We can then print them in our page or in head section as page descriptions. This presumably would increase our SEO score or at least the general rules say so. From this point on, we have two options to extract the names and descriptions. We can either loop through the objects or use some built in functions. Luckily we have handy functions that would help in this case. Let’s replace:

<?php

$check_tags = get_tags();

echo '<pre>';

print_r($check_tags);

echo '</pre>';

?>

with:

<p>Our tag is: <?php single_tag_title(); ?></p>

<?php if (is_tag()) {

            echo tag_description();

}

?>

and refresh the tag page. Now instead of seeing the objects, we see only the name of the tags we are reviewing and its description. Here is an example:

WordPress tag description

WordPress tag description

So far we managed to obtain the elements we need and we can now proceed and add then in head section of our WordPress instance. The head section is defined in header.php file which I part of our theme. To apply the modification, we need to open the file and add the following code before the closing head tag as shown below:

<?php if (is_tag()) {

            $tag_description=tag_description(); ?>

            <meta name="description" content="<?php echo  strip_tags( $tag_description); ?>" />

<?php } ?>

That code says if the current page is tag page and the tag in question has description, print it as meta name description. Do not forget to save and close the file and then refresh the page. Then check its source code and you will find the tag description printed as meta name description. In my case the relevant piece of the source code is as follows:

<meta name=”description” content=”this is the description of mytag ” />

where ‘this is the description of mytag’ exactly matches the description I added to my tag. In some particular cases, the tag description may come wrapped with HTML elements, so we use strip_tags function to remove them from the string. This way we get only the text element of the description.

Custom category page

The approach we will apply to our category pages is fairly similar to the above described one. As a first step here, we will again make a test with simple variable and print_r option. Let’s open category.php page add:

<?php $category = get_category( 3);

echo '<pre>';

print_r($category);

echo '</pre>';

?>

right after :

<div class="content rounded">

With this piece of code we get all the elements related to a given category. The expected result is shown below:

WordPress category parameters

WordPress category parameters

From all these elements we need to extract the description. Later we will display it on the page and in head section. Now we can change:

<?php $category = get_category( 3);

echo '<pre>';

print_r($category);

echo '</pre>';

?>

to:

<?php if (is_category()) {

 $description=category_description();

 echo $description;  

 } ?>

The code checks if the page we are on is category page and then defines a new variable equal to category description and finally prints it. The expected result is similar to the following one:

WordPress category description

WordPress category description

Generally speaking we can get the category name as well, but according to our theme functionality, this is not needed. The name is already shown in the menu and breadcrumbs so the visitors know where they are.

The final part of the tutorial is focused on category page SEO stats. To improve them by adding description to the page, you should open header.php file and add the following pieceof code before the closing head tag:

<?php if (is_category()) {

  $cat_description=category_description();?>

  <meta name="description" content="<?php echo  strip_tags( $cat_description); ?>" />

<?php } ?>

The code says if the page we are on is category, then set a custom variable, make it equal to category description and then print it as meta description. After this modification, you can refresh any category page and check its source code. There you will find the result of the code we added to our theme. In my case the category page description is as follows:

<meta name="description" content="Description of category 2"/>
Summary
Custom category and tag pages in wordpress - how to add descriptions
Article Name
Custom category and tag pages in wordpress - how to add descriptions
Description
How to customise wordpress pages - custom category and tag pages. How to add description to tags and category pages - detailed tutorial
Author
Publisher Name
wppotion


Do you want to share your opinion?

Your email address will not be published. Required fields are marked *


*

We are not industry specific. We are WordPress specific. We work with everyone to help them find solutions with their troubles.
If you show us the problem you are experiencing, we will show you how to fix it. It is that simple.


Reported WordPress issues

  1. Content Management System that works like a paid library?
  2. Visual editor more tag
  3. Wordpress - user uploads article with url only
  4. W3tc Eliminate render-blocking resources, wp-content/cache/minify/d9b67.default.include.39bb06.css?
  5. Wordpress Customize not working - load-scripts.php errors
  6. how pass shortcode parameter variable to theme file?
  7. How to add WP variables to GD imagepng
  8. WordPress page leave too much space
  9. Elementor pop up box
  10. Embedded maps showing as blank space on Wordpress site

WordPress problems we are working on

  1. How and where to write a logic to append strings at the end of an external link in wordpress blog posts
  2. Assign template to a post type via Javascript
  3. Is it possible to build a reccomendation engine in Wordpress based on $wpdb class and SQL? [on hold]
  4. Wordpress Paid Membership Pro recurring payments with Strip payment not working
  5. How pass WordPress shortcode with Parameters to template
  6. Translate Maintenance Pro Plugin WordPress
  7. Wordpress Admin Can't Login - ERROR: Cookies are blocked or not supported by your browser
  8. Javascript, Open/Close function
  9. How to make a search function with dropdown?
  10. How to store cookie value as a variable in Ionic 3 WordPress API -

Resolved issues

  1. CSS skewed sub-menu items displaying incorrectly
  2. Vue.js Axios Wordpress call
  3. How to get multipal post type archive?
  4. Wordpress PHP proper way to select row from table
  5. Implementing a user specific editable calendar
  6. Square POS integration into WordPress
  7. WPBakery post grid “Narrow data source” only shows “Uncategorized” on some pages/posts
  8. How to dedect if custom field contains a mp4 file in wordpress?
  9. How add support shortcode in textarea in theme [on hold]
  10. How to integrate drag page builder to own wp theme
wppotion - powered by persistence and passion