Der folgende Artikel zeigt wie du Google oder andere Suchmaschinen davon abhalten kannst, einen Beitrag zu indexieren.
Robots-Anweisung
Soll ein Beitrag nicht indexiert werden, muss dies dem Crawler mit folgender Robots-Anweisung im <head>-Bereich einer Website mitgeteilt werden:
<meta name="robots" content="noindex, follow">
WordPress besitzt für diese Ausgabe die Funktion wp_no_robots()
.1
Codeschnipsel
Mit folgendem Codeschnipsel, eingefügt in die Datei functions.php des Child-Themes oder in ein seitenspezifisches Plugin wird verhindert, dass die Beiträge mit den Beispiel-Titeln Osterüberraschung und Pfingst-Rundgang nicht in den Suchmaschinen indexiert werden:
function add_meta_robots_noindex_follow() {
if ( is_single( array( 'Osterüberraschung', 'Pfingst-Rundgang' ) ) ) {
wp_no_robots();
}
}
add_action( 'wp_head', 'add_meta_robots_noindex_follow' );
Plugin
Wer kein Child Theme nutzt oder die Einstellung vom Bearbeitungsbereich aus vornehmen möchte, kann ein SEO-Plugin wie Yoast SEO2 nutzen oder selbst ein seitenspezifisches Plugin für die Ausgabe eine Meta-Box z.B. namens Indexierung anlegen, um bequemer ein Benutzerdefiniertes Feld auslesen und bearbeiten zu können. Lege für das eigene Plugin einen Ordner namens seitenspezifisches-plugin im Verzeichnis wp-content/plugins am und speicher darin eine PHP-Datei z.B. namens index.php mit folgendem Inhalt:
<?php
/* Plugin Name: Seitenspezifisches Plugin */
// Noindex Box
// =======================
// Noindex im Head-Bereich ausgeben
function noindex_im_head(){
if ( noindex_box__get_meta( 'noindex_box' ) ) {
wp_no_robots();
}
}
add_action('wp_head','noindex_im_head');
// Noindex Box: get_post_meta()
function noindex_box__get_meta( $value ) {
global $post;
$field = get_post_meta( $post->ID, $value, true );
if ( ! empty( $field ) ) {
return is_array( $field ) ? stripslashes_deep( $field ) : stripslashes( wp_kses_decode_entities( $field ) );
} else {
return false;
}
}
// Noindex Box: add_meta_box()
function noindex_box__add_meta_box() {
add_meta_box(
'noindex_box_-noindex',
__( 'Indexierung', 'noindex_box_' ),
'noindex_box__html',
'post',
'side',
'default'
);
}
add_action( 'add_meta_boxes', 'noindex_box__add_meta_box' );
// Noindex Box: 'noindex_box__html'
function noindex_box__html( $post) {
wp_nonce_field( '_noindex_box__nonce', 'noindex_box__nonce' ); ?>
<p><input type="checkbox" name="noindex_box" id="noindex_box" value="noindex" <?php echo ( noindex_box__get_meta( 'noindex_box' ) === 'noindex' ) ? 'checked' : ''; ?>>
<label for="noindex_box"><?php _e( 'Beitrag nicht indexieren', 'noindex_box_' ); ?></label> </p><?php
}
// Noindex Box: update_post_meta()
function noindex_box__save( $post_id ) {
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;
if ( ! isset( $_POST['noindex_box__nonce'] ) || ! wp_verify_nonce( $_POST['noindex_box__nonce'], '_noindex_box__nonce' ) ) return;
if ( ! current_user_can( 'edit_post', $post_id ) ) return;
if ( isset( $_POST['noindex_box'] ) )
update_post_meta( $post_id, 'noindex_box', esc_attr( $_POST['noindex_box'] ) );
else
update_post_meta( $post_id, 'noindex_box', null );
}
add_action( 'save_post', 'noindex_box__save' );
Nach der Aktivierung des Plugins findest du im Bearbeitungsbereich die Meta Box Indexierung, mit der du per Klick den Beitrag aus den Suchmaschinen fernhalten kannst:
Links