How To Use Them To Enhance search engine marketing

How To Use Them To Enhance search engine marketing

WordPress is the preferred content material administration system (CMS) on the planet, with a market share of greater than 60%.

An enormous assist group and a lot of accessible free plugins make constructing a web site with WordPress (WP) inexpensive, and it performs a key position in why its market share is so massive.

Nonetheless, as you already know, putting in plugins comes at a price.

They typically might degrade your Core Internet Vitals scores; For instance, they might load pointless CSS or JS recordsdata on each web page the place they don’t seem to be wanted.

To repair that, you want to rent a programmer to do it for you, purchase a premium plugin, or maybe go down a small studying path and do it your self.

You too can go hybrid and resolve some components of your points by customized coding, and different components utilizing plugins.

This text goals that will help you in your studying path, and we’ll cowl probably the most wanted WordPress hooks that will help you enhance your web site’s technical search engine marketing.

What Is A WordPress Hook?

WordPress hooks are key options in WP that permit builders to increase the performance of the CMS with out a want to change core WP recordsdata – making it simpler to replace themes or plugins with out breaking customized modifications.

They supply a robust means for builders to increase the performance of WordPress and make customized adjustments to their websites.

What Is A Filter Hook?

The hook filter perform is used to change the output of the perform earlier than it’s returned. For instance, you may suffix web page titles together with your weblog title utilizing the wp_title filter hook.

What Is An Motion Hook?

Motion hooks permit programmers to carry out sure actions at a particular level within the execution of WP Core, plugins, or themes, comparable to when a submit is printed, or JS and CSS recordsdata are loaded.

By studying a number of fundamental motion hooks or filters, you may carry out a variety of duties with out the necessity to rent builders.

We are going to undergo the next hooks:

  • wp_enqueue_scripts
  • wp_head
  • script_loader_tag
  • template_redirect
  • wp_headers


That is precisely the motion hook you’ll use to exclude redundant CSS or JS recordsdata from loading on pages the place they don’t seem to be wanted.

For instance, the favored free Contact Kind 7 plugin, which has over 5M installations, hundreds CSS and JS recordsdata on all pages – whereas one solely wants it to load the place the contact type exists.

To exclude CF7 CSS and JS recordsdata on pages aside from the contact web page, you should utilize the code snippet beneath.

perform my_dequeue_script(){
//verify if web page slug is not our contact web page, alternatively, you should utilize is_page(25) with web page ID, or if it's a submit web page is_single('my-post') 
  if ( !is_page('contact') ) {

add_action('wp_enqueue_scripts', 'my_dequeue_script', 99 );

There are a number of key factors; the motion hook precedence is ready to 99 to make sure our modification runs final within the queue.

Should you set it to, say, 10, it won’t work as a result of CF7 enqueue perform makes use of precedence 20. So to make sure yours run final and have an impact, set a precedence giant sufficient.

Additionally, within the code, we used as a perform argument identifier “contact-form-7”; you might marvel how I discovered that.

It’s fairly easy and intuitive. Simply use examine ingredient software of your browser and verify for the id attribute of hyperlink or script tags.

id attribute of script tagScreenshot from creator, February 2023

You possibly can verify your web site supply code utilizing examine ingredient and begin dequeuing any JS or CSS file the place they don’t seem to be wanted.


This motion hook is used so as to add any useful resource JS, CSS recordsdata, or meta tags within the <head> part of the webpage.

Utilizing this hook, you may load preload above-the-fold assets within the head part, which might enhance your LCP scores.

For instance, font preloading, which is one among Google’s suggestions, or emblem and featured pictures on article pages, at all times load above the fold – and you want to preload them to enhance LCP.

For that, use the code snippet beneath.

perform my_preload() {
   <!-- Google Fonts -->
   <hyperlink rel="preconnect" href="" crossorigin>
   <hyperlink rel="preload" as="model" href=",[email protected],200..900;1,200..900&household=Lora:ital,[email protected],400..700;1,400..700&show=swap"/>
   <hyperlink rel="preload" as="picture" href=""/>
   <?php if( has_post_thumbnail() ): // verify if article has featured picture?>
   <!-- Featured Picture -->
   <?php // $featured_image = str_ireplace(array( '.png', '.jpg', '.jpeg'), '.webp', $featured_image ); // allow this you probably have webp pictures. ?>
   <?php $featured_image = get_the_post_thumbnail_url( get_the_ID(), 'full' ); ?>
   <hyperlink rel="preload" as="picture" href="<?php echo $featured_image;?>"/>
   <?php endif;
add_action('wp_head', 'my_preload', 3 );

The primary two strains are for preloading Google fonts, then we preload the emblem and verify if the article has a featured picture, then preload the featured picture.

As a further notice, your theme or website might have webp pictures enabled; in that case, it is best to preload webp model of them.


You heard quite a bit about render-blocking assets which might be mounted by defer or async loading JavaScript tags. It’s essential for enhancing FCP and LCP.

This filter motion is used to filter the HTML output of the script tags, and also you want precisely this filter to async or defer load your theme or plugin’s JS/CSS recordsdata.

perform my_defer_async_load( $tag, $deal with ) {
   // async loading scripts handles go right here as an array
   $async_handles = array('wpcf7-recaptcha', 'another-plugin-script');
   // defer loading scripts handles go right here as an array
   $defer_handles = array('contact-form-7', 'any-theme-script');
   if( in_array( $deal with, $async_handles) ){
     return str_replace( ' src', ' async src', $tag );
   if( in_array( $deal with, $defer_handles ) ){
     return str_replace( ' src', ' defer="defer" src', $tag );
return $tag;
add_filter('script_loader_tag', 'my_defer_async_load', 10, 2);

This filter accepts two arguments: HTML tag, and script deal with, which I discussed above when inspecting by way of examine ingredient.

You should use the deal with to resolve which script to load async or defer.

After you defer or async load, at all times verify by way of the browser console you probably have any JS errors. Should you see JS errors, you might want a developer that will help you, as fixing them will not be simple.


This motion hook is known as earlier than figuring out which template to load. You should use it to alter the HTTP standing code of the response.

For instance, you could have spammy backlinks to your inner search question pages containing bizarre characters and/or widespread patterns.

At Search Engine Journal, we’re used to having spammy backlinks pointing to our inner search pages which can be in Korean – and we now have realized from our server logs that Googlebot was intensively crawling them.

Spam BacklinksScreenshot from creator, February 2023

WordPress default response code is 404 not discovered, however it’s higher to throw in 410 with a view to inform Google they’re gone ceaselessly, so it stops crawling them.

perform my_410_function(){
  if( is_search() ) {
    $kw = $_GET['s'];
    // verify if the string accommodates Korean characters
    if (preg_match('/[x{AC00}-x{D7AF}]+/u', $kw)) {
     status_header(410, 'Not Discovered');
  }// finish of is_search
add_action( 'template_redirect', 'my_410_function', 10 );

In our case, we all know that we don’t have Korean content material, which is why we composed our situation like that.

However you could have worldwide content material in Korean, and situations might differ.

Typically, for non-programmers, ChatGPT is a good software for producing situations utilizing an everyday expression, which you’ll use to construct an if/else situation based mostly in your spam sample from GSC.


This motion hook is used to change HTTP headers of WordPress.

You should use this hook so as to add safety headers to your web site response HTTP headers.

perform my_headers(){
      $headers['content-security-policy'] = 'upgrade-insecure-requests';
      $headers['strict-transport-security'] = 'max-age=31536000; preload';
      $headers['X-Content-Type-Options'] = 'nosniff';
      $headers['X-XSS-Protection'] = '1; mode=block';
      $headers['x-frame-options'] = 'SAMEORIGIN';
      $headers['Referrer-Policy'] = 'strict-origin-when-cross-origin';
      $headers['Link'] = '<>; rel=preload; as=picture';
     $headers['Link'] = '<>; rel=preconnect; crossorigin'; 
$headers['Link'] = '</wp-content/uploads/themes/yourtheme/pictures/emblem.webp>; rel=preload; as=picture';
      return $headers;
add_filter( 'wp_headers', 'my_headers', 100 );

Beside safety headers, you may add “Hyperlink” tags (as many as you need) for pre-connecting or preloading any useful resource.

Principally, it’s an alternate technique of preloading, which was lined above.

You might also add “X-Robots-Tag” (as many as you need ) to your HTTP headers based mostly in your wants.


Plugins are sometimes aimed toward fixing all kinds of duties and will typically not be designed particularly to satisfy your particular wants.

The convenience with which you’ll modify WordPress core is one among its most stunning facets – and you’ll alter it with a number of strains of code.

We mentioned motion hooks you should utilize to enhance technical search engine marketing, however WordPress has numerous motion hooks you may discover and use to do principally all the pieces you need with minimal use of plugins.

Extra assets:

Featured Picture: Grafico moze/Shutterstock