SeoPlugin

Assembly: SeoPlugin

Description

Lets face it, you can't travel far around the internet without hearing about search engine optimization or SEO as it's better known. There are many aspects to SEO, most of which involve optimisations to web pages, from reducing white space in .html, .css and .js files ensuring good layout and optimising the server to reduce payload by using cache options and zipping content.

The SeoPlugin module focuses on serving 4 pieces of data for each web page, all of which can help with SEO, they are:

  • Title
  • Description
  • Keywords
  • Author

Title

A meta title shows the name of a web page, it is read by bots, displayed in search results and is usually displayed in the browser. The title should be quite concise, generally not exceeding 50 to 60 characters in length and should be descriptive, without repeating keywords.

Description

The description is a short summary, generally between 150 and 200 characters which summarises the page content. The description is not generally seen by visitors but can be displayed within search results.

Keywords

Keywords are used by bots and search engines, they should describe the page topic and are not viewed by visitors. Ideally there should be between 7 and 15 keywords per page.

Author

The author meta tag is designed to give credit to the person of company that created the web page or website.

How it works

The Seo plugin module uses the ISeoProvider interface which is implemented by the website to obtain data for individual pages. Once obtained the data is added to the HttpContext Items and can be easily retrieved within the controller. There are 4 string Constants within SharedPluginManager which are used for the name of the items in the HttpContext, they are:

  • SeoTitle
  • SeoMetaDescription
  • SeoMetaKeywords
  • SeoMetaAuthor

How to install

If used as a plugin module loaded through the plugin manager then the seo plugin will be automatically loaded, if you are using this independantly you can use one of the following methods:

builder.UseMiddleware<SeoMiddleware>();

app.UseSeo();