You are here

function metatag_xmlsitemap_link_alter in XML sitemap 2.x

Same name and namespace in other branches
  1. 8 xmlsitemap.module \metatag_xmlsitemap_link_alter()

Implements hook_xmlsitemap_link_alter() on behalf of metatag.module.

1 string reference to 'metatag_xmlsitemap_link_alter'
MetatagNoIndexTest::testEntityNoIndex in tests/src/Kernel/MetatagNoIndexTest.php
Tests overriding an entity's robots meta tag.

File

./xmlsitemap.module, line 2625
xmlsitemap XML sitemap

Code

function metatag_xmlsitemap_link_alter(array &$link, array $context) {
  $enabled =& drupal_static(__FUNCTION__);
  if (!isset($enabled)) {
    $enabled = \Drupal::config('xmlsitemap.settings')
      ->get('metatag_exclude_noindex');
  }
  if ($enabled && !empty($context['entity']) && $context['entity'] instanceof ContentEntityInterface && $link['access']) {

    /** @var \Drupal\metatag\MetatagManagerInterface $metatagManager */
    $metatagManager = \Drupal::service('metatag.manager');
    $metatags = $metatagManager
      ->tagsFromEntity($context['entity']);
    if (!empty($metatags['robots']) && strpos($metatags['robots'], 'noindex') !== FALSE) {
      $link['access'] = FALSE;
    }
  }
}