Skip to content

limbo-works/Limbo.Umbraco.Seo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Limbo SEO

GitHub license NuGet NuGet Our Umbraco Umbraco Marketplace Limbo.Umbraco.Seo at packages.limbo.works

Limbo SEO is a package for helping improving the SEO experience in the Umbraco backoffice. While still under development, the package currently includes:

Property Editors

  • SEO Preview - eg. like the page will be shown on Google
  • Sitemap Frequency Picker - let's editors set the sitemap update frequency of a given page
  • Sitemap Page Priority - let's editors specify the page priority of a given page

Other

  • Logic for easily building sitemaps - extendable via the ISitemapHelper interface and the SitemapHelper class
  • More to come 😎



Installation

The Umbraco 10+ version of this package is only available via NuGet. To install the package, you can use either .NET CLI:

dotnet add package Limbo.Umbraco.Seo --version 10.0.0-beta002

or the NuGet Package Manager:

Install-Package Limbo.Umbraco.Seo -Version 10.0.0-beta002

Umbraco 9
For the Umbraco 9 version of this package, see the v2/latest branch instead.

Umbraco 8
For the Umbraco 8 version of this package, see the v1/latest branch instead.



Screenshots

image



Usage

Sitemap

The package contains a WebAPI controller, which by default can be accessed at /umbraco/api/Sitemap/XmlSitemap. The controller outputs the XML sitemap for the site matching the inbound domain, or an error if the domain isn't recognized.

To make the sitemap appear at /sitemap.xml instead, you can add the following IIS rewrite rule:

<rule name="sitemap" stopProcessing="true" patternSyntax="ExactMatch">
  <match url="sitemap.xml" />
  <action type="Rewrite" url="/umbraco/api/sitemap/XmlSitemap" appendQueryString="false" redirectType="Found" statusCode="200" />
</rule>

Under the hood, the XML sitemap generation is handled by the ISitemapHelper interface. The default implementation of the interface is SitemapHelper, but implementation can be overridden using dependency injection.