Skip to content

Commit 3f35f41

Browse files
committed
Improve SEO
1 parent a1777a2 commit 3f35f41

5 files changed

Lines changed: 75 additions & 21 deletions

File tree

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,13 @@ Instead, publishing is handled by GitHub Actions in [`.github/workflows/pages.ym
3131
## One-time GitHub configuration
3232

3333
In the GitHub repository settings, set Pages to use `GitHub Actions` as the source.
34+
35+
## SEO improvements
36+
37+
The site now includes:
38+
39+
1. stable canonical URLs derived from `site_url`,
40+
2. a global meta description with page-level overrides,
41+
3. Open Graph and Twitter card metadata,
42+
4. structured data for the site,
43+
5. a `robots.txt` file for crawling guidance.

docs/index.md

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,19 @@
1-
# Intro
1+
---
2+
title: Freenit framework for Svelte and FastAPI development
3+
description: Freenit is a web development framework that combines a visual designer, Svelte frontend tooling, FastAPI backend tooling, and reusable snippets to speed up product delivery.
4+
---
25

3-
Freenit is framework made to automate all your WEB dev work. It is made of tree
4-
parts:
6+
# Freenit framework for Svelte and FastAPI development
57

6-
* Designer to speed up design and UI work
7-
* Frontend library based on Svelte
8-
* Backend library based on FastAPI
8+
Freenit is a framework for automating modern web application development. It combines three parts:
99

10-
The idea is to automate and integrate as much as possible and let you be just
11-
creative and concentrate on important stuff. Usual workflow is to use designer
12-
as drag and drop tool for UI and export it as code. While working on it, saving
13-
your work in `.json` format enables you to save it in git and easily "rewind"
14-
to the UI design at a certain point. When code is exported from such `.json`
15-
file, it is pixel-perfect UI, but still not perfect code. Running
16-
`npm run format` will help. You will still need to adjust the code to add
17-
integration with backend, but it is in the best shape generic code can be. Once
18-
you reshape the code to your liking, `data` variable in such code can serve as
19-
format of messages frontend expect from backend. The backend work is usually in
20-
two parts: DB models and API endpoints. In all of this code snippets will help
21-
you if you use VSCode or LunarVim (list of supported editors will expand over
22-
time).
10+
* A visual designer to speed up UI and design work
11+
* Frontend tooling based on Svelte
12+
* Backend tooling based on FastAPI
2313

24-
All of this is just words. Dive into tutorial to see what Freenit is really
25-
about.
14+
The goal is to automate the repetitive parts of product development so you can focus on implementation details that matter. A common workflow is to build UI in the designer, save it as `.json`, version that file in git, and export the result as Svelte code. The exported code is intended to be pixel-accurate and easy to reshape for your application. After that, you can connect it to backend data models and API endpoints, with reusable snippets helping on both sides of the stack.
15+
16+
This documentation explains the designer, frontend, backend, and snippet workflow in one place.
2617

2718

2819
## Bootstrap the Project

docs/overrides/main.html

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
{% extends "base.html" %}
2+
3+
{% block extrahead %}
4+
{{ super() }}
5+
{% set meta_description = config.site_description %}
6+
{% if page and page.meta and page.meta.description %}
7+
{% set meta_description = page.meta.description %}
8+
{% endif %}
9+
{% set page_title = config.site_name %}
10+
{% if page and page.title %}
11+
{% set page_title = page.title ~ " - " ~ config.site_name %}
12+
{% endif %}
13+
{% set canonical_url = page.canonical_url if page and page.canonical_url else config.site_url %}
14+
<meta name="description" content="{{ meta_description | e }}">
15+
<meta name="author" content="{{ config.site_author | e }}">
16+
<meta name="robots" content="index, follow">
17+
<link rel="canonical" href="{{ canonical_url | e }}">
18+
<meta property="og:type" content="website">
19+
<meta property="og:title" content="{{ page_title | e }}">
20+
<meta property="og:description" content="{{ meta_description | e }}">
21+
<meta property="og:url" content="{{ canonical_url | e }}">
22+
<meta property="og:site_name" content="{{ config.site_name | e }}">
23+
<meta property="og:image" content="{{ (config.site_url ~ 'img/logo.png') | e }}">
24+
<meta name="twitter:card" content="summary">
25+
<meta name="twitter:title" content="{{ page_title | e }}">
26+
<meta name="twitter:description" content="{{ meta_description | e }}">
27+
<meta name="theme-color" content="#1f6feb">
28+
<script type="application/ld+json">
29+
{
30+
"@context": "https://schema.org",
31+
"@type": "WebSite",
32+
"name": {{ config.site_name | tojson }},
33+
"url": {{ config.site_url | tojson }},
34+
"description": {{ meta_description | tojson }},
35+
"publisher": {
36+
"@type": "Organization",
37+
"name": {{ config.site_author | tojson }}
38+
}
39+
}
40+
</script>
41+
{% endblock %}

docs/robots.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
User-agent: *
2+
Allow: /
3+
4+
Sitemap: https://freenit-framework.github.io/sitemap.xml

mkdocs.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
site_name: Freenit
22
site_url: https://freenit-framework.github.io/
3+
site_description: Freenit is a framework for designing, building, and documenting modern web applications with a visual designer, Svelte frontend tooling, and FastAPI backend tooling.
4+
site_author: Freenit Framework
35
repo_url: https://github.com/freenit-framework/freenit-framework.github.io
46
repo_name: freenit-framework/freenit-framework.github.io
57
theme:
68
name: material
9+
language: en
10+
custom_dir: docs/overrides
711
logo: img/logo.png
812
favicon: img/logo.png
913
markdown_extensions:
@@ -15,3 +19,7 @@ markdown_extensions:
1519
plugins:
1620
- search
1721
- awesome-pages
22+
extra:
23+
social:
24+
- icon: fontawesome/brands/github
25+
link: https://github.com/freenit-framework

0 commit comments

Comments
 (0)