WordPress Website 1: Standard Konfiguration

Inhaltsverzeichnis

Nachdem Du WordPress installiert und konfiguriert hast, solltest Du einige Konfigurationen vornehmen. Hier die Konfigurationen, die ich von Anfang an einstelle:

Erste Plugins

Lösche:

  • Akismet Anti-Spam
  • Hello Dolly

In der wp Kommandozeile kannst Du das folgendermaßen machen:

wp plugin delete akismet  --allow-root
wp plugin delete hello  --allow-root

Installieren und aktivieren:

  • Child Theme Configurator (von Lilaea Media).
  • RankMath (für Suchmaschinenoptimierung)
  • Elementor (und Elementor Pro)
  • Matomo Analytics
  • Wordfence Security (Gratis Lizenz beantragen und installieren – dazu wird Dir eine Email zugesendet. Die Installation der Gratis Lizenz geht ganz einfach)

Nur installieren (später aktivieren):

  • MailPoet – falls Du Newsletter machen willst

In der wp Kommandozeile kannst Du das folgendermaßen machen:

wp plugin install child-theme-configurator --allow-root
wp plugin install seo-by-rank-math --allow-root
wp plugin install elementor --allow-root
wp plugin install matomo --allow-root
wp plugin install wordfence --allow-root
wp plugin install mailpoet --allow-root

Zum aktievieren kannst DU folgendes eingeben:

wp plugin activate child-theme-configurator --allow-root
wp plugin activate elementor --allow-root

Es ist besser, wenn Du die anderen Plugins im Admin Panel aktivierst.

Elementor Pro musst Du ohnehin per upload installieren!

Themes

Gehe nun im Admin Panel auf Design – Themes und klicke auf Themes hinzufügen.

Wähle das „Hello elementor“ Theme, installiere es und aktiviere es.

Nun kannst Du alle anderen Themes von Deiner Website löschen. (Klick auf das entsprechende Theme und im neuen Fenster ist rechts unten ein Button „Löschen“)

In der wp Kommandozeile sieht das so aus:

wp theme install hello-elementor  --allow-root
wp theme activate hello-elementor --allow-root
wp theme delete twentytwentytwo   --allow-root
wp theme delete twentytwentythree --allow-root
wp theme delete twentytwentyfour   --allow-root

Dateirechte

Falls Du die wp Kommandozeile genutzt hast, ist es wahrscheinlich, dass Du falsche Date-Rechte hast.

Gehe in das Verzeichnis Deiner Website und führe folgenden Befehl aus:

chown www-data:www-data -R .

Erstelle nun ein Child-Theme

für das „Hello Elementor“ Theme indem Du im Admin Panel auf „Werkzeuge – Kindthemen“ klickst. (Ich hoffe die Übersetzung wird irgendwann einmal besser.)

  • klick neben Hello Elementor auf „Untersuchen“
  • Scroll ganz nach unten und Klicke auf „Create New Childtheme“

Gehe nun im Admin Panel auf „Design Themes“ und aktiviere das Child Theme.

BTW: Nun kannst Du das „Child Theme Configurator“ Plugin wieder deinstallieren.

 wp plugin delete child-theme-configurator --allow-root

Durch das Child Theme kannst Du wesentliche Änderungen an Deiner Website vornehmen und trotzdem immer das Hello Elementor Theme updaten ohne Deine Änderungen zu zerstören.

Beiträge / Posts

Gehe im Admin Panel auf „Beiträge“ und lösche den „Hello World“ Beitrag

Gehe nun im Admin Panel auf „Beiträge“ – „Kategorien“ und Füge die Kategorie „Alle“ mit der Titelform „alle“ hinzu

Seiten

Erstelle eine leere Seite mit dem Titel „Home“ und eine Seite mit dem Titel „Blog“.

Wenn Du noch keine Seite „Datenschutzerklärung“ und noch keine Seite „Impressum“ hast, dann erstelle zunächst zwei leere Seiten mit den jeweiligen Namen.

Sowohl für die Datenschutzerklärung, als auch für das Impressum solltest Du das „noindex“ einschalten. Dies geschieht über dein SEO Plugin. (Bei RankMath gehst Du auf die Seite, Klickst rechts oben auf RankMath. Dann auf Advanced. Dort klickst Du die Checkbox „No Index“ an. Bei Yoast musst Du einfach auf die entsprechende Seite gehen, bis zu den SEO Settings runter scrollen, auf „Erweitert“ klicken und dort „Erlaube Suchmaschinen diesen Seite in den Suchergebnissen anzuzeigen?“ auf „Nein“ setzen.)

Einstellungen – Allgemein

Untertitel – leer lassen (außer Du hast einen wirklich wichtigen Grund)

WordPress-Adresse und Website Adresse sollen immer mit https:// beginnen. Wenn Du noch kein Zertifikat installiert hast, dann mach das jetzt!

Sprache: Deutsch (nicht Deutsch – Österreich oder Deutsch – Deutschland!!!)

Zeitzone: wähle Deine Stadt

Datumsformat: Y-m-d

Zeitformat: H:i

Einstellungen – Schreiben

Wähle als „Standard-Beitragskategorie“ die vorher hinzugefügte Kategorie „Alle“ aus.

Wähle auch beim Punkt „Standard-Kategorie für Beiträge per E-Mail“ „Alle“ aus.

Wenn Du willst, kannst Du nun im Admin Panel unter „Beiträge“ – „Kategorien“ die Kategorie „Unkategorisiert“ löschen.

Einstellungen – Lesen

Ich verwende üblicherweise IMMER eine statische Seite. (Wähle die vorher erstellte Seite Home) Für die Beitragsseite wähle Blog aus.

Sichtbarkeit für Suchmaschinen: Ausschalten während Du noch keine Inhalte hast.

Einstellungen – Diskussion

Ich lasse das nicht zu. Somit konfiguriere ich vor allem die beiden:

Benutzer müssen zum Kommentieren registriert und angemeldet sein

Bevor ein Kommentar erscheint, muss der Kommentar manuell freigegeben werden

Standard Avatar: Gravatar-Logo

Einstellung – Medien

Disablen: Meine Uploads in monats- und jahresbasierten Ordnern organisieren

Einstellungen – Permalinks

Wähle „Beitragsname“ aus: …/beispielbeitrag/

Wenn Du eine rein Deutschsprachige Seite machst kannst Du als Kategoriebasis: kategorie eingeben.

Einstellungen – Datenschutz

Hier wählst Du Deine Datenschutzerklärung aus. (Dadurch wird Sie auch auf Deiner Loginpage angezeigt.)

Benutzer

Nun noch schnell den Vollständigen Namen beim Benutzer eintragen. Wähle Benutzer und dann Deinen Admin Benutzer und trage Vorname, Nachname und Spitzname ein und wähle dann unter Öffentlicher Name was-auch-immer-du-willst.

Custom Post Type

Wenn Du einen Custom Post Type benötigst (z.B. Glossar Einträge) dann musst Du kein Plugin runterladen sondern kannst dies gemütlich im Child Theme erledigen.

Dabei gehst Du per SSH auf den Server und üffnest die functions.php Datei im Child Theme

nano /var/www/wordpress/kmusoc.com/wp-content/themes/hello-elementor-child/functions.php

Dort pastest Du ans Ende folgenden Inhalt:

function custom_post_type_glossary() {
    // Set UI labels for Custom Post Type
    $labels = array(
        'name'                => _x( 'Glossary Items', 'Post Type General Name' ),
        'singular_name'       => _x( 'Glossary Item', 'Post Type Singular Name' ),
        'menu_name'           => __( 'Glossary Items' ),
        'parent_item_colon'   => __( 'Parent Item' ),
        'all_items'           => __( 'All Glossary Items' ),
        'view_item'           => __( 'View Glossary Item' ),
        'add_new_item'        => __( 'Add New Items' ),
        'add_new'             => __( 'Add New' ),
        'edit_item'           => __( 'Edit Item' ),
        'update_item'         => __( 'Update Item' ),
        'search_items'        => __( 'Search Item' ),
        'not_found'           => __( 'Not Found' ),
        'not_found_in_trash'  => __( 'Not found in Trash' ),
    );

// Set other options for Custom Post Type

    $args = array(
        'label'               => __( 'glossar' ),
        'description'         => __( 'Entries for the Glossary' ),
        'labels'              => $labels,
        // Features this CPT supports in Post Editor
        'supports'            => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'revisions', 'custom-fields', ),   // 'comments',
        // You can associate this CPT with a taxonomy or custom taxonomy.
        'taxonomies'          => array('post_tag'),
        // A hierarchical CPT is like Pages and can have
        // Parent and child items. A non-hierarchical CPT
        // is like Posts.
        'hierarchical'        => false,
        'public'              => true,
        'show_ui'             => true,
        'show_in_menu'        => true,
        'show_in_nav_menus'   => true,
        'show_in_admin_bar'   => true,
        'menu_position'       => 5,
        'can_export'          => true,
        'has_archive'         => true,
        'exclude_from_search' => false,
        'publicly_queryable'  => true,
        'capability_type'     => 'post',
        'show_in_rest'        => true,

        // Slug unseres Post Types für die redirects
        // dieser Wert wird später in der URL stehen
        'rewrite'             => array('slug' => 'glossar','with_front' => true ),
    );
    // Registering your Custom Post Type
    register_post_type( 'glossar', $args );
}

// Hook into the 'init' action so that the function
// Containing our post type registration is not
// unnecessarily executed.
add_action( 'init', 'custom_post_type_glossary', 0 );

Du bekommst im WordPress einen Eigenen Eintrag „Glossary Items“ in denen DU alle Posts für das GLossary einträgst. Entsprechend der Konfiguration im „slug“ ist die url dann /glossar/slug_den_du_bei_der_seite_eingiebst.

Falls das mit dem Slug nicht sofort funktioniert (e.g. bekomsmt Du einen 404 Fehler) musst Du einmalig am Anfang der functions.php folgendes Eintragen:

flush_rewrite_rules();

Refreshe die Seite und wenn der Slug funktioniert LÖSCHE DEN FLUSH EINTRAG WIEDER VON DER SEITE.

Lesedauer

Um gleich beim Child Theme zu bleiben, kannst Du noch folgenden Code in functions.php einfügen. Damit hast Du einen Shortcode für die Lesedauer eines Arikels erstellen kannst.

Danach kannst Du die Lesedauer per Shortcode [wpbread] abrufen.

function reading_time() {
 if(!isset($post)) {
  return null;
 }
 $content = get_post_field( 'post_content', $post->ID );
 $word_count = str_word_count( strip_tags( $content ) );
 $readingtime = ceil($word_count / 260);
 if ($readingtime == 1) {
  $timer = " Minute Lesedauer";
 } else {
  $timer = " Minuten Lesedauer";
 }
 $totalreadingtime = $readingtime . $timer;

 return $totalreadingtime;
}
add_shortcode('wpbread', 'reading_time');

Das wars!

Weiter zum nächsten Teil

Teilen:
Weitere Posts
ChatGPT für CISOs

Eingangsstatement ChatGPT kann erfahrene ISMS-Berater nicht ersetzen, aber es bietet eine wertvolle Unterstützung bei schnellen Recherchen, der Dokumentenerstellung und konkreten Fragestellungen. So können Berater sich

Sende uns eine Nachricht