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

0

I 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.

Blog Juice

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?

Website grader

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!

SEOmoz

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!

Xinu

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$... :D

Website value calculator

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)

w3c validator (html)

If you know any more great tools that I missed out, please comment!

Alpha, beta… web 2.0 soup

0

An alpha and a beta greek lettersI'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

3

Is 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

3

Have 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

0

After 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:

  1. AddThis - Social bookmarking widget: Just scroll to the end of this post to see it in action ;)
  2. Adsense Manager - Put some ads here in the site, even though the revenue never amounts more than a dollar... :(
  3. 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"
  4. 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!
  5. 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 :)
  6. FeedBurner FeedSmith - Redirect your feeds to a feedburner feed, a very interesting option that allows you to use the feedburner feedstats!
  7. Google Analyticator - Insert your Analytics tracking code in your blog, to be able to access google's most powerful stats tool.
  8. Google XML Sitemaps - Automatically create sitemaps and notify several search engines with this great plugin
  9. Role Manager - Easily manage user roles and privileges with this amazing plugin. Great for blogs with multiple contributors, editors or admins.
  10. StatPress - One of the nicest blog stats tool, similar to google's analytics, but I prefer to have both, as each offers different information.
  11. Subscribe to comments - Give your visitors the ability to receive emails upon follow-up comments.
  12. wp-Cache - Easy caching for your blog, makes loading time faster, and reduces significantly your mysql queries.
  13. 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!

Go to Top