Inhaltsverzeichnis

Allgemeine Themen rund um WordPress

Allgemeine Plattform zum Testen von WordPress und insbesondere von Plugins

Steht kein lokaler Server zum Installieren von WordPress zur Verfügung, kann das Online-Tool TasteWP.com helfen.

Seiten, die nur angemeldeten Nutzern zugänglich sind

Voraussetzung dafür, dass Rechte für den Zugang zu bestimmten Seiten vergeben werden können, ist das Vorhandensein eines PlugIns, mit dem Rollen verwaltet werden können. Ein Beispiel dafür ist das Members-PlugIn. Hier kann eingestellt werden, dass alle Nutzer, die z. B. der Rolle „Redakteur“ zugeordnet sind, Seiten mit dem Status „Privat“ ansehen können.

Das Problem besteht nun darin, private Seiten zugänglich zu machen. Das kann z. B. über das Hauptmenü geschehen. Beim Erstellen eines Menüs werden private Seiten jedoch nicht als Menüpunkte angeboten. Sie können aber trotzdem aufgenommen werden, und zwar indem man einen „individuellen Link“ als Menüpunkt in das Menü einfügt. Dazu kopiert man den Permalink der privaten Seite und fügt ihn als individuellen Menüpunkt-Link ein. Das ist schon alles.

Nun wird der Link zur privaten Seite im Menü angezeigt. Klickt ein nicht angemeldeter Nutzer den Menüpunkt an, kommt die Meldung, dass nichts gefunden wurde. Einem angemeldeten Nutzer mit der Rolle „Redakteur“ wird dagegen der Inhalt der Seite angezeigt.

Blogbeiträge auf statischen Seiten anzeigen

Meldung zu kritischem Fehler auf der Seite

Komplette WP-Website sperren (deaktivieren)

Dazu sind gute Tipps auf der Seite https://fastwp.de/magazin/wartungsmodus-wordpress-seite-deaktivieren/ zu finden. Die Quintessenz besteht in drei Möglichkeiten:

Aus meiner Sicht ist die erste Möglichkeit die beste, weil schnellste und sicherste. Auch nicht schlecht ist das Plugin „Slim Maintenance Mode“: wird es aktiviert, sperrt es die Website und zeigt eine Meldung an: „Wartungsarbeiten“; wird es deaktiviert, läuft die Seite wieder normal.

Bild im Frontend bei Klick vergrößert darstellen

Zahl der 404-Fehlermeldungen verringern

Diese Fehlermeldungen können von falschen/nicht aktualisierten Permalinks herrühren. Daher sicherheitshalber immer wieder mal <Einstellungen - Permalinks> wählen und einfach nur auf „Änderungen speichern“ klicken, auch wenn keine Änderungen vorgenommen wurden. Dadurch werden alle Permalinks geprüft und aktualisiert.

Serverüberlastung

Vom Webhoster kam die folgende Mitteilung:

aktuell mussten wir eine massive Überlastung des Servers feststellen, welche auf Ihre Webseite(n) als Verursacher zurückgeführt werden konnte.
Grund für die Überlastung waren sehr viele Selbstincludes Ihrer Seiten im Account "xyzabc001". Diese scheinen sich gegenseitig einzubinden.
Um die Erreichbarkeit des Server sicherstellen zu können, haben wir dies unterbunden und Ihre ".htaccess"-Datei durch folgende Zeilen erweitert:
order allow,deny
allow from all
deny from 85.13.nnn.nnn
Ich würde Sie bitten, diese bis auf Weiteres bestehen zu lassen, da sonst erneut Erreichbarkeitsprobleme Ihrer und anderer Kundenseiten auftreten können. Prüfen Sie auch weshalb Ihre Skripte diese Einbindungen vornehmen.

Wie sich herausstellte, waren die RSS-Feeds, die von den verbundenen Sites geholt wurden, schuld an der Überlastung. Anscheinend funktionierte die Feed-Abfrage nicht mehr, seit ich auf die aktuelle WP-Version umgestellt hatte. Schnelle Lösung: Sämtliche Widgets mit RSS-Feed-Abfragen der verbundenen Sites gelöscht und durch einfache Menüpunkte (in einem Navigationsmenü, das wieder als Widget eingesetzt wurde) ersetzt.

Ein Grund für die Überlastung könnte auch ein Bot-Angriff gewesen sein. Wenn die verbunden Seiten vom Bot immer wieder aufgerufen wurden, wurden jedes Mal die Feeds aktualisiert. Das dürfte jetzt, wo die Feed-Abfragen nicht mehr existieren, kein Problem mehr sein.

Antwort von all-inkl auf meine Anfrage zur Vermeidung von Bot-Angriffen

Allgemein können Sie Bots über eine sogenannte robots.txt aussperren. Einen sehr guten Artikel finden Sie unter folgenden Link dazu:

https://www.sistrix.de/frag-sistrix/google-index-google-bot-crawler/wie-kann-ich-dem-google-bot-das-crawlen-meiner-website-verbieten/

Eine andere Möglichkeit besteht darin die Zugriffe per „geoip block“ zu sperren. Hierbei legen Sie in Ihrer .htaccess Datei fest welche IP-Adressen nicht auf Ihre Domain zugreifen dürfen. Sie können auch komplette Länder z.B. China und Russland aussperren.
Die IP-Adressen können Sie über Ihr Accesslog (sofern vorhanden) prüfen. Dieses finden Sie in Ihren FTP Verzeichnis im Ordner „Logs“.
Um nur einzelnen Ländern z.B. aus dem deutschsprachigen Bereich den Zugriff zu Ihrer Seite zu gewähren, fügen Sie in die .htaccess Datei folgende Einträge ein:

GeoIPEnable On
SetEnvIf GEOIP_COUNTRY_CODE DE AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE AT AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE CH AllowCountry
Order allow,deny
Allow from env=AllowCountry
Deny from all

Wenn Sie einem oder mehreren Ländern den Zugriff verweigern wollen, dann muss der Eintrag in der .htaccess Datei so lauten:

GeoIPEnable On
SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE RU BlockCountry
Order allow,deny
Allow from all
Deny from env=BlockCountry

Um bestimmte einzelne IPs oder IP-Gruppen von Ihrer Domain auszuschließen, tragen Sie bitte in der .htaccess Datei ein:

deny from 123.45.6.7 - (direkt die gesamte IP 123.45.6.7 wird ausgesperrt.)
deny from 012.34.5. - (Alles nach den ersten drei IP Gruppen 012.34.5. wird gesperrt.)
deny from .hackerdomain.com - es wird nur ein Domainname und zwar hackerdomain.com gesperrt
allow from all -Alle anderen Zugriffe sind erlaubt.

Auf neue PHP-Version umstellen

Speicherzuweisung

Um Bot-Angriffe zu bemerken und abzuwehren, gibt es einige Anti-Bot-Plugins. Eines heißt „Stop Bad Bots“. Dieses Plugin prüft u.a. auch, wie viel Speicher die Website benötigt und wie viel ihr zugewiesen ist.

Anscheinend wird aber schon bei wenigen Seiten, einigen Bildern und wenigen instalierten Plugins diese Speichergröße überschritten.

Mit folgender Anweisung kann der zur Verfügung stehende Speicher vergrößert werden (in diesem Beispiel auf 128 MB):

To increase the WordPress memory limit, add this info to your file wp-config.php (located at root folder of your server)
(just copy and paste):
define('WP_MEMORY_LIMIT', '128M');
before this row:
/* That's all, stop editing! Happy blogging. */
If you need more, just replace 128 with the new memory limit.
To increase your total server memory, talk with your hosting company. 

Cloudbasierte Lösungen zur Virenabwehr

Eine sehr gute Möglichkeit, Viren- und Bot-Attacken abzuwehren, scheinen cloudbasierte Lösungen zu sein. Eine solche Lösung bietet z. B. Sucuri.

Geschwindigkeit einer Website messen

https://developers.google.com/speed/pagespeed/insights/