#WPDUS 29. Meetup – Fehlersuche und Debugging – wie war’s

Meetup Düsseldorf #28 – Gutenberg

Feh­ler sind lei­der nicht immer ver­meid­bar. Aber wie fin­det man die Ursa­che, wie kann man das Pro­blem lösen und wie redu­ziert man zukünf­tig Feh­ler? Viele von euch hat­ten sich seit lan­gem einen Abend über Debug­ging gewünscht. Klaus und Chris­ti­an haben sich dem Thema ange­nom­men.

Durch den Abend führ­ten uns Klaus und Chris­ti­an. Zur Vor­be­rei­tung des Meetups hat­ten die bei­den die Com­mu­ni­ty schon auf Face­book, Meetup.com und hier gefragt, mit wel­chen Feh­lern bzw. Fehl­ver­hal­ten sie sich gera­de beschäf­ti­gen muss.)

Eure Probleme

Zu Beginn des Abends bespra­chen wir die Feh­ler und Pro­ble­me, die schon vorab auf meetup.com und in unse­rer Face­book-Grup­pe gesam­melt wur­den.

Beson­ders heiß wur­den dabei fol­gen­de Feh­ler dis­ku­tiert:

  • Guten­berg:
    Der neue Word­Press-Edi­tor Guten­berg kam dabei immer wie­der zur Spra­che. Da die Wei­ter­ent­wick­lung von Guten­berg der­zeit sehr schnell vor­an­geht, wer­den sich Lösun­gen hof­fent­lich in einem der nächs­ten Updates zei­gen.
  • 404 Feh­ler nach dem z.B. Pro­duk­te im Woo­Com­mer­ce Shop gelöscht wur­den:
    Hier war die bevor­zugt Emp­feh­lung immer direkt Wei­ter­lei­tun­gen z.B. über ein Plugin via Redi­rec­tion (https://de.wordpress.org/plugins/redirection/) ein­zu­rich­ten. Wer tech­nisch ver­sier­ter ist, kann auch via Yoast (Free Ver­si­on) das Werk­zeug nut­zen um in der .htac­cess Wei­ter­lei­tun­gen zu hin­ter­le­gen (Schreib­rech­te vor­aus­ge­setzt; fal­scher Umgang kann aller­dings zu Ser­ver­feh­lern füh­ren). In der Pro ver­si­on von Yoast hin­ge­gen, wird man sogar beim Löschen von Pro­duk­ten nach einer mög­li­chen Wei­ter­lei­tung gefragt, was deut­lich kom­for­ta­bler ist.
    Um über­haupt her­aus­zu­fin­den, ob man 404 Feh­ler hat, kann man die Goog­le Search Con­so­le nut­zen. Bei den Wei­ter­lei­tun­gen ist immer wich­tig das die­ses sinn­voll gesetzt wer­den, z.b. nicht mehr vor­han­den Pro­duk­te auf ähn­li­che noch ver­füg­ba­re Pro­duk­te, die pas­sen­de Kate­go­rie oder eine indi­vi­du­el­le 404 Seite für Pro­duk­te.
  • Wie kann man die Media­thek auto­ma­tisch aus­mis­ten?
    Hier­zu gab es rela­tiv wenig Erfah­rung im Publi­kum. Es gibt zwar Plugins wie DNUI oder Media­Clea­ner. Bei der Nut­zung ist aller­dings Vor­sicht gebo­ten, da die meis­ten bezwei­fel­ten, dass wirk­lich immer erkannt wer­den kann, ob das Bild noch ver­wen­det wird. Daher emp­feh­len wir auf jeden Fall vor­her ein voll­stän­di­ges Back­up der Datei­en und der Daten­bank anzu­le­gen!

Das System verstehen

Nach einer Erho­lungs­pau­se ging es dann wei­ter mit eini­gen Grund­la­gen. Was über­haupt pas­siert im Hin­ter­grund, wenn man eine Web­sei­te mit Word­Press betreibt? Dazu hat uns Klaus eini­ge Abläu­fe erklärt wie:

  • Ser­ver (Maschi­ne)
  • Web­ser­ver
  • PHP
  • Daten­bank
  • Source Codes
  • Zusam­men­spiel HTML, CSS, Java­script

Diese Abläu­fe hel­fen zu ver­ste­hen, an wel­cher Stel­le man nach einem Feh­ler zuerst suchen soll­te.

Was ist ein Fehler?

Grund­sätz­lich muss man erst­mal unter­schei­den, um wel­che Art von Feh­ler es sich han­delt:
  • Feh­ler, der eine Funk­ti­on oder die ganze Seite unnutz­bar macht.
  • Uner­wünsch­tes Ver­hal­ten, was eigent­lich kein direk­ter Feh­ler ist.
Erste Regel beim Auf­tre­ten eines Feh­lers: DON’T PANIC Feh­ler kön­nen in unter­schied­li­cher Aus­prä­gung auf­tre­ten:
  • Show­stop­per Wenn man gar nichts mehr sieht (z.B. White Screen of Death). Wird oft durch PHP-Feh­ler aus­ge­löst z.B. nach fehl­ge­schla­ge­nen Updates, Inkom­pa­ti­bi­li­tät zwi­schen Plugins oder durch ver­al­te­te Plugins. Auch durch Feh­ler in der .htac­cess kann die kom­plet­te Seite unnutz­bar wer­den, z.B durch ein fal­sches Zei­chen oder eine fal­sche Syn­tax.
  • Funk­ti­ons­ein­schrän­kung Z.B. kön­nen feh­len­de Schreib­rech­te dazu füh­ren, dass Datei­en nicht hoch­ge­la­den wer­den oder auto­ma­ti­sche Updates nicht durch­ge­führt wer­den kön­nen. Wenn dyna­mi­schen Funk­tio­nen wie z.B. Kon­takt­for­mu­la­re nicht mehr funk­tio­nie­ren, dann sind oft Java­script-Feh­ler ver­ant­wort­lich.

Wie gehe ich mit einem Fehler um?

Um Feh­lern auf den Grund zu gehen, hat uns Siggi in einem kur­zen Inter­mez­zo anhand einer Gra­fik ein paar Stan­dard-Metho­den des Debug­ging vor­ge­stellt:

  1. Ver­ste­he das Sys­tem z.B. wel­che Ver­sio­nen wer­den genutzt?
  2. Ver­su­che Feh­ler zu repro­du­zie­ren um her­aus­zu­fin­den woran es lie­gen könn­te.
  3. Aus­führ­li­che Feh­ler­be­schrei­bung und nicht nur „Die Seite funk­tio­niert nicht mehr”.
  4. Ein­zel­ne Kom­po­nen­ten des Sys­tem abschal­ten – z.b. Plugins – und die Ver­än­de­rung beob­ach­ten.
  5. Immer nur eine Schritt nach dem ande­ren durch­füh­ren, um noch nach­voll­zie­hen zu kön­nen, woran es lie­gen könn­te.
  6. Doku­men­ta­ti­on der Ände­run­gen, die man durch­führt.
  7. Ganz simp­le Feh­ler zuerst aus­schlie­ßen: Ist der Tank voll?
  8. Mal einen Kol­le­gen fra­gen, um einen ande­ren Blick auf die Feh­ler zu bekom­men.

Wei­ter ging es danach mit gän­gi­gen Lösungs­mög­lich­kei­ten bei ver­schie­de­nen Feh­ler­ur­sa­chen:

.htac­cess Datei
Datei test­wei­se kurz umbe­nen­nen, damit sie vom Ser­ver nicht mehr ver­wen­det wird.
Ein­zel­ne Abschnit­te nach­ein­an­der aus der Datei löschen bis es wie­der funk­tio­niert, um zu ermit­telt wel­che Stel­le den Feh­ler ver­ur­sacht.

wp-config.php
Den Debug Modus ein­schal­ten: https://codex.wordpress.org/Debugging_in_WordPress#WP_DEBUG

Feh­ler­haf­te Plugins
Das Ver­zeich­nis des Plugins via FTP umbe­nen­nen (unter wp-con­ten­t/p­lugins). Dadurch wird das Plugin auto­ma­tisch von Word­Press deak­ti­viert.

Wie vermeide ich Fehler?

Zum Schluss haben wir noch ein paar Stra­te­gi­en bespro­chen um Feh­ler in Zukunft bes­ser zu ver­mei­den.

Testumgebung

Eine Test-Umge­bung (oder auch Sta­ging-Umge­bung) ist in sehr vie­len Fäl­len hilf­reich, wenn man große Aktua­li­sie­run­gen vor sich hat. Neue Word­Press-Ver­sio­nen, große Plugin-Ver­än­de­run­gen oder Theme-Wech­sel kann man bequem und in Ruhe in die­ser Kopie der eigent­li­chen Seite tes­ten. Eine Test-Umge­bung kann keine 100% Garan­tie geben, aber sie ist ein guter Grad­mes­ser für die Umset­zung im Live-Sys­tem.

Für Test­um­ge­bun­gen gibt es ver­schie­den Ansät­ze:

  • lokal auf dem eige­nen Rech­ner: Xamp, Mamp oder Local by Fly­wheel
  • als Sub­do­main auf dem sel­ben Ser­ver wie die Live Instal­la­ti­on
  • als Plugin z.B. mit WP Sta­ging (eben­falls auf dem sel­ben Ser­ver in einem Unter­ver­zeich­nis)

Aktuelle Versionen von WordPress, Plugins und Themes

Word­Press soll­te stets in der aktu­el­len Ver­si­on lau­fen. Wer nicht auf WP 5.0 updaten möch­te, braucht keine Sorge zu haben. WP 4.9 wird noch für eini­ge Zeit mit Sicher­heits­up­dates ver­sorgt.

Bei Plugins sieht es ähn­lich aus. Alle akti­ven Plugins soll­ten aktu­ell gehal­ten wer­den. Bitte prüft regel­mä­ßig, ob sie noch Updates durch den Autor erhal­ten. Plugins, die sehr lang schon in einer alten Ver­si­on lau­fen bitte im Auge behal­ten! Deak­ti­vier­te Plugins, die nicht mehr ver­wen­det wer­den, kann man löschen.

Auch The­mes erhal­ten Updates. In der The­me­über­sicht sieht man schnell auf den ers­ten Blick, wo ein Update fäl­lig ist. Bitte löscht auch hier regel­mä­ßig nicht mehr benö­tig­te The­mes!

Für alle, die etwas Auf­mun­te­rung benö­ti­gen sei das Plugin Wapuu Dash­board Pet ans Herz gelegt. Wapuu ist nur glück­lich, wenn alle Updates aktu­ell sind.

Backups

Auch wenn es alle wis­sen: regel­mä­ßi­ge Back­ups! Wie ihr mit Back­ups auf der siche­ren Seite seid, dass haben wir im 26. Meet­up bespro­chen.

Von vie­len Teil­neh­mern haben wir gehört, dass es ein sehr inten­si­ver und lehr­rei­cher Abend war. Wir hof­fen, wir konn­ten so ein wenig die Panik bei Feh­lern redu­zie­ren und euch für die Zukunft ein paar Tipps an die Hand geben.