The Non-Technical Guide to Basic On-Site SEO

Punit Makwana SEO 0 Comments

Many website owners see search engine optimization (SEO) as an elusive foe, but in reality, ranking high in search engines is actually quite achievable.

With that being said, in the battle to impress search engines such as Google, many website owners focus their time entirely on off-site endeavors. They fail to realize the importance of optimizing their website, and it’s often a lack of effort that results in SEO campaigns falling short.

In this post, I’ll show you the difference between off-site and on-site SEO, then show you how to master the latter in a way that search engines will love.

Off-Site SEO vs. On-Site SEO

Search Engine Optimization is comprised of two core components – off-site SEO and on-site SEO.

Off-site SEO encompasses all of the optimization efforts made outside the borders of your website. A prime example of off-site SEO would be gaining backlinks from guest posting. Backlinks are important to Google as they use them, in part, to determine the value – and therefore the rank – of your website, based on the number of quality backlinks you can accrue.

One measure of backlink quality is whether the link is from a high authority website within your industry. In contrast, poor quality backlinks from unrelated or spammy websites can actually hurt your Google rank.

On-site SEO, on the other hand, is made up of the internal structure, content, and code of your website. It gets slightly more technical than off-site SEO, but it’s nothing that a novice can’t handle.

The Building Blocks of On-Site SEO

A stellar on-site SEO strategy is made up of many building blocks, some of which may require you to tackle some basic HTML coding.

That said, if you’re running a CMS such as WordPress, you’ll be able to find native features or plugins likeYoast SEO to help you skip the technical stuff.

Let’s take a look at some important on-site SEO elements to consider.


Keywords are arguably the most important part of any SEO strategy, and play a role in all of the on-site SEO elements we will cover.

Keywords, in a nutshell, are two or three word descriptions of your page. A user types their search query, and the search engine then fetches a list of pages based on what you’ve typed. It means your website only has a chance to be displayed if it contains those keywords – as well as synonyms and variations of those keywords – dotted around your content.

For example, if your website revolves around mountain biking, you’ll want to use that term (as well as variations of that term) within your website’s content – particularly within the first hundred words of any page or post:

mountain biking search results

However, you should beware of ‘keyword stuffing’, which is the practice of using such keywords excessively in a way that adds no value to the reader.Search engines now actively penalize websites for such behavior.

Meta Tags

Meta tags are made up of the title and short description shown within search results – and although they’re not directly important to ranking on Google, they’re still important for convincing people to click through to your website:

google search results meta tags

Both the title and description should be short, keyword rich, and inserted into the header of your page via HTML, as shown below:


My Blog Post Title<title></p><p><meta name=”description” content=”Put your 155 character description here”></p><p></head>[/code]</p><p>By filling out those two sections with a short, relevant, and descriptive title and description, Google will be able to ascertain the content of your page far easier – and users will have a much clearer view of what your website is about.</p><p>To add meta tags to your WordPress site without any code, you can use a plugin such as <a href="" target="_blank" rel="nofollow">Yoast SEO</a>. For a more detailed insight into crafting great meta descriptions, <a href="" target="_blank" rel="nofollow">Yoast’s tutorial</a> is recommended reading.</p><h2>Image ‘Alt’ Tags</h2><p>By correctly optimizing your website’s images, you can gain traffic from sites such as Google Images. The way to do this is with image ‘alt’ tags.</p><p>Alt tags should be made up of a few words that describe the image, and they should be added to every image on your website.</p><p>To write good alt descriptions, it’s useful to think of describing the image to somebody who cannot see it. This is especially important, because blind and visually impaired internet users (along with anyone for whom images will not load) can make use of alt tags to figure out the content of an image.</p><p>Below is an example of a normal image being displayed through HTML, along with a keyword rich alt tag:</p><p>[code]<img src="lion-roaring.jpg" alt="Lion roaring in the jungle">[/code]</p><p>Also, make it a point to extend that keyword richness to the image filename before you upload it to your website. Google pays attention to those, too.</p><p>If you’re running a WordPress site and you’d like to add alt tags to your images, it’s easily done from the Media Library screen:</p><p><img src="" alt="meta tags" /></p><h2>Internal Linking</h2><p>Internal linking is simply the practice of linking to other pages on your site. It’s another important building block when it comes to on-site SEO.</p><p>Search engines appreciate when internal linking becomes a regular occurrence on your website, because it helps their robots crawl your website with ease. Furthermore, it demonstrates that your website consistently produces content around related topics.</p><p>In addition, internal linking is great for keeping visitors on your website. By providing links to relevant on-site content, visitors will be more likely to access that content without having to leave your website. Your brand gets more exposure, and those visitors are more likely to become customers.</p><p>For a more detailed guide on internal links, check out<a href="" target="_blank" rel="nofollow">this guide by Moz</a>.</p><h2>Outbound Links</h2><p>Outbound links, otherwise known as external links, are links within your content to other websites. Once again, quality counts here – search engines will look favourably upon outbound links to respected websites, and will frown upon outbound links to low quality websites.</p><p>Outbound links help to show search engines what your content is about, and they also demonstrate that you have the visitor’s interests – which is to find valuable information – in mind.</p><p>Overall, it’s a good strategy to link to high authority websites when making references within your content, and to refer readers to further relevant material.</p><p>As with internal linking, <a href="" target="_blank" rel="nofollow">this guide by Moz</a> goes deeper into external linking good practice.</p><h2>Make On-Site SEO Part of Your Publishing Strategy</h2><p>On-site SEO should be applied to your existing web pages and left to do its job. However, it’s also vital to optimize new pages and posts as they go live, and enable search engines to keep tabs on the high-quality content being produced.</p><p>All in all, it’s important to make all of these building blocks part of your publication process, rather than retrospectively applying them to older content.</p><h2>Conclusion</h2><p>Achieving a higher search engine ranking won’t happen overnight, but if you hone your on-site SEO with the simple guide above, you’re guaranteed to see improvements sooner rather than later. To ensure that you do, stick to the following steps:</p><ol><li>Understand the difference between off-site and on-site SEO, and make sure to tackle both.</li><li>Use the building blocks of on-site SEO to boost your website’s visibility in the eyes of search engines and provide a more valuable user experience for visitors.</li><li>Make all of those building blocks part of your ongoing publishing strategy for continued results.</li></ol><p>Do you have any on-site SEO tactics that are working well for your website? Share them with us in the comments section below!</p><div class="nc_socialPanel swp_flatFresh swp_d_fullColor swp_i_fullColor swp_o_fullColor scale-100 scale-fullWidth" data-position="below" data-float="floatNone" data-count="5" data-floatColor="#ffffff" data-emphasize="0"><div class="nc_tweetContainer googlePlus" data-id="1" data-network="google_plus"><a rel="nofollow" target="_blank" href="" data-link="" class="nc_tweet"><span class="swp_count swp_hide"><span class="iconFiller"><span class="spaceManWilly"><i class="sw sw-google-plus"></i><span class="swp_share"> +1</span></span></span></span></a></div><div class="nc_tweetContainer twitter" data-id="2" data-network="twitter"><a rel="nofollow" target="_blank" href="" data-link="" class="nc_tweet"><span class="swp_count swp_hide"><span class="iconFiller"><span class="spaceManWilly"><i class="sw sw-twitter"></i><span class="swp_share"> Tweet</span></span></span></span></a></div><div class="nc_tweetContainer swp_fb" data-id="3" data-network="facebook"><a rel="nofollow" target="_blank" href="" data-link="" class="nc_tweet"><span class="swp_count swp_hide"><span class="iconFiller"><span class="spaceManWilly"><i class="sw sw-facebook"></i><span class="swp_share"> Share</span></span></span></span></a></div><div class="nc_tweetContainer swp_stumbleupon" data-id="5" data-network="stumble_upon"><a rel="nofollow" target="_blank" href="" data-link="" class="nc_tweet"><span class="swp_count swp_hide"><span class="iconFiller"><span class="spaceManWilly"><i class="sw sw-stumbleupon"></i><span class="swp_share"> Stumble</span></span></span></span></a></div><div class="nc_tweetContainer nc_pinterest" data-id="4" data-network="pinterest"><a rel="nofollow" onClick="var e=document.createElement('script');e.setAttribute('type','text/javascript');e.setAttribute('charset','UTF-8');e.setAttribute('src','//'+Math.random()*99999999);document.body.appendChild(e);" class="nc_tweet noPop"><span class="swp_count swp_hide"><span class="iconFiller"><span class="spaceManWilly"><i class="sw sw-pinterest"></i><span class="swp_share"> Pin</span></span></span></span></a></div></div><div class="swp-content-locator"></div><div id="ts-fab-below" class="ts-fab-wrapper"><span class="screen-reader-text">The following two tabs change content below.</span><ul class="ts-fab-list"><li class="ts-fab-bio-link"><a href="#ts-fab-bio-below">Bio</a></li><li class="ts-fab-latest-posts-link"><a href="#ts-fab-latest-posts-below">Latest Posts</a></li></ul><div class="ts-fab-tabs"><div class="ts-fab-tab" id="ts-fab-bio-below"><div class="ts-fab-avatar"><img alt='' src='' srcset=' 2x' class='avatar avatar-80 photo' height='80' width='80' /><div class="ts-fab-social-links"></div></div><div class="ts-fab-text"><div class="ts-fab-header"><h4><a href="" rel="nofollow">Punit Makwana</a></h4></div><div class="ts-fab-content">Punit Makwana is the founder of VScripts and a passionate blogger. When he’s not writing and brainstorming content ideas, this Mumbai native spends his time reading books, hanging out with his friends and watching movies</div></div></div><div class="ts-fab-tab" id="ts-fab-latest-posts-below"><div class="ts-fab-avatar"><img alt='' src='' srcset=' 2x' class='avatar avatar-80 photo' height='80' width='80' /><div class="ts-fab-social-links"></div></div><div class="ts-fab-text"><div class="ts-fab-header"><h4>Latest posts by Punit Makwana <span class="latest-see-all">(<a href="" rel="nofollow">see all</a>)</span></h4></div><ul class="ts-fab-latest"><li> <a href="">4 Reasons Why The Web Host You Choose Actually Matters</a><span> - April 22, 2017</span></li><li> <a href="">5 Simple Ways to Speed-Up Your Content Writing</a><span> - April 22, 2017</span></li><li> <a href="">How Changing Few colors can super boost your website</a><span> - April 14, 2017</span></li></ul></div></div></div></div></div></div></article><div id="comments" class="x-comments-area"><div id="disqus_thread"></div> <noscript>Please enable JavaScript to view the <a href="">comments powered by Disqus.</a></noscript></div></div><aside class="x-sidebar right" role="complementary"><div id="search-2" class="widget widget_search"><h4 class="h-widget">Search</h4><form method="get" id="searchform" class="form-search" action=""> <label for="s" class="visually-hidden">Search</label> <input type="text" id="s" class="search-query" name="s" placeholder="Search" /></form></div><div id="categories-2" class="widget widget_categories"><h4 class="h-widget">Categories</h4><ul><li class="cat-item cat-item-3"><a href="" >Increase Traffic</a></li><li class="cat-item cat-item-2"><a href="" >Make Money</a></li><li class="cat-item cat-item-5"><a href="" >Performance</a></li><li class="cat-item cat-item-6"><a href="" >SEO</a></li><li class="cat-item cat-item-7"><a href="" >Useful Tools</a></li><li class="cat-item cat-item-8"><a href="" >Web Hosting Reviews</a></li><li class="cat-item cat-item-9"><a href="" >Wordpress</a></li></ul></div><div id="text-6" class="widget widget_text"><div class="textwidget"><a href="" onClick="this.href=''" ><img src="" alt="Web Hosting" width="336" height="280" border="0"></a></div></div><div id="text-7" class="widget widget_text"><div class="textwidget"><a href="" ><img src="" alt="Divi Themes" /></a></div></div><div id="text-8" class="widget widget_text"><div class="textwidget"><a href="" ><img src="" alt="Bluehost Web Hosting" /></a></div></div><div id="swp_popular_posts_widget-2" class="widget widget_swp_popular_posts_widget"><div class="widget-text swp_widget_box" style="padding:15px;background:#0d77b7;"><h4 class="widgettitle widget-title swp_popular_posts_title" style="color:#ffffff;">What others are reading</h4><div class="swp_popular_post"><a href=""><img style="width:100px;height:100px;" class="swp_pop_thumb" src="" title="Kinsta Managed WordPress Hosting Review" alt="Kinsta Managed WordPress Hosting Review" nopin="nopin" /></a><a style="font-size:100%;color:#ffffff;" class="swp_popularity" href=""><b>Kinsta Managed WordPress Hosting Review</b></a></div><div class="swp_clearfix"></div><div class="swp_popular_post"><a href=""><img style="width:100px;height:100px;" class="swp_pop_thumb" src="" title="Unlimited Web Hosting only at $1 from Hostripples" alt="Unlimited Web Hosting only at $1 from Hostripples" nopin="nopin" /></a><a style="font-size:100%;color:#ffffff;" class="swp_popularity" href=""><b>Unlimited Web Hosting only at $1 from Hostripples</b></a></div><div class="swp_clearfix"></div><div class="swp_popular_post"><a href=""><img style="width:100px;height:100px;" class="swp_pop_thumb" src="" title="Checklist for the perfect SEO Article" alt="Checklist for the perfect SEO Article" nopin="nopin" /></a><a style="font-size:100%;color:#ffffff;" class="swp_popularity" href=""><b>Checklist for the perfect SEO Article</b></a></div><div class="swp_clearfix"></div><div class="swp_popular_post"><a href=""><img style="width:100px;height:100px;" class="swp_pop_thumb" src="" title="Lossless Image Compression with Optimus WordPress Plugin" alt="Lossless Image Compression with Optimus WordPress Plugin" nopin="nopin" /></a><a style="font-size:100%;color:#ffffff;" class="swp_popularity" href=""><b>Lossless Image Compression with Optimus WordPress Plugin</b></a></div><div class="swp_clearfix"></div><div class="swp_popular_post"><a href=""><img style="width:100px;height:100px;" class="swp_pop_thumb" src="" title="Make Money with Infolinks" alt="Make Money with Infolinks" nopin="nopin" /></a><a style="font-size:100%;color:#ffffff;" class="swp_popularity" href=""><b>Make Money with Infolinks</b></a></div><div class="swp_clearfix"></div></div></div></aside></div><footer class="x-colophon top" role="contentinfo"><div class="x-container max width"><div class="x-column x-md x-1-1 last"></div></div></footer><footer class="x-colophon bottom" role="contentinfo"><div class="x-container max width"><ul id="menu-footer" class="x-nav"><li id="menu-item-2097" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2097"><a href="">Site Terms</a></li><li id="menu-item-2098" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2098"><a href="">Disclosure</a></li><li id="menu-item-1833" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1833"><a href="">Privacy Policy</a></li><li id="menu-item-1834" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1834"><a href="">Sitemap</a></li><li id="menu-item-1835" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1835"><a href="">Contact Us</a></li></ul><div class="x-social-global"><a href="" class="facebook" title="Facebook" target="_blank"><i class="x-icon-facebook-square" data-x-icon="" aria-hidden="true"></i></a><a href="" class="twitter" title="Twitter" target="_blank"><i class="x-icon-twitter-square" data-x-icon="" aria-hidden="true"></i></a><a href="" class="google-plus" title="Google+" target="_blank"><i class="x-icon-google-plus-square" data-x-icon="" aria-hidden="true"></i></a><a href="" class="rss" title="RSS" target="_blank"><i class="x-icon-rss-square" data-x-icon="" aria-hidden="true"></i></a></div><div class="x-colophon-content"><p>© 2015-16 VScripts. All rights Reserved</p></div></div></footer></div> <a class="x-scroll-top right fade" title="Back to Top"> <i class="x-icon-angle-up" data-x-icon=""></i> </a> <script>jQuery(document).ready(function($) { var windowObj = $(window); var body = $('body'); var bodyOffsetBottom = windowObj.scrollBottom(); // 1 var bodyHeightAdjustment = body.height() - bodyOffsetBottom; // 2 var bodyHeightAdjusted = body.height() - bodyHeightAdjustment; // 3 var scrollTopAnchor = $('.x-scroll-top'); function sizingUpdate(){ var bodyOffsetTop = windowObj.scrollTop(); if ( bodyOffsetTop > ( bodyHeightAdjusted * 0.01 ) ) { scrollTopAnchor.addClass('in'); } else { scrollTopAnchor.removeClass('in'); } } windowObj.bind('scroll', sizingUpdate).resize(sizingUpdate); sizingUpdate();{ $('html, body').animate({ scrollTop: 0 }, 850, 'easeInOutExpo'); return false; }); });</script> </div> <script id="x-disqus-comments-embed-js" type="text/javascript">function x_disqus_comments_embed () { var disqus_shortname = 'vscriptsnet'; (function() { var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; dsq.src = '//' + disqus_shortname + ''; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); })(); } jQuery(function($){ var ds_loaded = false; function check(){ if ( !ds_loaded ) { ds_loaded = true; x_disqus_comments_embed (); } } $(window).scroll(check); check(); });</script> <script id="x-disqus-comments-count-js" type="text/javascript">var disqus_shortname = 'vscriptsnet'; (function () { var s = document.createElement('script'); s.async = true; s.type = 'text/javascript'; s.src = '//' + disqus_shortname + ''; (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s); }());</script> <script type='text/javascript'>var scriptParams = {"google_search_engine_id":"006793217683885331321:etwzcae85py"};</script> <script type='text/javascript'>var email_forms = {"ajax_url":"https:\/\/\/wp-admin\/admin-ajax.php"};</script> <script type='text/javascript'>var ctcc_vars = {"expiry":"30","method":"","version":"1"};</script> <script type='text/javascript'>var renderInvisibleReCaptcha = function() { for (var i = 0; i < document.forms.length; ++i) { var form = document.forms[i]; var holder = form.querySelector('.inv-recaptcha-holder'); if (null === holder) continue; holder.innerHTML = ''; (function(frm){ var cf7SubmitElm = frm.querySelector('.wpcf7-submit'); var holderId = grecaptcha.render(holder,{ 'sitekey': '6LenEiUUAAAAAGEBj0d9EpQI9dG6zYXqLB78oHlV', 'size': 'invisible', 'badge' : 'bottomright', 'callback' : function (recaptchaToken) { ((null !== cf7SubmitElm) && (typeof jQuery != 'undefined')) ? jQuery(frm).submit() :; }, 'expired-callback' : function(){grecaptcha.reset(holderId);} }); frm.onsubmit = function (evt){evt.preventDefault();grecaptcha.execute(holderId);}; if(null !== cf7SubmitElm && (typeof jQuery != 'undefined') ){ jQuery(cf7SubmitElm).one('click', function(clickEvt){ clickEvt.preventDefault(); grecaptcha.execute(holderId); }); } })(form); } };</script> <script type='text/javascript' async defer src=''></script> <script type='text/javascript' src=''></script> <script type="text/javascript">var swpClickTracking = false; var swp_nonce = "5f185e9cc8"; function parentIsEvil() { var html = null; try { var doc = top.location.pathname; } catch(err){ }; if(typeof doc === "undefined") { return true } else { return false }; }; if (parentIsEvil()) { top.location = self.location.href; };var url = "";if(url.indexOf("") != -1) { var canonical = ""; var links = document.getElementsByTagName("link"); for (var i = 0; i < links.length; i ++) { if (links[i].getAttribute("rel") === "canonical") { canonical = links[i].getAttribute("href")}}; canonical = canonical.replace("?sfr=1", "");top.location = canonical; console.log(canonical);};</script> <script type="text/javascript">jQuery(document).ready(function($){ if(!catapultReadCookie("catAccCookies")){ // If the cookie has not been set then show the bar $("html").addClass("has-cookie-bar"); $("html").addClass("cookie-bar-top-bar"); $("html").addClass("cookie-bar-bar"); // Wait for the animation on the html to end before recalculating the required top margin $("html").on('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(e) { // code to execute after transition ends var barHeight = $('#catapult-cookie-bar').outerHeight(); $("html").css("margin-top",barHeight); $("body.admin-bar").css("margin-top",barHeight-32); // Push the body down if the admin bar is active }); } });</script> <div id="catapult-cookie-bar" class=""><div class="ctcc-inner "><span class="ctcc-left-side">This site uses cookies: <a class="ctcc-more-info-link" tabindex=0 target="_blank" href="">Find out more.</a></span><span class="ctcc-right-side"><button id="catapultCookie" tabindex=0 onclick="catapultAcceptCookies();">Okay, thanks</button></span></div></div> <script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','','ga'); ga('create', 'UA-57872267-2', 'auto'); ga('send', 'pageview');</script> <script type="text/javascript" defer src=""></script></body></html> <!-- Performance optimized by W3 Total Cache. Learn more: Object Caching 3236/3325 objects using disk Page Caching using disk: enhanced Served from: @ 2017-10-17 13:23:29 by W3 Total Cache -->