Linkshrubbery is a fast, minimal, responsive Hugo theme for building Linktree-style link-in-bio pages that you host yourself. It is free and open source under the MIT license, and it is maintained on GitHub by tohn. The theme takes Hugo configuration from config.toml and content from paired YAML data files under data/shrubberies/ and Markdown files under content/, then outputs a static single page listing your avatar, a short bio, social icons, and custom links. According to the project readme, it achieves a 95-100 score on Google PageSpeed Insights.
What is Linkshrubbery?
Linkshrubbery is a Hugo theme that creates a "shrubbery" (a link-in-bio page) similar to Linktree. It runs on the Hugo static site generator, which means you get a pre-built, fast-loading page with no server-side dependencies. The theme is authored by tohn and distributed through GitHub under the MIT license. Input is YAML data and Markdown content; output is a responsive HTML page that can be customized through Sass and configuration.
Key Features
- Hugo data templates — Each link page is composed from a YAML file in
data/shrubberies/and a Markdown file incontent/, so adding a page is just creating two files. - Bootstrap 4 classes — You can write HTML/CSS inside your Markdown and use Bootstrap 4 utility classes for layout.
- Font Awesome icons — Social links and shrubberies can use Font Awesome icons, with an
icon_setfield to pick brand sets likefab. - Sass customization — Drop a custom
assets/sass/custom.scssinto your site to override the theme's styles, or set[params.style]keys for background and font colors. - Configurable branding — The Hugo config supports meta description, subtitle, avatar, logo, background color, and font color.
- Fast loading — The theme reports a 95-100 score on Google PageSpeed Insights.
- Emoji and robots.txt — Works with Hugo's
enableEmojiandenableRobotsTXTsettings.
Who is it for?
- Creators and influencers who want a self-hosted link-in-bio page under their own domain and full control of the HTML, CSS, and analytics.
- Hugo users who already have a static site and want to add a "links" page without adopting a separate commercial service.
- Developers who prefer static site generation and want a minimal, responsive page that loads quickly on mobile networks.
What can you do with Linkshrubbery?
- Social media bios: Put one link (for example the live demo at ls.uxg.ch) in your Instagram or TikTok bio and direct followers to your other profiles, a portfolio, or a booking page.
- Freelancers and small businesses: Display an avatar, a short description, and links to your services, testimonials, or contact form on a fast-loading page.
- Personal websites: Add a simple, clean page to your Hugo site that lists your latest posts, talks, and social accounts.
How does Linkshrubbery work?
- Install Hugo and create a new site (
hugo new site your-site). - Add the theme as a git submodule:
git submodule add https://github.com/tohn/linkshrubbery.git themes/linkshrubbery. - In
config.toml, settheme = "linkshrubbery"and define[params]values for description, avatar, logo, and colors. - For each new page, create a YAML file in
data/shrubberies/(e.g.,new_page.yaml) and a Markdown file incontent/(e.g.,new_page.md). - Run
hugo serverinside theexampleSitedirectory to preview the demo, or build the site withhugo.
Pricing
Linkshrubbery is free. Its MIT license lets you use, modify, and redistribute the theme without paying a fee. There are no subscription tiers or premium features listed in the repository.
Alternatives
- Linktree, a hosted link-in-bio service that manages your links from a web dashboard and does not require you to run a static site. Linkshrubbery is the self-hosted, Hugo-based alternative.
FAQ
Is Linkshrubbery free?
Yes, Linkshrubbery is open source under the MIT license, so you can use it in personal and commercial projects at no cost. The repository contains no mention of pricing or paid tiers.
How do I update Linkshrubbery?
The theme is installed as a git submodule, so update it with git submodule update --remote themes/linkshrubbery from the root of your Hugo site.
How do I add a new page?
Create a YAML file in data/shrubberies/ with the link names, URLs, and icons, and a matching Markdown file under content/ with a title and body text. The theme uses Hugo's data templates to render the page.
Can I customize the colors?
Yes. In config.toml you can add a [params.style] section with backgroundColor and fontColor. For deeper changes, create assets/sass/custom.scss and write your own Sass.
What PageSpeed score does it get?
The readme states the theme achieves a 95-100 score on Google PageSpeed Insights, which is a common target for fast-loading pages.





