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!
Best free icons
0This is my list of the best free icon services around, all with a preview and a description
To visit just click on the title or in the image. Most of the icon sets below are both in png and ico formats, and the download page can be found within the preview page in most of the times.
Icon Buffet
"Our icons are painstakingly created pixel by pixel, and each collection features a variety of formats and sizes. We're sure you'll be delighted when you take a bite from the Buffet."
A lot of different icon packs, some good, some bad...
Silk Icons
This is probably the most well-known icon set in the internet! Featuring an icon for almost anything you could think of, great for educational sites and big categorized navigation menus.
Mini icons:
Another version by FamFamFam, in a smaller size, but still with that delightful look they give their icon sets!
Flag icons
Yet another great set by FamFamFam, featuring 247 flags of most countries in the world. Great for multilingual sites which offer translated content...
Aero IconSet
A beautiful icon set with 147 icons with Desktop looks. Both in png and ico formats:
LeEsta IconSet
A beautiful set of icons also in png and ico formats. With a sort of "Noble" look, great for your desktop or retro website!
Website Icons
A very good icon resource, with the problem that the "good" icons are not free. You have a free category though, the pixel icons, which is still quite good!
Other sites:
Some other good icon resources can be found here:
- PixelGirl - For Mac and PC
- Shining - Icons (152 png + 152 ico ) + 7 wallpapers
- Iconaholic - Icon sets for PC, Mac, and sometimes other formats...
If you enjoyed this list, consider bookmarking this page:
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 (1317 downloads)
For suggestions, feedback, hates... please comment
Writing a simple Facebook App
1In this tutorial I am going to show you how to create a simple Facebook application.
Getting the basics
First of all you'll need to install the developer application on Facebook. To do this log in to your Facebook account and visit this link here to install the Developer application. You should be redirected to this screen:
Now you've installed the developer application you will need to create your first application. Click on the 'Apply for a key' and fill in the necessary details.
Give you application a name. In this example I have called mine 'My Test Application'. For the two email fields you should put in your email. Now for the callback URL. This is the directory on your host containing the files. Your application should definitely have it's own folder on your host (if not Facebook users will probably be able to access files you don't want them too). I've entered mine as http://www.urbanoalvarez.es/facebookApp/. All that's really left to do is your Facebook canvas page URL. I'm going to use aSimpleTestApp for mine. You can use anything you want as long as it's available. You shouldn't need to edit anything else. Just click 'Submit' to create the application.
You should have been redirected to the previous page only now you will see you have created an application. Note down the secret question, api key and your callback URL because you will need them in the next stage.
Now you've created your application you will need to install the Facebook Platform libraries on your host. You can download them here:
http://developers.facebook.com/clientlibs/facebook-platform.tar.gz
Once you've installed the libraries (read the README if you need any assistance) then you can start coding. First of all we need to create a config file which initiates the API and allows us to make a connection with Facebook.
The actual code
< ?php require_once 'client/facebook.php'; // Path to Facebook.php (either inside 'client' or 'php4client') $appapikey = 'apikey'; // Enter your API key you noted down earlier $appsecret = 'yoursecret'; // Enter your secret you noted down earlier $facebook = new Facebook($appapikey, $appsecret); // Initiate client $user = $facebook->require_login(); // Authorize current user $appcallbackurl = 'http://www.drcrazy4.info/fbapp/'; // Your callback URL // Has the logged in user installed the application try{ if ($facebook->api_client->users_isAppAdded() == ""){ // If the application hasn't been added $facebook->redirect($facebook->get_add_url()); // Redirect the user to the add applciation link } }catch (Exception $ex){ $facebook->set_user(null, null); // Clear current application cookies $facebook->redirect($appcallbackurl); // Redirect user to application } ?>
Save that file as config.php.
Now we have the authorization done we can get productive. For this application we're going to create a simple hello world application (I know how boring. In later tutorials I will discuss things like friends, photos etc.). Here is what's left:
< ?php include 'config.php'; // The file we made just now $echo = 'Hello there ' . $user; // $user is the logged in user. This will be displayed on the main application page $fbml = <<<EndHereDoc Hello world! EndHereDoc; // This is what will be displayed on users profile pages. $facebook->api_client->profile_setFBML($fbml, $user); // Set the profile box content for the logged in user ?>
Save that file as index.php.
Now test your application. You should see 'Hello world!' in a box on your profile and on the main application page you should see 'Hello [USERNAME]' ([USERNAME] being your current username). In later tutorials I will discuss a little more about FBML and how you can use the client libraries to get users friends etc. Tutorial source iscripting.com
If you have a question please feel free to ask.











