There are some tasks which I have to repeat on a daily basis, so I have made a list of my top time saving SEO bookmarklets to help speed things up.

There are many other lists of SEO bookmarklets but I found many were overwhelming and cluttered. I use all of these regularly so I hope they help someone.

EDIT: Currently broken. (CMS syntax highlighter causing issues)

There are three great tools used for creating bookmarklets. JS beautifier will clean up compressed code so you can play with it. Closure compiler squashes the code back down to a bookmarkable format. Lastly, you can encode the squashed code further if you want to link it as below.

SEO Bookmarklets

So, here they are. My top 10, completely by chance, time saving SEO bookmarklets. *drum roll*…
Simply drag the link to your bookmark bar then click to use.

SEO Overview
This script will display a popup windows showing a general SEO overview of the current page. Created by Troy Meyer.

javascript:(function(){var d=document,z=d.createElement('scr'+'ipt'),b=d.body;try{if(!b)throw(0); z.setAttribute('src','http://twkm.ca/min/f=gadgets/resources/seo-bookmarklet/seo-0.1.js'); z.setAttribute('id','twkmSEOScript');b.appendChild(z);}catch(e){alert('Please wait until the page has loaded.');}}());

Google | Cache
This will show Google’s cached version of the page, if one exists.

javascript:void(window.open('http://www.google.com/search?q=cache:'+window.location.href));

Google | Text Cache
This will show a stripped down version of the cached page. Similar to the above, but without most images and scripts.

javascript:void(window.open('http://www.google.com/search?q=cache:'+window.location.href+'&strip=1'));

Google | Site:domain.com
Show every page Google has indexed for the website.

javascript:myURL=location.href;myURL=myURL.replace('http://',''); myURL=myURL.replace("https://",""); myURL=myURL.replace('www.','');slash=myURL.indexOf('/'); myURL=myURL.substring(0,slash); void(window.open('http://www.google.com/search?q=site%3A'+myURL+'&pws=0&filter=0'));

Google | Site:domain.com/landing-page
See if the current page is listed in Google. Ignores anything after the first &var but I’m sure you have FURLs!

javascript:myURL=location.href;myURL=myURL.replace("http://",""); myURL=myURL.replace("https://","");myURL=myURL.replace("www.",""); void(window.open("http://www.google.com/search?q=site%3A"+myURL+"&filter=0"));

View Headers
Show an alert box with the last headers sent. Handy. Sometimes.

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

Validate HTML
Thanks to CSS Tricks for this one! I just made to pop in a new window, simply down to preference.

javascript:%20(function(){var%20a;a=document.location.href; if(9<a.length&amp;&amp;"file:///"==a.substr(0,8)){ var b;b=-1!=navigator.platform.indexOf("Win"); a=a.substr(b?8:7);a=unescape(a);b&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;(a=a.replace(///g,"\"),a=a.replace(/|/g,":"));null!=prompt("Copy filename%20to%20clipboard, press enter, paste%20into validator%20form",a)&amp;window.open("http://validator.w3.org/file-upload.html")}else window.open("http://validator.w3.org/check?uri="+escape(document.location.href))})();

Validate CSS
Very much the same as above, but with CSS.

javascript:void(window.open('http://jigsaw.w3.org/css-validator/validator?uri='+document.location.href));

Whois
Show the Whois information for the current domain.

javascript:void(window.open('http://whois.domaintools.com/' +window.location.href));

See all scripts
A handy bookmarklet which shows all scipts on a page. Created by jsbeautifier.org.

javascript:(function(){s=document.getElementsByTagName('SCRIPT');tx='';sr=[];for(i=0;i<s.length;i++){with(s.item(i)){t=text;if(t){tx+=t;}else{sr.push(src)};}};with(window.open()){document.write('<textarea%20id="t">'+(sr.join("n"))+"nn-----nn"+tx+'</textarea><script%20src="http://jsbeautifier.org/beautify.js"></script><script>with(document.getElementById("t")){value=js_beautify(value);with(style){width="99%";height="99%";borderStyle="none";}};</script>');document.close();}})();

BackTweets
See how many Tweets the page has. This is a good indicator of overall activity.

javascript:void(window.open('http://backtweets.com/search?q='+window.location.href));

Character/Word count
This handy script will show the character and word count of text selected on a webpage.

javascript:(function(){if(document.getElementById("__wc_display"))__wc_refresh(); else{window.__wc_base="http://charcount.appspot.com/";var b=document,a=b.createElement("script"); a.setAttribute("src",__wc_base+"s/jquery.js"); a.setAttribute("type","text/javascript"); b.body.appendChild(a);a=b.createElement("script"); a.setAttribute("src",__wc_base+"s/wc.js"); a.setAttribute("type","text/javascript"); b.body.appendChild(a)}})();

Show missing alt tags
Highlight all images with missing alt tags… In pink!

javascript:styles='img:not([alt]) {outline:2px solid #FF00FF!important;}'; newSS = document.createElement('link'); newSS.rel = 'stylesheet'; newSS.href = 'data:text/css,' + escape(styles); document.documentElement.childNodes[0].appendChild(newSS); void 0

List all links
Simply list all links on a page. Also lists links without anchor text.

javascript:(function(){as=document.getElementsByTagName("a");str="<ul>";for(i=0;i<as .length;i++){str+="<li><a href="+as[i].href+">"+as[i].href+"</a>n"}str+="</as></ul>"; with(window.open()){document.write(str);document.close();}})()

List all external links
Simply list all links on a page. I modified it slightly to omit links to the same domain.

javascript:myURL=location.href;myURL=myURL.replace("http://",""); myURL.replace("https://","");myURL=myURL.replace("www.",""); slash=myURL.indexOf("/"); myURL=myURL.substring(0,slash);as=document.getElementsByTagName("a"); str="<ul>"; for(i=0;i<as.length;i++)siteURL=as[i].href,siteURL=siteURL.replace("http://",""), siteURL=siteURL.replace("www.",""), slash=siteURL.indexOf("/"),siteURL=siteURL.substring(0,slash), str=siteURL==myURL?str+"":str+("<li><a href="+as[i].href+">"+as[i].href+"</a> n"); str+="</as></ul>"; with(window.open())document.write(str),document.close()

Notes
You can try removing &pws=0&filter=0 from the above code. pws=0 should disable personalised search and filter=0 should disable duplicate content… The results seem mixed.
My JavaScript isn’t great so if you see any errors, please feel free to correct/improve/troll.