SEO stands for Search Engine Optimization, in this are included all strategies and tools to improve the visibility on search engine of a website or a webpage. The main goals of SEO are to identify the major and more active keyword used in search engines and optimize the website in order to be in the best search position, giving an higher number of visitors in an organic way.
SEO is stricly connected to the so called SEM (Search Engine Marketing), other kind of technics that are less organic and more on the marketing side. Promoting a website on search engine via ad-hoc ads for the most productive and relevant keyword, targeting a specific user type (Age, Geo position, interests, etc), something like a Pay per Click done directly in the Search Engine.
There are several tools that helps the developer in creating a more search engine optimized website, improving SERP position (Search Engine Research Page).
The crucial SEO activities are devided into on page (activities to be done on the website that needs promotion on search engine) and off page (All the other activities done outside the website).
In the last decade Google represent the big part of searches done and for this tutorial we will take Google as a reference for the SEO factors that influence a website position for a keyword search. Google index each page based on its content and the links coming to it, the Google algorithm is composed of over 200 factors that evaluate the position of a website in the SERP.
On Page factors - Title tag, meta description, alt tag for images, headings h1-h6, loading time, original and relevant content, robots.txt and sitemap.xml, mobile device optimization.
Domain factors - Age of the domain, keywords in the second level domain name, backlinks "dofollow" and "nofollow" received from other websites, HTTPS protocol via SSL certificate.
Social factors - Number of followers or like on social network, tweets and share.
User factors - Organic Click Through Rate (CTR), Bounce rate and Session duration.
Do not worry if now you have no idea what these acronyms and terms means, we will discover them in the next lessons.
Keyword research - before even starting to develop a website search for the most relevant and researched keyword
Page Title - relevant and between 10 and 70 characters
Meta description - relevant and between 120 and 150 characters
Headers - Usage of CSS and headers H1 to H6 to highlight the most important keyword
Domain name and age - An older domain with the search keywords in the second level domain it's easier to positionate in the search engine
Image alt tags - Google is not able to recognize an image, if helped using a contextual name and an additional alt tag that describes the image it will grant a better rank in the SERP.
Enough text - The number of words in a page is better to be between 300 and 2500 words, ideally 1000. Google consider as 'thin content' any webpage with less than 300 words and under rank it as it doesn't include enough text to be relevant.
Mobile friendly - Mobile is more important than ever, the usage of media queries is highly recommended considering the high number of searches done via mobile phones and tablets
Keyword density - Ideally single keywords should represent less than 7% of the page, Double words should be less than 4% and long-tail words should be between 1-2%.
Robots.txt, Sitemap.xml and 404 Page - Robots.txt is directing the search engine crawler, sitemap.xml is telling google which page needs to be indexed and the 404 Page is very useful to avoid broken links and redirect visitors on the website.
Page speed - The best option is to keep total page size under 3Mb, a fast server with a response under 0.5s also helps. Ideally the whole page should load under 4 seconds.
Text to HTML ratio - Higher the ratio the better, ideally content should never represent less than 15% of the page size.
Backlinks, backlinks and backlinks - The better if coming from relevant similar websites, with quality content.
All softwares you need to design your websites. There are plenty of free tools that can be used to design a website.Create a website
All you need to start coding. All free softwares that allow you to write your code and develop apps from scratch.Create an app