Wordpress Performance Wordpress SEO Wordpress Security Wordpress Themes Wordpress Hosting Mein Setup Das Buch

Disqus Kommentare erst nach Klick laden

Disqus Kommentare erst nach Klick laden

Disqus Kommentare nachladen

Die Idee vom Disqus Kommentarsystem ist und bleibt ziemlich interessant und praktisch. Würden alle Websites Disqus nutzen, müsste sich kein Besucher mehr irgendwo anmelden und könnte trotzdem überall kommentieren. Disqus Kommentare werden bei WordPress oft über das Plugin des Services eingebunden, doch davon rate ich persönlich direkt einmal ab. Der Code lässt sich kinderleicht per Hand integrieren, da braucht es keine fette Erweiterung, die dazu oft noch die Kommentare spiegeln soll, diese also in die Datenbank von WordPress schreibt. Klingt für die meisten Nutzer toll, weil sie so niemals Kommentare verlieren, auch wenn sie Disqus mal nicht mehr nutzen wollen, ist am Ende aber komplett sinnlos, weil es nur Performance kostet. Außerdem könnt ihr, wenn ihr Disqus wirklich irgendwann nicht mehr einsetzten wollt, die Kommentare auch immer noch nachträglich einfügen bzw. spiegeln lassen, es gibt also keinen Grund das ständig über die wp-cron.php zu tun, wie es das Plugin macht, denn das kostet Ressourcen und ist im Vergleich recht aufwendig. Aufwendig ist ein gutes Stichwort, denn auch der Code von Disqus ist ziemlich aufwendig. Das Javascript lädt und lädt und lädt, da zieht es einem schonmal die WordPress Performance komplett in den Keller. Was also tun? Am besten die Disqus Kommentare einfach per Klick nachladen, also erst dann, wenn Nutzer sie sehen wollen oder kommentieren möchten. Wie das geht? Mit dem Snippet hier.

Folgendes dort einfügen, wo die Kommentare erscheinen sollen:

    <script>
        function load_disqus() {
            var disqus_shortname = 'SHORTNAME VON DISQUS EINFÜGEN';
            (function () {
                var dsq = document.createElement('script');
                dsq.type = 'text/javascript';
                dsq.async = true;
                dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
                (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
            })();
        }
    </script>
    <style>button{width:100%;transition:all 0.15s;padding:10px;margin:30px 0 0;background:#fff;border:1px solid #ddd;color:#808080;cursor:pointer}button:hover{background:#ddd;border:1px solid #ddd;color:#fff}</style>
    <br>
    <div id="disqus_thread"></div>
    <button onclick="load_disqus();this.style.visibility='hidden';">Kommentare laden</button>

Kommentare erst nach Klick laden

Vergesst bitte nicht, dass der Code von oben den alten von Hand integrierten Disqus Code ersetzten muss. Statt den Kommentaren wird nun ein Button angezeigt, der nach dem Klick die Disqus Kommentare nachlädt. Der große Vorteil: Das Script wird erst dann geladen, wenn geklickt wird. Das reduziert die Ladezeit der ganzen Seite, weil Disqus nicht für jeden Besucher erst Kommentare und Kommentarsystem starten muss, auch wenn dieser gar nicht kommentiert oder an den Kommentaren interessiert ist. Der Text im Button kann dabei natürlich frei angepasst , der Code muss ebenfalls erweitert werden. Dort muss nämlich noch euer sogenannter Shortname von Disqus hinzugefügt werden und zwar an der Stelle wo “SHORTNAME VON DISQUS EINFÜGEN” steht. Ist dies geschehen, laden eure Kommentare erst nach dem Klick. Das spart bei Disqus viel Ladezeit, auch deshalb, weil nicht jeder Nutzer kommentieren will bzw. Kommentare überhaupt liest. Und wer es dann doch möchte, für den wird der Klick nicht zu viel sein. Performant ist die Lösung übrigens auch, denn der Code oben kommt ohne jQuery oder ähnliche Bibliotheken aus, ist also so leichtgewichtig wie er nur sein kann. Natürlich muss am Ende jeder selbst entscheiden ob er die Performance, oder die direkte Sichtbarkeit der Kommentare bevorzugt. Ich finde das Nachladen sehr elegant gelöst und wie schon gesagt: Wer kommentiert, der scheut auch den Klick nicht. Übrigens: Die normalen Kommentare von WordPress können auch mit so einem Button geladen werden. Wie das geht habe ich euch schon vor einer ganzen Weile verraten.



Wordpress Performance eBook