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' );