From 50da7e2902124b237e4e3d8542bf9e5ac378412d Mon Sep 17 00:00:00 2001 From: rustdesk Date: Tue, 12 Aug 2025 13:46:51 +0800 Subject: [PATCH] seo doc --- content/_index.de.md | 4 +- content/_index.en.md | 4 +- content/_index.fr.md | 4 +- content/_index.zh-cn.md | 4 +- content/self-host/_index.en.md | 4 +- hugo.yaml | 45 +++++++++++++++- layouts/index.json | 19 +++++++ layouts/partials/breadcrumb-seo.html | 33 ++++++++++++ layouts/partials/custom/head-end.html | 45 ++++++++++++++++ layouts/partials/favicons.html | 11 +++- layouts/partials/schema.html | 74 ++++++++++++++++++++++++++ layouts/partials/twitter_cards.html | 24 +++++++++ static/android-chrome-192x192.png | Bin 0 -> 7935 bytes static/android-chrome-512x512.png | Bin 0 -> 25246 bytes static/apple-touch-icon.png | Bin 0 -> 7150 bytes static/favicon-16x16.png | Bin 0 -> 554 bytes static/favicon-32x32.png | Bin 0 -> 1130 bytes static/favicon.ico | Bin 0 -> 5430 bytes 18 files changed, 263 insertions(+), 8 deletions(-) create mode 100644 layouts/index.json create mode 100644 layouts/partials/breadcrumb-seo.html create mode 100644 layouts/partials/schema.html create mode 100644 layouts/partials/twitter_cards.html create mode 100644 static/android-chrome-192x192.png create mode 100644 static/android-chrome-512x512.png create mode 100644 static/apple-touch-icon.png create mode 100644 static/favicon-16x16.png create mode 100644 static/favicon-32x32.png create mode 100644 static/favicon.ico diff --git a/content/_index.de.md b/content/_index.de.md index 2629dab..cedabf3 100644 --- a/content/_index.de.md +++ b/content/_index.de.md @@ -1,5 +1,7 @@ --- -title: "RustDesk Dokumentation" +title: "RustDesk Dokumentation - Open Source Remote Desktop" +description: "Vollständige Dokumentation für RustDesk - die Open-Source-Remote-Desktop-Software. Lernen Sie Self-Hosting, Client-Konfiguration und RustDesk-Bereitstellung in Ihrer Infrastruktur." +keywords: ["rustdesk", "remote desktop", "open source", "self-hosting", "dokumentation", "fernzugriff", "VNC alternative", "teamviewer alternative"] type: docs weight: 1 --- diff --git a/content/_index.en.md b/content/_index.en.md index 140595b..c7fe2bd 100644 --- a/content/_index.en.md +++ b/content/_index.en.md @@ -1,5 +1,7 @@ --- -title: "Docs of RustDesk" +title: "RustDesk Documentation - Open Source Remote Desktop" +description: "Complete documentation for RustDesk - the open source remote desktop software. Learn how to self-host, configure clients, and deploy RustDesk across your infrastructure." +keywords: ["rustdesk", "remote desktop", "open source", "self-host", "documentation", "remote access", "VNC alternative", "teamviewer alternative"] type: docs weight: 1 --- diff --git a/content/_index.fr.md b/content/_index.fr.md index 705fe66..bb21b4a 100644 --- a/content/_index.fr.md +++ b/content/_index.fr.md @@ -1,5 +1,7 @@ --- -title: "Documentation RustDesk" +title: "Documentation RustDesk - Bureau à Distance Open Source" +description: "Documentation complète pour RustDesk - le logiciel de bureau à distance open source. Apprenez à auto-héberger, configurer les clients et déployer RustDesk sur votre infrastructure." +keywords: ["rustdesk", "bureau à distance", "open source", "auto-hébergement", "documentation", "accès distant", "alternative VNC", "alternative teamviewer"] type: docs weight: 1 --- diff --git a/content/_index.zh-cn.md b/content/_index.zh-cn.md index 3fb3fb8..f3a0426 100644 --- a/content/_index.zh-cn.md +++ b/content/_index.zh-cn.md @@ -1,5 +1,7 @@ --- -title: "RustDesk 文档" +title: "RustDesk 文档 - 开源远程桌面软件" +description: "RustDesk完整文档 - 开源远程桌面软件。学习如何自托管、配置客户端并在您的基础设施中部署RustDesk。" +keywords: ["rustdesk", "远程桌面", "开源", "自托管", "文档", "远程访问", "VNC替代", "teamviewer替代"] type: docs weight: 1 --- diff --git a/content/self-host/_index.en.md b/content/self-host/_index.en.md index 5769e58..fe4932d 100755 --- a/content/self-host/_index.en.md +++ b/content/self-host/_index.en.md @@ -1,5 +1,7 @@ --- -title: Self-host +title: "Self-host RustDesk Server - Complete Setup Guide" +description: "Learn how to self-host your own RustDesk server. Complete guide covering installation, configuration, and deployment of RustDesk server infrastructure for secure remote desktop access." +keywords: ["rustdesk self-host", "rustdesk server", "remote desktop server", "self-hosting guide", "rustdesk installation", "hbbs hbbr", "rustdesk pro server"] weight: 5 pre: "2. " --- diff --git a/hugo.yaml b/hugo.yaml index e4d8e2b..e6b822f 100644 --- a/hugo.yaml +++ b/hugo.yaml @@ -23,6 +23,12 @@ markup: enableEmoji: true enableRobotsTXT: true +# Sitemap configuration +sitemap: + changefreq: "weekly" + priority: 0.8 + filename: "sitemap.xml" + # Configure static file handling for absolute paths staticDir: ["static"] @@ -33,13 +39,17 @@ imaging: # Output formats outputs: - home: ["HTML", "RSS"] + home: ["HTML", "RSS", "JSON"] + page: ["HTML"] + section: ["HTML", "RSS"] # Parameters params: disable_cookie: true - description: "Documentation for RustDesk" + description: "Complete documentation for RustDesk - the open source remote desktop software. Learn how to self-host, configure clients, and deploy RustDesk across your infrastructure." author: "RustDesk" + keywords: ["rustdesk", "remote desktop", "open source", "self-host", "documentation", "remote access", "VNC alternative", "teamviewer alternative"] + images: ["images/logo.svg"] showVisitedLinks: false disableSearch: false disableBreadcrumb: false @@ -50,6 +60,17 @@ params: themeVariant: "blue" custom_css: ["css/theme-mine.css", "css/custom-enhancements.css"] + # SEO Settings + social: + twitter: "rustdesk" + github: "rustdesk" + + # OpenGraph settings + opengraph: + site_name: "RustDesk Documentation" + type: "website" + locale: "en_US" + navbar: displayTitle: true displayLogo: true @@ -107,6 +128,8 @@ languages: params: landingPageName: "🏠 Home" disable_cookie: true + description: "Complete documentation for RustDesk - the open source remote desktop software. Learn how to self-host, configure clients, and deploy RustDesk across your infrastructure." + keywords: ["rustdesk", "remote desktop", "open source", "self-host", "documentation", "remote access", "VNC alternative", "teamviewer alternative"] es: title: "Documentación para RustDesk" @@ -114,6 +137,8 @@ languages: languageName: "Español" params: landingPageName: "🏠 Principal" + description: "Documentación completa para RustDesk - el software de escritorio remoto de código abierto. Aprende a auto-hospedar, configurar clientes y desplegar RustDesk en tu infraestructura." + keywords: ["rustdesk", "escritorio remoto", "código abierto", "auto-hospedaje", "documentación", "acceso remoto", "alternativa VNC", "alternativa teamviewer"] fr: title: "Documentation du RustDesk" @@ -121,6 +146,8 @@ languages: languageName: "Français" params: landingPageName: "🏠 Page d'accueil" + description: "Documentation complète pour RustDesk - le logiciel de bureau à distance open source. Apprenez à auto-héberger, configurer les clients et déployer RustDesk sur votre infrastructure." + keywords: ["rustdesk", "bureau à distance", "open source", "auto-hébergement", "documentation", "accès distant", "alternative VNC", "alternative teamviewer"] # ru: # title: "Документация для RustDesk" @@ -135,6 +162,8 @@ languages: languageName: "Polski" params: landingPageName: "Strona główna" + description: "Kompletna dokumentacja dla RustDesk - oprogramowania pulpitu zdalnego o otwartym kodzie źródłowym. Naucz się self-hostingu, konfiguracji klientów i wdrażania RustDesk w swojej infrastrukturze." + keywords: ["rustdesk", "pulpit zdalny", "open source", "self-hosting", "dokumentacja", "dostęp zdalny", "alternatywa VNC", "alternatywa teamviewer"] pt: title: "Documentação para RustDesk" @@ -142,6 +171,8 @@ languages: languageName: "Português" params: landingPageName: "🏠 Pagina inicial" + description: "Documentação completa para RustDesk - o software de desktop remoto de código aberto. Aprenda a auto-hospedar, configurar clientes e implantar RustDesk em sua infraestrutura." + keywords: ["rustdesk", "desktop remoto", "código aberto", "auto-hospedagem", "documentação", "acesso remoto", "alternativa VNC", "alternativa teamviewer"] it: title: "Documentazione per RustDesk" @@ -149,6 +180,8 @@ languages: languageName: "Italiano" params: landingPageName: "🏠 Pagina iniziale" + description: "Documentazione completa per RustDesk - il software desktop remoto open source. Impara a self-hostare, configurare i client e distribuire RustDesk sulla tua infrastruttura." + keywords: ["rustdesk", "desktop remoto", "open source", "self-hosting", "documentazione", "accesso remoto", "alternativa VNC", "alternativa teamviewer"] de: title: "Dokumentation für RustDesk" @@ -156,6 +189,8 @@ languages: languageName: "Deutsch" params: landingPageName: "🏠 Startseite" + description: "Vollständige Dokumentation für RustDesk - die Open-Source-Remote-Desktop-Software. Lernen Sie Self-Hosting, Client-Konfiguration und RustDesk-Bereitstellung in Ihrer Infrastruktur." + keywords: ["rustdesk", "remote desktop", "open source", "self-hosting", "dokumentation", "fernzugriff", "VNC alternative", "teamviewer alternative"] #nl: # title: "Documentatie voor RustDesk" @@ -177,6 +212,8 @@ languages: languageName: "日本語" params: landingPageName: "🏠 ホームページ" + description: "RustDeskの完全なドキュメント - オープンソースのリモートデスクトップソフトウェア。セルフホスティング、クライアント設定、インフラストラクチャでのRustDeskの展開方法を学びます。" + keywords: ["rustdesk", "リモートデスクトップ", "オープンソース", "セルフホスティング", "ドキュメント", "リモートアクセス", "VNC代替", "teamviewer代替"] zh-cn: title: "RustDesk文档" @@ -185,6 +222,8 @@ languages: params: landingPageName: "🏠 首页" disable_cookie: true + description: "RustDesk完整文档 - 开源远程桌面软件。学习如何自托管、配置客户端并在您的基础设施中部署RustDesk。" + keywords: ["rustdesk", "远程桌面", "开源", "自托管", "文档", "远程访问", "VNC替代", "teamviewer替代"] zh-tw: title: "RustDesk文檔" @@ -192,3 +231,5 @@ languages: languageName: "繁體中文" params: landingPageName: "🏠 首頁" + description: "RustDesk完整文檔 - 開源遠端桌面軟體。學習如何自主託管、配置客戶端並在您的基礎架構中部署RustDesk。" + keywords: ["rustdesk", "遠端桌面", "開源", "自主託管", "文檔", "遠端存取", "VNC替代", "teamviewer替代"] diff --git a/layouts/index.json b/layouts/index.json new file mode 100644 index 0000000..cd85ade --- /dev/null +++ b/layouts/index.json @@ -0,0 +1,19 @@ +{{- $pages := where site.RegularPages "Type" "in" site.Params.mainSections -}} +{ + "title": "{{ site.Title }}", + "description": "{{ site.Params.description }}", + "url": "{{ site.BaseURL }}", + "language": "{{ site.Language.Lang }}", + "pages": [ + {{- range $index, $page := $pages -}} + {{- if $index }},{{ end }} + { + "title": "{{ $page.Title }}", + "url": "{{ $page.Permalink }}", + "description": "{{ with $page.Description }}{{ . }}{{ else }}{{ $page.Summary }}{{ end }}", + "date": "{{ $page.Date.Format "2006-01-02T15:04:05Z07:00" }}", + "section": "{{ $page.Section }}" + } + {{- end -}} + ] +} \ No newline at end of file diff --git a/layouts/partials/breadcrumb-seo.html b/layouts/partials/breadcrumb-seo.html new file mode 100644 index 0000000..e6613e9 --- /dev/null +++ b/layouts/partials/breadcrumb-seo.html @@ -0,0 +1,33 @@ +{{/* Enhanced breadcrumb with Schema.org markup for better SEO */}} +{{ if not .Params.disableBreadcrumb }} +{{ $ancestors := slice }} +{{ $current := . }} +{{ range $current.Ancestors.Reverse }} + {{ $ancestors = $ancestors | append . }} +{{ end }} + +{{ if $ancestors }} + +{{ end }} +{{ end }} \ No newline at end of file diff --git a/layouts/partials/custom/head-end.html b/layouts/partials/custom/head-end.html index b37f81f..cf6a78d 100644 --- a/layouts/partials/custom/head-end.html +++ b/layouts/partials/custom/head-end.html @@ -1,3 +1,48 @@ + +{{- if .Site.Language.Params.keywords }} + +{{- else if .Site.Params.keywords }} + +{{- end }} + + + + + +{{- if .IsTranslated }} + {{- range .AllTranslations }} + + {{- end }} +{{- end }} + + +{{- if .IsHome }} + +{{- end }} + + +{{- partial "breadcrumb-seo.html" . -}} + \ No newline at end of file diff --git a/layouts/partials/twitter_cards.html b/layouts/partials/twitter_cards.html new file mode 100644 index 0000000..3592194 --- /dev/null +++ b/layouts/partials/twitter_cards.html @@ -0,0 +1,24 @@ +{{/* Twitter Card meta tags */}} + +{{- with site.Params.social.twitter -}} + + +{{- end -}} + + + +{{- with $.Params.images -}} +{{- range first 1 . }}{{ end -}} +{{- else -}} +{{- $featured := "" }} +{{- with $featured -}} + +{{- else -}} +{{- with $.Site.Params.images }}{{ end -}} +{{- end -}} +{{- end -}} + +{{- with .Params.audio }}{{ end }} +{{- with .Params.videos }} +{{- range first 1 . }}{{ end }} +{{- end }} \ No newline at end of file diff --git a/static/android-chrome-192x192.png b/static/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..59fd342a4cadb2eb277617ee8f56e238580b3b8f GIT binary patch literal 7935 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 literal 0 HcmV?d00001 diff --git a/static/favicon-16x16.png b/static/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..927965f210ff5256b6b2ffc885dd828123736a44 GIT binary patch literal 554 zcmV+_0@eMAP)Y$TKXQ`OZDtqdy?Og) zMi@RzU#k?TXN={Pt1eLza z&i+XdkgWR(BvT^mJ;o@f{zJi3rdS~8Cne~M`~g8LBf$?_6@pyqdqz`9x=4^jlnsdW zUBUN%9Hq?@qK@UBCE7g5M)`)FrNA0@^fe>&b3mb_Gb}ni)w4hOHL))R{o#W!Q zoq3%%ouR`?Ugo`BFGW52m-_SrNWr^0i02SK#ix$(%tL=HjKIl(T7t!g z5bs32E&?e4E>8lKNdjJ@b>)dWBkN??^O1w7yc{06{$Rv1W`Pfy}Hxvl>b4C;nX^q!fy($JmnT znvXzUf#aTLa`YRNOkyN)B}NGSXIzG(A#1{9Bd{#5guF%DiZ|y2j}wraotQoxftHe! zix}MuHvT|XEaoZe%KE=HL%0>_r+vk#BD8aZSpwOKa+KDUeawb*BDWU5eI?3k5;hh& z0^iN9rJt3HDAC-7vsaI!zJJ=^1RAbo)0%4vz*Kk;lQbq#z$ViV;F1G>wkq&5L%kUL zBmV+M8V@=m1+rd8IyZ#ak`gJlgIAU;3>@IA;XSB-kdUG`Nrm^NNKI_RWJ$E^g3$A zWgC4Ug-K0paE65FUBf4wuIa^R$1MfFo-7YdcaH%N&SJ#t%(xQjU_$W$la08SZ&=FN zd%x9SvLTjTdAtF|Y2KM)qOS5|4bA#0^GsXOygr<9w2^MqM1PDLzswwZ74k^MVU8@yE(kd5%KQHv0RIw`REaV_frLF!*h{_YyHP&?{vq!K zy>YKDblrLxl}Awjf~lIbWaai8;98d6d=8-l@eO6VA%RYp8TOoLP0wO!__#TinU*s1E+Igw&>RgEVPaKn@@$5*fn8inV z;cka4lMPR?rx+Y6*@TCD1!kQHyHM&Yyq4WS{WPN8983?+=f3j8=76UO!p)?l4e@oT wtwv-y>XWFCBR+uAPhgjrOrIeuxk}vr54v7FOEUr~mjD0&07*qoM6N<$g7M%JfB*mh literal 0 HcmV?d00001 diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..5eedc135730aa427c0daf6869a78f22dca437d90 GIT binary patch literal 5430 zcmb_gTW?fV6#hz$fIh&ZO0bO)f*0^7V2lwX7+>&0Fh-w%_#h~V4Go=Au7d5fblTEL zTa{}|B?w|~w1Xx1fZziXO^h)Qv&!#orgg7-q4Sqv-(u$Xsw-uwt~i~SXR$02x`P2Ou4-{*R%ZCE(H9c!asz&2e3 z`{XV-riu}m+>Ox*3;H6Z=#7-2JhUI{l?4lO#WBmN&+$}rJ1V0)5Qy%CBDR{^#a0YO zY(;D}u?LFSD!h;F095D@MuUf83m-v&dA@9()o1u*W;?>fR#{-H;FnOrBT#{Ig#48# zQRP^e4X!?RW(VAJz*c@M6!De68o!2Wu|%IY(>v|HKS#Y2*yBf`#%yf0==av)rA)D9 zoMPxs6`?W%e;aL{3S0T=puF`M@HAj)wriL!MwKbn0*tk5k%MSqthLhL*Xi#F{rxa( z<^39Jv;j9=&9mb{eTq$twLfX|t>*QK9k{-YRsxM{Gt zuD6b@JdIGEZ%|^CmOW;S^Jo!v8~@Ly&vneBzqirfQ*oP{vDN+W5E?wKCnbP7SEPt@ zOE$RXvE#K^M}JSnZLaGr*lOe?)bJ_TM272qENyNn#YXeI**trXV=Mig3R?}I!RXya zESTPbb?NpPeO{9do_VbJ!qbEs^tVxO!B#`fP=l>lPwbj>IW=5{SIl!}`%L_I3^q?- zyU#(fl@t5tH2Zr*DVDA|UVl|#KK&h{zmu_BssDNOP8Q={np$#sj?fA5;nTRL+g#H- zhOGuJppV!QQ*MdXv4dzxOfbg|@z09CP1tJSB1VZlma2vZ5B-n$%{Y?+TlHT;kl6hx z>bGM3Zkwap32|cgxF6VD^cHO8`Vs#S`?`rc=(WTn`zJ9;jvdvEeE0VlW2}k46WD#1 zq59g;Lu{*ox9Hfy9aO-IH95j2#D>mcO&VBuAv{~2(5_?UceUJ-*KC3*v?M)@AkxaDzR(ge9eq4yd}&! zvO3o_NDk}2h)NT-a(3e@ea=V)p3%5soUfVdx38XSIF6j{AZuW(Rfx^0w{l)Vh`K+a zcDwe>F!ygE%BXV*6D_Snl7HrpC@m(@~m>394bT}F~(YYJ9Ge* z{=<0DG(72%-!k5$Y*gdD{Ei^}N8GO z81qQCaSr0XCTA^~CQ^)L5ew|Zt>-y%6ZzI=;x+{;5s1si@@^xlWqe#;S@Yen<-yrW z{xe?V)mT1Ohu