alex@aussermayr.com+43 664 783 30 07
KONTAKT
KONTAKT
Februar 7, 2022 BY ALEX

SEO Bookmarklets

JavaScript Code

Abkürzung zu den Bookmarklets

Der Arbeitsalltag ist stressig und oftmals fehlt uns allen die Zeit. Davon ist die SEO Branche nicht ausgenommen. Die vorhandene Zeit muss also bestmöglich genutzt werden.

Kleine Helferchen, wie beispielsweise SEO Bookmarklets, helfen dabei Zeit zu sparen.

Bookmarklets sind Browser Bookmarks, die simple Aufgaben mit Hilfe von Javascript (JS) automatisieren können. Das ermöglicht schnellere Analyse und eine höhere Produktivität im Arbeitsalltag.

Ein weiterer Vorteil ist auch, dass Bookmarklets in sämtlichen Browsern eingesetzt werden können, z.B. Chrome, Firefox, Edge, Safari oder Opera.

Die Installation funktioniert ganz einfach:

  1. Den gewünschten JS Code kopieren
  2. Ein neues Bookmark erstellen
  3. JS Code als URL/Adresse einfügen
  4. Das neue Bookmarklet speichern
  5. Bookmarklet anklicken & JS ausführen
Neues Lesezeichen in Mozilla Firefox hinzufügen

Nachfolgend findet ihr eine Übersicht meiner liebsten SEO Bookmarklets.

Übersicht

Google site: Operator

Mit Hilfe des site: Operators kann geprüft werden, ob eine Seite im Google Index gelistet ist. Die Nutzung dieses Operators liefert meist gute Ergebnisse und ist dann sinnvoll, wenn es schnell gehen muss oder kein Zugang zur Google Search Console existiert.

javascript:void(window.open('https://www.google.at/search?q=site:'+window.location.href));

Wenn ihr auf Nummer Sicher gehen wollt, dann solltet ihr auf das URL-Prüftool oder den Bericht zur Indexabdeckung innerhalb der Google Search Console zurück greifen. Das ist der von Google empfohlene Weg zur Prüfung der URL-Indexierung. Es gibt übrigens noch zig weitere offizielle und inoffizielle Suchoperatoren, die ihr zur Verfeinerung von Suchergebnissen nutzen könnt.

Zurück zur Übersicht

Startpage site: Operator (Privacy!)

Ihr möchtet euch den einen oder anderen unnötigen Google Request sparen? Dann nutzt den site: Operator über die alternative Suchmaschine Startpage. Die Suchergebnisse basieren auf dem Google Index, aber Google bekommt davon nichts mit, da Startpage als Proxy dazwischen liegt.

javascript:void(window.open('https://www.startpage.com/do/dsearch?query=site:'+window.location.href));

Zurück zur Übersicht

Google Cache

Eine zwischengespeicherte Version der aktuellen Seite im Google Cache abfragen. Dabei sieht man laut Google "die Webseite zum Zeitpunkt des letzten Besuchs durch Google." Das kann nützlich sein um zu prüfen, ob Änderungen einer Seite bereits von Google gefunden wurden.

javascript:void(window.open('https://webcache.googleusercontent.com/search?q='+window.location.href);

Zurück zur Übersicht

Titlegeddon Bookmarklet

Das Titlegeddon Bookmarklet von Christian Hänsel hilft euch herauszufinden, ob Google die Titles auf einer Suchergebnisseite selbst generiert oder aus dem <title> bzw. <h1> tag übernommen hat.

javascript:(function()%7Bjavascript%3A (function (doc) %7Bvar changed %3D 0%3Bfunction checkTitles() %7Bconsole.log('jQuery version '%2C %24.fn.jquery%2C ' loaded')%3Bif(%24('%23chtop').length) %7B%24('%23chtop').remove()%3B%7D%24('%23result-stats').append('&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;div id%3D"chtop" style%3D"display%3A inline-block"&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;%2Fdiv&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;')%3B%24('%23chtop').append('&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;div style%3D"display%3A inline-block%3B color%3A red%3B" id%3D"waitforme"&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;Please wait...&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;%2Fdiv&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;')%3Bvar position %3D 1%3Bvar items %3D %5B%5D%3Bvar results %3D %24('%23rso .g').not('.kno-kp .g').find('a%3Afirst')%3B%24('.title-changed%2C %23CountTitlesChanged').remove()%3Bconsole.log(results)%3Bresults.each(function () %7Bif (!%24(this).parents('.related-question-pair').length) %7Bvar parent %3D %24(this).closest('.tF2Cxc').length &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; 0 %3F %24(this).closest('.tF2Cxc') %3A %24(this).closest('li')%3Bitems.push(%5Bposition%2C %24(this).find('h3').text()%2C encodeURI(%24(this).attr('href'))%2C parent%5D)%3Bposition%2B%2B%3B%7D%7D)%3Bconst allItems %3D %5B%5D%3Bvar numItems %3D 1%3Bcors_proxies %3D %5B'https%3A%2F%2Fapi.codetabs.com%2Fv1%2Fproxy%3Fquest%3D'%2C 'https%3A%2F%2Fjsonp.afeld.me%2F%3Furl%3D'%2C 'https%3A%2F%2Fcors.bridged.cc%2F'%5D%3Bitems.forEach(item %3D&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; %7Bvar useItem %3D %7B%7D%3Bvar use_url %3D item%5B2%5D%3BuseItem.url %3D use_url%3B%24.ajax(%7Burl%3A cors_proxies%5BMath.floor(Math.random() * cors_proxies.length)%5D %2B item%5B2%5D%2Csuccess%3A function (data%2C status%2C xhr) %7Btitle %3D %24(data).filter('title').text().trim()%3Bvar h1 %3D %24(data).find("h1%3Afirst").text().trim()%3BuseItem.pageTitle %3D title%3BuseItem.googleTitle %3D item%5B1%5D%3BuseItem.pageH1 %3D h1%3BuseItem.uses_title %3D false%3BuseItem.uses_h1 %3D false%3BuseItem.title_rewritten %3D false%3BuseItem.title_truncated %3D false%3Bvar html %3D '&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;div class%3D"title-changed"&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;'%3Bvar uses_h1 %3D false%3Bif (h1 %3D%3D item%5B1%5D %26%26 h1 !%3D useItem.pageTitle) %7Buses_h1 %3D true%3B%7Dif(useItem.googleTitle.includes("...")) %7Bvar google_title_split %3D useItem.googleTitle.split("...")%5B0%5D%3Bvar compare_google_title_truncated %3D google_title_split.replace("..."%2C "")%3Bif((useItem.pageTitle.includes(compare_google_title_truncated))) %7BuseItem.title_truncated %3D true%3B%7D%7Dif (title !%3D item%5B1%5D) %7Bvar display_title_pre %3D "Title%3A "%3Bvar display_title_color %3D "%23ff6961"%3Bif(useItem.title_truncated) %7Bdisplay_title_pre %3D "Title TRUNCATED%3A "%3Bdisplay_title_color %3D "%23a6cc1d"%3B%7Dhtml %2B%3D '&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;span style%3D"font-weight%3A bold%3Bcolor%3A %23ff6961%3B"&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;'%2B display_title_pre %2B ' ' %2B title %2B '&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;%2Fspan&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;'%3Bchanged%2B%2B%3BuseItem.title_rewritten %3D true%3B%7D else %7Bhtml %2B%3D '&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;span style%3D"font-weight%3A bold%3Bcolor%3A darkgreen%3B"&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;Title%3A ' %2B item%5B1%5D %2B '&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;%2Fspan&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;'%3B%7Dhtml %2B%3D '&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;div style%3D"display%3A block%3B padding%3A2px 0%3B font-weight%3Abold%3B color%3A dodgerblue"&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;'%3Bif (h1.length %26%26 typeof h1 %3D%3D%3D "string") %7Bhtml %2B%3D 'h1%3A ' %2B h1%3B%7D else %7Bhtml %2B%3D 'No h1 found on page'%3B%7Dhtml %2B%3D '&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;%2Fdiv&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;'%3Bif (uses_h1) %7BuseItem.uses_h1 %3D true%3Bhtml %2B%3D '&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;div style%3D"display%3A inline-block%3B background-color%3A %23ffd811%3B border%3A 1px solid rgb(74%2C 85%2C 104)%3B color%3A rgb(74%2C 85%2C 104)%3B padding-left%3A 4px%3B padding-right%3A 4px%3B border-radius%3A 4px%3B"&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;b&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;Uses H1&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;%2Fb&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;%2Fdiv&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;'%3B%7Dhtml %2B%3D '&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;%2Fdiv&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;'%3Bitem%5B3%5D.find('div').first().append(html)%3BallItems.push(useItem)%3B%7D%2Cerror%3A function (xhr%2C status%2C error) %7Bvar html %3D '&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;div class%3D"title-changed"&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;'%3Bhtml %2B%3D '&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;span style%3D"font-weight%3A bold%3Bcolor%3A lightslategray%3B"&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;Error%3A Request could not be processed&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;%2Fspan&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;'%3Bhtml %2B%3D '&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;%2Fdiv&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;'%3Bitem%5B3%5D.find('div').first().append(html)%3B%7D%2Ccomplete%3A function (xhr%2C status) %7Bif (numItems %3D%3D items.length) %7BpetitionCompleted(allItems)%3B%7D else %7BnumItems%2B%2B%3B%7D%7D%7D)%3B%7D)%3B%24(document).on('click'%2C '%23downloadJsonData'%2C function () %7BdownloadObjectAsJson(allItems%2C "comparison-" %2B %24("input%5Bname%3Dq%5D").val())%3B%7D)%7Dfunction petitionCompleted(allItems) %7B%24('%23result-stats').append('&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;span id%3D"CountTitlesChanged"&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; - ' %2B changed %2B ' titles have changed&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;%2Fspan&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;')%3B%24('%23chtop').append('&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;span id%3D"downloadJsonData" style%3D"cursor%3Apointer%3B background-color%3A %23fff%3B border%3A1px solid %23000%3B border-radius%3A3px%3B padding%3A2px 5px%3B margin-left%3A 10px"&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;Download JSON&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;%2Fspan&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;')%3Bdocument.getElementById('waitforme').style.display %3D "none"%3B%7Dfunction downloadObjectAsJson(exportObj%2C exportName) %7Bvar dataStr %3D "data%3Atext%2Fjson%3Bcharset%3Dutf-8%2C" %2B encodeURIComponent(JSON.stringify(exportObj))%3Bvar downloadAnchorNode %3D document.createElement('a')%3BdownloadAnchorNode.setAttribute("href"%2C dataStr)%3BdownloadAnchorNode.setAttribute("download"%2C exportName %2B ".json")%3Bdocument.body.appendChild(downloadAnchorNode)%3BdownloadAnchorNode.click()%3BdownloadAnchorNode.remove()%3B%7Dif (typeof jQuery %3D%3D 'undefined') %7Bvar script_jQuery %3D document.createElement('script')%3Bscript_jQuery.src %3D 'https%3A%2F%2Fcode.jquery.com%2Fjquery-latest.min.js'%3Bscript_jQuery.onload %3D checkTitles%3Bdoc.body.appendChild(script_jQuery)%3B%7D else %7BcheckTitles()%3B%7D%7D)(document)%7D)()

Hintergrund: Im August 2021 führte Google ein neues System zur Generierung von Titles in Suchmaschinen-Snippets ein, siehe Title tag Update. Diese Änderung führte dazu, dass der im HTML <title> formulierte Text seltener im Snippet ausgespielt wurde. Google erzeugte nun häufiger selbst generierte Titles, welche oftmals auf der <h1> der Zielseite basierten.

Zurück zur Übersicht

PageSpeed Insights

Seit Jahren gehört PageSpeed Insights zur Grundausstattung eines jeden SEOs. Eine Analyse mit dem Tool stellt Daten und Optimierungsempfehlungen zu Performance und Nutzererfahrung (UX) zur Verfügung, z.B. Ladezeit oder Core Web Vitals. Insbesondere seit Einführung des Page Experience Updates für Mobile und Desktop ist die Verbesserung dieser Kennzahlen essentiell.

javascript:void(window.open('https://pagespeed.web.dev/report?url='+window.location.href));

Die Werte basieren einerseits auf auf den Daten echter Nutzer, die via Chrome User Experience Report gesammelt wurden. Andererseits auf einer Live-Analyse in simulierter Umgebung.

Zurück zur Übersicht

Mobile Friendly Tester

Der Mobile Friendly Tester ist ebenfalls eines der klassischen Tools, das zur Grundausstattung eines jeden SEOs gehört. Der Name ist fast selbsterklärend: Das Tool prüft, ob die analysierte URL aus Sicht des Googlebot auf mobilen Endgeräten dargestellt werden kann.

javascript:void(window.open('https://search.google.com/test/mobile-friendly?url='+window.location.href));

Zurück zur Übersicht

Rich Results Test

Offizielles Tool von Google um herauszufinden, ob die im Code hinterlegten strukturierten Daten zur Erzeugung von Rich Results genutzt werden können und wie diese in der Google Suche aussehen würden.

javascript:void(window.open('https://search.google.com/test/rich-results?url='+window.location.href));

Zurück zur Übersicht

Schema Markup Validator

Der Schema Markup Validator dient der Validierung aller strukturierter Daten, die im Code zu finden sind und auf schema.org basieren.

javascript:void(window.open('https://validator.schema.org/#url='+window.location.href));

Früher war das Tool unter dem Namen Structured Data Testing Tool (SDTT) bekannt. Seit Ende 2020 wurde das Tool überarbeitet und im August 2021 auf die neue Adresse validator.schema.org umgezogen. Im Unterschied zum Rich Results Test findet hier jedoch keine Google-spezifische Validierung statt.

Zurück zur Übersicht

AMP Validator

AMP steht zwar immer wieder in der Kritik, trotzdem wird es (noch?) auf vielen Websites verwendet. Mit Hilfe dieses Bookmarklets könnt ihr prüfen, ob euer AMP Code valide ist.

javascript:void(window.open('https://validator.ampproject.org/#url='+window.location.href));

Zurück zur Übersicht

robots.txt öffnen

Jaja, die robots.txt ist schnell geöffnet, indem man die URL manuell eintippt. Mit Hilfe dieses Bookmarklets geht's aber noch etwas schneller 😉

javascript:void(window.open('/robots.txt'));

Zurück zur Übersicht

sitemap.xml öffnen

Nochmal dasslbe. Die sitemap.xml ist zwar schnell geöffnet, indem man die URL manuell eintippt. Aber ein Klick ist dennoch schneller.

javascript:void(window.open('/sitemap.xml'));

Zurück zur Übersicht

Überschriften highlighten

Mit Hilfe des folgenden Bookmarklets werden mit einem Klick alle Überschriften (H1 - H6) einer Seite optisch hervorgehoben und gekennzeichnet. Damit erhält man einen schnellen Überblick zur Überschriftenstruktur. Ein wirklich tolles Bookmarklet meines Kollegen Martin Schlagnitweit.

javascript:void function(){var%20t=document.createElement(%22style%22),e=document.createTextNode('h1%20{%20outline:%201px%20dashed%20black%20!important;%20background-color:%20lightgreen%20!important;%20}h2%20{%20outline:%201px%20dashed%20black%20!important;%20background-color:%20%23ffc966%20!important;%20}h3%20{%20outline:%201px%20dashed%20black%20!important;%20background-color:%20lightblue%20!important;%20}h4,%20h5,%20h6%20{%20outline:%201px%20dashed%20black%20!important;%20background-color:%20%23ddd%20!important;%20}h1:before,%20h2:before,%20h3:before,%20h4:before,%20h5:before,%20h6:before%20{%20font-size:%2012px%20!important;%20margin-right:%204px%20!important;}h1:before%20{%20content:%20%22%20[H1]%22%20!important;}h2:before%20{%20content:%20%22%20[H2]%22%20!important;}h3:before%20{%20content:%20%22%20[H3]%22%20!important;}h4:before%20{%20content:%20%22%20[H4]%22%20!important;}h5:before%20{%20content:%20%22%20[H5]%22%20!important;}h6:before%20{%20content:%20%22%20[H6]%22%20!important;}');t.appendChild(e);var%20o=document.getElementsByTagName(%22head%22);o[0].appendChild(t)}();

Zurück zur Übersicht

Metadaten anzeigen

"Ein einfaches Bookmarklet, das Metadaten wie title, description, url und link/rel tags anzeigt. Dabei werden title, description und url im Stil des Google Suchergebnis dargestellt." via Martin Schlagnitweit.

javascript:void%20function(){var%20e=document.createElement(%22style%22),t=document.createTextNode(%22.s-p%20{%20font-family:%20Arial,%20Helvetica,%20sans-serif;%20width:%20624px;%20position:%20fixed;%20top:%2020px;%20left:%2020px;%20background-color:%20%23fff;%20border:%201px%20solid%20%23333;%20opacity:%200.9;%20z-index:%20100000}%20.s-p-i%20{%20width:%20600px;%20margin:%2012px;%20}%20.s-p-h%20{%20color:%20%231a0dab;%20font-size:%2018px;%20line-height:%201.2;%20}%20.s-p-u%20{%20color:%20%23006621;%20font-size:%2014px;%20line-height:%2016px;%20}%20.s-p-t%20{%20font-size:%2013px;%20line-height:%201.4;%20}%20.s-p-t-b%20{%20font-weight:%20bold;%20}%20%22);e.appendChild(t);var%20i=document.getElementsByTagName(%22head%22);i[0].appendChild(e);var%20n=document.getElementsByTagName(%22title%22),r=n[0].textContent,a=window.location.href;a=a.replace(%22https://%22,%22%22),a=a.replace(%22http://%22,%22%22);for(var%20s=%22%3Ci%3Eno%20meta%20description%3C/i%3E%22,l=%22-%22,d=document.getElementsByTagName(%22meta%22),o=0;o%3Cd.length;o++)%22description%22==d[o].getAttribute(%22name%22)%26%26(s=d[o].getAttribute(%22content%22)),%22robots%22==d[o].getAttribute(%22name%22)%26%26(l=d[o].getAttribute(%22content%22));for(var%20p=%22-%22,c=%22-%22,g=%22-%22,h=[],v=document.getElementsByTagName(%22link%22),o=0;o%3Cv.length;o++)if(%22canonical%22==v[o].getAttribute(%22rel%22)%26%26(p=v[o].getAttribute(%22href%22)),%22next%22==v[o].getAttribute(%22rel%22)%26%26(c=v[o].getAttribute(%22href%22)),%22prev%22==v[o].getAttribute(%22rel%22)%26%26(g=v[o].getAttribute(%22href%22)),%22alternate%22==v[o].getAttribute(%22rel%22)%26%26%22%22!=v[o].getAttribute(%22hreflang%22)){hreflang=v[o].getAttribute(%22hreflang%22),href=v[o].getAttribute(%22href%22);var%20f=%22%22;window.location.href==href%26%26(f=%22s-p-t-b%22),h.push('%3Cdiv%20class=%22s-p-t%20'+f+'%22%3Ehreflang%20'+hreflang+%22:%20%22+href+%22%3C/div%3E%22)}0==h.length%26%26h.push('%3Cdiv%20class=%22s-p-t%22%3Ehreflang:%20-%3C/div%3E');var%20m=document.createElement(%22div%22);m.className=%22s-p%22,document.getElementsByTagName(%22body%22)[0].appendChild(m),m.innerHTML='%3Cdiv%20class=%22s-p-i%22%3E%3Cdiv%20class=%22s-p-h%22%3E'+r+'%3C/div%3E%3Cdiv%20class=%22s-p-u%22%3E'+a+'%3C/div%3E%3Cdiv%20class=%22s-p-t%22%3E'+s+'%3C/div%3E%3Chr/%3E%3Cdiv%20class=%22s-p-t%22%3Emeta%20robots:%20'+l+'%3C/div%3E%3Cdiv%20class=%22s-p-t%22%3Erel%20canonical:%20'+p+'%3C/div%3E%3Cdiv%20class=%22s-p-t%22%3Erel%20next:%20'+c+'%3C/div%3E%3Cdiv%20class=%22s-p-t%22%3Erel%20prev:%20'+g+%22%3C/div%3E%22+h.join(%22\n%22)+%22%3C/div%3E%22}();

Zurück zur Übersicht

Wörter zählen

Das folgende Bookmarklet kann während der Erstellung neuer Texte sehr nützlich sein. Markiert den gewünschten Text, klickt auf das Bookmarklet, und schon seht ihr Wort- und Zeichenanzahl des markierten Textes.

javascript:(function(){var a=(document.selection?document.selection.createRange().text:document.getSelection()).toString();alert(a.length?"Characters: "+a.length+"\nWords: "+a.replace(/\s{2,}/g," ").split(" ").length:"No text selected.")})();

Zurück zur Übersicht

GTmetrix Test

GTmetrix ist ein bekanntes Tool zur Website-Analyse. Es stellt Performance-Daten und Optimierungsvorschläge zur Verfügung. Ein Klick auf das Bookmarklet analysiert die aktuelle URL mit GTmetrix.

javascript:(function(d)%7Bvar%20f%3Dd.createElement(%27form%27)%3Bf.action%3D%27https://gtmetrix.com/analyze.html%3Fbm%27%3Bf.method%3D%27post%27%3Bvar%20i%3Dd.createElement(%27input%27)%3Bi.type%3D%27hidden%27%3Bi.name%3D%27url%27%3Bi.value%3Ddocument.location.href%3Bf.appendChild(i)%3Bd.body.appendChild(f)%3Bf.submit()%3B%7D)(document)%3B

Zurück zur Übersicht

Wayback Machine anzeigen

Die Wayback Machine ist ein riesiges Internet Archiv und hat laut Wikipedia "seit 2007 den offiziellen Status einer Bibliothek". Was man mit dem Bookmarklet im SEO-Alltag machen kann? Vieles, beispielsweise Wiederfinden und Recycling alter Inhalte, Prüfung alter Inhalte für Redirects, Check von robots.txt Veränderungen oder Analyse der alten Seitenstruktur einer Website.

javascript:void(window.open('https://web.archive.org/web/*/'+window.location.href));

Zurück zur Übersicht

Wayback Machine speichern

Neben dem Betrachten bereits gespeicherter Seiten können auch neue Seiten zur Wayback Machine hinzugefügt werden. Laut Save Pages in the Wayback Machine gibt es dafür verschiedene Wege. Einer davon ist die Verwendung des folgenden Bookmarklets. Herzlichen Dank an Martin Hinterdorfer für den Hinweis via LinkedIn.

javascript:void(window.open('https://web.archive.org/save/'+location.href));

Zurück zur Übersicht

Whois Domain Lookup

Via Whois könnt ihr schnell und einfach Informationen zum Eigentümer einer Domain abfragen.

javascript:void(window.open('https://www.whois.com/whois/'+window.location.hostname));

Zurück zur Übersicht

Domain Price Check

Mit Hilfe des Domain Price Check Bookmarklets werdet ihr auf die Seite pc.domains weitergeleitet, die den Wert der abgefragten Domain schätzt. Diese Schätzung wird von einer KI berechnet und basiert auf den Daten von über 2,6 Millionen Domainverkäufen. Vielen Dank an Stefan Klenk für den Hinweis via LinkedIn.

javascript:void(window.open('https://pc.domains/basic/'+window.location.hostname));

Zurück zur Übersicht

HTTP Headers anzeigen

Die HTTP Headers enthalten wichtige Infos für technische Analysen. Diese sind zwar auch über die Chrome DevTools oder Firefox Developer Tools auffindbar, aber mit Hilfe des Bookmarklets seht ihr sie auf einen Klick. Diese Bookmarklet basiert auf einem Post von Daniel Miessler aus 2010, auf den ich via Riseatseven gestoßen bin.

javascript:(function(){function%20read(url){var%20r=new%20XMLHttpRequest();r.open('HEAD',url,false);r.send(null);return%20r.getAllResponseHeaders();}alert(read(window.location))})();

Zurück zur Übersicht

Security Headers prüfen

Nein, die Konfiguration von Security Headers auf eurem Webserver ist für Suchmaschinen (noch?) kein Rankingfaktor. Dennoch bin ich der Ansicht, dass Sicherheitsverbesserungen langfristig zu zufriedeneren Nutzern führen. Und Websitebetreiber lieben zufriedene Nutzer <3 Das folgende Bookmarklet hilft euch daher bei der schnellen Analyse der wichtigsten Security Headers.

javascript:void(window.open('https://securityheaders.com/?q='+window.location.href);

Zurück zur Übersicht

Inhalte mit & ohne Javascript

Das Bookmarklet NoJS Side-by-Side von Chris Johnson (@defaced) stellt die Inhalte der aktuellen URL mit und ohne Javascript nebeneinander im Browser-Fenster dar. Das hilft bei der Analyse von Projekten mit Client-seitigem Rendern.

javascript:!function(){var e=document.createElement("style");e.innerHTML="\n .side-by-side{\n position:absolute;\n top:0;\n width: 50vw;\n height:100vh!important;\n z-index:999;\n }\n .side-by-side-nojs {\n left:50%;\n }\n .side-by-side-js {\n left:0;\n }\n .side-by-side-label {\n padding: 10px;\n background-color: black;\n color: white;\n font-size: 12px;\n position: absolute;\n z-index: 1000;\n margin: 10px;\n opacity: 0.7;\n text-transform: uppercase;\n font-family: 'Arial';\n pointer-events: none;\n }\n .no_js{\n left:50vw;\n }\n body{\n display:none!important;\n overflow:hidden!important;\n }\n ",document.head.appendChild(e);var n=document.createElement("div");n.setAttribute("class","js side-by-side-label"),n.innerText="JavaScript Enabled",document.body.insertAdjacentElement("afterend",n);var t=document.createElement("div");t.setAttribute("class","no_js side-by-side-label"),t.innerText="JavaScript Disabled",document.body.insertAdjacentElement("afterend",t);var i=document.createElement("iframe");i.setAttribute("class","side-by-side-nojs side-by-side"),i.src=window.location.href,i.frameBorder=0,i.sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-top-navigation",document.body.insertAdjacentElement("afterend",i);var o=document.createElement("iframe");o.setAttribute("class","side-by-side-js side-by-side"),o.src=window.location.href,o.frameBorder=0,document.body.insertAdjacentElement("afterend",o)}();

Zurück zur Übersicht

Nu Html Checker (W3C)

Mit Hilfe des Nu Html Checkers des World Wide Web Consortiums (W3C) wird euer HTML Code nach Fehlern durchsucht. Warum das für SEOs wichtig ist? Suchmaschinenbots lieben sauberen und validen Code.

javascript:void(window.open('https://validator.w3.org/nu/?doc='+window.location.href));

Zurück zur Übersicht

Ahrefs Site Explorer öffnen

Mit dem folgenden SEO Bookmarklet könnt ihr die Domain der aktuell geöffneten Seite mit einem Klick im Ahrefs Site Explorer analysieren. Voraussetzung dafür ist, dass ihr über einen bezahlten Ahrefs oder kostenlosen Ahrefs Webmaster Tools Zugang verfügt und dort eingeloggt seid.

javascript:void(window.open('https://app.ahrefs.com/site-explorer/overview/v2/subdomains/live?target='+window.location.hostname));

Zurück zur Übersicht

Semrush Domain Überblick öffnen

Mit dem folgenden SEO Bookmarklet könnt ihr die Domain der aktuell geöffneten Seite mit einem Klick im Semrush Domain Überblick analysieren. Voraussetzung dafür ist, dass ihr über einen bezahlten Semrush Account verfügt und eingeloggt seid.

javascript:void(window.open('https://www.semrush.com/analytics/overview/?q='+window.location.hostname+'&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;searchType=domain'));

Zurück zur Übersicht

One-Stop SEO Bookmarklet

Das One-Stop SEO Bookmarklet von Troy Meier ist das wohl umfangsreichste SEO Bookmarklet aller Zeiten. Auf seiner Website findet ihr eine Auflistung aller Features, aber hier schon mal ein kleiner Vorgeschmack: Inhalt des Title tags inkl. Länge, Inhalt der Meta Description inkl. Länge, die Summe aller <img> tags, die Summe befüllter <img> tags, die Anzahl der Überschriften tags auf der Seite, Check des Canonical Links, Check des Meta Robots tags etc. Unbedingt ausprobieren!

javascript:function run(){var d=document,da=new Date(),b=d.body,p=('https:' == document.location.protocol ? 'https://' : 'http://'),ex=d.getElementById('twkmSEOScript');try{if(!b)throw(0);if(!ex){z=d.createElement('scr'+'ipt');z.setAttribute('src',p+'twkm.ca/min/f=gadgets/resources/seo-bookmarklet/seo-stable.js?ts='+da.getTime());z.setAttribute('id','twkmSEOScript');z.setAttribute('class','03');b.appendChild(z);}else{twkm_closeThisBox();}}catch(e){alert('Please wait until the page has loaded.');}}run();void(0)

Zurück zur Übersicht

Wappalyzer

Der Wappalyzer bietet einen Überblick zu den verwendeten Technologien auf einer Website, z.B. CMS, Webserver, Plugins, Fonts, Plugins, Datenbanken, JavaScript Frameworks etc. Diese Informationen können sowohl für technische SEO Audits, als auch für Konkurrenzanalysen hilfreich sein.

javascript:void(window.open('https://www.wappalyzer.com/lookup/'+window.location.hostname));

Zurück zur Übersicht

BuiltWith

BuiltWith ist eine Alternative zu Wappalyzer und bietet ebenfalls einen Überblick zu den verwendeten Technologien auf einer Website, z.B. CMS, Webserver, Plugins, Fonts, Plugins, Datenbanken, JavaScript Frameworks etc. Diese Informationen können sowohl für technische SEO Audits, als auch für Konkurrenzanalysen hilfreich sein.

javascript:window.location.href='https://builtwith.com/?%27+encodeURIComponent(document.location)

Zurück zur Übersicht

SSL Server Test

Der SSL Server Test von Qualys SSL Labs überprüft Funktionalität und Protokolle von SSL/TLS Zertifikaten. Diese Zertifikate sorgen bei korrekter Integration für eine verschlüsselte Datenübertragung zwischen Client und Webserver via HTTPS. Die verbesserte Sicherheit trägt einerseits zur Erhöhung der Nutzerzufriedenheit bei. Andererseits ist die Verwendung von HTTPS ein Teil des Page Experience Updates und bereits seit 2014 ein offizieller Google Rankingfaktor.

javascript:void(window.open('https://www.ssllabs.com/ssltest/analyze.html?d='+window.location.hostname));

Zurück zur Übersicht

Vorschläge?

Ihr habt Vorschläge für weitere SEO Bookmarklets oder seid der Ansicht, dass ich das allerwichtigste vergessen habe?

Dann hinterlasst mir gerne eine Nachricht auf Twitter oder LinkedIn. Danke!

Bildnachweis

Headerbild von roketpik auf Pixabay

Weitere Blogposts

Alexander Außermayr
Womit kann ich dir helfen?
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram