Skip to content

Commit 695a029

Browse files
authored
Merge pull request #20 from MMRLApp/copilot/optimize-google-indexing
Implement comprehensive SEO optimization for Google indexing
2 parents ab5a784 + c612e98 commit 695a029

File tree

14 files changed

+375
-124
lines changed

14 files changed

+375
-124
lines changed

.github/workflows/deploy-website.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@ on:
44
schedule:
55
- cron: '0 */6 * * *'
66
push:
7-
branches:
8-
- master
9-
- website
107
paths:
118
- '.github/workflows/deploy-website.yml'
129
- '**'
@@ -48,6 +45,7 @@ jobs:
4845
path: docs/.vitepress/dist
4946

5047
deploy:
48+
if: ${{ github.ref == 'refs/heads/master' }}
5149
environment:
5250
name: github-pages
5351
url: ${{ steps.deployment.outputs.page_url }}
@@ -57,4 +55,4 @@ jobs:
5755
steps:
5856
- name: Deploy to GitHub Pages
5957
id: deployment
60-
uses: actions/deploy-pages@v4
58+
uses: actions/deploy-pages@v4

README.md

Lines changed: 70 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,71 @@
11
# MMRLApp.github.io
2-
Website 🤓
2+
3+
Official website for MMRL (Magisk Module Repo Loader) 🤓
4+
5+
## About
6+
7+
This repository contains the source code for [mmrl.dev](https://mmrl.dev), the official website and documentation for MMRL - an advanced Android application for managing Magisk, KernelSU, and APatch modules.
8+
9+
## Development
10+
11+
```bash
12+
# Install dependencies
13+
npm install
14+
15+
# Run development server
16+
npm run docs:dev
17+
18+
# Build for production
19+
npm run docs:build
20+
21+
# Preview production build
22+
npm run docs:preview
23+
```
24+
25+
## SEO Optimizations
26+
27+
This website has been optimized for search engine visibility and performance:
28+
29+
### Technical SEO
30+
- **robots.txt**: Configured to allow search engine crawlers while protecting API endpoints
31+
- **Meta tags**: Comprehensive meta descriptions, Open Graph, and Twitter Card tags
32+
- **Structured Data**: JSON-LD schema for better search engine understanding
33+
- **Canonical URLs**: Automatic canonical URL generation for all pages
34+
- **Sitemap**: Automatically generated sitemap at `/sitemap.xml`
35+
- **Mobile-friendly**: Responsive design with proper viewport configuration
36+
- **Performance**: Asset minification and optimized chunk splitting
37+
38+
### Content SEO
39+
- **Internal Linking**: Strategic internal links with descriptive anchor text
40+
- **Meta Descriptions**: Unique, descriptive meta descriptions for all major pages
41+
- **Semantic HTML**: Proper heading hierarchy and semantic markup
42+
- **Alt Text**: Descriptive alt text for all images
43+
44+
### Off-site SEO
45+
See [SEO-ACTIONS.md](./SEO-ACTIONS.md) for a comprehensive guide on:
46+
- Building high-quality backlinks
47+
- Content promotion strategies
48+
- Community engagement tactics
49+
- Long-term SEO planning
50+
51+
## Technology Stack
52+
53+
- **Framework**: [VitePress](https://vitepress.dev/) - Fast static site generator
54+
- **UI**: Vue 3 components with custom styling
55+
- **Search**: Pagefind for local search functionality
56+
- **Deployment**: GitHub Pages with automatic updates every 6 hours
57+
58+
## Contributing
59+
60+
Contributions are welcome! Please feel free to submit a Pull Request.
61+
62+
## License
63+
64+
MIT License - see repository for details
65+
66+
---
67+
68+
**Maintained by**: Der_Googler and MMRL Contributors
69+
**Website**: [mmrl.dev](https://mmrl.dev)
70+
**GitHub**: [MMRLApp/MMRL](https://github.com/MMRLApp/MMRL)
71+

docs/.vitepress/config/shared.ts

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,13 @@ import { getAllContributorsRecursive } from "../../data/contributors.data";
1414
export const shared = defineConfig({
1515
vite: {
1616
plugins: [ViteYaml(), pagefindPlugin()],
17+
build: {
18+
// Optimize assets for better performance
19+
minify: "terser",
20+
cssMinify: true,
21+
// Optimize chunk size for better loading
22+
chunkSizeWarningLimit: 1000,
23+
},
1724
},
1825
markdown: {
1926
lineNumbers: true,
@@ -23,10 +30,94 @@ export const shared = defineConfig({
2330
},
2431
cleanUrls: true,
2532
title: "MMRL",
33+
description:
34+
"MMRL - A decentralized ecosystem for sharing, distributing, and discovering Magisk modules. Comprehensive root manager support for Magisk, KernelSU, and APatch.",
2635
sitemap: {
2736
hostname: "https://mmrl.dev",
2837
},
2938
head: [
39+
// Favicon and App Icons
40+
["link", { rel: "icon", href: "/favicon.ico" }],
41+
["link", { rel: "apple-touch-icon", href: "/VitePressLogo-512px.webp" }],
42+
43+
// SEO Meta Tags
44+
[
45+
"meta",
46+
{
47+
name: "keywords",
48+
content: "MMRL, Magisk modules, KernelSU, APatch, Android root, module repository, Magisk Module Repo Loader, module management",
49+
},
50+
],
51+
["meta", { name: "author", content: "Der_Googler and MMRL Contributors" }],
52+
["meta", { name: "robots", content: "index, follow" }],
53+
["meta", { name: "googlebot", content: "index, follow" }],
54+
55+
// Open Graph / Facebook
56+
["meta", { property: "og:type", content: "website" }],
57+
["meta", { property: "og:url", content: "https://mmrl.dev" }],
58+
["meta", { property: "og:title", content: "MMRL - Magisk Module Repo Loader" }],
59+
[
60+
"meta",
61+
{
62+
property: "og:description",
63+
content:
64+
"A decentralized ecosystem for sharing, distributing, and discovering Magisk modules with comprehensive root manager support.",
65+
},
66+
],
67+
["meta", { property: "og:image", content: "https://mmrl.dev/VitePressLogo-512px.webp" }],
68+
["meta", { property: "og:site_name", content: "MMRL" }],
69+
70+
// Twitter Card
71+
["meta", { name: "twitter:card", content: "summary_large_image" }],
72+
["meta", { name: "twitter:url", content: "https://mmrl.dev" }],
73+
["meta", { name: "twitter:title", content: "MMRL - Magisk Module Repo Loader" }],
74+
[
75+
"meta",
76+
{
77+
name: "twitter:description",
78+
content:
79+
"A decentralized ecosystem for sharing, distributing, and discovering Magisk modules with comprehensive root manager support.",
80+
},
81+
],
82+
["meta", { name: "twitter:image", content: "https://mmrl.dev/VitePressLogo-512px.webp" }],
83+
84+
// Mobile Optimization
85+
["meta", { name: "viewport", content: "width=device-width, initial-scale=1.0, viewport-fit=cover" }],
86+
["meta", { name: "mobile-web-app-capable", content: "yes" }],
87+
["meta", { name: "apple-mobile-web-app-capable", content: "yes" }],
88+
["meta", { name: "apple-mobile-web-app-status-bar-style", content: "black-translucent" }],
89+
90+
// Theme Color
91+
["meta", { name: "theme-color", content: "#3eaf7c" }],
92+
93+
// Canonical URL (will be set per page by VitePress)
94+
["link", { rel: "canonical", href: "https://mmrl.dev" }],
95+
96+
// Structured Data - Organization
97+
[
98+
"script",
99+
{ type: "application/ld+json" },
100+
JSON.stringify({
101+
"@context": "https://schema.org",
102+
"@type": "SoftwareApplication",
103+
name: "MMRL",
104+
applicationCategory: "UtilitiesApplication",
105+
operatingSystem: "Android",
106+
description: "Magisk Module Repo Loader - A decentralized ecosystem for sharing, distributing, and discovering Magisk modules",
107+
url: "https://mmrl.dev",
108+
author: {
109+
"@type": "Person",
110+
name: "Der_Googler",
111+
},
112+
license: "GLPv3",
113+
softwareHelp: {
114+
"@type": "WebSite",
115+
url: "https://github.com/MMRLApp/MMRL/issues",
116+
},
117+
}),
118+
],
119+
120+
// Google Ads
30121
[
31122
"script",
32123
{
@@ -50,6 +141,24 @@ export const shared = defineConfig({
50141
pageData.description = pageData.params.description;
51142
}
52143
},
144+
transformHead({ pageData }) {
145+
// Add canonical URL for each page
146+
const canonicalUrl = `https://mmrl.dev/${pageData.relativePath.replace(/\.md$/, "")}`;
147+
148+
return [
149+
["link", { rel: "canonical", href: canonicalUrl }],
150+
// Add page-specific Open Graph tags
151+
["meta", { property: "og:url", content: canonicalUrl }],
152+
["meta", { property: "og:title", content: pageData.title }],
153+
[
154+
"meta",
155+
{
156+
property: "og:description",
157+
content: pageData.description || pageData.frontmatter?.description || "MMRL - Magisk Module Repo Loader",
158+
},
159+
],
160+
];
161+
},
53162
buildEnd: async (config: SiteConfig) => {
54163
const publicApi = resolve(config.outDir, "api");
55164
const placeholder = resolve(publicApi, "placeholder");

docs/en/blacklist/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: Blacklist
3-
descriptions: A list of blacklisted modules in MMRL
2+
title: MMRL Blacklist - Restricted Modules
3+
description: View the complete list of blacklisted Magisk modules in MMRL. Transparency about which modules are restricted and why, ensuring user safety and informed decisions.
44
editLink: false
55
prev: false
66
next: false

docs/en/downloads.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
editLink: false
33
prev: false
44
next: false
5+
title: Download MMRL - Magisk Module Repo Loader
6+
description: Download the latest version of MMRL (Magisk Module Repo Loader) for Android. Get APK files from GitHub releases and Google Play Store for managing your Magisk modules.
57
---
68

79
# MMRL Downloads

docs/en/guide/faq.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
---
2+
title: MMRL FAQ - Frequently Asked Questions
3+
description: Common questions about MMRL - Magisk Module Repo Loader. Learn about JavaScript APIs, WebUI shortcuts, APK variants, and module management features.
4+
---
5+
16
# FAQ
27

38
## How to enable JavaScript APIs in MMRL?

docs/en/guide/index.md

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,48 @@
1-
# What is MMRL
1+
# What is MMRL?
22

3-
Magisk Module Repo Loader (MMRL) is an advanced, open-source Android application developed by Der_Googler, designed to streamline the management of modules for Magisk, KernelSU, and APatch. This highly configurable tool empowers users to efficiently handle their own module repositories, all within an ad-free environment.
3+
Magisk Module Repo Loader (MMRL) is an advanced, open-source Android application developed by Der_Googler, designed to streamline the management of modules for [Magisk](https://github.com/topjohnwu/Magisk), [KernelSU](https://kernelsu.org/), and [APatch](https://apatch.dev/). This highly configurable tool empowers users to efficiently handle their own module repositories, all within an ad-free environment.
44

5-
## Features
5+
## Key Features
66

7-
- **Comprehensive Root Manager Support**: MMRL offers full compatibility with Magisk, KernelSU, and APatch, providing users with a versatile platform for root management.
7+
- **Comprehensive Root Manager Support**: MMRL offers full compatibility with Magisk, KernelSU, and APatch, providing users with a versatile platform for root management. Learn more about [how module cards work](how-a-module-card-works).
88

99
- **User-Friendly Interface**: The application boasts a user-centric design, featuring edge-to-edge support and dynamic app themes, ensuring a seamless and intuitive user experience.
1010

11-
- **Bulk Module Installation**: Users can install multiple modules simultaneously, whether sourced online or from local storage, enhancing efficiency in module management.
11+
- **Bulk Module Installation**: Users can install multiple modules simultaneously, whether sourced from [online repositories](../repository/) or from local storage, enhancing efficiency in module management.
1212

1313
- **Module Dependency Management**: MMRL simplifies the installation process by automatically handling module dependencies, ensuring that all necessary components are in place for optimal functionality.
1414

15-
- **Customizable Module Pages**: The application allows for personalized module pages, enabling the addition of categories, screenshots, icons, covers, and other content to tailor the presentation to user preferences.
15+
- **Customizable Module Pages**: The application allows for personalized module pages, enabling the addition of categories, screenshots, icons, covers, and other content to tailor the presentation to user preferences. Check out our [text formatting guide](text-formatting).
1616

17-
- **Transparency of Included Files**: MMRL provides a detailed breakdown of all files within modules, including APKs and service files, ensuring users have full visibility into the components of each module.
17+
- **Transparency of Included Files**: MMRL provides a detailed breakdown of all files within modules, including APKs and service files, ensuring users have full visibility into the components of each module. Read about [anti-features](antifeatures) for security considerations.
1818

1919
- **Analytics Dashboard**: An integrated analytics dashboard displays module-related insights on the homepage, offering valuable information on module usage and trends.
2020

2121
- **Command-Line Interface (MMRL-CLI)**: For users who prefer terminal-based interactions, MMRL offers a Command-Line Interface, MMRL-CLI, which facilitates seamless module installation and management directly from the terminal.
2222

23-
## How to Use
23+
- **Powerful WebUI X**: MMRL features [WebUI X](webuix/), one of the most advanced module configuration interfaces, providing developers with powerful tools to create native-feeling experiences.
24+
25+
## How to Use MMRL
2426

2527
To get started with MMRL, follow these steps:
2628

2729
1. **Installation**:
28-
- Download the latest version of MMRL from the official website or a trusted repository.
29-
- Install the application on your Android device.
30+
- Download the latest version of MMRL from the [downloads page](../downloads) or [Google Play Store](https://play.google.com/store/apps/details?id=com.dergoogler.mmrl).
31+
- Install the application on your rooted Android device.
3032

3133
2. **Adding Repositories**:
3234
- Open MMRL and navigate to the repository management section.
3335
- Add your desired module repositories by entering their URLs.
36+
- Browse our [curated repositories](../repository/) to discover popular modules.
3437

3538
3. **Managing Modules**:
3639
- Browse through the available modules in your added repositories.
3740
- Select modules to install, update, enable, disable, or remove as needed.
41+
- Review module details and check for [anti-features](antifeatures) before installation.
3842

39-
For a comprehensive guide on installation and usage, please refer to the [MMRL GitHub Repository](https://github.com/MMRLApp/MMRL).
43+
For a comprehensive guide on installation and usage, please refer to the [MMRL GitHub Repository](https://github.com/MMRLApp/MMRL) and our [FAQ page](faq).
4044

41-
## How to Build
45+
## How to Build MMRL
4246

4347
If you're interested in building MMRL from source, follow these steps:
4448

@@ -56,10 +60,19 @@ If you're interested in building MMRL from source, follow these steps:
5660

5761
For detailed instructions and troubleshooting, please refer to the [MMRL GitHub Repository](https://github.com/MMRLApp/MMRL).
5862

59-
## Discussion
63+
## Developer Resources
64+
65+
If you're a module developer, check out these resources:
66+
67+
- [MMRL-Util Guide](mmrl-util/) - Tools for creating and managing module repositories
68+
- [WebUI X Documentation](webuix/) - Build advanced module configuration interfaces
69+
- [Legacy Installer API](installer) - Traditional module installation methods
70+
71+
## Discussion & Community
6072
6173
Join the community discussion to share experiences, seek assistance, and stay updated with the latest developments:
6274
6375
- **Telegram**: [@MMRLApp](https://t.me/MMRLApp)
76+
- **GitHub**: [MMRL Repository](https://github.com/MMRLApp/MMRL)
6477
6578
Engaging with the community can provide valuable insights and support as you navigate the features and functionalities of MMRL.

docs/en/guide/mmrl-util/index.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
---
2+
title: MMRL-Util - Build Your Own Module Repository
3+
description: Complete guide to MMRL-Util for creating custom Magisk module repositories. Learn installation, configuration, and management of your own module repository.
4+
---
5+
16
# Magisk Modules Repo Util
27

38
This util is to build module repository for [MMRL](https://github.com/DerGoogler/MMRL)

docs/en/guide/webuix/index.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
---
2+
title: WebUI X - Next-Generation Module Interface Framework
3+
description: Learn about WebUI X, MMRL's powerful framework for building secure, high-performance module configuration interfaces. Enhanced security, debugging tools, and modern UX features.
4+
---
5+
16
# Why WebUI X?
27

38
WebUI X is the next-generation framework for building modular, secure, and high-performance WebUI applications. It offers significant improvements over Legacy KernelSU WebUI, making it the ideal choice for developers. Below are the key reasons to switch:

0 commit comments

Comments
 (0)