Kategorie: WordPress

Eine Über­sicht aller unse­rer Bei­trä­ge zu WordPress

Mein WordPress ist veraltet. Was kann ich tun?

Manch­mal kommt es vor, dass man plötz­lich vor einer uralten WordPress-Ver­si­on mit ver­al­te­ten Plug­ins oder The­mes steht und nicht mehr wei­ter weiß. Im fol­gen­den Arti­kel zei­gen wir auf, dass das gar nicht so schlimm ist und wel­che Maß­nah­men man ergrei­fen kann.

Warum wurde nicht aktualisiert?

Die Grün­de dafür sind viel­fäl­tig. Vie­le Aktua­li­sie­ren absicht­lich nicht, getreu dem Mot­to: Never touch a run­ning sys­tem. Gera­de Anfän­ger trau­en sich oft nicht und ver­schlep­pen das Pro­blem dann. Manch­mal gerät eine Instal­la­ti­on in die Ver­ges­sen­heit und plötz­lich besteht aku­ter Hand­lungs­be­darf, z.B. weil die Sei­te gehackt wur­de und das alte Back­up nun unbe­dingt aktua­li­siert wer­den muss.

Altes WordPress aktualisieren

Keine Angst vor dem Update

Zum Glück ist “uralt” in der WordPress-Welt sehr rela­tiv. Das liegt vor allem an der Art der Ver­sio­nie­rung von WordPress. Übli­cher­wei­se ver­wen­det man in der Soft­ware­ent­wick­lung die soge­nann­te Seman­ti­sche Ver­sio­nie­rung. Kurz gesagt: Eine Ände­rung der vor­ders­ten Zahl bedeu­tet meist eine signi­fi­kan­te Ände­rung in der Soft­ware, also z.B. von 3.9 auf 4.0. Vie­le Men­schen erwar­ten die­ses Ver­hal­ten dann auch instinktiv.
Bei WordPress ist das aller­dings nicht so. Die Ver­sio­nie­rung erfolgt dem 10er Sys­tem, d.h. die Zif­fer nach dem ers­ten Punkt zählt bis 9, danach springt die ers­te Zif­fer um. 
Im Fall von WordPress bedeu­tet das vor allem:

  • Anhand die­ser Ver­sio­nie­rung kann man nicht den Grad der Ände­rung an der Soft­ware abschät­zen. Es kann zum Bei­spiel sein, dass bei einem Ver­si­ons­wech­sel von 3.4 auf 3.5 mehr signi­fi­kan­te Ände­run­gen statt­fan­den, als von 3.9 auf 4.0
  • Im Umkehr­schluss bedeu­tet das aller­dings auch, dass der Wech­sel von 3.9 auf 4.0 gar nicht so dra­ma­tisch sein muss, wie zunächst angenommen.

Zusätz­lich wis­sen wir aus Erfah­rung, dass Updates von WordPress und Plug­ins über vie­le Jah­re oft ohne Pro­ble­me durch­ge­führt wer­den kön­nen. Ins­be­son­de­re wenn man ein Sys­tem nah am Stan­dard hat und nicht gera­de das exo­tischs­te Pre­mi­um-The­me einsetzt.

Vorgehensweise: Probieren

Wenn man ein paar Din­ge beach­tet, kann man ein Update ein­fach aus­pro­bie­ren, ohne Angst haben zu müs­sen. In vie­len Fäl­len klappt das sogar.

Das wird benötigt:

  • FTP-Zugang und Ahnung davon wie man den verwendet
  • Daten­bank­zu­gang und das Wis­sen, wie man ein Back­up wie­der einspielt
  • Aktu­el­le Ver­sio­nen ver­wen­de­ter Pre­mi­ump­lug­ins und Themes

Testsystem anlegen

Idea­ler­wei­se gibt es vom Sys­tem ein Kopie als Test­sys­tem. Dort kann man Updates tes­ten, ohne dass das Pro­duk­tiv­sys­tem betrof­fen ist. Wenn die Mög­lich­keit besteht so ein Sys­tem ein­zu­rich­ten, soll­te das unbe­dingt gemacht werden.

Aktualisieren

  1. Back­up durchführen
    Idea­ler­wei­se bie­tet der Hos­ter die Mög­lich­keit einen Snapshot der Daten­bank und vom Web­space anzu­le­gen und die­sen bei Bedarf wie­der ein­zu­spie­len. Das ist die ein­fachs­te, schnells­te und vor allem benut­zer­freund­lichs­te Variante
  2. Back­up durchführen
    Es soll­te ein zusätz­lich ein Back­up ange­legt wer­den, indem per FTP alle Datei­en her­un­ter­ge­la­den und ein Export der Daten­bank durch­ge­führt wird. Um die­ses Back­up anzu­le­gen gibt es auch Plug­ins, z.B. Back­Up­Word­Press. Wird ein ein Plug­in ver­wen­det, soll­te das Back­up vor dem wei­ter­ma­chen her­un­ter­ge­la­den werden. 
    Hin­weis: geht etwas schief, muss das Back­up sehr wahr­schein­lich manu­ell per FTP und Daten­bank ein­ge­spielt werden.
  3. PHP aktua­li­sie­ren
    Wenn nicht bereits gesche­hen, stel­le die PHP-Ver­si­on auf 5.5 oder 5.6 um. Das soll­te beim Hos­ter ohne Pro­ble­me mög­lich sein. Gibt es nach der Umstel­lung Pro­ble­me stel­le die nächst­nied­ri­ge­re Ver­si­on ein. 5.5 soll­te aller­dings immer klap­pen. Wenn das beim eige­nen Sys­tem nicht klappt, ist es ver­mut­lich Sys­tem wirk­lich alt. In dem Fall: Alle Plug­ins deak­ti­vie­ren, auf eines der Stan­dard­the­mes schal­ten und dann die PHP-Ver­si­on umstellen.
  4. Plug­ins und The­mes aktualisieren
    Aktua­li­sie­re zuerst die Plug­ins und The­mes. Bei Pre­mi­um-Vari­an­ten muss die­ses even­tu­ell manu­ell per FTP aktua­li­siert wer­den. Ver­wen­dest man ein The­me oder Plug­in von Enva­to, kann man auch das offi­zi­el­le WordPress-Plug­in von denen zur Aktua­li­sie­rung ver­wen­den: https://github.com/envato/wp-envato-market
    Wenn mög­lich: Deak­ti­vie­re Plug­ins zunächst, das beugt Feh­lern vor.
  5. WordPress aktua­li­sie­ren
  6. Plug­ins und The­mes aktualisieren
    Ja, das fin­det tat­säch­lich noch­mal statt. Jetzt kom­men die Updates, wel­che mit der aktu­el­len WordPress-Ver­si­on kom­pa­ti­bel sind.
  7. Pro­ble­me beheben
    Lei­der kommt es manch­mal doch zu Pro­ble­men, z.B. wenn vie­le eige­ne Anpas­sun­gen vor­ge­nom­men wur­den. Dann soll­ten die­se zunächst beho­ben oder das zuvor gemach­te Back­up wie­der ein­ge­spielt werden.
  8. PHP auf 7.0 umstellen
    Damit kann man der eige­nen Sei­te einen rich­ti­gen Per­for­mance-Schub geben. Gibt es damit noch Pro­ble­me auf der Sei­te, soll­te vor­erst wei­ter­hin PHP 5.6 oder 5.5 ver­wen­det und die Pro­ble­me in Ruhe, aber zeit­nah, beho­ben werden.
  9. Hat alles geklappt, das Update auf dem Pro­duk­tiv­sys­tem durchführen

Tipps und Hinweise

Die oben genann­te Vor­ge­hens­wei­se klappt vor allem bei ein­fa­chen Sei­ten mit weni­gen eige­nen Anpas­sun­gen und mög­lichst ohne Ver­wen­dung von Pre­mi­ump­lug­ins bzw. eines Premiumthemes.

Damit das trotz­dem kein Pro­blem für dich ist, hier noch ein paar Hinweise:

  • Bei vie­len Pre­mi­ump­lug­ins und The­mes gibt es kei­ne auto­ma­ti­schen Updates.
    Schaue des­we­gen vor­her beim Anbie­ter nach, ob es eine aktu­el­le Ver­si­on gibt und die­se mit dem aktu­el­len WordPress kom­pa­ti­bel ist. Einen Hin­weis auf mög­li­che Pro­ble­me mit dem aktu­el­len WordPress geben oft­mals die Kom­men­ta­re ande­rer Kunden.
  • Ver­wen­de­te Plug­ins auf Aktua­li­tät und Not­wen­dig­keit prüfen
    Es kommt nicht sel­ten vor, dass man Plug­ins ver­wen­det, die nicht mehr gepflegt wer­den. Manch­mal ist das nicht mehr not­wen­dig, da die Funk­ti­on mitt­ler­wei­le von WordPress selbst bereit­ge­stellt wird, manch­mal hat auch der Ent­wick­ler ein­fach kei­ne Lust mehr. Ist das Plug­in den­noch kom­pa­ti­bel kann man es auch wei­ter­ver­wen­den. Idea­ler­wei­se schaut man sich aber nach einer moder­nen Alter­na­ti­ve um und wech­selt zügig.
  • Eins nach dem Anderen:
    Nicht alle Plug­ins auf ein­mal aktua­li­sie­ren, son­dern eins nach dem Ande­ren. So kann man einer­seits Übel­tä­ter schnel­ler iden­ti­fi­zie­ren, ande­rer­seits kann man so auch schon ein par­ti­el­les Update durch­füh­ren und ist wenigs­tens teil­wei­se auf dem neu­es­ten Stand.

In Zukunft besser regelmäßig aktualisieren

Gene­rell emp­feh­len wir WordPress, The­mes und Plug­ins immer aktu­ell zu hal­ten. Das gilt grund­sätz­lich auch für ande­re Soft­ware, die man im Ein­satz hat.

Die Aktua­li­sie­rung muss nicht immer sofort erfol­gen, aber wenigs­tens ein­mal im Quar­tal oder im hal­ben Jahr. Neben moder­nen Funk­tio­nen, beho­be­nen Feh­lern und Sicher­heits­lü­cken, garan­tiert dass auch ein schnel­les Update bzw. zügi­ge Ände­run­gen, wenn es wirk­lich mal drin­gend ist.

Hin­weis: Bei Sicher­heits­lü­cken soll­te ein Update umge­hend statt­fin­den. Für WordPress lohnt es sich den RSS-Feed oder die E‑Mailbenachrichtigung von https://wpvulndb.com zu abon­nie­ren. So ist man immer auf dem Lau­fen­den was Sicher­heits­lü­cken in WordPress, The­mes oder Plug­ins angeht und kann schnel­ler reagieren.

Lieber doch nicht selbst machen

Soll­ten Sie sich das nicht selbst zutrau­en, kön­nen Sie uns natür­lich auch mit der regel­mä­ßi­gen War­tung und Opti­mie­rung der Sei­te beauf­tra­gen. Nut­zen Sie dazu ein­fach das Kon­takt­for­mu­lar und wir mel­den uns so schnell wie möglich.

Einfache Möglichkeiten zur schnellen Optimierung einer WordPress Webseite

Die Opti­mie­rung einer WordPress Web­sei­te muss nicht immer auf­wen­dig sein. Ähn­lich dem Pare­to­prin­zip kann ein gro­ßer Teil der Opti­mie­rung mit ver­gleichs­wei­se gerin­gem Auf­wand erreicht wer­den. In die­sem Arti­kel stel­len wir ein paar ein­fa­che und schnel­le Opti­mie­run­gen für WordPress vor, die auch von Lai­en leicht ange­wen­det wer­den können.

Upgrade auf PHP 7 und höher

Ein Upgrade auf PHP 7 ist ein wah­rer Boos­ter für Ihre Web­sei­te. Eini­ge Funk­tio­na­li­tä­ten sind um das Dop­pel­te schnel­ler zur vor­an­ge­gan­ge­nen Ver­si­on. Zudem wird deut­lich weni­ger Arbeits­spei­cher benö­tigt, wodurch der Web­ser­ver zusätz­lich ent­las­tet wird und mehr Anfra­gen schnel­ler abar­bei­ten kann. Dane­ben ist die Rück­wärts­kom­pa­ti­bi­li­tät zur PHP Ver­si­on 5.6 gege­ben, wodurch das Risi­ko eines Wech­sels gering ausfällt.

Übli­cher­wei­se bie­ten Hos­ter die Mög­lich­keit die PHP-Ver­si­on über die Admi­nis­tra­ti­on des Ser­vers oder direkt über die .htac­cess zu wech­seln. Wenn ihr Hos­ter die Mög­lich­keit eines Wech­sels der PHP-Ver­si­on nicht unter­stützt, dann soll­ten Sie sich Gedan­ken um einen Wech­sel des Anbie­ters machen.

Falls Sie noch auf PHP 5.6 oder klei­ner unter­wegs sind, dann nut­zen Sie die­se ein­fa­che Mög­lich­keit des schnel­len Boosts. Für einen sol­chen Wech­sel kön­nen wir ihnen all-inkl.com (*) emp­feh­len. Ein Ver­gleich mit ihrem aktu­el­len Hos­ter lohnt sich in jedem Fall.

Hin­weis: Für eine funk­tio­nie­ren­de Umstel­lung kön­nen wir nicht Garan­tie­ren. Zurück auf die alter PHP-Ver­si­on bei Pro­ble­men soll­te ohne Wei­te­res mög­lich sein. Zur Sicher­heit soll­ten Sie hier jedoch vor der Umstel­lung ein Back­up machen. 

Plugin zur Optimierung der Geschwindigkeit

Wir sind immer wie­der über­rascht wie schnell eine WordPress-Web­sei­te durch die ein­fa­che Ver­wen­dung eines Opti­mie­rungs-Plug­ins der Geschwin­dig­keit wird. Nicht nur der HTML-Code wird hier vor­be­rech­net und sofort aus­ge­lie­fert, son­dern auch CSS- und Java­Script-Anfra­gen jeweils kom­bi­niert und ver­klei­nert. Die gene­rel­le Grö­ße der vom Ser­ver geschick­ten Datei­en kann durch die Gzip-Kom­pres­si­on ver­rin­gert wer­den und das Caching des Brow­sers für wie­der­keh­ren­de Besu­cher akti­viert werden.

Ein­stel­lun­gen im WP Fas­test Cache Plugin

Auf­grund unse­rer Erfah­rung und der beson­ders ein­fa­chen Bedie­nung emp­feh­len das Plug­in WP Fas­test Cache. Das Ergeb­nis ist für die meis­ten Web­sei­ten aus­rei­chend. Die Ein­stel­lun­gen sind so ein­fach, dass die Häk­chen aus dem obe­ren Bild in vie­len Fäl­len ein­fach über­nom­men wer­den können.

Hin­weis: Falls Sie einen Online­shop betrei­ben, z.B. mit WooCommerce, oder eine ande­re Sei­te die vie­le nut­zer­ab­hän­gi­ge Daten anzeigt, muss man beim Ein­satz eines sol­chen Plug­ins vor­sich­tig sein. Denn dann ist es oft not­wen­dig bestimm­te Sei­ten, wie den Waren­korb, vom Caching auszuschließen.

Tipp: Mit Hil­fe der kos­ten­lo­sen Web­sei­te webpagetest.org kann man sich das Ergeb­nis nach und vor der Opti­mie­rung anschauen.

Optimierung von Bildern

Die Opti­mie­rung der Bil­der einer WordPress-Web­sei­te trägt nicht nur bei Inhal­ten mit vie­len Bil­dern einen gro­ßen Anteil. Durch ihre Datei­grö­ße benö­ti­gen Bil­der im Ver­gleich zum Rest der Sei­te oft deut­lich mehr Band­brei­te und ver­zö­gern damit die Lade­zeit. Die­sen Fak­tor kann man in den meis­ten Fäl­len noch opti­mie­ren. Denn über eine ver­rin­ger­te Gesamt­grö­ße und somit schnel­le­re Aus­lie­fe­rungs­zeit der Sei­te freu­en sich nicht nur ihre Besu­cher son­dern auch die Such­ma­schi­nen. Gera­de im mobi­len Bereich wer­den die­se zwei Fak­to­ren durch die Such­ma­schi­nen getreu dem Mot­to “Je gerin­ger der benö­tig­te Traf­fic ihrer Sei­te, des­to bes­ser das Ran­king.” noch stär­ker berücksichtigt.

Fol­gen­de Punk­te sind in den meis­ten Fäl­len ohne Wei­te­res möglich:

  • Nut­zung von JPEG für Bil­der ohne Trans­pa­renz statt PNG
  • Ver­mei­dung der Ver­wen­dung der voll­stän­di­gen Bild­grö­ße in Beiträgen
  • Opti­mie­rung der bereits bestehen­der Bil­der durch das EWWW Image Opti­mi­zer Plugin
    • Kom­pri­mie­rung bereits bestehen­der JPEG-Bilder
    • Kon­ver­tie­rung von bereits bestehen­den PNG-Bil­der ohne Trans­pa­renz nach JPEG. Bil­der mit einer Trans­pa­renz kön­nen hier­mit auch nach JPEG kon­ver­tiert wer­den. Dafür muss eine Far­be gesetzt wer­den mit der der trans­pa­ren­te Hin­ter­grund gefüllt wird.

Genaue­re Infor­ma­tio­nen fin­den Sie in unse­rem Arti­kel zur Bil­der­op­ti­mie­rung.

Einspielen von Updates

WordPress, The­me und Plug­ins immer auf dem aktu­el­len Stand zu hal­ten, ist nicht nur eine Fra­ge der Sicher­heit, son­dern auch gut für eine opti­mier­te Sei­te. Red­un­dan­te Funk­tio­na­li­tä­ten und Anfra­gen kön­nen durch Updates redu­ziert wer­den. Neben neu­en Fea­tures wer­den auch kon­ti­nu­ier­lich Ver­bes­se­run­gen am Quell­code vorgenommen.

Nicht verwendete Plugins deaktivieren

Wer­den wirk­lich alle Plug­ins die instal­liert sind benö­tigt? Vie­le Plug­ins bedeu­tet in der Regel: viel Logik die abge­ar­bei­tet wer­den muss, erhöh­tes Risi­ko für Sicher­heits­lü­cken und erhöh­ter War­tungs­auf­wand für Update und Kom­pa­ti­bi­li­tät. Deak­ti­vie­ren Sie Plug­ins die nicht mehr benö­tigt werden.

Auf fol­gen­den Din­ge soll­ten Sie dabei achten:

Verwendung von Plugins des Themes

Ins­be­son­de­re bei der Ver­wen­dung von Pre­mi­um-The­mes erle­ben wir es immer wie­der, dass unnö­tig vie­le Plug­ins instal­liert und akti­viert sind. Aus Sicht des Anwen­ders ist es natür­lich ein­fa­cher, da er alle Fea­tures sofort nut­zen kann. Nor­ma­ler­wei­se wird aber nur ein Bruch­teil davon benö­tigt. Zwei, drei oder mehr Slider sind bei­spiels­wei­se kei­ne Sel­ten­heit. Sie soll­ten sich dann für einen ent­schei­den und die Ande­ren deak­ti­vie­ren bzw. löschen. Oft unter­stüt­zen The­mes aber auch ande­re Plug­ins, wie WooCommerce und emp­feh­len dem Anwen­der direkt die­se zu instal­lie­ren. Hier soll­te man ein­fach dar­auf ach­ten, dass man nicht gleich alles unge­le­sen durch­klickt, instal­liert und aktiviert.

Selten verwendete Plugins

Plug­ins, die nur spo­ra­disch benö­tigt wer­den, z.B. um Sys­tem­in­for­ma­tio­nen abzu­fra­gen, soll­ten auch nur dann akti­viert wer­den, wenn man sie tat­säch­lich braucht.

Plugins regelmäßig überprüfen

Manch­mal sind Plug­ins ver­al­tet und es gibt mitt­ler­wei­le bes­se­re Alter­na­ti­ven. Hin und wie­der kommt es auch vor, dass eine Funk­ti­on mitt­ler­wei­le auch durch WordPress selbst umge­setzt wur­de und das Plug­in ein­fach obso­let gewor­den ist.

Nützlichkeit von Plugin-Funktionalität in Frage stellen

Oft kommt es vor, dass man sich ein Plug­in instal­liert, wel­ches eine Klei­nig­keit ver­schö­nert. Hier soll­te man abwä­gen, ob es nicht ohne geht. So gibt es Anwen­der, die sich etwas instal­lie­ren, um die Log­in­mas­ke auf­zu­hüb­schen, obwohl sie der ein­zi­ge Nut­zer im Sys­tem sind.

Nicht benötigte Theme-Features deaktivieren

Das gilt auch insb. für Pre­mi­um-The­mes, die beson­ders vie­le Funk­tio­nen bie­ten. Vie­le The­mes erlau­ben es kom­plet­te Funk­tio­na­li­tä­ten, wie eige­ne Slider, oder die Unter­stüt­zung für belieb­te Plug­ins, zu deak­ti­vie­ren. In der Regel wird die Admi­nis­tra­ti­on dadurch schlan­ker und dem Anwen­der weni­ger CSS- und Java­Script-Datei­en ausgeliefert.

Tipp: Vie­le The­mes nut­zen heut­zu­ta­ge einen soge­nann­ten Prel­oa­der. Das heißt der Nut­zer sieht beim Sei­ten­auf­ruf erst einen Lade­krin­gel. Deak­ti­vie­ren Sie die­sen nach Mög­lich­keit, denn der erzeugt oft­mals nur eine künst­li­che Pau­se ohne ech­ten Nutzen.

Weniger ist mehr

Bei dem auf ihrer Web­sei­te durch einen neu­en Besu­cher, wer­den die meis­ten Daten wie Skript- und CSS-Datei­en gela­den. Wei­te­re Auf­ru­fe sind meist gar nicht mehr so lang­sam da der Brow­ser des Besu­chers die­se Daten zwi­schen­spei­chert. Da vie­le Nut­zer häu­fig über die Start­sei­te kom­men, kann man hier beson­ders gut opti­mie­ren, indem man die­se mög­lichst schlank hält und somit ein zügi­ges Anzei­gen der Inhal­ten erlaubt. Ist das ers­te Ele­ment bei­spiels­wei­se ein rie­si­ger Voll­bilds­li­der, ist es wahr­schein­li­cher das neue Nut­zer lan­ge war­ten müs­sen und eher frus­triert sind. Ver­zich­ten sie gene­rell auf unnö­tig vie­le Bil­der und Effekte.

Tipp: Keep it simp­le and clean.

Fazit

Nicht immer ist es not­wen­dig das The­me zu Wech­seln, den Quell­text zu opti­mie­ren oder beson­ders schnel­len Web­space zu buchen. In vie­len Fäl­len reicht es aus, mit die­sen ein­fa­chen Mit­teln eine deut­lich spür­ba­re Opti­mie­run­gen vorzunehmen.

Soll­ten Sie den­noch unsi­cher sein und möch­ten das lie­ber einem Pro­fi machen las­sen, kon­tak­tie­ren Sie uns ein­fach.

(*) Gekenn­zeich­ne­te Links ent­hal­ten Affiliate-Link

 

Was ist der Nutzen des WP_Term_Query?

Für Ent­wick­ler bringt die neue WordPress Ver­si­on 4.6 eine ver­bes­ser­te Mög­lich­keit mit dem WP_Term_Query, Terms aus der Daten­bank abzufragen.

Was sind Terms?

Ein Term ist ein Begriff der zu einer Taxo­no­mie gehört. Eine Taxo­no­mie besteht aus einem bis meh­re­ren Terms. Ein oder meh­re­re die­ser Terms kön­nen mit einem Bei­trag ver­knüpft wer­den. Das Ziel die­ser Ver­knüp­fung ist es, Bei­trä­ge zu Kate­go­ri­sie­ren um spä­ter schnel­ler nach Bei­trä­gen fil­tern zu können.

Ein Bei­spiel dafür ist die Taxo­no­mie Fahr­zeug­ty­pen die alle ver­wen­de­ten Fahr­zeug­ty­pen beinhal­tet. Der Fahr­zeug­typ wie Klein­wa­gen, Mit­tel­klas­se, Kom­bi oder Gelän­de­wa­gen ist ein Term.
Ein Bei­trag über einen VW Polo kann dann mit einem Klein­wa­gen und einer über einen Golf mit den Fahr­zeug­ty­pen Klein­wa­gen und Mit­tel­klas­se ver­knüpft werden.

Neue Taxo­no­mien wie die aus dem Bei­spiel kön­nen zu allen Bei­trags­ty­pen hin­zu­ge­fügt wer­den. Die bestehen­den Kate­go­rien von Bei­trä­gen sind im Hin­ter­grund nichts ande­res als Terms inner­halb der Taxo­no­mie “cate­go­ry” und die Schlag­wor­te nichts ande­res als Terms inner­halb der Taxo­no­mie “post_tag”.

Abfragen von Terms

Die Klas­se WP_Term_Query hilft uns WordPress Ent­wick­lern Terms wie schon die Bei­trä­ge (WP_Query), Nut­zer (WP_User_Query) und Kom­men­ta­re (WP_Comment_Query) aus der Daten­bank abzufragen.

Die­se WordPress-Klas­sen brin­gen vie­le Mög­lich­kei­ten mit, ein Ele­ment auf einem stan­dar­di­sier­ten Weg aus der Daten­bank zu fil­tern. Das hat den Vor­teil das nicht jeder Ent­wick­ler eige­ne Daten­bank­ab­fra­gen schrei­ben muss. Inner­halb die­ser Klas­sen wird die Caching-API von WordPress ver­wen­det wel­che die Daten­bank­ab­fra­gen redu­ziert und die Anwen­dung schnel­ler macht.
Wei­ter­hin sind die­se Klas­sen gene­rell siche­rer in der Ver­wen­dung. Das liegt einer­seits dar­an, dass die Fil­te­rung von Ein­ga­ben durch den Benut­zer berück­sich­tigt wird und vie­le Ent­wick­ler über die­sen Quell­code geschaut haben (Stich­wort Code­re­view). Ande­rer­seits kön­nen durch WordPress-Updates Feh­ler inner­halb die­ser Klas­sen ein­fach und schnell beho­ben werden.
Mit der Stan­dar­di­sie­rung fällt es Ent­wick­lern auch viel leich­ter den Quell­code für Feh­ler­ana­ly­sen zu verstehen.
Eige­ne Abfra­gen zu schrei­ben lässt sich in bestimm­ten Fäl­len nicht ver­mei­den. Hier muss dann jedoch auf die Effi­zi­enz (Inte­gra­ti­on der Caching API) und die Sicher­heit geach­tet werden.

Fazit

Mit dem der Ein­füh­rung der Klas­se WP_Term_Query wird der Quell­code für die eige­ne Ent­wick­lung wei­ter stan­dar­di­siert. Kom­ple­xe und schlecht Wart­ba­re und damit feh­ler­an­fäl­li­ge Daten­bank­ab­fra­gen wer­den redu­ziert. Die Ver­ständ­lich­keit für das Lesen von Quell­code wird erhöht.

Automatische Ersetzung des Bindestrichs durch einen Gedankenstrich verhindern

Nicht alle auto­ma­ti­schen Erset­zun­gen des Tex­tes im WordPress-Edi­tor sind sinn­voll oder gewollt. Mei­ner Mei­nung nach gehört die auto­ma­ti­sche Erset­zung des ein­fa­chen Bin­de­strichs mit dem Gedan­ken­strich dazu. Das Pro­blem dabei ist, dass der Edi­tor im Visu­el­len Modus immer noch den Bin­de­strich aus­spuckt aber inner­halb der sicht­ba­ren Sei­te ein Gedan­ken­strich zu sehen ist.

WordPress hat intern für die Opti­mie­rung des Inhalts einen Fil­ter-Hook the_content. Die­ser Hook greift nach­dem der Inhalt aus der Daten­bank geholt wur­de und bevor er ins HTML z.B. über die the_content() Funk­ti­on geschrie­ben wird.

Automatische Ersetzung für den Inhalts-Hook entfernen

Im WordPress sind stan­dard­mä­ßig die Funk­tio­nen wpau­top und wptex­tu­ri­ze auf den the_content Hook regis­triert. Für die auto­ma­ti­sche Erset­zung des Bin­de­strichs ist die wptex­tu­ri­ze-Funk­ti­on ver­ant­wort­lich. Der Auf­ruf kann für den Inhalts-Hook in der functions.php über fol­gen­de Quell­code­zei­le dere­gis­triert werden.

remove_filter('the_content', 'wptexturize');

Damit sind jedoch alle auto­ma­ti­schen Inhalts­op­ti­mie­run­gen die­ser Funk­ti­on dahin.

Automatische Ersetzung für weitere Hooks entfernen

Neben dem Inhalts-Hook ist die wptex­tu­ri­ze-Funk­ti­on auch auf dem Title-Hook und dem Excerpt-Hook regis­triert und kann dere­gis­triert werden.

remove_filter('the_title', 'wptexturize');
remove_filter('the_excerpt', 'wptexturize');

 

Anzahl Produkte für WooCommerce programmatisch setzen

Manch­mal ist es not­wen­dig die Anzahl der vor­ein­ge­stell­ten Pro­duk­te im WooCommerce zu erhö­hen oder zu ernied­ri­gen. Die­ser kur­ze Arti­kel zeigt wie es geht.

In der functions.php muss dazu der Fil­ter “loop_shop_per_page” um die eige­ne Funk­ti­on erwei­tert werden.

add_filter( 'loop_shop_per_page', function ( $cols ) {
    // Anzahl der Produkte
    return 16;
}, 20 );

Die­se Funk­ti­on gibt die Anzahl der Pro­duk­te im Shop (im Bei­spiel sind es 16) zurück. Der Fil­ter hat als zwei­ten Para­me­ter noch die Prio­ri­tät (im Bei­spiel ist es 20).

Schutz von E‑Mail-Adressen gegen Crawler und Spambots

Craw­ler sind im Netz unter­wegs und durch­su­chen Web­sei­ten unter ande­rem nach per­so­nen­be­zo­ge­nen Inhal­ten. Eini­ge von Ihnen suchen nach E‑Mail-Adres­sen auf Web­sei­ten, um die­se dann inner­halb von Archi­ven abzu­le­gen. Aus die­sen Archi­ven wer­den dann Spam-Mails an die jewei­li­ge E‑Mail-Adres­se ver­sandt. Die­ser Arti­kel geht auf die Mög­lich­kei­ten zum Schutz ein und erläu­tert, war­um gera­de für Unter­neh­men der Schutz wich­tig ist.

Warum ist der Schutz der E‑Mail-Adresse für Unternehmen so wichtig?

Nach dem § 5 Abs. 1 Nr. 2 TMG haben Unter­neh­men die Pflicht die “Adres­se der elek­tro­ni­schen Post” im Impres­sum anzu­ge­ben. Nach einem Urteil des Kam­mer­ge­richts Ber­lin wur­de das ein­deu­tig bestätigt.

“Dem­nach rei­chen weder die Anga­be einer Tele­fax­num­mer oder die Bereit­stel­lung eines Online-Kon­takt­for­mu­lars aus, um die­se Vor­ga­be zu erfül­len. Selbst die Anga­be einer Tele­fon­num­mer ent­bin­det den Unter­neh­mer nicht von der Pflicht, auch eine E‑Mail-Adres­se im Impres­sum aus­zu­wei­sen.”
(Quel­le: E‑Mail-Adres­se im Impres­sum ist Pflicht)

Eine E‑Mail-Adres­se muss somit immer auf der Web­sei­te hin­ter­legt wer­den, wes­halb es gera­de Unter­neh­men beson­ders schwer haben sich gegen Spam-Mails zu weh­ren. Dann bleibt nur die Hoff­nung, dass das Spam-Pro­gramm auf dem Mail-Ser­ver die ent­spre­chen­den Nach­rich­ten fil­tert. Beson­de­re Gefahr geht dabei von sogen­n­an­ten Phis­hing-Mails aus, da hier­bei oft unbe­wußt sen­si­ble Infor­ma­tio­nen wei­ter­ge­ge­ben werden.

Welche Möglichkeiten gibt es zum Schutz der E‑Mail-Adresse?

In die­sem Abschnitt wer­den häu­fig genutz­te Mög­lich­kei­ten zum Schutz aus der Über­sicht über 15 Mög­lich­kei­ten, die E‑Mail-Adres­se geschützt dar­zu­stel­len vor­ge­stellt. Dane­ben wird unter ande­rem auf den tat­säch­li­chen Schutz, geord­net von gut bis schlecht erkenn­bar durch Web­craw­ler, eingegangen.

1. Text statt Mailto-Link

Die E‑Mail-Adres­se als Text anstatt als Link zu hin­ter­le­gen und damit auf das “mail­to:” zu ver­zich­ten ist nur für den Besu­cher der Sei­te ärger­lich. Die­ser kann die E‑Mail-Adres­se nicht ankli­cken und bekommt damit auch nicht sein E‑Mail-Pro­gramm (z.B. Out­look oder Thun­der­bird) zum Sen­den einer E‑Mail geöff­net. Für Web­craw­ler ist die Erken­nung der E‑Mail die als Text hin­ter­legt ist sehr einfach.

2. @-Zeichen ersetzen durch “[at]”, “(at)” …

Hier soll­te das Kür­zel für die Erset­zung recht kom­pli­ziert sein. Da es aber noch für den Nut­zer der Sei­te mög­lich sein muss dar­aus eine E‑Mail-Adres­se zu schluss­fol­gern, ist es für Craw­ler ein leich­tes das Mus­ter der E‑Mail-Adres­se zu erken­nen. Im Ver­gleich zu 1. ist die­se Mög­lich­keit etwas bes­ser als rei­ner Text, mehr aber auch nicht. Zusätz­lich kann der Besu­cher die Adres­se nicht direkt im eige­nen Mail-Pro­gramm öffnen.

3. Verschleierung durch HEX- bzw. URL-Encoding

Im Netz gibt es eini­ge Kon­ver­ter wo die E‑Mail-Adres­se ein­tra­gen wer­den kann und einen ent­spre­chen­de kodier­te E‑Mail zurück­be­kommt. Erwei­ter­te Web­craw­ler ver­fü­gen jedoch auch über eine sol­ches Reper­toire an Zei­chen und kön­nen die Mail leicht deco­die­ren bzw. erkennen.

4. Bild oder Grafik statt Text

Der Besu­cher kann wie bei 1. nicht sein E‑Mail-Pro­gramm benutz­ten. Für bes­se­re Web­craw­ler ist auch die Fil­te­rung der E‑Mail-Adres­se aus dem Bild oder der Gra­fik durch Tex­terken­nung mög­lich. Hin­weis: Von die­ser Metho­de wird aller­dings abge­ra­ten, da sie auf­grund man­geln­der Screen­rea­der-Unter­stüt­zung abmahn­fä­hig ist.

5. Verschleierung durch Captcha

Die Adres­se ist für Craw­ler schwer zu erken­nen. Jedoch ist hier ein recht­li­ches Fra­ge­zei­chen, da die Adres­se auch erst zur die Ein­ga­be des Codes erkenn­bar wird. Da aber die Adres­se nicht direkt sicht­bar ist, kann die­se auch unter Umstän­den abge­mahnt werden.

Ein Bei­spiel hier ist der Dienst scr.im bei dem die E‑Mail im Impres­sum wie folgt dar­ge­stellt wird:

k…@m…t.de

Der Nut­zer der Web­sei­te hat hier eben­falls nicht die Mög­lich­keit die Adres­se im eige­nen E‑Mail-Cli­ent zu öff­nen. Hier wird er auf eine Sei­te wei­ter­ge­lei­tet, bei der ein Captcha zu sehen ist und bei der rich­ti­gen Ein­ga­be des Codes die E‑Mail erscheint.

6. Verschlüsselung über JavaScript

Die bes­te Mög­lich­keit die Craw­ler zu täu­schen ist die Ver­schlüs­se­lung der Adres­se über Java­Script. Hier soll­ten jedoch mög­lichst kom­pli­zier­te Ver­fah­ren am bes­ten mehr­mals hin­ter­ein­an­der ver­wen­det wer­den. Eine häu­fig ver­wen­de­te Vari­an­te der Ver­schlüs­se­lung ist bei­spiels­wei­se die ROT13 Verschlüsselung.
Der Nut­zer der Web­sei­te bekommt die E‑Mail-Adres­se als Mail­to-Link rich­tig ange­zeigt. Für Web­craw­ler ist die E‑Mail-Adres­se, je nach Kom­ple­xi­tät der Ver­schlüs­se­lung und Imple­men­tie­rung, wei­test­ge­hend unsicht­bar. Für die­se Vari­an­te gibt es sogar ein WordPress-Plug­in, wel­ches wir an die­ser Stel­le emp­feh­len möchten. 🙂

Welches WordPress-Plugin können wir empfehlen?

Im WordPress-Plug­in-Ver­zeich­nis gibt es zwei häu­fig ver­wen­de­te Plug­ins um die E‑Mail-Adres­sen auf der WordPress Web­sei­te zu schützen.

Nicht emp­feh­len kön­nen wir das Plug­in Email Address Enco­der, da es nur das Enco­ding zum Punkt 3. der Mög­lich­kei­ten zum Schutz der E‑Mail-Adres­se unterstützt.

Das Plug­in Email Enco­der Bund­le – Pro­tect Email Address kön­nen wir emp­feh­len und soll­te somit in kei­ner WordPress-Basis­in­stal­la­ti­on feh­len. 😉 Es nutzt die Mög­lich­keit der Ver­schlüs­se­lung aus dem Punkt 6. der Mög­lich­kei­ten zum Schutz der E‑Mail-Adres­se. Lei­der jedoch in ein­fa­cher Form. Sobald das Plug­in instal­liert ist sind alle E‑Mail-Adres­sen mit Mail­to-Link auf der WordPress Web­sei­te geschützt. Die Stan­dard-Ein­stel­lun­gen kön­nen wei­test­ge­hend bei­be­hal­ten werden.

Email Encoder Bundle Settings

Wir emp­feh­len hier die Opti­on “Replace plain email addres­ses to pro­tec­ted mail­to links” zu akti­vie­ren, da damit auch E‑Mail-Adres­sen als Text geschützt wer­den. Die­se wer­den jedoch in einen Mail­to-Link ver­wan­delt. Für die meis­ten Anwen­dungs­fäl­le soll­te aber die­se Umwand­lung kein Pro­blem sein. Dane­ben gibt es noch eini­ge Fea­tures zum Schutz, z.B. der Tele­fon­num­mer etc.

Hin­weis: Der Kom­men­ta­tor ulrics weist dar­auf hin, dass dyna­mi­schen Metho­den, z.B. mit­tels Java­Script, unter Umstän­den nicht rechts­kon­form sind. Wir sind kei­ne Rechts­exper­ten und kön­nen das nicht beur­tei­len. Hier soll­te also jedes selbst ent­schei­den oder mit sei­nem Anwalt spre­chen, ob er die vor­ge­stell­ten Metho­den ver­wen­det oder nicht.