Archiv der Kategorie: editor

Problem beim Post erstellen bei >300.000 Posteinträgen – Eltern-Dropdown (Page Parent) entfernen

WordPress und hohe Postanzahl

WordPress kommt gut mit Instanzen zurecht, die mehr als 300.000 Beiträge, Seiten oder andere Custom Post Type Einträge aufweisen.

Obwohl sich in der Datenbank aufgrund von Autosaves und Revisionen ein Vielfaches von 300.000 Einträgen befindet, sind Seiten im Front- und Backend noch geschmeidig bedienbar.

Das trifft auch auf Sharedhosting wie Uberspace zu, was viele im Vorhinein nicht vermuten würden.

Problemzone Elternseiten-Dropdown

So ganz uneingeschränkt stimmt das nicht.
Ein riesiges Problem ist das Elterndropdown im Backend:

Eltern- oder Pageparent Dropdown
Eltern- oder Pageparent Dropdown

In diesem Dropdown werden alle Seiten aufgelistet, die es so gibt.
Das heißt, dass ALLE Seiten/CPT aus der Datenbank geholt werden. Das ist schon mal ein Performanceproblem, da das eine ressourcenfressende Abfrage ist.

Das nächste Problem besteht darin, alle Seiten dann in HTML umzusetzen. Es kommt also für jeden Eintrag ein weiteres Objekt in dem Dropdown hinzu.

Bei zb vier Einträgen wie hier ist das kein Problem:

Dropdown-Einträge im HTML-Quelltext
Dropdown-Einträge im HTML-Quelltext

Müssen aber zb 300.000 Einträge erstellt werden, wird das schnell zum Flaschenhals am Webserver.

Also:

Der Webserver wird dadurch extremst ausgelastet und es kann zu einem Ausreizen des Arbeitsspeichers oder der Exec-Time kommen.

Was dann passiert, sollte klar sein, oder?

Wir bekommen eine (meist) weiße Seite mit einem Server-Error.

Das liegt sicher nicht in unserem Interesse.

Lösung: Dropdown beseitigen, zb

Einerseits könnte man aus dem Dropdown ein Autovervollständigenfeld machen, wie das zb bei der Tag-Auswahl bekannt ist.

Wenn man aber die Auswahl der Elternseite sowieso nicht braucht, kann man diesen Bereich gleich ganz entfernen.

Bei selbst erstellen Post Types reicht es, wenn ‚page-attributes‘ bei ’supports‘ weggelassen wird:

Register Post Type Beispiel
Register Post Type Beispiel

Dadurch erhält der Post-Type im Backend auf der Bearbeitenseite gar kein Dropdown, um ein Elternelement auszuwählen.

Wenn ich einem bestehenden Post-Type, wie zb „page“, das Dropdown wegnehmen möchte, brauche ich die Funktion remove_post_type_support():

Das war’s auch schon!

Links

https://codex.wordpress.org/Function_Reference/remove_post_type_support

https://codex.wordpress.org/Function_Reference/register_post_type

Gutenberg – Der neue WordPress Editor. Letztes Update vom 25.10.

Das hier wird ein Sammelartikel zu all den Neuigkeiten rund um Gutenberg.

Daher gibt’s hier laufend Erweiterungen und Updats.

Neue Artikel und Meinungen werden am Ende eingefügt!

  • Update vom 09. Oktober – Linkschleuder erweitert
  • Update vom 04. Oktober – Joost über Gutenberg
  • Update vom 23. + 25. Oktober: Metaboxen in Gutenberg angekommen

Was ist Gutenberg?

Gutenberg soll den derzeitigen Artikel-Bearbeiten-Bereich ersetzen.

Von der Idee her geht man weg von einem Contenbereich hin zu mehreren.

So kann man Content übereinanderstapeln oder untereinanderreihen. Inhalte werden dann in Zeilen, ähnlich Tabellenreihen, organisiert.

Man kann dann Inhalte verschieben – also ein Bild zwischen andere Bilderzeilen oder Textzeilen schieben.

Ziel

Der Editor von WordPress ist veraltet und fühlt sich auch nicht so hilfreich an.

WordPress wird von ähnlichen Apps wie wiix oder medium o.ä.  mächtig Feuer unter dem Arsch gemacht.

Warum?

Weil die bearbeitungsfreundlicher sind.

Außerdem möchte WodPress die ganzen Sitebuilderplugins mit Gutenberg ersetzen.

Generelle Infos

  • https://wordpress.org/plugins/gutenberg/
  • https://wordpress.github.io/gutenberg/

     

Diverse Infos

Gutenberg bekommt Metaboxen!

 

Ein großer Kritikpunkt an Gutenberg war die fehlende Unterstützung von Custom Fields/Metaboxen.

Mit nachfolgendem Commit sollte die Kritik nun langsam verstummen:

 

 

 

https://github.com/WordPress/gutenberg/commit/02d4734e667cbd423d78636bda5d34ec580bb3f9

Mehr Infos hier:

Gutenberg und WordPress lassen React fallen. Daraufhin ändert Facebook die Lizenz auf MIT ohne Anhang.

Matt Mullenweg beantwortet exzessiv Fragen zu Gutenberg:

Matt klärt ein paar offene Punkte zu Gutenberg und verteidigt einige Entscheidungen:

 

Die React-Problematik

Dazu möcht ich mich nicht lange auslassen, weil es hier um Patente und Lizenzrecht geht – und da amerikanisches Recht involviert ist..

React „gehört“ Facebook.

React steht nicht unter der GPL oder der MIT.

Wer React benutzt stimmt zu, dass man nicht mit Facebook wirtschaftlich konkurriert. Verkürzt gesagt.

Ein sehr provokativer Artikel dazu ist folgender:

https://medium.com/@raulk/if-youre-a-startup-you-should-not-use-react-reflecting-on-the-bsd-patents-license-b049d4a67dd2 – Wenn du ein Startup bist, verwende nicht React. (Wenn du darauf hoffst, von einer großen Firma aufgekauft zu werden)

Die Hauptaussage ist, dass es Probleme gibt, wenn man React benutzt und an eine andere Firma verkauft. Weil sich andere Firmen die Lizenzproblematik nicht einhandeln wollen.

GRAVIERENDES UPDATE

Das galt bis Anfang Oktober 2017. Facebook hat die Lizenz nun auf die MIT-Lizenz ohne Anpassungen geändert.

 

Meinungsspiegel

Joost de Valk von Yoast SEO über Gutenberg

  • https://yoast.com/gutenberg-alternative-approach/
  • Joost findet es gut, dass WordPress mit Gutenberg benutzerfreundlicher wird.
  • Gutenberg ist eine moderne Kopie des Medium-Editors.
  • Joost hat bedenken wegen JavaScript, der Geschwindigkeit/des Zeitplans der Entwicklungen
  • Es fehlen Schnittstellen zum Reinhängen in die Blocks – Yoast SEO kann noch nicht in die Gutenberg-Blocks integriert werden.
  • Es fehlen die Metaboxen und Joost kritisiert, dass die Gutenberg-Entwickler Metaboxen eventuell weglassen wollen.
  • Accessibility ist eine große Baustelle
  • Es gibt einen Vorschlag für ein mögliches Aussehen von Gutenberg – hier werden die Metaboxen ganz normal angezeigt:

 

 

Linkschleuder