Wordpress-functions.php - https überall im Code entfernen

  • Folgendes Problem:
    Google indexiert immer und immer wieder meine https-Seiten, obwohl ich das absolut nicht möchte.

    Ich habe meinen canonical-Link jetzt so angepasst, dass https durch http ersetzt wird:

    Code
    function remove_https_from_permalink($link) {
      return str_replace('https://', 'http://', $link);
    }
    add_filter('get_the_permalink', 'remove_https_from_permalink');

    Damit gleich noch an anderen Stellen https entfernt wird, wird der Filter noch weiter angewandt:

    Code
    add_filter('style_loader_src', 'remove_https_from_permalink', 10, 2);
    add_filter('script_loader_src', 'remove_https_from_permalink', 10, 2);
    add_filter('home_url', 'remove_https_from_permalink');
    add_filter('get_permalink', 'remove_https_from_permalink');
    add_filter('the_permalink', 'remove_https_from_permalink');

    Es bleiben aber noch immer https-Reste übrig. So z.B. bei wp_get_attachment_url() - hier funktioniert der Filter nicht.

    ----------------------

    Gibt es eine bessere Möglichkeit, https ÜBERALL im Code durch http zu ersetzen?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Sorry für den Doppel-Beitrag aber ich kann nicht mehr editieren.

    Eine andere Möglichkeit bestünde darin, alle https-Anfragen nach http umzuleiten - außer wp-login.php und wp-admin.

    Mein erster Versuch mit nginx sieht folgendermaßen aus, funktioniert aber nicht richtig:

    Code
    location ~ /(?!wp/wp-login.php(.*)|wp/wp-admin/(.*)$)(.*$) {
      rewrite ^ http://$host$request_uri? permanent;
    }

    In der wp-config.php habe ich

    Code
    define('FORCE_SSL_ADMIN', true);

    definiert.

    Problem hier ist jetzt aber ein Umleitungsfehler, wenn ich wp-login oder wp-admin aufrufe. Ohne FORCE_SSL_ADMIN könnte man sich ohne SSL einloggen, das will ich natürlich nicht.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!