A lot of emphasis has been made on both, but if you were to choose one, the answer is really both, as you noted. But if you could only have one, it would be on-site, starting with decent and fresh content, and then moving on to standard SEO practices. But it is really a two part exercise, and you will have difficulty organically growing site traffic without some off-site SEO.
SEO helps to increase page rank of the website/a blog. SEO can be classified in to two categories.
1. On page SEO
2. Off page SEO
On-Page SEO: It refers to factors that have an effect on your Web site or Web page listing in natural search results.
Off-Page SEO: It refers to techniques that can be used to improve the position of a web site in the search engine results page (SERPs).
On-Page SEO: It involves major necessary SEO tricks to get it to rank well on the search engines.
Off-Page SEO: In general, it has to do with promotion methods beyond website design for the purpose of ranking a website higher in the search results.
On-Page SEO: It gives you the first opportunity to get started in the Search engine ranking race while Off-Page SEO follows to add turbo to it.
Off-Page SEO: It is very important if your blog/site/brand is to succeed online.
On-Page SEO: It will provide you with in-depth analysis of the keyword you are targeting to rank for, proper optimization of your posts, including image optimization, highlighting your keywords in post title, meta description, heading tagging, keyword density check, and many more.
Perhaps, we may be right in saying that On-Page SEO and Off-Page SEO are both important, you can’t use one without the other. Remember Off-Page SEO gets you in the top, and On-Page SEO will keep you there.