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. How to output custom the file field values on another page with the file download link
  2. Looking for the ability to authorize a credit collection/token on pre sale products
  3. How to automatically activate the plugin while wordpress first installation using docker
  4. How do I perform an IF/ELSE statement using data from a database on wordpress?
  5. How to check if a post or property has been viewed (on each session)
  6. wordpress How do I remove post_ID from user_meta array value
  7. Wordpress hooks working on dashboard but not on actual website
  8. Form echo is not applied of first item in a list
  9. How can I remove unwanted 1px space under navigation bar?
  10. slow down jump to anchor in divi theme

WordPress problems we are working on

  1. Advice on resolving HTTP 500 on WP site?
  2. Copying plugins to base wordpress image, Plugins folders are visible in cmd but not visible in volume mount
  3. how to handel submitted gravity form which contains singel file
  4. How to rearrange WordPress REST API comments?
  5. how to select multi button at same time with different group? [on hold]
  6. WordPress add access for users to edit his comments
  7. Show directories and files in wordpress uploads folder
  8. Insert date and time to custom wordpress mysql table using input type date and input type time by php code
  9. Contact 7 form is causing error in my website afrter updated to the latest wordpress 5.0
  10. How to Add Javascript Code to Button to track the Clicks in Wordpress

Resolved issues

  1. how to print a variable javascript in a onmousedown event?
  2. Contact form 7 WordPress plugin not showing sender email
  3. Does Wordpress list all pages for crawlers?
  4. How to update links on a WordPress website from Google Drive automatically after changing hosts?
  5. some product thumbnails doesn't show up
  6. How to keep the same page for different languages
  7. WordPress : Treat value in functions.php for all inner PHP files
  8. How to echo something after header tag (wordpress)?
  9. Error layout Elementor Wordpress (not load)
  10. APIProjectMapError when using WP Google Map plugin to display map
wppotion - powered by persistence and passion