Customize Yoast Canonical URL Programmatically

When you install the Yoast plugin for WordPress, you will find that it will automatically generate the canonical tag for you on all web pages. For the majority of installs, you will never need to worry about this. The canonical URL is pretty much always going to be the same URL as the page. This exception will often occur with AMP HTML pages, but any good plugin should handle this for you automatically.

Recently I found an issue where a site was including some unique, custom content and proper listings on the archive pages on WordPress. The default behaviour of Yoast was to set the canonical URL of all archive pages for categories, post types and tags to the base page. This means that any page after page 1 will not get indexed by Google and you will find you get an error in Google Search Console to tell you the canonical URL does not match a URL that you have provided in the sitemap. Strange behaviour considering Yoast also generated the sitemap for this website. None the less, I needed a solution.

Using PHP Code to Change Canonical Tag

The code snippet below can be added to a custom plugin or into a theme. It will use a hook built into the Yoast plugin that will check to see if the “pg” query value exists and if it does, it will make sure that it adds it to the canonical URL before the tag is written to the page. The call to htmlspecialchars is just for safety to make sure that anyone adding dangerous values in the URL for PG will not be able to hijack your site and do some bad stuff.

add_filter('wpseo_canonical' , 'custom_change_canonical', 10,1);
function custom_change_canonical($url)
{
	global $post;
	if(isset($_GET['pg']))
	{
		return $url . "?pg=" . htmlspecialchars($_GET['pg']);
	}	
   return $url;
}

Related Articles

Related Questions

WordPress Table of Contents Plus Not Working

I have been using this plugin for a while and i really like it. It seems to have completely stopped working recently. I can...

Function Keys Reversing Between Fn Actions And Normal

My keyboard has the usual F1 to F12 keys along the top. I use these for shortcuts in various applications. These keys also have...

Whirlpool Oven F6E6: Appliance Manager 1 Board Communication

I have a brand new Whirlpool oven W11I OM1 4MS2 H or (859991549450). I bought it alongside the microwave combi oven. I have had...

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Latest Tools

List Sorting Tool

Welcome to our innovative list ordering and management tool. This next-level platform enables you to sort a list of items in ascending or descending...

Sudoku Solver

Welcome to our free online Sudoku solving tool, an interactive platform for puzzle enthusiasts seeking a break from a Sudoku conundrum. This advanced platform...

Apply Image Filters To Image

Digital imagery in the modern world is all about reinforcing emotions and stories behind each photo we take. To amplify this storytelling, we are...

Add Watermark To Image

As the world is increasingly consumed by digital media, protecting your original images is paramount. We are thrilled to introduce you to our innovative...

CSV To Xml Converter

Welcome to our CSV to XML converter tool, a convenient and user-friendly solution for all your data conversion needs. This versatile tool on our...

RGB Image Splitter

Welcome to our innovative RGB Splitter - a unique image analyzer tool that offers an in-depth peek into the building blocks of your photos....

Latest Posts

Latest Questions