General talk
A place for all random thoughts and ideas that come across my mind and I can’t find the right “category” to put in…
Best site evaluating tools
0I guess I'm enjoying writing "Best..." compilations, and well, it is actually a great way to have all your favorite websites all in one place!
In this list I'll list the best site evaluation tools, either SEO analysis, design accessibility issues...
If you know of any great tool that I missed out, please make sure to comment, it's free!
webite value calculator, blog juice calculator, xinu, website grader, crawl tester, w3c
Blog Juice Calculator:
Probably one of the best blog rating online services out there. Learn how much "juice" your site has using this great tool. It checks almost everything that could be possible checked in a blog, and it advices you on how to improve it.
Website grader:
Another great tool, similar to blog juice but for non-blogs too. It provides you with a grado from 0-100, depending on "over 50 variables". Always good to know if you passed right?
Crawl test
Probably one of the best SEO tools here, it crawls your site and it gives you complete feedback on every single page crawled. You need to register though, and the free version limits the number of crawled pages to 5, but still worth using!
Xinu - Website Analysis
Another SEO evaluation tool, it displays various information about your site collected from all over the web. Very useful tool to know where you must strengthen your efforts!
Website value calculator:
This is more of an entertainment tool than an actual SEO tool, but still, it is cool to check... Right now it says I could sell this blog for 86$...
The grand W3C validation services:
Probably the best tool of all when trying to improve accessibility is this one. There are two validators, the html validator and the css validator. (The image points to the html one)
If you know any more great tools that I missed out, please comment!
Alpha, beta… web 2.0 soup
0
I'm a software developer and website programmer and I used to get very serious about my own project progress. A few years ago, whenever a project was being developed, we started it in alpha version, which meant "Incomplete and only accessible to developers". Later on we changed to beta, meaning that it was "Finished but buggy, and only a few selected users could try it". And finally the public release, without bugs (As we hoped) and all perfect and running (
).
But then web 2.0 was born, and in this new Internet age there were tons of "companies" being born, and I put companies between "" because nowadays pretty much anyone can put a website online and call it a company. And if they've hired good designers and programmers, they'll be offering a quality service, and they will call that "web 2.0". Now in this rush to get to the public as fast as possible everyone is just skipping the "debug process" and releasing the beta version either publicly or by email invitation, both of them ending up in being the same...
And it is not as if I don't like web 2.0, obviously this increases the number of sites available and makes them a little more "familiar", with all the developers who visit them and care enough reporting bugs, lots of people contributing, and making all together this new experience where the site is the users and not the owner.
I guess this is a clear sign of how times change, and how thing develop themselves naturally, but if this is something that evolves at the same rythm what is the next? Being packed with alpha releases that don't even work as expected?
Are the "Beta" badges being pushed to the end of the "trendy line"? I guess we'll have to wait a little longer to see that, but by the looks of it the Internet is going to need a complete redesign, from ground up, to keep up with the user's needs that don't even give time to websites to get out of beta version before release...
Post your opinion below, and we'll start a lovely discussion
Visitor’s language detection in php
3Is your site translated into more than one language? In case it is, you will find this topic really interesting, since it will allow you to automatically adapt your site's language to the user's.
In case your site is not translated, you can always use this to know the visitor's language... I'm sure you'll be able to find a good use for that information
The basics
The way this script will find the visitor's language is fairly simple. First it will "ask" the client (a.k.a the http request sender) for its user agent and for its language, if set.
For our script to work we will have set a list of our "available" languages. If you just want to detect it you could stop the script here and return the language. If you are detecting the language to use it for your website then continue reading:
Before the script checks if the language was on the list it would check if it was the default or primary language, then if not, it would look up in the available languages, and if not again, then it would return to the default language.
This is a very useful tool you can check out working on my main site: http://urbanoalvarez.es which is translated into both Spanish and English, and for you it will most probably be in English...
Now let's start looking at the code:
< ?php function dlang($Var) { if(empty($GLOBALS[$Var])) { $GLOBALS[$Var]=(!empty($GLOBALS['_SERVER'][$Var]))? $GLOBALS['_SERVER'][$Var]: (!empty($GLOBALS['HTTP_SERVER_VARS'][$Var]))? $GLOBALS['HTTP_SERVER_VARS'][$Var]:''; } } function language() { // Detect HTTP_ACCEPT_LANGUAGE & HTTP_USER_AGENT. dlang('HTTP_ACCEPT_LANGUAGE'); dlang('HTTP_USER_AGENT'); $_AL=strtolower($GLOBALS['HTTP_ACCEPT_LANGUAGE']); $_UA=strtolower($GLOBALS['HTTP_USER_AGENT']); // Try to detect Primary language if several languages are accepted. foreach($GLOBALS['_LANG'] as $K) { if(strpos($_AL, $K)===0) return $K; } // Try to detect any language if not yet detected. foreach($GLOBALS['_LANG'] as $K) { if(strpos($_AL, $K)!==false) return $K; } foreach($GLOBALS['_LANG'] as $K) { if(preg_match("/[\[\( ]{$K}[;,_\-\)]/",$_UA)) return $K; } // Return default language if language is not yet detected. return $GLOBALS['_DLANG']; } // Define default language. $GLOBALS['_DLANG']='es'; // Define all available languages. // WARNING: uncomment all available languages $GLOBALS['_LANG'] = array( 'es', 'en' ); ?>
Most of the important things in the above function are "self explanatory". If you have any problems understanding it, just ask!
Using it is very very simple, here is a simple script to see it working:
< ?php session_start(); include('lang.php'); //The language detection function echo language(); //Display the language ?>
As you can see using it is very simple, but it is still not perfect, because we still cannot change the language or store it, so we need another file, a session handler that will take care of storing and changing the language if neccesary.
File session.php:
< ?php //proc all page display include('lang.php'); //language detector class Session { var $lang; //Username given on sign-up var $url; //The page url current being viewed var $referrer; //Last recorded site page viewed /* Class constructor */ function Session(){ $this->time = time(); $this->startSession(); } function cf($filename){//function to clean a filename string so it is a valid filename $fp = explode('/',$filename); $num = count($fp); return $fp[$num-1]; } /** * startSession - Performs all the actions necessary to * initialize this session object. Tries to determine if the * the user has logged in already, and sets the variables * accordingly. Also takes advantage of this page load to * update the active visitors tables. */ function startSession(){ session_start(); //Tell PHP to start the session /* Set referrer page */ if(isset($_SESSION['url'])){ $this->referrer = $search = $this->cf($_SESSION['url']); }else{ $this->referrer = "/"; } /* Set current url */ $this->url = $_SESSION['url'] = $this->cf($_SERVER['PHP_SELF']); /* Set user-determined language: */ //set up languages array: $langs = array('en','es'); // if(isset($_GET['lang'])){ if(in_array($_GET['lang'],$langs)){ $this->lang = $_SESSION['lang'] = $_GET['lang']; } } if(!isset($_SESSION['lang']) || !in_array($_SESSION['lang'],$langs)){ $this->lang = $_SESSION['lang'] = language(); } } }; /** * Initialize session object - This must be initialized before * the form object because the form uses session variables, * which cannot be accessed unless the session has started. */ $session = new Session; ?>
And the way we would use this hole script now would be:
include('session.php'); //This does all the session work for us: echo $_SESSION['lang']; //Display the language
And to change it, place the following link anywhere in your site, without worrying for the location of the file!
<a href="?lang=es">Change to Spanish</a>
And now change "es" for any language code you have inside your $langs array (in this example: $langs = array('en','es');)
If you need help with the language codes visit this post, or download the demo zip and open otherLangs.php (With a text editor)
See it working
To see how this works, just go to my main page (http://urbanoalvarez.es) and change the language around (Top right corner)
Or visit the custom demo page, with all options in the same place (Not many actually, but enough
)
Download demo
Download zip file - 30Kb (1318 downloads)
For suggestions, feedback, hates... please comment
Blogging ping list
3Have you ever felt like your blog is not reaching the targeted audience? Maybe it is because the major blogging sites don't even know who you are!
Obviously the first step is to claim your blog in all majors, like Technorati for example, but pinging to only two or three doesn't really do the trick right?
Well here is a solution, add to your ping list a very wide range of blogging sites that will make sure that your blog at least exists .
Ping URL's list:
http://1470.net/api/ping http://www.a2b.cc/setloc/bp.a2b http://api.feedster.com/ping http://api.moreover.com/RPC2 http://api.moreover.com/ping http://api.my.yahoo.com/RPC2 http://api.my.yahoo.com/rss/ping http://www.bitacoles.net/ping.php http://bitacoras.net/ping http://blogdb.jp/xmlrpc http://www.blogdigger.com/RPC2 http://blogmatcher.com/u.php http://www.blogoole.com/ping/ http://www.blogoon.net/ping/ http://www.blogpeople.net/servlet/weblogUpdates http://www.blogroots.com/tb_populi.blog?id=1 http://www.blogshares.com/rpc.php http://www.blogsnow.com/ping http://www.blogstreet.com/xrbin/xmlrpc.cgi http://blog.goo.ne.jp/XMLRPC http://bulkfeeds.net/rpc http://coreblog.org/ping/ http://www.lasermemory.com/lsrpc/ http://mod-pubsub.org/kn_apps/blogchatt http://www.mod-pubsub.org/kn_apps/blogchatter/ping.php http://www.newsisfree.com/xmlrpctest.php http://ping.amagle.com/ http://ping.bitacoras.com http://ping.blo.gs/ http://ping.bloggers.jp/rpc/ http://ping.blogmura.jp/rpc/ http://ping.cocolog-nifty.com/xmlrpc http://ping.exblog.jp/xmlrpc http://ping.feedburner.com http://ping.myblog.jp http://ping.rootblog.com/rpc.php http://ping.syndic8.com/xmlrpc.php http://ping.weblogalot.com/rpc.php http://ping.weblogs.se/ http://pingoat.com/goat/RPC2 http://www.popdex.com/addsite.php http://rcs.datashed.net/RPC2/ http://rpc.blogbuzzmachine.com/RPC2 http://rpc.blogrolling.com/pinger/ http://rpc.icerocket.com:10080/ http://rpc.pingomatic.com/ http://rpc.technorati.com/rpc/ping http://rpc.weblogs.com/RPC2 http://www.snipsnap.org/RPC2 http://trackback.bakeinu.jp/bakeping.php http://topicexchange.com/RPC2 http://www.weblogues.com/RPC/ http://xping.pubsub.com/ping/ http://xmlrpc.blogg.de/
Another tool you might want to give a try is Ping-o-Matic, which (in case you never heard of it) pings some major blogging sites too.
If after all this you still don't get the visitor's you think you should, then you must probably reconsider the topic you blog about!
If this helped you, or you enjoyed this information, please bookmark!
Also if you know of some other ping sites, or one of this links is broken, please comment
My favourite WP Plugins
0After searching around for a bit for useful and good plugins, I've found 13 plugins that I find crucial.
And so, here is my list, they are in alphabetical order:
- AddThis - Social bookmarking widget: Just scroll to the end of this post to see it in action
- Adsense Manager - Put some ads here in the site, even though the revenue never amounts more than a dollar...
- All in one SEO pack - Generate the necessary meta-tags at the start of every page in your blog, very useful to be a little bit more "Search Engine Friendly"
- Code Highlighter - For programming blogs like mine this is a great plugin. Put all your code inside a pre tag, set the language to the corresponding one, and you've got it highlighted!
- Download Counter - When you offer stuff to download, like I do in my sample pages and stuff, it is always nice to have a counter of how many people actually download your stuff
- FeedBurner FeedSmith - Redirect your feeds to a feedburner feed, a very interesting option that allows you to use the feedburner feedstats!
- Google Analyticator - Insert your Analytics tracking code in your blog, to be able to access google's most powerful stats tool.
- Google XML Sitemaps - Automatically create sitemaps and notify several search engines with this great plugin
- Role Manager - Easily manage user roles and privileges with this amazing plugin. Great for blogs with multiple contributors, editors or admins.
- StatPress - One of the nicest blog stats tool, similar to google's analytics, but I prefer to have both, as each offers different information.
- Subscribe to comments - Give your visitors the ability to receive emails upon follow-up comments.
- wp-Cache - Easy caching for your blog, makes loading time faster, and reduces significantly your mysql queries.
- Typogrify - Correct some "aesthetic" issues regarding text, like thin spaces, widows, quotes and much more.
And of course the built-in great Akismet spam filter, which works astoundingly great, and some other "minor plugins" that I don't consider to be enough important to be here...
If you liked this list and you are a stumbler please consider thumbing me up
Thanks for your support!
If have suggestions on other great plugins please comment!





