Web Content Optimization & Best Practices

Post Author: Radomir Basta
Post Date: 20 December 2022

Top to Bottom Checklist

  • Basic Keyword Research guide
  • URL Structure
  • Page Titles
  • Meta Descriptions
  • Social Metadata
  • Schema
  • Headings (h1-h6)
  • Textual Content
  • Internal Links
  • Images
  • Videos
  • Ideal End Result

Basic Keyword Research (KWR) guide for content optimization

First – we need to decide what the article/page is about and start by typing that phrase in Google and hit “Enter”. This will allow us to take a look at the search results page and realize what kind of content is ranking for a given term.

For example – we need to write an article about an agency providing online marketing solutions. Let’s try typing “online marketing solutions” in the Google search bar (we shall use the Incognito mode while searching on Google – we need to hit Ctrl+Shift+N on the keyboard, while in Google Chrome, to access Incognito mode).

Next – let us take a look at the amount of the results ranking for that given phrase:

More results can mean that it will be harder to rank for that phrase. Now, we will try typing the phrase without hitting “Enter”. We shall get something like this:

This is called Google Autocomplete. It includes terms people usually search for, and is based on our given phrase.

Next – we need to focus on the user search intent – understand what a user searching for this phrase wants to achieve, and try to adjust the initial search phrase. For example – we’d want to avoid “online marketing solutions scams”, as this is not the initial goal. Let us also take a look at the bottom of the search results page:

These are the searches related to our search phrase.

Next – we will combine the results gathered from the Google Autocomplete list and the above-related search phrase list. We need to aim for the phrases that have the lowest amount of the results shown on the search results page.

Bingo! We got this:

As you may see – there are 47,200,000 results, and we’ve started by having 591,000,000 results.

Now – let’s try searching like a real person (remember that we need to focus on user intent).

“Digital marketing solutions meaning” sounds too formal. We will try “What is a digital marketing solution?”.

We can also add the following words as a prefix or a suffix:

How (to), What (question form), Step-by-step (tutorials, courses), Best (comparison, reviews), Proven (based on data), Top (similar to Best) – let’s take a look at the “People also ask” section illustrated above, to get some ideas on user intent.

E.g. – “Top Digital Marketing Agencies” – and add the location (e.g. the USA) – So: it would be “Top digital marketing agencies in the USA”

Here is the search result page:

We are now down to the 29,000,000 results. Did you notice how our original phrase “online marketing solutions” switched to “digital marketing agencies” – because this is what users search for, according to Google. It also aligns with our goal, because we want to write an article for an agency offering online marketing solutions (let’s make sure to always keep an eye on an initial goal).

Next – we may want to add some more delimiters to differentiate from the rest of the pages ranking for this phrase. This will further narrow the number of results. Our phrase will be focused based on what the company has to offer.

For example – “Top SEO and PPC service providing agencies in the USA” – brings us down to 19,300,000 pages ranking for a given phrase.

Tip – We can use all or some of other terms (mentioned above) as subtitles in the article/page. For example, our title can be What are Top SEO and PPC service providing agencies in the USA

Then, the first subtitle, can be “What is SEO and PPC? “ followed by the “List of top 10 SEO & PPC agencies in the USA”, and so on.

To make sure we are on the right track, let’s use the Ahrefs tool to compare the search terms (keywords) we’ve discovered by following the above strategy.

Let us log into Ahrefs and open the Keyword Explorer https://ahrefs.com/keywords-explorer

Let’s insert all the search terms, separated by a comma, and click on the search button:

On the left side of the search button is a drop-down menu where we will need to choose the country where we want to rank for given keywords. Please make sure to use this correctly going forward.

Then – let’s click on the Metrics tab:

We will see the comparison table with all these keywords included:

Tip – Pay attention to the KD (keyword difficulty) and the Volume columns. Aim for the keywords with the lowest difficulty that have a high Volume.

In this particular case, we’d want to avoid SEO agency, but take PPC agency and digital marketing agency into consideration. If we search Google for Best PPC agencies in the USA we will see that it has only 4,350,000 pages ranking for that phrase 🙂

Pro tip – While in Ahrefs, do click on the Content explorer option https://ahrefs.com/content-explorer. Once there, you can type in the keyword of your preference and it will provide the list of the most popular content out there, that matches your keyword. The most popular content score is calculated based on the total amount of shares across social networks tracked by Ahrefs (e.g. it includes Facebook, Twitter, Pinterest,…)

We suggest using this option to help you craft the title of your designated article/page. By doing this, you will increase the possibility of your content getting viral and shared on popular social media networks – this specifically goes for blog article titles.

Note – for the purpose of this KWR guide, we have chosen very competitive keywords and topics that have millions of search results, thus making our task very difficult.

Another note – don’t worry if you repeat all the above steps, and get different numbers of the results shown on the Google search result page. This is because Google serves different search result pages based on the location, IP address, etc.

URL Structure


  • Decide on and keep URL structure consistent. URLs should be as concise as possible while containing all the right words so that the page’s content can be guessed by just looking at it. This also makes URLs more memorable and easier to search for in search engines. 
  • Avoid using underscores, spaces or any other character in URLs and when necessary, separate words using hyphens. Also, note that overuse of hyphens in URLs can be seen as spammy, so it’s best to use caution and limit hyphen use in URLs when possible.  
  • Try putting important keywords in URLs as well so if there’s a service like “Netflix” do not make URL like https://www.mybusiness.com/netflix, rather https://www.mybusiness.com/netflix-video-on-demand 
  • Avoid the use of parameters, if possible. If parameters need to be used, they should be limited to two or less. 
  • Avoid using file extensions like .html or .aspx, these are unnecessary and can be safely omitted is possible.


Page Titles

  • The page title helps search engines and users identify the content of a page before looking at it. It should include the primary keyword for the page to improve ranking while considering usefulness and readability for the user to improve click-through rates from search results.  
  • Titles should be no longer than ~60 characters or 600 pixels in width in Google results. Since there’s no precise character number (pixel length is counted) preview desired page title here or always keep it below 600px to be on a safe side. 
  • To make page titles look attractive, use CamelCase as in example image above (each first word has uppercase except for conjunctions such as ‘and, for, to, in, etc`) 
  • Titles should include important keywords at the beginning of a snippet followed with branding segment separated with the | (pipe) character. For example, Blue Widgets for Sale | Widgets Factory
    Construct page title snippet wording as the one you would personally click in search results.

Example: https://www.orange.jo/en

Mobile Phones & Wireless Internet Services | Orange Jordan

Meta Descriptions

Meta descriptions help search engine users to decide whether the page suits their needs and match their intent. This is why it’s important to have precisely described page that relates to search engine users’ search query, they’ll click the result more often. It doesn’t affect SEO directly, rather click-through-rate (CTR), or clickability which are indirect ranking factors.

To maximize click-through rates on search engine result pages, it’s important to note that Google and other search engines bold keywords in the description when they match search queries. This bold text can draw the eyes of searchers, so you should match your descriptions to search terms as closely as possible.

  • Meta description should not be longer than 160 characters.
  • It has to include a call-to-action element (eg. “Learn more/Try/Buy now!” or similar)
  • It should match the search engine user’s intent closely and contain important keyword mentioned in the page title.
  • It should “sell” the service/product to the user by describing product/service good enough so that they get interested to click and visit.

Example: https://www.orange.jo/en

We provide modern prepaid/postpaid mobile network, wireless internet, broadband, fixed-line telephony, and digital TV services. Check our offers now!

Simply consider the following template while writing meta description snippets: QUESTION + USP + CTA

Social Metadata


Social metadata is a set of HTML tags placed in page <head> section and are responsible for the rich representation of web page link when shared on social networks like Facebook or Twitter.

There are two sets of social media metadata for a regular page (which doesn’t cover any specific product or service, like the homepage), and for pages which cover specific product or service.

The difference is that social metadata for product/service can contain additional attributes to describe what’s being sold better, like providing the price of the service or color of the product. Check last two lines in product metadata snippet to get an idea on this difference. Adjust fields containing variables (eg. $PAGE-TITLE) to contain values already present on the page (URL, page title, meta description).

Regular page (article) social metadata template:

<!– TwitterCards –>
<meta name=”twitter:card” content=”summary_large_image” />
<meta name=”twitter:site” content=”@something” />
<meta name=”twitter:title” content=”$PAGE-TITLE” />
<meta name=”twitter:description” content=”$META-DESCRIPTION” />
<meta name=”twitter:creator” content=”@something” />
<meta name=”twitter:image” content=”$URL-TO-PRODUCT-OR-SERVICE-SHARING-IMAGE” />

<!– OpenGraph –>
<meta property=”og:title” content=”$PAGE-TITLE” />
<meta property=”og:type” content=”article” />
<meta property=”og:url” content=”$PAGE-URL” />
<meta property=”og:image” content=”$URL-TO-PRODUCT-OR-SERVICE-SHARING-IMAGE” />
<meta property=”og:description” content=”$META-DESCRIPTION” />
<meta property=”og:site_name” content=”AwesomeCompany” />


Product/service page social metadata template:

<!– Twitter Card –>

<meta name=”twitter:card” content=”product” />

<meta name=”twitter:site” content=”@something” />

<meta name=”twitter:title” content=”$PRODUCT-OR-SERVICE-PAGE-TITLE” />

<meta name=”twitter:description” content=”$META-DESCRIPTION” />

<meta name=”twitter:creator” content=”@something” />

<meta name=”twitter:image” content=”$URL-TO-PRODUCT-OR-SERVICE-IMAGE” />

<meta name=”twitter:data1″ content=”$150″>

<meta name=”twitter:label1″ content=”Price” />


<!– Open Graph –>

<meta property=”og:title” content=”$PRODUCT-OR-SERVICE-PAGE-TITLE” />

<meta property=”og:type” content=”article” />

<meta property=”og:url” content=”$PAGE-URL” />

<meta property=”og:image” content=”$URL-TO-PRODUCT-OR-SERVICE-IMAGE” />

<meta property=”og:description” content=”$META-DESCRIPTION” />

<meta property=”og:site_name” content=”AwesomeCompany” />

<meta property=”og:price:amount” content=”150.00″ />

<meta property=”og:price:currency” content=”USD” />


Upon publishing, test metadata on social network’s official debugging tool (please note that you have to be logged in, before testing metadata):



Schema is standard honored by major search engines which when implemented properly should lead to richer search results and increased CTR, it doesn’t affect SEO directly and is not a ranking factor currently. Schema can be used to enrich product/service pages and display additional information such as star ratings, pricing, stock status and product attributes such as color variations and more.

Example search result of page enriched with Schema:

Ideally, every website should contain Organization (if they’re global business) or LocalBusiness (if they are local business) Schema vocabularies along with Product and/or Service vocabularies if applicable. During our work, we compiled several templates for each of these so use them accordingly and adjust necessary data/fields.

More Schema vocabularies are available on http://schema.org/docs/schemas.html.
After implementation, a must is to check for code validity on https://search.google.com/structured-data/testing-tool/.

Headings (h1-h6)

Headings are big headlines in page content which serve to breakdown logical sections of the page/article and make it more readable and understandable to readers. Google might use an H1 heading as page relevance indicator so make this heading the relevant to article as possible. Ideally, this should contain the same text as page title but without branding segment and there should be only one instance of tag present on the page.

Use other, lower-in-hierarchy headings such as h2-h6 to structure the rest of the content with headings of article subsections. It’s best if H1 heading is placed above all content on the page, as the first and most important heading of the page.


Ideally, a page should start with the H1 heading, followed by an H2 heading, which can be followed by an H3 heading should you need a sub-section. For the start of a new section, you should use another H2 heading. Don’t skip a level in the hierarchy; for example, don’t go from an H1 heading to an H3 heading. There should be an H2 heading in between them.

Here’s a good example of correct heading usage:

<h1>This is the title of the page</h1>
<h2>This is the first section</h2>
<h3>This is a sub-section</h3>
<h2>This is the second section</h2>
<h3>This is another sub-section</h3>

How all headings (H1-H6) look like


The following code shows all the heading levels, in use.

<h1>Heading level 1</h1>
<h2>Heading level 2</h2>
<h3>Heading level 3</h3>
<h4>Heading level 4</h4>
<h5>Heading level 5</h5>
<h6>Heading level 6</h6>

Here is the result of this code:

Heading level 1

Heading level 2

Heading level 3

Heading level 4

Heading level 5
Heading level 6

Textual Content

Textual content is an integral part of a web page. Search engines are using it to get the idea on what the page is about. Google officials are saying that the richer and longer the text on the page is, the more valuable they will consider it for their users and offer page as a search result for a broader spectrum of keywords people are using to discover similar service/product.

There is a rule of thumb that pages with 350+ words (for product/service pages) are considered rich in text and should offer the best experience to both visitors and search engine crawlers. For articles like informative blog posts, 1000-2000 words length should be a sweet spot.

  • Describe products and services in depth and use technical terms if applicable
  • Use only unique content (do not copy from external sites, mark quotes/citations in blockquote tag)
  • Use relevant keywords (or ones provided in KWR/KWM document) and their variations scattered through the content naturally
  • Use links to other internal pages where necessary

I strongly suggest not using word processors such as Word and similar due to their special character conversion where double quotes, dashes, ampersands, and similar characters might look weird in web browsers. I also strongly suggest using code editor such as SublimeText or Notepad2 to write plain text which can be easily converted to clean HTML while DOC/DOCX/ODT can’t and may not display properly in browsers.

Additionally, for content that is going to be sent out to 3rd parties, I recommend writing articles in Markdown editors which allow for exporting of clean HTML and can be easily edited by everybody, not just those having MS Office or LibreOffice installed. Some good ones are StackEdit and Dilinger. Google Docs also has Export as Markdown add-on which allows you to export entire article written and formatted in Docs as Markdown file which can be shared.

As for readability, Google has readability analysis algorithm built-in which can understand UX of the copy so avoid using large (tall) paragraphs and break text on each 3-5 sentences (use common sense and write the text the way you like to read it).

Internal Links

Internal links are great for multiple reasons: they boost contextual page relevance in Google’s eyes if linked via keyword-rich anchor text and help to Google crawlers to move through the website easily. If keywords are provided in KWR/KWM document, use them and their variations (if viable keywords are not provided, improvise) as anchor text to link to relevant internal pages. Use internal links from relevant product/service pages as well as in blog posts where appropriate.

For instance, use:

“…if you find this product interesting you might be also interested in our blue widgets which are on sale right now…”

The ideal structure

Imagine a website to be a pyramid with the most important content on top. There should be lots of links to that highly relevant, most essential content from topically-related pages in the pyramid, which passes most link value on to those pages. However, you should also link from those top pages to subpages about related topics. Linking internally to related content shows Google what pages hold information about similar topics.

Don’t forget to link from the top too

Besides linking from topically-related posts and pages, it’s possible to make your highly relevant content more authoritative by adding links to it from the homepage or the top navigation. This will give the most important posts or pages a lot of link value and makes them stronger in Google’s eyes.

Linking to taxonomies

If you run a blog it could be beneficial to add internal links to the taxonomies the post belongs to. Adding links to the category and tags helps Google to understand the structure of your blog and helps visitors to more easily navigate to related posts.

More on internal links

No-follow links

There is a probability that you have links that aren’t important for SEO on your website. E.g. If you have a login/sign in link for your clients, you don’t want to pass link value to your log-in page – that page doesn’t need to rank high in the search results. You can do that by adding a no-follow tag to this page.

The link value for the whole page completely disappears when you add a ‘no-follow’ tag to a link on it.

Note that adding a ‘no-follow’ tag doesn’t mean that those target pages can’t be found in Google’s search results. If you don’t want pages or posts to show up in the search results you should give them a ‘no-index’ tag as well. The ‘no-index’ tag means that Google shouldn’t render the page and shouldn’t give the content a place in the Google index to show up in the search results.

Anchor texts

Once you have decided which links should be on a page and which pages should get link value, it’s important to use the right anchor text. The anchor text is the clickable text that visitors see. For example, the anchor text of the internal link in the example below is ‘our blue widgets’:

“…if you find this product interesting you might be also interested in our blue widgets which are on sale right now…”

Be careful and remember that, Google is smart enough to understand that the content around the anchor text says more about the relevancy of a keyword than the anchor text itself. So, make sure the anchor text looks natural in your copy: it’s fine to use keywords but don’t add the exact same keywords to every link’s anchor text.



Google advocates rich pages as this offer most value to its users. By “rich” they do not only consider rich in the text but in multimedia as well. Images and videos are all welcome additions to every page which should make page experience better for users thus Google as well. When possible, provide images on new product/service page in order to make it more interesting and appealing to visitors.

These images do not only serve as something to look at, but they also add up to page optimization as Google use these to rank images when someone search for “mobile phone” photo in Google Images so it can drive traffic to the website in a similar way as regular web search does. This will be applicable to some niches but not all.

To be on the safe side, use keyword-rich both ALT and TITLE image attributes to give images a chance to get ranked and to improve optimal page relevance. Keywords provided in KWR/KWM document might not be completely applicable or natural to use so improvise to achieve a good balance between SEO and appropriate content for these attribute.

For instance, using “blue widgets 1”, “blue widgets 2”, etc, consider following approach “blue widgets on sale”, “$BRAND most sold blue widgets”, “blue widget front/side/back”, etc.

Additionally, the image file name is also a good place to put targeted keywords in. For instance, instead of “some_unrelevantstuff_hires.png” use “blue-widgets.png” and similar.

Avoid using GIFs as they’re not quite web-friendly. Yes, they’re interesting but can often be large in size due to plenty of frames and they do not perform well on lower-end underpowered phones and tablets as some waiting time will be needed until all frames are rendered (too much hassle for low benefit). Static, decent resolution images should work the best.

As for image resolution for sharing on social media, there are exact sizes and aspect ratios that should be used. Since it’s unrealistic to create multiple different images to fit each social media network, there are some universal sizes which should fit nicely to all.

  • Horizontal image (landscape): 1024 x 512px
  • Vertical image (portrait): 800 x 1200 px

Additionally, properly included images (contain the keyword in the filename, contains the keyword in ALT attribute) add to page relevance and make it more valuable to both search engine users and search engines themselves.



Similar to images, videos are a good addition to a page because they make the user experience better than just plain text (plenty of people are visual learners). It enriches the page content and offers valuable insight into service or product which plain text alone can’t do. Google recognizes this and might offer the page as a search result if it finds it to be more informative in nature than the competition.

When and where possible, record (or take one from Youtube) and include a brief video of a product/service within the page. Humans are visual beings and will most likely watch it which gives you more time to persuade them in trying/purchasing something if it’s presented well. Consider it as just another marketing mean which should compliment page already optimized by all advice in this document. This might not apply to regular blog post-style articles but sometimes it will. Use common sense to decide if it’s appropriate/needed or not.

It is a recommended practice to host your videos on YouTube thus avoiding a bigger impact on your page load speed. Another thing to use (when it comes to video material) is the above-mentioned schema markup – this time uses the video schema markup. Here you may find the example of a correct video schema snippet to use on a page that shows a video content.

Another thing that you may also benefit from, is creating a video sitemap. Here is the example of such a sitemap https://www.xml-sitemaps.com/sitemap_video.xml (please note that you don’t need a separate sitemap file for videos –  you can embed your videos into an existing sitemap).
For best results, host a video sitemap on your own servers and link to it from your robots.txt.

Every entry in a video XML sitemap requires the following:

  • Title
  • Description
  • Primary Video URL
  • Thumbnail URL
  • URL of either the hosted video file or the source URL of the embedded video

Tip: Remember that there should be a difference when creating a dedicated video page. These kinds of videos should be able to stand alone and deliver information or an experience that covers a given topic without the need for further context.
A great example of this kind of content from the SEO world is Moz Whiteboard Friday.

Optimizing a Dedicated Video Page

As the page itself is dedicated to the video, the following elements should be in place and optimized:

  • Page Title: Should be the same, or close to, the name of the video.
  • Page Description: Should about the topic and approach of the video.
  • H1: Should be the same as the name of the video.
  • Transcript: Should be included under the video as the text copy of the page. Don’t just include an ugly block of text though. Apply proper formatting to make it easy to digest and skim. Include stills from the video as images for those who prefer to read or are unable to watch.

Ideal End Result

In the end, after a page is modeled around suggestions from this document, the page should look something like this:

google partner forbes logo expertise award