Start
/
WordPress Tutorials
/
Speed Optimizer Plugin Tutorial
/
Wie man den benutzerdefinierten Filter von Speed Optimizer verwenden kann

Wie man den benutzerdefinierten Filter von Speed Optimizer verwenden kann

In der heutigen digitalen Welt kann die Leistung Ihrer Website über Ihren Erfolg entscheiden. Eine Website, die schnell geladen wird und reibungslos funktioniert, kann die Benutzererfahrung erheblich verbessern und den Verkehr, das Engagement und die Konversionsraten Ihrer Website steigern.

Speed Optimizer ist eine innovative Lösung, die die Leistung Ihrer Website verbessert . Dieses leistungsstarke Tool bietet eine Suite von benutzerdefinierten Filtern, mit denen Sie unter anderem das Caching, die Bildoptimierung und die Handhabung von Skripten auf Ihrer Website optimieren können.

Mit diesen Filtern können Sie Cache-Bereinigungsberechtigungen steuern, vorgewärmte URLs begrenzen, Cache-Bypass-Cookies hinzufügen, bestimmte URLs vom Cache ausschließen, die maximale Bildbreite anpassen und vieles mehr.

In diesem Tutorial finden Sie eine detaillierte Anleitung, wie Sie die benutzerdefinierten Filter von Speed Optimizer verwenden können, um die Leistung Ihrer Website zu steigern, also lesen Sie weiter.

Einstellung, welche Benutzerrollen die Berechtigung haben, eine manuelle Cache-Bereinigung durchzuführen

Zur erweiterten Anpassung haben wir einen Filter eingebaut, mit dem Sie kontrollieren können, welche Benutzerrollen Zugriff haben, um den Cache zu leeren, indem Sie die Schaltfläche SG Cache leeren verwenden.

Hier ist ein Beispiel für Code, den Sie zu Ihrer functions.php Datei hinzufügen können, um Ihre Caching-Erfahrung weiter anzupassen:

add_filter( 'sgo_purge_button_capabilities', 'sgo_add_new_role');
function sgo_add_new_role( $default_capabilities ) {
// Neuer Benutzerrolle erlauben, Cache zu leeren.
$default_capabilities[] = 'delete_others_posts'; // Für Editoren.
$default_capabilities[] = 'edit_published_posts'; // Für Autoren.

return $default_capabilities;
}

Begrenzung der Anzahl von URLs, die auf der Website vorher geladen werden

Wir haben auch einen zusätzlichen Filter eingeführt, mit dem Sie mühelos die Anzahl der URLs verwalten können, die Ihre Website vorheizen soll. Standardmäßig ist dieser Wert auf 200 gesetzt, um eine optimale Leistung zu gewährleisten.

Hier ist ein Beispiel für Code, den Sie nahtlos in Ihre functions.php Datei integrieren können:

add_filter( 'sg_file_caching_preheat_url_limit', 'sgo_preheat_limit');
function sgo_preheat_limit( $xml_urls ) {
// Definiere benutzerdefiniertes Limit für XML URL Preheat.
$xml_urls = 300;

return $xml_urls;
}

Denken Sie daran, dass es wichtig ist, den Cache zu leeren, wenn Sie Änderungen an den unten bereitgestellten Datei-Cache-Filtern vornehmen. Diese Aktion regeneriert die Datei sgo-config und stellt sicher, dass die Filter erfolgreich hinzugefügt wurden.

Hinzufügen eines Cache-Bypass-Cookies

Wenn Sie ein Cache-Bypass-Cookie zu den bestehenden Standard-Cookies hinzufügen müssen, können Sie den folgenden Filter verwenden:

add_filter( 'sgo_bypass_cookies', 'add_sgo_bypass_cookies');
function add_sgo_bypass_cookies( $bypass_cookies ) {
// Fügen Sie die Cookies hinzu, die Sie brauchen, um den Cache zu umgehen.
$bypass_cookies[] = 'cookie_name';
$bypass_cookies[] = 'cookie_name_2';

return $bypass_cookies ;
}

Wenn Sie den Cache für einen bestimmten Abfrageparameter überspringen möchten, können Sie den folgenden Filter verwenden:

add_filter( 'sgo_bypass_query_params', 'add_sgo_bypass_query_params');
function add_sgo_bypass_query_params( $bypass_query_params ) {
// Benutzerdefinierte Abfrageparameter hinzufügen, die den Cache überspringen.
$bypass_query_params[] = 'query_param';
$bypass_query_params[] = 'query_param2';

return $bypass_query_params;
}

Wenn Sie einen spezifischen Abfrageparameter hinzufügen müssen, der ignoriert wird in den Prozessen der Cache-Erstellung und Cache-Spawn, können Sie dies mit diesem Filter tun:

add_filter( 'sgo_ignored_query_params', 'add_sgo_ignored_query_params');
function add_sgo_ignored_query_params( $ignored_query_params ) {
// Die Abfrageparameter, die ignoriert werden.
$ignored_query_params[] = 'query_param';
$ignored_query_params[] = 'query_param2';

return $ignored_query_params;
}

Bestimmte URLs vom Cache ausschließen

Wenn Sie bestimmte URLs aus dem Caching Ihrer Website ausschließen möchten, können Sie den Filter verwenden, den wir für diesen Zweck entwickelt haben. Stellen Sie sicher, dass Sie den URL-Teil mit Schrägstrichen umgeben. Wildcards können ebenfalls verwendet werden. Schauen Sie sich das folgende Beispiel an:

add_filter( 'sgo_exclude_urls_from_cache', 'sgo_add_excluded_urls_from_cache');
function sgo_add_excluded_urls_from_cache( $excluded_urls ) {
// Der Teil der URL, der aus dem Cache ausgeschlossen werden soll.
$excluded_urls[] = '/excluded_url/';
$excluded_urls[] = '/wildcard/exclude/*';

return $excluded_urls;
}

Bestimmte Tabellen von der Heartbeat-Steuerung ausschließen

Passen Sie den Optimierungsprozess an, indem Sie bestimmte Tabellen von der Optimierung ausschließen. Sie können den Optimierungsprozess an Ihre spezifischen Bedürfnisse anpassen, indem Sie den Tabellennamen ohne das Datenbankpräfix angeben. Hier ist ein Beispiel für Code, den Sie zu Ihrer Datei functions.php hinzufügen können:

add_filter( 'sgo_db_optimization_exclude', 'sgo_db_optimization_exclude_table');
function sgo_db_optimization_exclude_table( $excluded_tables ) {
// Tabellen, die Sie ausschließen müssen, ohne das wpdb-Präfix hinzufügen.
$excluded_tables[] = 'table_name';
$excluded_tables[] = 'another_table_name';

return $excluded_tables;
}

Maximale Bildbreite anpassen

Sie können auch die Einstellung für die maximale Breite ändern, um sie an Ihre spezifischen Bedürfnisse anzupassen. Mit diesem Maß an Anpassung haben Sie die Flexibilität, die Bildgrößen basierend auf Ihren individuellen Anforderungen zu optimieren. Hier ist ein Beispiel-Code-Schnipsel, den Sie zu Ihrer Datei functions.php hinzufügen können:

add_filter( 'sgo_set_max_image_width', 'max_image_width');
function max_image_width( $max_allowed_width ) {
// Fügen Sie den Wert hinzu, den Sie als maximale Bildbreite anpassen möchten.
$max_allowed_width = 1250;

return $max_allowed_width;
}

Ändern Sie die Standard-WebP-Qualitätseinstellung

Sie können die standardmäßige Webp-Qualitätseinstellung ändern, indem Sie den Filter verwenden, den wir für diesen Zweck entwickelt haben. Die Standardeinstellung ist 80, und Sie können Werte zwischen 0 und 100 verwenden:

add_filter( 'sgo_webp_quality', 'webp_quality');
function webp_quality( $quality ) {
// Fügen Sie den Wert hinzu, den Sie als Webp-Bildqualität anpassen möchten.
$quality = 100;

return $quality;
}

Sie können die Standardeinstellung für Webp-Qualität ändern, indem Sie den Filter verwenden, den wir für diesen Zweck entwickelt haben. Der Standardqualitätstyp ist verlustbehaftet, was 0 entspricht, wenn Sie ihn auf verlustfrei setzen möchten – stellen Sie den Typ auf 1 wie folgt:

add_filter( 'sgo_webp_quality_type', 'reset_webp_quality_type');
function reset_webp_quality_type( $quality_type ) {
// Fügen Sie den Wert hinzu, den Sie als maximale Bildbreite anpassen möchten.
$quality_type = 1;

return $quality_type;
}

Plugin-Kompatibilität

In einigen Fällen können bestimmte Plugins keine Standard-WordPress-Hooks auslösen oder den Cache löschen. Um diese Situationen zu beheben, haben wir eine öffentliche Funktion bereitgestellt, die Sie in Ihrem Code verwenden können.

if (function_exists('sg_cachepress_purge_cache')) {
sg_cachepress_purge_cache();
}

Vorzugsweise können Sie eine URL an die Funktion übergeben, um den Cache zu leeren, anstatt den gesamten Cache zu leeren. Zum Beispiel:

if (function_exists('sg_cachepress_purge_cache')) {
sg_cachepress_purge_cache('https://ihresite.com/pluginpage');
}

Sie können Stile von der Kombination und Verkleinerung ausschließen mit den Filtern, die wir für diesen Zweck entwickelt haben. Hier ist ein Beispiel für den Code, den Sie zu Ihrer Datei functions.php hinzufügen können:

add_filter( 'sgo_css_combine_exclude', 'css_combine_exclude');
function css_combine_exclude( $exclude_list ) {
// Stilhandle zur Ausschlussliste hinzufügen.
$exclude_list[] = 'style-handle';
$exclude_list[] = 'style-handle-2';

return $exclude_list;
}
 
add_filter( 'sgo_css_minify_exclude', 'css_minify_exclude');
function css_minify_exclude( $exclude_list ) {
// Stilhandle zur Ausschlussliste hinzufügen.
$exclude_list[] = 'style-handle';
$exclude_list[] = 'style-handle-2';

return $exclude_list;
}

Sie können Skripte von der Minimierung ausschließen, indem Sie den Filter verwenden, den wir für diesen Zweck entwickelt haben. Hier ist ein Beispiel für den Code, den Sie zu Ihrer Datei functions.php hinzufügen können:

add_filter( 'sgo_js_minify_exclude', 'js_minify_exclude');
function js_minify_exclude( $exclude_list ) {
$exclude_list[] = 'script-handle';
$exclude_list[] = 'script-handle-2';

return $exclude_list;
}

Schließen Sie Skripte von der Kombination aus mit dem Filter, den wir für diesen Zweck entwickelt haben. Hier ist ein Beispiel für den Code, den Sie zu Ihrer functions.php Datei hinzufügen können:

add_filter( 'sgo_javascript_combine_exclude', 'js_combine_exclude');
function js_combine_exclude( $exclude_list ) {
$exclude_list[] = 'script-handle';
$exclude_list[] = 'script-handle-2'; 

return $exclude_list;
}

oder alternativ

add_filter( 'sgo_javascript_combine_exclude_ids', 'js_sgo_javascript_combine_exclude_ids' );
function js_sgo_javascript_combine_exclude_ids( $exclude_list ) { 
$exclude_list[] = 'javascript-id1'; 
$exclude_list[] = 'javascript-id2'; 

return $exclude_list; 
}

Oder schließen Sie ein externes Skript von der Kombination aus mit dem Filter, den wir für diesen Zweck entwickelt haben. Hier ist ein Beispiel für den Code, den Sie zu Ihrer Datei functions.php hinzufügen können:

add_filter( 'sgo_javascript_combine_excluded_external_paths', 'js_combine_exclude_external_script');
function js_combine_exclude_external_script( $exclude_list ) {
$exclude_list[] = 'script-host.com';
$exclude_list[] = 'script-host-2.com';

return $exclude_list;
}

Sie können Inline-Skripte von der Kombination ausschließen, indem Sie den Filter verwenden, den wir für diesen Zweck entwickelt haben. Hier ist ein Code-Schnipsel, den Sie zu Ihrer functions.php Datei hinzufügen können:

add_filter( 'sgo_javascript_combine_excluded_inline_content', 'js_combine_exclude_inline_script');
function js_combine_exclude_inline_script( $exclude_list ) {
$exclude_list[] = 'die ersten paar Symbole des Inline-Inhaltsskripts';

return $exclude_list;
}

Sie können alle Inline-Skripte von der Kombination ausschließen. Hier ist ein Beispiel-Code-Schnipsel, den Sie zu Ihrer functions.php Datei hinzufügen können:

add_filter( 'sgo_javascript_combine_exclude_all_inline', '__return_true');

Zusätzlich können Sie alle Inline-Skripte von der Kombination ausschließen, indem Sie den folgenden Filtercode verwenden und ihn zu Ihrer functions.php Datei hinzufügen.

add_filter( 'sgo_javascript_combine_exclude_all_inline_modules', '__return_true');

Schließen Sie das Skript vom asynchronen Laden aus, indem Sie den unten gezeigten Code in Ihre Datei functions.php einfügen.

add_filter( 'sgo_js_async_exclude', 'js_async_exclude');
function js_async_exclude( $exclude_list ) {
$exclude_list[] = 'script-handle';
$exclude_list[] = 'script-handle-2';

return $exclude_list;
}

Ausschließen einer bestimmten URL oder einer URL, die einen bestimmten Abfrageparameter enthält mit den folgenden Filtern:

add_filter( 'sgo_html_minify_exclude_params', 'html_minify_exclude_params');
function html_minify_exclude_params( $exclude_params ) {
// Fügen Sie die Abfrageparameter hinzu, die Sie ausschließen möchten.
$exclude_params[] = 'test';

return $exclude_params;
}

add_filter( 'sgo_html_minify_exclude_urls', 'html_minify_exclude');
function html_minify_exclude( $exclude_urls ) {
// Fügen Sie die URL hinzu, die Sie ausschließen möchten.
$exclude_urls[] = 'http://mydomain.com/page-slug';

return $exclude_urls;
}

Sie können statische Ressourcen von der Entfernung ihrer Abfrage-Strings ausschließen, indem Sie den Filter verwenden, den wir für diesen Zweck entwickelt haben. Hier ist ein Beispiel für den Code, den Sie zu Ihrer Datei functions.php hinzufügen können:

add_filter( 'sgo_rqs_exclude', 'sgo_rqs_exclude_scripts');
function sgo_rqs_exclude_scripts( $exclude_list ) {
$exclude_list[] = 'part-of-the-resource-path.js';
return $exclude_list;
}

Sie können auch Bilder von Lazy Load ausschließen, indem Sie den folgenden Filter verwenden:

add_filter( 'sgo_lazy_load_exclude_classes', 'exclude_images_with_specific_class');
function exclude_images_with_specific_class( $classes ) {
// Fügen Sie den Klassennamen hinzu, den Sie von Lazy Load ausschließen möchten.
$classes[] = 'test-class';

return $classes;
}

Darüber hinaus können Sie mit dem folgenden Filter einen bestimmten Beitragstyp von Lazy Load ausschließen:

add_filter( 'sgo_lazy_load_exclude_post_types', 'exclude_lazy_load_from_post_type');
function exclude_lazy_load_from_post_type( $post_types ) {
// Fügen Sie den Beitragstyp hinzu, den Sie von der Verwendung von Lazy Load ausschließen möchten.
$post_types[] = 'post-type';

return $post_types;
}

Sie können eine bestimmte URL von Lazy Load ausschließen, indem Sie den folgenden Filter verwenden:

add_filter( 'sgo_lazy_load_exclude_urls', 'exclude_lazy_load_for_url');
function exclude_lazy_load_for_url( $excluded_urls ) {
// Fügen Sie die URL hinzu, die Sie von Lazy Load ausschließen möchten.
$excluded_urls[] = 'http://mydomain.com/page-slug';

return $excluded_urls;
}

Mit diesen neuen Filtern können Sie bestimmte Assets vom Lazy Load ausschließen. Denken Sie daran, dass die Verwendung dieser Filter in einigen Fällen die Leistung beeinträchtigen kann.

Sie können diesen Filter verwenden, um bestimmte Bilder auszuschließen, indem Sie ihre Quell-URL hinzufügen:

add_filter( 'sgo_lazy_load_exclude_images', 'exclude_images_from_lazy_load');
function exclude_images_from_lazy_load( $excluded_images ) {
// Fügen Sie die src-URL des Bildes hinzu, das Sie von der Verwendung von Lazy Load ausschließen möchten.
$excluded_images[] = 'http://mydomain.com/wp-content/uploads/your-image.jpeg';

return $excluded_images;
}

Sie können diesen Filter verwenden, um bestimmte Videos auszuschließen, indem Sie deren Quell-URL hinzufügen:

add_filter( 'sgo_lazy_load_exclude_videos', 'exclude_videos_from_lazy_load );
function exclude_videos_from_lazy_load( $excluded_videos ) {
// Fügen Sie die src-URL des Videos hinzu, das Sie von der Verwendung von Lazy Load ausschließen möchten.
$excluded_videos[] = 'http://mydomain.com/wp-content/uploads/your-video.mp4';

return $excluded_videos;
}

Sie können diesen Filter verwenden, um bestimmte Iframes auszuschließen, indem Sie deren Quell-URL hinzufügen:

add_filter( 'sgo_lazy_load_exclude_iframe', 'exclude_iframe_from_lazy_load );
function exclude_iframe_from_lazy_load( $excluded_iframe ) {
// Füge die src URL des Iframes hinzu, den du von Lazy Load ausschließen möchtest.
$excluded_iframe[] = 'http://mydomain.com/wp-content/uploads/iframe-src.mp4';

return $excluded_iframe;
}

Zusammenfassung

Dieser Leitfaden bietet Einblicke in die benutzerdefinierten Filter des Speed Optimizers, die es Ihnen ermöglichen, die Leistung Ihrer Website an Ihre spezifischen Bedürfnisse anzupassen. Diese Filter ermöglichen es Ihnen, Cache-Bereinigungsberechtigungen zu kontrollieren, die Anzahl der vorgewärmten URLs zu verwalten, Cache-Bypass-Cookies hinzuzufügen und bestimmte URLs vom Cache auszuschließen. Die Anleitung zeigte auch, wie man die maximale Bildbreite anpassen, die Standard-WebP-Qualitätseinstellung ändern und bestimmte Tabellen von der Heartbeat-Steuerung ausschließen kann.

Wir haben Codebeispiele für jeden Filter bereitgestellt, die Ihnen helfen, diese Funktionen leicht zu implementieren. Indem Sie diese benutzerdefinierten Filter nutzen, können Sie die Leistung Ihrer Website erheblich verbessern und eine reibungslosere und schnellere Benutzererfahrung bieten.

Speed Optimizer FAQs

Nachdem ich die Option CSS/JS kombinieren im Plugin aktiviert habe, wird meine Website nicht so angezeigt, wie sie sollte. Was könnte der Grund sein?

Wenn Sie feststellen, dass das Kombinieren bestimmter CSS/JS-Dateien die Funktionalität der Website beeinträchtigt, müssen Sie die entsprechenden Dateien aus der Kombination ausschließen. Sie können bestimmte Elemente von der Kombination ausschließen, indem Sie das Ausschluss-Dropdown-Menü unter Speed Optimizer > Frontend.

Ich versuche, ein Stylesheet von der Kombination/Minifizierung durch das Plugin auszuschließen, aber ich sehe es nicht in der Ausschlussliste?

Die Dropdown-Liste im Code Ihrer Website enthält CSS-Stile, die mit Standard-Kodierungsverfahren implementiert wurden. CSS-Stile, die ohne Einhaltung der empfohlenen Kodierungsstandards hinzugefügt wurden, werden nicht in der Dropdown-Liste angezeigt -down Liste. Um diese Stile einzuschließen, müssen Sie Ausschlusscode-Filter verwenden. In diesem Fall müssen Sie das Handle des Stils identifizieren oder mit ihm vertraut sein, anstatt direkt auf den Stilblattnamen zu verweisen. Die Handles können über die Datei functions.php Ihres aktiven Templates ausgeschlossen werden.

Sie sollten den folgenden Filter verwenden, um Stile von der Kombination auszuschließen:

add_filter( 'sgo_css_combine_exclude', 'css_combine_exclude');
function css_combine_exclude( $exclude_list ) {
// Stilhandle zur Ausschlussliste hinzufügen.
$exclude_list[] = 'style-handle' ;
$exclude_list[] = 'style-handle-2' ;
return $exclude_list;
}

Sie sollten den folgenden Filter verwenden, um Stile von der Minimierung auszuschließen:

add_filter( 'sgo_css_minify_exclude', 'css_minify_exclude');
function css_minify_exclude( $exclude_list ) {
// Stilhandle zur Ausschlussliste hinzufügen.
$exclude_list[] = 'style-handle' ;
$exclude_list[] = 'style-handle-2' ;
return $exclude_list;
}

Wie kann ich ausschließen, dass ein Plugin von JavaScript-Optimierungen, die das Rendering blockieren, beeinflusst wird? Die Aktivierung dieser Optimierungen stört derzeit die Funktionalität der Website.

Sie können Skripte mit den Ausschluss-Dropdown-Menüs unter Speed Optimizer > Frontend > Javascript. Wenn einige Dateien in der Liste nicht sichtbar sind, wurden sie nicht richtig in die Warteschlange gestellt, sondern sind höchstwahrscheinlich hartcodiert. Die Skript-Handles können über die Datei functions.php Ihres aktiven Templates ausgeschlossen werden. Sie können die folgenden Code-Schnipsel verwenden, um Handles von Kombinations- und Render-Blocking auszuschließen.

Um Dateien von der Kombination auszuschließen, sollten Sie Folgendes verwenden:

add_filter( 'sgo_javascript_combine_exclude', 'js_combine_exclude');
function js_combine_exclude( $exclude_list ) {
$exclude_list[] = 'script-handle';
$exclude_list[] = 'script-handle-2';
return $exclude_list;
}

Um Skripte vom asynchronen Laden auszuschließen, verwenden Sie den unten gezeigten Filter, den Sie der Datei functions.php Ihres Themes hinzufügen können:

add_filter( 'sgo_js_async_exclude', 'js_async_exclude');
function js_async_exclude( $exclude_list ) {
$exclude_list[] = 'script-handle';
$exclude_list[] = 'script-handle-2';
return $exclude_list;
}

Meine Bildkomprimierung/-konvertierung ist hängengeblieben, was kann ich tun, um das Problem zu beheben?

Sie sollten überprüfen, ob Ihre Anwendung Cron-Jobs erfolgreich ausführen kann. Normalerweise würde dies bedeuten, dass der native Cron-Job deaktiviert ist und kein echter Cron-Job erstellt wird unter Ihrer Systemsteuerung.

Tutorial-Menü

Diesen Artikel teilen