Hugo Themes
Flexible-SEO-Hugo
A theme with flexible home, nav, header and footer styles and staying SEO friendly
- Author: Paul Bakker
- Minimum Hugo Version: 0.63.0
- GitHub Stars: 5
- Updated: 2021-04-13
- License: MIT
- Tags: Bootstrap Responsive
Flexible SEO Hugo - A flexible configurable SEO-minded theme
Installation
$ mkdir themes
$ git submodule add https://github.com/pjbakker/flexible-seo-hugo.git themes/flexible-seo-hugo
About
This theme has been built upon Bootstrap 4. It allows you to easily switch between different Navigation bars, Page Headers and Footers using configuration. And of course you can add your own as well.
All core pages have been optimized for SEO-friendliness.
Of course there is also support for:
- Google Analytics
- Easily switching navigation, header and footer templates
- SEO friendly list pages (No auto-generated lists!)
- Auto generated breadcrumbs (both visible and structured data)
Switching navigation, header or footer
Within your config.toml
add the according parameter you want the theme to use. By default, the theme uses ‘simple’ for home, navigation, header and footer.
[Params]
homeType = "simple"
navType = "simple"
headerType = "simple"
taxonomyHeaderType = "simple"
footerType = "simple"
You can set headerType on a page level!
The theme will look for the theme parts in layouts/partials/navs/, layouts/partials/headers/, and layouts/partials/footers/ accordingly. For instance, with nav = "simple"
, it will look for layouts/partials/navs/simple.html.
Supported home styles
The following home page styles are included for content/_index.md:
bare
, no scaffolding, giving you total control over the structure.simple
, just a plain bootstrap row and col-8.no_row
, just a bootstrap container, giving you full flexibility to fill the container.
In the simple
home page style a list of Regular Pages (not the generated pages) is shown. You can disable this autogenerated list by specifying showGeneratedList
to false
in the Site or Page parameters. By setting homeSections
in the Site parameters you can specify which sections should be shown on the home page. E.g. homeSections = [ "posts" ]
will only show pages from the posts section. If homeSections
is not specified, all RegularPages are shown.
Supported page header styles
The following page header styles are included:
simple
, just a plain centered title and subtitle.image_header
, a screen-wide header image (located inheaderImage
) with the title and subtitle on it.
Supported footer styles
The following footer styles are included:
simple
, just a copyright statement and the option to have a limited number of links in the footer. Links are taken from .Params.footerLinks.bar_with_2_columns
, a gray bar at the bottom with two columns (left aligned and right aligned). Links are taken from .Params.footerLinksColumn1 and .Params.footerLinksColumn2.
Breadcrumbs
By default a breadcrumb bar is shown at the top of each page other than Home. You can disable showing the breadcrumb bar at a site or page level by setting showBreadcrumbs
to false
.
CSS adaption
After Bootstrap and this theme’s CSS file (/static/css/theme.css), the empty local CSS file (/static/css/local.css) is included which you can override in your own site.
Enabling Analytics
Assuming you already signed up for Google Analytics, you can add your Google Tracking ID to the googleAnalytics
parameter in config.toml
. It will then automatically include Google Analytics code in your site.
Disqus support
When DisqusShortname
is set in your site’s config, all regular pages will have Disqus enabled at the bottom. You can disable this on a page-by-page basis by setting comments
to false
in a page’s front matter.
License
MIT Licensed, see LICENSE.