I only needed this on the button element.
To fix it I opened the file:
wp-content/plugins/elementor/includes/widgets/button.php
Change:
1 2 3 4 5 6 | if ( $settings [ 'link' ][ 'is_external' ] ) { $this ->add_render_attribute( 'button' , 'target' , '_blank' ); } if ( $settings [ 'link' ][ 'nofollow' ] ) { $this ->add_render_attribute( 'button' , 'rel' , 'nofollow' ); } |
To:
01 02 03 04 05 06 07 08 09 10 11 | if ( $settings [ 'link' ][ 'is_external' ] && $settings [ 'link' ][ 'nofollow' ] ) { $this ->add_render_attribute( 'button' , 'target' , '_blank' ); $this ->add_render_attribute( 'button' , 'rel' , 'noopener' ); } else { if ( $settings [ 'link' ][ 'is_external' ] ) { $this ->add_render_attribute( 'button' , 'target' , '_blank' ); } if ( $settings [ 'link' ][ 'nofollow' ] ) { $this ->add_render_attribute( 'button' , 'rel' , 'nofollow' ); } } |
wp-content/plugins/elementor/includes/widgets/icon.php
Change:
if ( ! empty( $settings['link']['is_external'] ) ) { $this->add_render_attribute( 'icon-wrapper', 'target', '_blank' ); } if ( $settings['link']['nofollow'] ) { $this->add_render_attribute( 'icon-wrapper', 'rel', 'nofollow' ); }
To:
if ( $settings['link']['is_external'] && $settings['link']['nofollow'] ) { $this->add_render_attribute( 'icon-wrapper', 'target', '_blank' ); $this->add_render_attribute( 'icon-wrapper', 'rel', 'noopener' ); } else { if ( ! empty( $settings['link']['is_external'] ) ) { $this->add_render_attribute( 'icon-wrapper', 'target', '_blank' ); } if ( $settings['link']['nofollow'] ) { $this->add_render_attribute( 'icon-wrapper', 'rel', 'nofollow' ); } }
wp-content/plugins/elementor/includes/widgets/icon-list.php
Change:
if ( $item['link']['is_external'] ) { $this->add_render_attribute( $link_key, 'target', '_blank' ); } if ( $item['link']['nofollow'] ) { $this->add_render_attribute( $link_key, 'rel', 'nofollow' ); }
To:
if ( $item['link']['is_external'] && $item['link']['nofollow'] ) { $this->add_render_attribute( $link_key, 'target', '_blank' ); $this->add_render_attribute( $link_key, 'rel', 'noopener' ); } else { if ( $item['link']['is_external'] ) { $this->add_render_attribute( $link_key, 'target', '_blank' ); } if ( $item['link']['nofollow'] ) { $this->add_render_attribute( $link_key, 'rel', 'nofollow' ); } }
Edit: includes/widgets/social-icons.php
if ( $item['link']['is_external'] ) { $this->add_render_attribute( $link_key, 'target', '_blank' ); } if ( $item['link']['nofollow'] ) { $this->add_render_attribute( $link_key, 'rel', 'nofollow' ); }
To:
if ( $settings['link']['is_external'] && $settings['link']['nofollow'] ) { $this->add_render_attribute( $link_key, 'target', '_blank' ); $this->add_render_attribute( $link_key, 'rel', 'noopener' ); } else { if ( $item['link']['is_external'] ) { $this->add_render_attribute( $link_key, 'target', '_blank' ); } if ( $item['link']['nofollow'] ) { $this->add_render_attribute( $link_key, 'rel', 'nofollow' ); } }
And this:
<pre>
<a class="elementor-icon elementor-social-icon elementor-social-icon-<?php echo $social . $class_animation; ?>" <?php echo $this->get_render_attribute_string( $link_key ); ?>>
</pre>
To:
<pre>
<a rel="noopener" class="elementor-icon elementor-social-icon elementor-social-icon-<?php echo $social . $class_animation; ?>" <?php echo $this->get_render_attribute_string( $link_key ); ?>>
</pre>
wp-content/plugins/ultimate-elementor/modules/buttons/widgets/buttons.php
Change:
if ( $button['link']['is_external'] ) {
$this->add_render_attribute( 'button_' . $i, 'target', '_blank' );
}
if ( $button['link']['nofollow'] ) {
$this->add_render_attribute( 'button_' . $i, 'rel', 'nofollow' );
}
To:
if ( $button['link']['is_external'] && $button['link']['nofollow'] ) {
$this->add_render_attribute( 'button_' . $i, 'target', '_blank' );
$this->add_render_attribute( 'button_' . $i, 'rel', 'noopener' );
} else {
if ( $button['link']['is_external'] ) {
$this->add_render_attribute( 'button_' . $i, 'target', '_blank' );
}
if ( $button['link']['nofollow'] ) {
$this->add_render_attribute( 'button_' . $i, 'rel', 'nofollow' );
}
}