forked from jekyllt/jasper2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
writing-a-SEO-blog-post.html
456 lines (346 loc) · 23.6 KB
/
writing-a-SEO-blog-post.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
<!DOCTYPE html>
<html>
<head>
<!-- Document Settings -->
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!-- Base Meta -->
<!-- dynamically fixing the title for tag/author pages -->
<title>Writing a Search Engine Optimized Blog Post | Under The Seo</title>
<meta name="HandheldFriendly" content="True" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- Styles'n'Scripts -->
<link rel="stylesheet" type="text/css" href="assets/built/screen.css" />
<link rel="stylesheet" type="text/css" href="assets/built/screen.edited.css" />
<!-- highlight.js -->
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.3.0/styles/default.min.css">
<style>.hljs { background: none; }</style>
<!-- This tag outputs SEO meta+structured data and other important settings -->
<meta name="description" content="So you want to start a blog but have no idea what goes into writing search engine optimized blog posts. Under The Seo is here to help!" />
<link rel="shortcut icon" href="assets/images/favicon.png" type="image/png" />
<link rel="canonical" href="/welcome" />
<meta name="referrer" content="no-referrer-when-downgrade" />
<!--title below is coming from _includes/dynamic_title-->
<meta property="og:site_name" content="Under The Seo" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Writing a Search Engine Optimized Blog Post" />
<meta property="og:description" content="So you want to start a blog but have no idea what goes into writing search engine optimized blog posts. Under The Seo is here to help!" />
<meta property="og:url" content="/jasper2/writing-a-SEO-blog-post" />
<meta property="og:image" content="/jasper2/assets/images/handwriting.jpg" />
<!--<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Welcome to Ghost" />
<meta name="twitter:description" content="Hey! Welcome to Ghost, it’s great to have you :) We know that first impressions are important, so we’ve populated your new site with some initial Getting Started posts that will help you get familiar with everything in no time. This is the first one! There are a few things" />
<meta name="twitter:url" content="/jasper2/" />
<meta name="twitter:image" content="/jasper2/assets/images/welcome.jpg" />
<meta name="twitter:label1" content="Written by" />
<meta name="twitter:data1" content="Ghost" />
<meta name="twitter:label2" content="Filed under" />
<meta name="twitter:data2" content="Getting Started" />
<meta name="twitter:site" content="@tryghost" />
<meta name="twitter:creator" content="@tryghost" />-->
<meta property="og:image:width" content="1400" />
<meta property="og:image:height" content="933" />
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Website",
"publisher": {
"@type": "Organization",
"name": "Under The Seo",
"logo": "assets/images/blog-icon.png"
},
"url": "/welcome",
"image": {
"@type": "ImageObject",
"url": "assets/images/handwriting.jpg",
"width": 2000,
"height": 666
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "/writing-a-SEO-blog-post
},
"description": "So you want to start a blog but have no idea what goes into writing search engine optimized blog posts. Under The Seo is here to help!"
}
</script>
<!-- <script type="text/javascript" src="https://demo.ghost.io/public/ghost-sdk.min.js?v=724281a32e"></script>
<script type="text/javascript">
ghost.init({
clientId: "ghost-frontend",
clientSecret: "f84a07a72b17"
});
</script> -->
<meta name="generator" content="Jekyll 3.6.2" />
<link rel="alternate" type="application/rss+xml" title="Writing a Search Engine Optimized Blog Post" href="/feed.xml" />
</head>
<body class="post-template">
<div class="site-wrapper">
<!-- All the main content gets inserted here, index.hbs, post.hbs, etc -->
<!-- default -->
<!-- The tag above means: insert everything in this file
into the {body} of the default.hbs template -->
<header class="site-header outer">
<div class="inner">
<nav class="site-nav">
<div class="site-nav-left">
<!--<a class="site-nav-logo" href="/jasper2/"><img width="500" src="assets/images/undertheseologo.png" alt="Under The Seo" /></a>-->
<ul class="nav" role="menu">
<li class="nav-home" role="menuitem"><a href="">Home</a></li>
</ul>
</div>
</nav>
</div>
</header>
<!-- Everything inside the #post tags pulls data from the post -->
<!-- #post -->
<main id="site-main" class="site-main outer" role="main">
<div class="inner">
<article class="post-full post tag-getting-started ">
<header class="post-full-header">
<section class="post-full-meta">
<time class="post-full-meta-date" datetime="28 February 2018">February 28, 2018</time>
</section>
<h1 class="post-full-title">Writing a Search Engine Optimized Blog Post</h1>
<h2 class="post-card-title">Search Marketing Topics and Optimization</h2>
</header>
<figure class="post-full-image" style="background-image: url(assets/images/handwriting.jpg)">
</figure>
<section class="post-full-content">
<div class="kg-card-markdown">
<p>So you want to start a blog but have no idea what goes into writing search engine optimized blog posts. Sure, you know how to write, but you are wondering how to apply search marketing topics to your content in order to reach as many people as possible.</p>
<p>If that sounds anything like you then follow these tips on creating awesome, relevant, and optimized blog material!</p>
<h3 id="there-are-a-few-things-that-you-should-know-up-front">Before You Start</h3>
<p>Freeze! Step away from the keyboard. It is tempting to just jump right in and start writing but taking a brief moment to define some goals may be to your benefit.</p>
<h4>Ask yourself the following questions:</h4>
<ul>
<li>What is the purpose of your text?</li>
<li>How do you want the tone/voice of your text to come across?</li>
<li>What do you want readers to do once they are done reading your post?</li>
</ul>
<p>After answering these questions, keep the answers in mind when writing and structuring your content. This helps to ensure that the end goal is kept in sight while creating content that will motivate your readers.</p>
<h2>Structure</h2>
<h3>Titles and Headings</h3>
<p>A lot of people use the title of a post to decide if it is worth reading or not. It is the first thing you see, after all.</p>
<p>If your content is about the best secret vacation spots, then you better make sure your title alludes to that in some way.</p>
<p>Titles are usually designated inside of a title tag and an h1 tag. </p>
<p>A title is the text that appears up top in your browser tab. An h1 heading is the largest text that stands out on the page.</p>
<p>It is a good practice to use your target keyword within your title and main heading.</p>
<p>While your at it, optimize all your subheadings as wells (h2, h3, h4). This is a good way to tell search engines what your content is about.</p>
<p>Make sure you are careful about not overusing your keywords in every title as that is actually a bad thing in the eyes of search engines. </p>
<p>More on this later.</p>
<h3>URL</h3>
<p>Optimize your URL too!</p>
<p>Meta tags are short bits of text that describe what a site is about. </p>
<h3>Meta Tags</h3>
<p>Optimize your URL too!</p>
<p>These do not show up in the actual content but search engines like Google are definitely paying attention to these.</p>
<p>Better meta tags = better chance of your page being crawled and indexed by search engines.</p>
<h2>Writing</h2>
<p>When it comes to writing blog posts, think about your user <em>needs</em>.</p>
<p>Strive to make your content valuable. The kind that will leave readers coming back for more.</p>
<p>Ensure the topics you write about are useful, relevant, and unique. And don’t forget to keep it up to date!</p>
<h3>Get To The Point</h3>
<p>Long articles are not bad, as a matter of fact, they can be a really good thing in terms of SEO. However, make certain that you strip all the fluff and leave readers with what they actually come for.</p>
<p>Avoid rambling on and on throughout your post before finally getting to the main point.</p>
<p>If you're writing a particularly wordy blog post, use signal words such as “first”, “secondly”, “next”, “however”, and “nonetheless” to guide readers and make your text more scannable.</p>
<h3>Content Length</h3>
<p>At the very minimum, a blog post should be at least 300 words. However, if you have a lot to say, you’ll most likely write much more than that anyway.</p>
<p>But how much is too much?</p>
<p>Well, like everything else in life, it depends.</p>
<p>The length of your blog post will depend on factors such as the topic, what the audience prefers, and more.</p>
<p>Even the goal of your writing matters. If you’re aiming for more comments and engagement, then a shorter post might be better. If your goal is to rank in Google, then a longer post may be more appropriate.</p>
<p>Studies show that content around 2000 words tends to do pretty well.</p>
<p>With more practice and experience, you will be able to monitor which pages on your site perform the best and determine guidelines from there.</p>
<p>As a general rule to start off with, try to make your posts somewhere between 750-2000 words.</p>
<h3>Paragraph Formatting</h3>
<p>Remember, no one wants to read a wall of text. </p>
<p>People have shorter attention spans than you may think.</p>
<p>Use small paragraphs that are 2-3 sentences long.</p>
<p>Avoid more than 25 words a sentence.</p>
<p>Spice up your paragraphs using different formatting options such as <b>bold</b>, <i>italic</i>, <u>underline</u>, etc. This helps to highlight key points in your writing as well as visually breaking up your content for better readability.</p>
<h2>Keywords </h2>
<p>Keywords, my friends, are super important. </p>
<p>Without the right keywords, you will not get very far.</p>
<p>You may think, “It’s just a couple of words and phrases right? What’s the big deal?”</p>
<p>Let me tell you that your content is extremely important, but if it does not include the words people are commonly searching for, then those people may never see it.</p>
<p>And, as you can guess, that’s bad for SEO.</p>
<p>Now you’re probably thinking, “Oh, so I should just look up some common keywords and just throw them into my writing. Simple!”</p>
<p>Eh… I hate to break it to you, but you and 1 million other people have had that same thought. Meaning, you are all competing to rank for the same popular keywords. Meaning, your chances of taking that number one spot is not the best.</p>
<p>So what can you do?</p>
<p>You may think, “It’s just a couple of words and phrases right? What’s the big deal?”</p>
<h3>Keyword Research</h3>
<p>Do your research!</p>
<p><strong>Keyword research</strong> is the method of finding the right keywords for your website to focus its marketing towards.</p>
<p>You don’t want to focus all your efforts on keywords that are too competitive to rank for but you also do not want to choose keywords nobody is searching for.</p>
<p>Try focusing on long-tail keywords which are three or four word phrases that are very specific to what you are marketing.</p>
<p>Like the difference between “cars” vs “electric cars Tesla 2018”</p>
<p>If you need ideas for different keywords to use in your content, utilize tools such as <a href="https://adwords.google.com/home/tools/keyword-planner/#?modal_active=none">Google Keyword Planner</a>. These useful resources are great for building strong, relevant keywords for your marketing content.</p>
<p>Another way to get keyword ideas is to look at the related searches on Google for your keyword.</p>
<img src="assets/images/relatedkeywords.png" alt="Related searches on Google for the keyword search marketing topics and optimization">
<h3>Keyword Density</h3>
<p>The amount of times you use your keywords in your writing is something to pay attention to.</p>
<p>Keyword density is the percentage of times a keyword appears on the page in comparison to the total word count.</p>
<p>For example, if a keyword appeared 5 times on a page with 100 words, the keyword density would be 5%.</p>
<p>Try to keep your keyword density somewhere between 1-3%.</p>
<p>Any more than that and your content may come across as forced and unnatural.</p>
<p>Not to mention you run the risk of being accused of stuffing keywords.</p>
<p>Speaking of that, repeat after me: “<strong>I will not use keyword stuffing.</strong>”</p>
<p>Now write that down on the board 10x times, spin around, and get that through your head.</p>
<p><strong>Keyword stuffing</strong> is the excessive use of keywords in your writing. </p>
<p>Search engines will interpret this as spam and will actually penalize you, making it even harder to come up in the ranks.</p>
<p>Avoid overuse of keywords at all costs.</p>
<h2>Linking</h2>
<h3>Backlinks</h3>
<p>One of the best ways to improve your search rank is to have other sites link to your site. This is called building <strong>backlinks</strong>.</p>
<p>The more reputable the site linking to you, the better. This tells Google that your site can most likely be trusted because why else would reuputable sites be linking to you?</p>
<p>On the opposite end, having spammy or inappropriate sites linking to your page may hurt your search rank.</p>
<p>Some good sites to post your links to would be Facebook, Twitter, Reddit, Pinterest, and more but definitely get creative!</p>
<p>These are called dofollow backlinks which allow Google to trace a link from another site, back to your site.</p>
<p>Also, put forth effort into creating content that people will want to link to!</p>
<h3>External and Internal Links</h3>
<p><strong>External linking</strong> is the practice of linking out to other sites within your page.</p>
<p>You may have already noticed that I have been linking to other similar sites about search marketing topics and optimization.</p>
<p>It may seem strange to be essentially creating backlinks for your competitors, but it all comes back to the user.</p>
<p>Giving your user reputable resources within your writing, will establish in their head that your site, itself, is reputable.</p>
<p><strong>Internal linking</strong> is the practice of linking to another page within your own site.</p>
<p>For example, before reading this article, you may want to check out this post explaining what search marketing is: <a href="http://undertheseo.com/what-is-search-marketing">What is Search Marketing Optimization Anyways?<a/></p>
<p>See what I did there? I just created an internal link to guide readers to view another one of my posts.</p>
<p>The value in doing this is that users will stay on your site and continue to read more of the relevant content you are offering to them. </p>
<p>It also signals a relationship between pages and helps Google crawl pages that you want to index.</p>
<p>With all links, make use of relevant anchor text. </p>
<p>Anchor text is the blue underlined text that signals to a reader that there is a link to click on. </p>
<p>Use descriptive words within your anchor text vs something generic such as “click here”.</p>
<p>And like with everything previously mentioned, do not over optimize keywords that makes your text feel unnatural.</p>
<h2>Tools</h2>
<p>We all need a little help sometimes. Take advantage of the countless tools out there designed to make your life a little easier. And the best part about these are - they’re all free!</p>
<h3>Tools For Search Optimizing Content:</h3>
<p><a href="https://yoast.com/research/real-time-content-analysis/">Yoast Real-time Content Analysis</a> - This tool analyzes your content and suggests improvements based upon search engine optimization and readability.</p>
<p><a href="https://keywordtool.io/google">Keywordtool.io</a> - This keyword planning tool will help you generate relevant long-tail keyword ideas for any topic.</p>
<p><a href="https://search.google.com/search-console">Google Search Console</a> - With the help of this tool, you will be able to check your indexing status and improve overall optimization for your site.</p>
</section>
<!-- Email subscribe form at the bottom of the page -->
<!--
<section class="subscribe-form">
<h3 class="subscribe-form-title">Subscribe to Under The Seo</h3>
<p>Get the latest posts delivered right to your inbox</p>
<form method="post" action="/subscribe/" class="">
<input class="confirm" type="hidden" name="confirm" /><input class="location" type="hidden" name="location" /><input class="referrer" type="hidden" name="referrer" />
<div class="form-group">
<input class="subscribe-email" type="email" name="email" placeholder="youremail@example.com" />
</div>
<button class="" type="submit" disabled><span>Subscribe</span></button>
<script type="text/javascript">(function(g,h,o,s,t){h[o]('.location')[s]=h[o]('.location')[s] || g.location.href;h[o]('.referrer')[s]=h[o]('.referrer')[s] || h.referrer;})(window,document,'querySelector','value');</script>
</form>
</section>
-->
<footer class="post-full-footer">
<!-- Everything inside the #author tags pulls data from the author -->
<!-- #author-->
<section class="author-card">
<img class="author-profile-image" src="assets/images/undertheseologo.png" alt="ghost" />
<section class="author-card-content">
<h4 class="author-card-name">Under The Seo</h4>
<p>Search Marketing Topics and Optimization</p>
</section>
</section>
<!-- /author -->
</footer>
<!-- If you use Disqus comments, just uncomment this block.
The only thing you need to change is "test-apkdzgmqhj" - which
should be replaced with your own Disqus site-id. -->
</article>
</div>
</main>
<!-- The footer at the very bottom of the screen -->
<footer class="site-footer outer">
<div class="site-footer-content inner">
<section class="copyright"><a href=".../">Under The SEO</a> © 2018</section>
<section class="poweredby">Proudly published with <a href="https://jekyllrb.com/">Jekyll</a> &
<a href="https://pages.github.com/">GitHub Pages</a> using
<a href="https://github.com/myJekyll/jasper2">Jasper2</a></section>
</div>
</footer>
<!-- highlight.js -->
<script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<!-- jQuery + Fitvids, which makes all video embeds responsive -->
<script
src="https://code.jquery.com/jquery-3.2.1.min.js"
integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
crossorigin="anonymous">
</script>
<script type="text/javascript" src="/jasper2/assets/js/jquery.fitvids.js"></script>
<script type="text/javascript" src="https://demo.ghost.io/assets/js/jquery.fitvids.js?v=724281a32e"></script>
<!-- Paginator increased to "infinit" in _config.yml -->
<!-- if paginator.posts -->
<!-- <script>
var maxPages = parseInt('');
</script>
<script src="/jasper2/assets/js/infinitescroll.js"></script> -->
<!-- /endif -->
<!-- Add Google Analytics -->
<!-- Google Analytics Tracking code -->
<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','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-69281367-1', 'auto');
ga('send', 'pageview');
</script>
<!-- The #block helper will pull in data from the #contentFor other template files. In this case, there's some JavaScript which we only want to use in post.hbs, but it needs to be included down here, after jQuery has already loaded. -->
<script>
// NOTE: Scroll performance is poor in Safari
// - this appears to be due to the events firing much more slowly in Safari.
// Dropping the scroll event and using only a raf loop results in smoother
// scrolling but continuous processing even when not scrolling
$(document).ready(function () {
// Start fitVids
var $postContent = $(".post-full-content");
$postContent.fitVids();
// End fitVids
var progressBar = document.querySelector('progress');
var header = document.querySelector('.floating-header');
var title = document.querySelector('.post-full-title');
var lastScrollY = window.scrollY;
var lastWindowHeight = window.innerHeight;
var lastDocumentHeight = $(document).height();
var ticking = false;
function onScroll() {
lastScrollY = window.scrollY;
requestTick();
}
function onResize() {
lastWindowHeight = window.innerHeight;
lastDocumentHeight = $(document).height();
requestTick();
}
function requestTick() {
if (!ticking) {
requestAnimationFrame(update);
}
ticking = true;
}
function update() {
var trigger = title.getBoundingClientRect().top + window.scrollY;
var triggerOffset = title.offsetHeight + 35;
var progressMax = lastDocumentHeight - lastWindowHeight;
// show/hide floating header
if (lastScrollY >= trigger + triggerOffset) {
header.classList.add('floating-active');
} else {
header.classList.remove('floating-active');
}
progressBar.setAttribute('max', progressMax);
progressBar.setAttribute('value', lastScrollY);
ticking = false;
}
window.addEventListener('scroll', onScroll, {passive: true});
window.addEventListener('resize', onResize, false);
update();
});
</script>
<!-- Ghost outputs important scripts and data with this tag - it should always be the very last thing before the closing body tag -->
<!-- ghost_foot -->
</body>
</html>