Showing posts with label SEO. Show all posts
Showing posts with label SEO. Show all posts

Sunday, 9 November 2014

Benefits of SEO (Search engine optimization)

My last post was an introduction guide for a successful website. Now I will present you the benefits of going through the search engine optimization process.

  1. Increased traffic. Generally speaking, the main objective of a website is to reach a bigger audience, it doesn't matter if your website is a store or if it's for helping other people with some topics, the bigger the traffic, the better results you'll have. The reason why traffic is increased is because search engines will place your website in a better position in the seach results, once you finish the SEO process.
  2. Usability is a side result. The website is faster and when you have friendly URLs, your website is easier to navigate for the users, so they will be happy to use your page, content is also improved and they will know were they can reach things. For search engines, it will make it easier to understand your website.
  3. You can track everything. It's much easier to track a website that has gone though the SEO process, because you have a better organized website, the content is interesting, the structure of the URLs can help you with insights on what to improve, you can track which pages are not being visited, get statistics of usage of a specific section, know where your visitors are leaving the page and so on.
  4. Putting ads from other companies. If your website has a lot of visitors, it's very likely that companies related to what you do, would like to have ads in your website. This can give you some money in return and make your website even more popular.
  5. Have an international 24 x 7 website. Once you start to be popular, you can decide to expand your website to reach more countries by creating country specific pages, and of course, your website is alive all the days! it never closes, so, everyone who can reach you, will be able to do so through your website.

There are many other benefits, I just wanted to give you an idea of the importance of SEO. If you like this post, please comment or tell me about a topic that you would like me to write about. See you soon!

Introduction guide for successful websites (SEO, analytics, page rankings, popularity, code insights)

Popularity, visibility, traffic, are important characteristics that a web site must have in order to be successful. I will talk about things that you can do to improve your website. Please take into account that this is for general purpose and that in most cases they work, but depending on the context, you might find it useful to follow other paths.

A very helpful tool you can use to know who visits your website and give you important usage statistis is google analytics. You can follow the instructions on this page to have google analytics on your web site: https://support.google.com/analytics/answer/1086338?hl=en&ref_topic=1726910&rd=1

Now that you have this tool, I will present you two major aspects and the important recommendations you must follow during the Search Engine Optimization process:


1) Code


Search engines are indexing web sites. They work on understanding what's the page about, and then they can categorize and assign search keywords to decide when to show up the page. But remember that search engines are reading the html code, so if it's not structured in a good way, it will be very difficult for the search engine to index and categorize the pages. The starting advise on this is to set metakeywords and metadescription according to the page content, try to catch the big picture in a few words, this is a marketing endeavor, but devs should be aware of having this done for every important page on the website. Another recommendations are:

  • Having friendly URLs. The first thing used to index a web page is the URL. So it's important to keep them readable and understandable. For example it is much better to have foo.com/colors/grey, than to have foo.com?default.html?category=12&item=15.  Can you do some interesting indexing with the second url? Guess what, search engines cannot do it either. There are many tools that depend on the code / technology used for creating the page, that can help in having friendly urls. 
  • Title is important. I'm referring to the <title> html tag. This is the second thing that the search engines use for indexing the page. What does the title says about the content of the page? It is important to have this in mind when you're setting it.
  • Content should start in the first lines of the html. This means that the content specific of the page should be easy reachable by the search engines in the first lines of the html. If you put a lot of non content related code, search engines will fail to do a correct indexation of your page and it would be hard for your page to be reachable even if someone is searching for something specific to  your website.
  • Optimized static content. Images, css and javascript are static content that should be optimized, in the case of the images, this means, that they should have a decent size, a helpful  tool to accomplish this is yahoo image optimizer or irfan view, this last one has a way to do a batch compression of a set of images, this is very helpful, because you can reduce the size of a complete directory quickly. Talking about css, it is recommended to have all the css in one or two documents at most, it's not recommended to use inline css and in order for the browser to load the page quickly, it's a good idea to use a css minifier like css compressor, css should be somewhere in the <head> tag to make it easy to read for the browser. Talking about javascript, it's a good idea to have it in one separate file, it's not recommended to use inline javascript and it should be placed near the end of the html in order for the browser to load the page quickly.


2)  Marketing 


I will not give a full detail of why marketing is so important and the things you can do to improve it, because this blog is about software development and the technical -develoment- side of it. Anyway, there are some things that I would like to mention.

  • Be aware of the analytics concerns on the website. In order to obtain useful data from analytics, the marketing department should decide what things apply for the website. For example URLs need to provide useful data. For example, let's say that you're a company that sells hotel reservations and that you need to know how many reservations are made per month for each hotel company, and that you're not that interested in knowing the place. In this case, the url confirmation of the hotel reservations, can be created having this format: hotels.com/Confirmation/HotelCompany/Place/.. and then, in google analytics, you can see how many confirmations were made to an specific hotel company by checking the visits made to this url: hotels.com/Contirmation/HotelCompany. If you were to do it the other way around: hotels.com/Confirmation/Place/HotelCompany, it would be hard to obtain the decided data, you'll need to check all the visits made for each place to the hotel company you're looking for. Another important thing to define is when you want to track URL clicks from your website, this are concerns that the marketing team needs to establish and make them clear to the developers in order to get useful data from analytics. If you want to know more about URL structure, check this post.
  • Get insights from analytics. Once the website is launched, it's a good idea to keep track of the visited pages and the flow of the customers through your website, in this way, you can have useful statistics for knowing things like, which products are being successful, which sections of the website are used (for example, if you have a comment section, it is helpless if it's not in use), and so on, this can help you decide on future campaigns and see were you need to make investment.
  • Targeting more than one country. Some people doesn't know that having different websites (even in the same language) but that target different Countries, need some special considerations. For example, if you're using the same top level domain for both websites (for example storeforusa.com and storeforcanada.com) and you have pages with the almost the same content (for example the page of a product) then, when you search in google, you'll find results from both websites! this is because .com is considered "international" for google. You can change this behavior by using a different top level domain, it would be better to have something like: store.com.us and store.com.ca. And apply some configuration changes in google analytics. For further and more specific information, please visit this google documentation page.  

A final advise is to use tools that can help you know which aspects of the code can be improved. I find them very helpful, you can read the results and take action to improve the code, they give information about loading time, css, image improvents and so on:


There are many benefits of having a well optimized website. If you want to check them, please follow this link. I hope you enjoyed this entry! 




Tuesday, 16 September 2014

Front end Performance - An overview of major software aspects

In this post I'll be writing about Front end performance focusing on web applications, but many things apply to desktop and mobile systems. You'll need some background on web development to understand the story behind the scenes, I also recommend reading the introduction post of the series to know all the topics of this series and the focus I'm having. The purpose of this post is to understand the importance of front end performance and things that you can do to keep it fast.

Let's start with a list of things that matter when developing web applications, then I will give you some tools that will help you in having things in order:

  • CDN For static elements. Using a Content Delivery Network for static content like images, javascript, files, etc, helps in maintaining a low bandwidth usage and it's a must when you've a web site with a lot of traffic because this content is usually the bigger part of your web page, and if you have a lot of visits, you'll probably have trouble in serving all the requests from your hosting server. You can analyse this by downloading your web page and see how much space does this type of content represents in comparison with dynamic content.
  • Image optimization. If you have a web site that uses a lot of images, let's say that they represent 80% of the weight of your site, and if we take into consideration that not optimized images can weight more than 3x the size of their optimized version, if you have a web site using unoptimized images can result in a web site 240% heavier (80% x 3 = 240%). What this will mean is that your web site is going to be slow, it will take at least... yeah, you got that right, 240% more time in loading than what it should be.
  • Data cache. Most web servers nowadays have a cache system for pages. This works by setting up pages and their expire time. This can help in slowing the resources needed to load your web site, this also helps with the page speed.
  • Optimizing CSS, Javascript, HTML. This is a big topic, I will dedicate an entry for it, but what I can say now, is that it really matters when you want to have a fast web site and it's also easier for the search engines to index your web page.
  • Friendly URLs. This means to have urls that when you read them, you can tell the story in that page. for example, it's much easier to read: www.maps.com/Mexico, than to read: www.maps.com/default.html?Country=Mexico.  And guess what? for search engines it's easier to index, because the first thing they use to categorize the page is the url. This can also help when using google analytics, I will dedicate one post to this, but in summary, with friendly urls you're able to have a better understanding of what pages are being visited, and this can give insight on what you should be working and improving.
  • SEO. Another big topic, I will create a separate entry for it. It's important because if you have good meta tags, meta keywords, friendly urls, and the HTML as it should be, then your web site is going to be "friendly" for the search engines and more people will reach it when searching for related topics. There are many, many things related to SEO, for example: is your web site for a particular Country? Are you hiding it for some others? are you using the right domain (.us, .com. org) ?
  • User friendly interface. A web site must be easy to use, you should be able to understand the content easily and the navigation needs to be friendly, this will help people and will make them return to your web site.
  • Optimized for mobile. If you've a web site targeting mobiles, you'll need to have an optimized version for it. Usually with lightweight content, and the interface with some adaptations to make it easy to navigate.

Now, let's talk about some tools that can help us to keep things in order:

And what could happen if you don't care about this concerns? Our example is going to answer that question:

Example: unoptimized web site and hosting prices

  • Let's suppose that we've a web site in which most web pages weight 6mb. 
  • The web doesn't require a lot of processor speed, because most content is static.
  • Let's imagine that we've been investing a lot in marketing and that our page is reaching 100,000 visits per day.
  • How much bandwidth do we need per month? We will need: 30 * 6 * 100,000 = 18,000,000 mb each month.

Now, I will calculate the cost of not having an optimized web site. For keeping things simple, I will use approximate values. The prices are based on a true hosting vendor: each month your hosting plan includes 5 TB of bandwidth, we're using 17.5 TB, that means that we're exceeding our consumption by: 12.5TB. The price for each extra TB is: $42 US, this means that you'll be paying: 12.5 * 42 = 525 extra dollars each month. That's a lot! That could be used for campaigns, or for other stuff. And you'll probably have more visitors if you have an optimized web site, and something I must also say is that optimizing bandwidth usage is not complicated, so there's no real reason for paying that extra dollars.

Ok guys! that's it for now,  hope you're enjoying the series. Let me know if you want me to talk about a topic in the upcoming entries :)