WordPress-Standard-Tricks

WordPress ist zwar ein Super-System, das in vielen Anwendungen eine gute Basis darstellen kann. Für viele Standard-Webseiten, bei dem es hauptsächlich eine CMS-Funktion bereit stellt, ist es jedoch überdimensioniert bzw. besitzt teils sogar Voreinstellungen, die kontraproduktiv sind.

Daher sind im folgenden einige spannenden Einstellungen aufgeführt, deren Nutzung sich für fast jede Seite eignet.

Child-Theme

Generell bietet es sich bei WordPress an, ein Child-Theme zu nutzen. Dazu wird folgender CSS-Code benoetigt:

/*
 Theme Name:   Twenty Fifteen Child
 Description:  Mein Child Theme
 Author:       yourname
 Author URI:   https://www.domain.
 Template:     twentyfifteen
 Version:      1.0
 Text Domain:  twenty-fifteen-child
*/

Das geht mit folgenden PHP-Code in der functions.php

<?php
/**
* Child theme stylesheet einbinden in Abhängigkeit vom Original-Stylesheet
*/

function child_theme_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-theme-css', get_stylesheet_directory_uri() .'/style.css' , array('parent-style'));

}
add_action( 'wp_enqueue_scripts', 'child_theme_styles' );
?>

Unnötige Seiten deaktivieren

Einige Seiten werden fast nie gebraucht und sollten aus SEO-Sicht in der functions.php deaktiviert werden:

// Disable not necessary pages
function disable_uneeded_archives() {
    if( is_category() || is_tag() || is_date() || is_author() || is_attachment() ) {
        wp_redirect( home_url('404') );
        header("Status: 404 Not Found");
        global $wp_query;
        $wp_query->set_404();
        status_header(404);
        nocache_headers();
    }
}
add_action('template_redirect', 'disable_uneeded_archives');

add_filter( 'author_link', 'my_author_link' );
function my_author_link() {
    return home_url( 'about' );
}

Performance

Basic

//Performance
//WordPress Emoji weg
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles' );

//Standard-DNS Prefetch
add_filter( 'emoji_svg_url', '__return_false' );
remove_action ('wp_head', 'wp_resource_hints', 2);

//RestAPI
remove_action ('wp_head', 'rest_output_link_wp_head');

//Windows Live Writer
remove_action ('wp_head', 'wlwmanifest_link');

//Shortlink
remove_action ('wp_head', 'wp_shortlink_wp_head');

//WP Meta Generator
remove_action ('wp_head', 'wp_generator');

//remove rss-feed links
remove_action( 'wp_head', 'feed_links_extra', 3 );
remove_action( 'wp_head', 'feed_links', 2 );

Advance

//Advanced

//No Embedded Content on my site
function delete_wpembed(){
  wp_deregister_script( 'wp-embed' );
}
add_action( 'wp_footer', 'delete_wpembed' );

//Avoid embedding my content
remove_action('wp_head', 'wp_oembed_add_discovery_links');

//RSD Link entfernen
remove_action ('wp_head', 'rsd_link');

SVG

//enable SVG
function kb_svg ( $svg_mime ){
  $svg_mime['svg'] = 'image/svg+xml';
  return $svg_mime;
}
add_filter( 'upload_mimes', 'kb_svg' );