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!