Aus aktuellem Anlass - weil eines meiner Plugins, das diese Arbeit eigentlich erledigen sollte, dies nicht richtig tut 😁 - gibt's mal wieder einen Codeschnipsel.

Mit diesem lassen sich in WordPress sog. "Self-Pings", Ping- und Trackbacks des Blogs zu sich selbst, verhindern.

Der folgende Code achtet zusätzlich darauf, dass auch die Subdomain "m" gesperrt wird.

Eingefügt werden sollte er in die Datei functions.php im Ordner des Templates (normalerweise: /wp-content/themes/Template-Name/).

Beispiel: Liegt der WordPress-Blog auf der Domain http://(www.)servaholics.de, so werden keine Pings von Seiten auf den Domains http://(www.)servaholics.de und http://m.servaholics.de gespeichert.

Achtung: Für Blogs, die bereits auf einer Subdomain liegen, funktioniert dieser Codeschnipsel nicht - er kann jedoch leicht angepasst werden. 😉

Werbung

Werbeblocker aktiv?

Vermutlich aufgrund eines Werbeblockers kann an dieser Stelle leider keine Werbung angezeigt werden. Als Blog ist diese Website jedoch darauf angewiesen, um diverse Kosten abdecken zu können. Vielleicht möchtest du Servaholics ja in deinem Werbeblocker als Ausnahme hinzufügen und so unterstützen? 🙂

  1. <?php
  2. function no_self_ping(&$links) {
  3. 	// Get WordPress's home option
  4. 	$home = get_option('home');
  5.  
  6. 	// Remove the last slash if it exists
  7. 	if (substr($home, -1) == "/") {
  8. 		$home = substr($home, 0, -1);
  9. 	}	
  10.  
  11. 	if (0 === strpos($home, 'https://')) {
  12. 		$home = str_replace("https://www.", "https://", $home);
  13. 		$home_www = str_replace("https://", "https://www.", $home);
  14. 		$home_mobile = str_replace("https://", "https://m.", $home);
  15. 	} else {
  16. 		$home = str_replace("http://www.", "http://", $home);
  17. 		$home_www = str_replace("http://", "http://www.", $home);
  18. 		$home_mobile = str_replace("http://", "http://m.", $home);
  19. 	}
  20.  
  21. 	foreach($links as $l => $link) {
  22. 		if (0 === strpos($link, $home) OR 0 === strpos($link, $home_www) OR 0 === strpos($link, $home_mobile)) {
  23. 			unset($links[$l]);
  24. 		}
  25. 	}
  26. }
  27. add_action('pre_ping', 'no_self_ping');
  28. ?>

Deine Meinung zu diesem Artikel?


2 Kommentare zu "WordPress: Eigen-Pingbacks/-Trackbacks ("Self-Pings") verhindern" (RSS)

Kleiner Tipp: Das funktioniert auch nicht mit Blogs, die über SSL (https://...) ausgeliefert werden.
Hallo Tobias,

danke für den Hinweis, ich habe den Codeschnipsel angepasst. Für Websites, die komplett mit HTTPS arbeiten, funktioniert er nun. 🙂

Viele Grüße, Chris