Kostenloses SSL für jede WordPress-Website

Veröffentlicht: 2022-03-10
Kurze Zusammenfassung ↬ Wenn Sie eine E-Commerce-Website haben, ist SSL für die sichere Verarbeitung von Kreditkarten obligatorisch. Aber auch wenn Sie keine Zahlungen verarbeiten, sollten Sie dennoch ernsthaft über sicheres HTTP (oder HTTPS) nachdenken, insbesondere jetzt, wo ich Ihnen zeigen werde, wie Sie es schnell und kostenlos einrichten können. Lass uns anfangen. Kurz gesagt, SSL ist das „S“ in HTTPS. Es fügt HTTP eine Verschlüsselungsebene hinzu, die sicherstellt, dass der Empfänger tatsächlich derjenige ist, für den er sich ausgibt, und dass nur autorisierte Empfänger die Nachricht entschlüsseln können, um ihren Inhalt zu sehen.

Wenn Sie eine E-Commerce-Website haben, ist SSL für die sichere Verarbeitung von Kreditkarten obligatorisch. Aber auch wenn Sie keine Zahlungen verarbeiten, sollten Sie dennoch ernsthaft über sicheres HTTP (oder HTTPS) nachdenken, insbesondere jetzt, wo ich Ihnen zeigen werde, wie Sie es schnell und kostenlos einrichten können. Lass uns anfangen.

Was ist SSL und warum sollte es mich interessieren?

Kurz gesagt, SSL ist das „S“ in HTTPS. Es fügt HTTP eine Verschlüsselungsebene hinzu, die sicherstellt, dass der Empfänger tatsächlich derjenige ist, für den er sich ausgibt, und dass nur autorisierte Empfänger die Nachricht entschlüsseln können, um ihren Inhalt zu sehen.

Weiterführende Literatur zu SmashingMag:

  • HTTPS überall mit Nginx, Varnish und Apache
  • So stellen Sie ein neues SSL-Zertifikat mit einem alten SSL-Schlüssel aus
  • Vorbereitung auf HTTP/2: Ein Leitfaden für Webdesigner

Sensible Informationen wie Kreditkartennummern – im Grunde alles Private – sollten immer über HTTPS bereitgestellt werden. Es gibt jedoch einen zunehmenden Trend, alle Inhalte über HTTPS bereitzustellen, wie wir auf Nachrichten-Websites, Blogs, Suchmaschinen und den Websites der meisten Mainstream-Marken sehen. Selbst wenn Ihre Website keine Zahlungen verarbeitet, gibt es also gute Gründe, HTTPS in Betracht zu ziehen, von denen einige hier aufgeführt sind:

Mehr nach dem Sprung! Lesen Sie unten weiter ↓
  • Glaubwürdigkeit . Selbst technisch nicht versierte Zielgruppen assoziieren das kleine grüne Vorhängeschloss in der Adressleiste des Browsers mit Vertrauen und Zuverlässigkeit.
  • Passwortschutz . Vielleicht hostet Ihre Website nur Kätzchenvideos. Wenn sich Benutzer jedoch über Wi-Fi mit einem Passwort auf Ihrer Website anmelden, das sie auch für Online-Banking verwenden, dann erleichtern Sie möglicherweise eine ernsthafte Sicherheitsverletzung, indem Sie diese Anmeldeinformationen öffentlich verbreiten.
  • Zukunftssicher . Viele Websites werden immer noch über HTTP bedient, aber es gibt einen unbestreitbaren Trend zu HTTPS, und dieser wird nur zunehmen, wenn die Benutzer immer mehr über Websicherheit aufgeklärt werden. Seien Sie auf der richtigen Seite der Geschichte.
  • SEO . Google hat offiziell angekündigt, dass HTTPS als Ranking-Signal verwendet wird. Mit anderen Worten, Google belohnt HTTPS-Websites, indem es ihre Platzierungen in den Suchergebnissen verbessert.

Ein häufiges Argument gegen HTTPS ist, dass es die Leistung verringert. Der Vorgang des Verschlüsselns und Entschlüsselns kostet zwar zusätzliche Millisekunden, ist aber in den meisten Situationen vernachlässigbar, wie die Tatsache zeigt, dass leistungsbewusste Unternehmen wie Google und Facebook alle ihre Inhalte über HTTPS bereitstellen. Und es stimmt, HTTPS kann bestehende Leistungsprobleme verschlimmern, da viele CSS-Dateien einzeln bereitgestellt werden, aber dies wird durch die Befolgung grundlegender Best Practices für die Leistung gemildert. Und mit der Einführung von HTTP/2 sind die Leistungskosten von HTTPS sogar noch niedriger. Unterm Strich ist die Leistungsminderung nur dann eine sinnvolle Abschreckung, wenn Ihre Website entweder hyperoptimiert oder so leistungsschwach ist, dass es auf jede Millisekunde ankommt.

So richten Sie HTTPS kostenlos ein

Der erste Schritt zur kostenlosen Einrichtung von HTTPS besteht darin, sich für einen Cloud-DNS-Dienst anzumelden. Wenn Sie keine Ahnung haben, was DNS ist, empfehle ich Ihnen, sich eine Minute Zeit zu nehmen, um es zu lernen, bevor Sie fortfahren. Das entzückende How DNS Works macht es großartig, es in einen witzigen Cartoon zu zerlegen. Andernfalls sollten Sie einfach wissen, dass DNS das System ist, bei dem Domänennamen wie example.com (die Menschen verstehen) mit IP-Adressen wie 104.28.2.167 (die Computer verstehen) verknüpft werden. Sie haben viele Möglichkeiten, aber ich bin ein Fan von CloudFlare, weil es wirklich schnell einzurichten ist, das Dashboard intuitiv ist und ein kostenloser Plan mit vielen leistungsstarken Funktionen verfügbar ist.

Cloudflare einrichten

Nachdem Sie sich für ein CloudFlare-Konto registriert haben, werden Sie durch einen einfachen Assistenten geführt, um Ihre erste Website zu konfigurieren, der mit einer Anleitung endet, wie Sie sich bei Ihrem Domain-Registrar anmelden und die Nameserver auf CloudFlare verweisen. Es wird einige Zeit dauern, bis die Änderung verbreitet wird, aber wenn sie abgeschlossen ist, wird CloudFlare die DNS-Einträge Ihrer Website hosten. Aktivieren Sie als Nächstes die „flexible SSL“-Funktion von CloudFlare.

CloudFlare-Dashboard
CloudFlare-Dashboard mit SSL-Einstellung (Große Version anzeigen)

Die Auswahl der Einstellung „Flexibles SSL“ ist wichtig, da Sie kein eigenes SSL-Zertifikat kaufen und auf dem Server Ihrer Website installieren müssen. Hier ist ein Diagramm dessen, was passiert.

Flexibles SSL-Diagramm von CloudFlare
Flexibles SSL-Diagramm von CloudFlare (Große Version anzeigen)

Wie Sie sehen können, fungiert CloudFlare als Mittelsmann, um den Datenverkehr zwischen Ihrer Website und dem Client zu sichern. Wenn dies eine statische HTML-Website wäre, könnten Sie sich jetzt über HTTPS ( https://yourdomain.com ) mit ihr verbinden. WordPress erfordert jedoch eine zusätzliche Konfiguration, um mit dem modifizierten Protokoll zu arbeiten.

Neukonfiguration von WordPress von HTTP zu HTTPS

Sie müssen zuerst die Einstellungen „WordPress-Adresse“ und „Site-Adresse“ im Dashboard unter „Einstellungen“ → „Allgemein“ aktualisieren. Wenn Sie dies tun, müssen Sie sich erneut beim Dashboard anmelden.

WordPress-Dashboard
WordPress-Dashboard mit URL-Einstellungen (Große Version anzeigen)

Gehen Sie vorsichtig vor. Wenn Sie diese Einstellungen vorzeitig aktualisieren, riskieren Sie, sich selbst auszusperren. Wenn die Website beispielsweise noch nicht richtig für HTTPS konfiguriert ist und die Einstellungen aktualisiert werden, könnten Sie eine Umleitungsschleife verursachen, die die Website unterbricht und Sie daran hindert, auf das Dashboard zuzugreifen.

An diesem Punkt sollten Sie in der Lage sein, die Startseite der Website über HTTPS zu besuchen. Seitenlinks verweisen jedoch weiterhin auf die HTTP-URLs. WordPress speichert Links zu Seiten und Bildern als absolute URLs, was bedeutet, dass die vollständige URL, einschließlich des Protokolls, in der Datenbank gespeichert wird. Um sicherzustellen, dass die gesamte Website konsistent über HTTPS bereitgestellt wird (ohne Warnungen vor gemischten Inhalten auszuspucken), müssen Sie Ihre alten Inhalte aktualisieren.

Aktualisieren von Legacy-Inhalten

Auf einer kleinen Website mit nur wenigen Seiten besteht die schnellste Option möglicherweise darin, die URLs einfach manuell zu aktualisieren, indem Sie vorhandene Seiten in der Admin-Oberfläche bearbeiten. Wenn die Website groß ist oder einen sehr aktiven Blog hat, ist eine manuelle Bearbeitung wahrscheinlich nicht praktikabel. Wenn Ihr Host phpMyAdmin oder eine andere Schnittstelle zum Ausführen von MySQL-Abfragen bereitstellt, können Sie dies ziemlich einfach mit ein paar MySQL-Abfragen auf der Registerkarte "SQL" tun. Alternativ können Sie den Anweisungen von The Customize Windows folgen, um dies über die Befehlszeile zu tun.

Auf die Gefahr hin, das Offensichtliche zu sagen, ersetzen yourdomain.com in den folgenden Abfragen durch Ihre tatsächliche Domain . Wenn Sie das Tabellenpräfix von WordPress angepasst haben, ersetzen wp_ durch das entsprechende Präfix.

Aktualisieren Sie zunächst die URLs der Beiträge und Seiten.

 UPDATE wp_posts SET guid = replace(guid, 'https://yourdomain.com','https://yourdomain.com');

[UPDATE: Wie in den Kommentaren besprochen, sollte das Guid-Feld nicht bearbeitet werden.]

Aktualisieren Sie auch die Tabelle wp_postmeta .

 UPDATE wp_postmeta SET meta_value = replace(meta_value,'https://yourdomain.com','https://yourdomain.com');

Aktualisieren Sie schließlich die tatsächlichen Inhalte von Beiträgen oder Seiten. Dadurch werden alle Backlinks auf HTTPS aktualisiert.

 UPDATE wp_posts SET post_content = REPLACE(post_content, 'https://yourdomain.com', 'https://yourdomain.com');

Nachdem Sie diese Abfragen ausgeführt haben, sollten Sie Ihre Permalinks aktualisieren, indem Sie zu „Einstellungen“ → „Permalinks“ gehen. Ändern Sie einfach die Einstellung zurück auf die Standardeinstellung und setzen Sie sie dann auf die Einstellung zurück, die Sie ursprünglich verwendet haben.

Jetzt sollten Sie in der Lage sein, auf die Menüs und Links auf der gesamten Website zu klicken, und das Protokoll sollte HTTPS bleiben.

Fehlerbehebung bei Warnungen zu gemischten Inhalten

Abhängig vom verwendeten Design und den verwendeten Plugins erhalten Sie möglicherweise eine Warnung in der Adressleiste, die besagt, dass bestimmte Ressourcen nicht sicher bereitgestellt werden. Wenn die Fehler mit Assets zusammenhängen, die von Ihrem eigenen benutzerdefinierten Design oder Plug-in hinzugefügt wurden, stellen Sie sicher, dass Sie JavaScript- und CSS-Dateien ordnungsgemäß in die Warteschlange einreihen und URLs, die mit HTTP beginnen, nicht fest codieren. Bei den meisten Browsern können Sie die Warnung erweitern, um die spezifischen Anforderungen anzuzeigen, die den Fehler verursachen. Sie können auch ein kostenloses Plugin wie SSL Insecure Content Fixer ausprobieren, das versucht, Plugins von Drittanbietern zu korrigieren, die dies nicht tun.

Zu diesem Zeitpunkt sollten Sie beim Besuch Ihrer Website das grüne Vorhängeschloss in der URL-Leiste sehen. Wenn Sie kein E-Commerce-Plugin wie WooCommerce oder WP eCommerce verwenden, sind Sie fertig! Wenn ja, gibt es einen wichtigen letzten Schritt.

Flexibles SSL zum Arbeiten mit E-Commerce-Plug-ins

WordPress hat eine Kernfunktion namens is_SSL() , auf die sich Plugins verlassen, um festzustellen, ob der Datenverkehr mit SSL verschlüsselt ist. Allein mit der obigen Methode gibt diese Funktion false zurück, da die Verschlüsselung nur zwischen CloudFlare und dem Client erfolgt. Der Datenverkehr, mit dem PHP interagiert, ist unverschlüsselt, daher wäre das Super-Global, das diese Funktion prüft (dh $_SERVER['HTTPS'] ), nicht nützlich. Für unseren Zweck ist die relevante Variable $_SERVER['HTTP_X_FORWARDED_PROTO'] , die WordPress zum Zeitpunkt des Schreibens nicht erkennt. Der Wunsch, dies zu ändern, besteht seit langem, muss aber noch gelöst werden.

Glücklicherweise wird dies von einem kostenlosen Plugin sofort für Sie behoben, CloudFlare Flexible SSL. Installieren Sie einfach das Plugin und aktivieren Sie es. Denken Sie daran, dass diese Technik keine zusätzliche Sicherheit bringt . Der Datenverkehr zwischen CloudFlare und dem Server Ihrer Website ist immer noch unverschlüsselt und daher immer noch anfällig für Sniffing.

Flexibles SSL ist nicht vollständiges SSL

Die „Universal SSL“-Initiative von CloudFlare ist ein interessanter Versuch, das Internet sicherer zu machen, aber er ist nicht unumstritten. Das Hauptanliegen ist, dass flexibles SSL die zweite Hälfte der Reise des Datenverkehrs (zu Ihrem Server) nicht verschlüsselt, der Browser jedoch derzeit immer noch dasselbe grüne Vorhängeschloss anzeigt, das wir mit vollständigem SSL in Verbindung bringen. CloudFlare bietet in seinem Blog folgende Begründung an:

Eine hochmoderne Verschlüsselung mag für einen kleinen Blog nicht wichtig erscheinen, aber sie ist entscheidend, um die standardmäßig verschlüsselte Zukunft des Internets voranzutreiben. Jedes scheinbar banale Byte, das verschlüsselt über das Internet fließt, macht es für diejenigen schwieriger, die das Internet abfangen, drosseln oder zensieren möchten. Mit anderen Worten, wenn Sie sicherstellen, dass Ihr persönlicher Blog über HTTPS verfügbar ist, ist es wahrscheinlicher, dass eine Menschenrechtsorganisation oder ein Social-Media-Dienst oder ein unabhängiger Journalist auf der ganzen Welt zugänglich ist. Gemeinsam können wir Großes bewirken.

Auf Gedeih und Verderb ist flexibles SSL da, und das Internet wird sich anpassen müssen. In der Zwischenzeit müssen Website-Besitzer aufgeklärt werden und verantwortungsbewusste Entscheidungen treffen.

Umleiten von HTTP-Anforderungen an HTTPS

Das Aktivieren einer Website zum Ausführen auf HTTPS stellt nicht sicher, dass Anfragen tatsächlich das Protokoll verwenden. Wenn Ihre Website schon eine Weile existiert, haben Benutzer sie möglicherweise bereits mit HTTP als Lesezeichen gespeichert. Sie können alle HTTP-Anforderungen auf das neue Protokoll umleiten, indem Sie das folgende Snippet oben in der .htaccess -Datei im Stammverzeichnis Ihrer Website hinzufügen. Wenn die Datei nicht vorhanden ist, können Sie sie bedenkenlos hinzufügen.

 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule (.*) https://yourdomain.com/$1 [R=301,L] </IfModule>

Wenn bereits eine .htaccess -Datei vorhanden ist, achten Sie darauf, nichts zwischen den Zeilen # BEGIN WordPress und # END WordPress in dieser Datei zu ändern. Diese Zeilen werden von WordPress verwaltet, und wenn die Permalinks aktualisiert werden, wird der Inhalt in diesem Abschnitt überschrieben.

Glückwünsche

Durch das Upgrade Ihrer Website auf HTTPS haben Sie Ihre Website verbessert, Benutzer geschützt und an der Weiterentwicklung des Internets teilgenommen. Und es hat dich nichts gekostet!