SEO (search engine optimization) is the process of improving a website's visibility in search engine results. There are two main types of SEO: on-page optimization which involves optimizing on-site elements like text, images and links, and off-page optimization which focuses on link building and other off-site factors. Key aspects of SEO include keywords, link popularity, and making sites crawler-friendly. White hat SEO follows search engine guidelines while black hat SEO uses prohibited tactics only aimed at search engines.