hf-seo-analyzer


Namehf-seo-analyzer JSON
Version 0.1.4 PyPI version JSON
download
home_pagehttps://github.com/thinh-vu/hf_seo_analyzer
SummaryA CLI and programmatic tool to analyze Markdown files for SEO using Huggingface API
upload_time2024-11-16 16:23:25
maintainerNone
docs_urlNone
authorThinh Vu
requires_python>=3.10
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # hf_seo_analyzer

**hf_seo_analyzer** là công cụ CLI và thư viện Python giúp phân tích nội dung Markdown thông qua API và tạo báo cáo chi tiết về SEO.

## Chức năng chính
- Gửi nội dung Markdown đến API để phân tích.
- Tạo báo cáo Markdown với các số liệu SEO cụ thể.
- Hỗ trợ phân tích file đơn lẻ hoặc cả thư mục.

---

## Cách sử dụng

### 1. Phân tích file đơn lẻ
Phân tích một file Markdown thông qua API:
```bash
python3.10 -m hf_seo_analyzer.cli test_markdown.md
```

---

### 2. Phân tích cả thư mục
Phân tích tất cả các file Markdown trong một thư mục:
```bash
python3.10 -m hf_seo_analyzer.cli md_examples --batch
```

---

### 3. Tùy chỉnh API và khóa
Bạn có thể cấu hình `API endpoint` và `API key` trong file `config.yaml` tại thư mục làm việc:
```yaml
endpoint: "https://example-api.com/analyze"
api_key: "your_api_key"
```

Trong đó, thông tin `endpoint` và `api_key` được cung cấp nếu bạn là học viên của khoá học [Tạo website Docusaurus & Tối ưu SEO](https://learn-anything.vn/lp-khoa-hoc-tao-website-docusaurus-seo/).

---

## Báo cáo
Khi phân tích thành công, các báo cáo sẽ được lưu trong thư mục `seo-report` tại thư mục làm việc.  
Ví dụ:
```
seo-report/
├── test_markdown_seo_report.md
├── md_example_seo_report.md
```

---

## Yêu cầu hệ thống
- Python >= 3.10
- Các thư viện Python: `requests`, `PyYAML`, `argparse`

Cài đặt gói phụ thuộc từ `requirements.txt`:
```bash
pip install -r requirements.txt
```

---

## Nội dung báo cáo mẫu

#### 📝 SEO Analysis Report

**Tệp:** `post_1.md`

**Thời Gian Tạo:** 2024-11-16 12:03:48

---

## 🔍 Tóm Tắt
- **Độ Dài Tiêu Đề:** 49 (Tốt)
- **Độ Dài Mô Tả:** 157 (Tốt)
- **Mật Độ Từ Khoá:** 0.74% (Ngoài khoảng)
- **Các Tiêu Đề Tìm Thấy:** H2, H3
- **Các Tiêu Đề Thiếu:** H4
- **Liên Kết Nội Bộ:** 3
- **Liên Kết Bên Ngoài:** 2
- **Chứa Nội Dung Đa Phương Tiện:** Có

---

## 📋 Phân Tích Chi Tiết
### Tiêu Đề
| Chỉ Số | Giá Trị |
|--------|-------|
| **Độ Dài Tiêu Đề** | 49 |
| **Từ Khoá Trong Tiêu Đề** | Có |
| **Trạng Thái Độ Dài** | Tốt |

---

### Mô Tả
| Chỉ Số | Giá Trị |
|--------|-------|
| **Độ Dài Mô Tả** | 157 |
| **Trạng Thái Độ Dài** | Tốt |

---

### Đường dẫn url (slug)
| Chỉ Số | Giá Trị |
|--------|-------|
| **Độ Dài Slug** | 41 |
| **Trạng Thái Độ Dài** | Tốt |
| **Từ Khoá Trong URL** | Có |

---

### Mật Độ Từ Khoá
| Chỉ Số | Giá Trị |
|--------|-------|
| **Số Từ** | 2566 |
| **Số Từ Khoá** | 19 |
| **Mật Độ Từ Khoá** | 0.7404520654715511 |
| **Trạng Thái Mật Độ** | Ngoài khoảng |

---

### Tiêu Đề
| Chỉ Số | Giá Trị |
|--------|-------|
| **Tìm thấy trong các cấp tiêu đề:** | H2, H3 |
| **Thiếu trong các cấp tiêu đề:** | H4 |

---

### Thuộc tính mô tả ảnh
| Chỉ Số | Giá Trị |
|--------|-------|
| **Từ Khoá Trong thẻ alt** | Có |

---

### Liên Kết
| Chỉ Số | Giá Trị |
|--------|-------|
| **Số Liên Kết Bên Ngoài** | 2 |
| **Số Liên Kết Nội Bộ** | 3 |
| **Liên Kết Bên Ngoài** | ![1982167386.01. SCLZZZZZZZ SX500, https://m.media-amazon.com/images/P/1982167386.01._SCLZZZZZZZ_SX500_.jpg "Phương pháp PARA trong tổ chức thông tin hiệu quả 5", Amazon, https://amzn.to/3MGQoYn |
| **Liên Kết Nội Bộ** | Hướng dẫn sử dụng Obsidian toàn tập, https://thinhvu.com/2023/01/29/huong-dan-su-dung-obsidian-toan-tap/, Phương pháp PARA - Tiago Forte, https://thinhvu.com/wp-content/uploads/2023/05/phuong-phap-para-summary-thinhvu.jpg "Phương pháp PARA trong tổ chức thông tin hiệu quả 3", Phương pháp PARA trong tổ chức thông tin hiệu quả, https://thinhvu.com/wp-content/uploads/2023/05/Obsidian-PARA-Zettelkasten-Journalit-thinhvu.jpg "Phương pháp PARA trong tổ chức thông tin hiệu quả 4" |

---

### Độ Dài Đoạn Văn
| Chỉ Số | Giá Trị |
|--------|-------|
| **Độ Dài Đoạn Văn Trung Bình** | 59.674418604651166 |
| **Trạng Thái Độ Dài** | Tốt |

---

### Loại Từ Trong Tiêu Đề
| Chỉ Số | Giá Trị |
|--------|-------|
| **Từ Tích Cực** | Có |
| **Từ Tiêu Cực** | Không |
| **Từ Mạnh** | Không |

---

### Điểm Số Từ
100

---

### Từ Khoá Chính Duy Nhất
True

---

### Chứa Nội Dung Đa Phương Tiện
True

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/thinh-vu/hf_seo_analyzer",
    "name": "hf-seo-analyzer",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": null,
    "author": "Thinh Vu",
    "author_email": "mrthinh@live.com",
    "download_url": "https://files.pythonhosted.org/packages/55/ea/ff19d372f648d62c61b22ad69d9acbfa51bb472492c0df8bf9d8c8abfbb2/hf_seo_analyzer-0.1.4.tar.gz",
    "platform": null,
    "description": "# hf_seo_analyzer\n\n**hf_seo_analyzer** l\u00e0 c\u00f4ng c\u1ee5 CLI v\u00e0 th\u01b0 vi\u1ec7n Python gi\u00fap ph\u00e2n t\u00edch n\u1ed9i dung Markdown th\u00f4ng qua API v\u00e0 t\u1ea1o b\u00e1o c\u00e1o chi ti\u1ebft v\u1ec1 SEO.\n\n## Ch\u1ee9c n\u0103ng ch\u00ednh\n- G\u1eedi n\u1ed9i dung Markdown \u0111\u1ebfn API \u0111\u1ec3 ph\u00e2n t\u00edch.\n- T\u1ea1o b\u00e1o c\u00e1o Markdown v\u1edbi c\u00e1c s\u1ed1 li\u1ec7u SEO c\u1ee5 th\u1ec3.\n- H\u1ed7 tr\u1ee3 ph\u00e2n t\u00edch file \u0111\u01a1n l\u1ebb ho\u1eb7c c\u1ea3 th\u01b0 m\u1ee5c.\n\n---\n\n## C\u00e1ch s\u1eed d\u1ee5ng\n\n### 1. Ph\u00e2n t\u00edch file \u0111\u01a1n l\u1ebb\nPh\u00e2n t\u00edch m\u1ed9t file Markdown th\u00f4ng qua API:\n```bash\npython3.10 -m hf_seo_analyzer.cli test_markdown.md\n```\n\n---\n\n### 2. Ph\u00e2n t\u00edch c\u1ea3 th\u01b0 m\u1ee5c\nPh\u00e2n t\u00edch t\u1ea5t c\u1ea3 c\u00e1c file Markdown trong m\u1ed9t th\u01b0 m\u1ee5c:\n```bash\npython3.10 -m hf_seo_analyzer.cli md_examples --batch\n```\n\n---\n\n### 3. T\u00f9y ch\u1ec9nh API v\u00e0 kh\u00f3a\nB\u1ea1n c\u00f3 th\u1ec3 c\u1ea5u h\u00ecnh `API endpoint` v\u00e0 `API key` trong file `config.yaml` t\u1ea1i th\u01b0 m\u1ee5c l\u00e0m vi\u1ec7c:\n```yaml\nendpoint: \"https://example-api.com/analyze\"\napi_key: \"your_api_key\"\n```\n\nTrong \u0111\u00f3, th\u00f4ng tin `endpoint` v\u00e0 `api_key` \u0111\u01b0\u1ee3c cung c\u1ea5p n\u1ebfu b\u1ea1n l\u00e0 h\u1ecdc vi\u00ean c\u1ee7a kho\u00e1 h\u1ecdc [T\u1ea1o website Docusaurus & T\u1ed1i \u01b0u SEO](https://learn-anything.vn/lp-khoa-hoc-tao-website-docusaurus-seo/).\n\n---\n\n## B\u00e1o c\u00e1o\nKhi ph\u00e2n t\u00edch th\u00e0nh c\u00f4ng, c\u00e1c b\u00e1o c\u00e1o s\u1ebd \u0111\u01b0\u1ee3c l\u01b0u trong th\u01b0 m\u1ee5c `seo-report` t\u1ea1i th\u01b0 m\u1ee5c l\u00e0m vi\u1ec7c.  \nV\u00ed d\u1ee5:\n```\nseo-report/\n\u251c\u2500\u2500 test_markdown_seo_report.md\n\u251c\u2500\u2500 md_example_seo_report.md\n```\n\n---\n\n## Y\u00eau c\u1ea7u h\u1ec7 th\u1ed1ng\n- Python >= 3.10\n- C\u00e1c th\u01b0 vi\u1ec7n Python: `requests`, `PyYAML`, `argparse`\n\nC\u00e0i \u0111\u1eb7t g\u00f3i ph\u1ee5 thu\u1ed9c t\u1eeb `requirements.txt`:\n```bash\npip install -r requirements.txt\n```\n\n---\n\n## N\u1ed9i dung b\u00e1o c\u00e1o m\u1eabu\n\n#### \ud83d\udcdd SEO Analysis Report\n\n**T\u1ec7p:** `post_1.md`\n\n**Th\u1eddi Gian T\u1ea1o:** 2024-11-16 12:03:48\n\n---\n\n## \ud83d\udd0d T\u00f3m T\u1eaft\n- **\u0110\u1ed9 D\u00e0i Ti\u00eau \u0110\u1ec1:** 49 (T\u1ed1t)\n- **\u0110\u1ed9 D\u00e0i M\u00f4 T\u1ea3:** 157 (T\u1ed1t)\n- **M\u1eadt \u0110\u1ed9 T\u1eeb Kho\u00e1:** 0.74% (Ngo\u00e0i kho\u1ea3ng)\n- **C\u00e1c Ti\u00eau \u0110\u1ec1 T\u00ecm Th\u1ea5y:** H2, H3\n- **C\u00e1c Ti\u00eau \u0110\u1ec1 Thi\u1ebfu:** H4\n- **Li\u00ean K\u1ebft N\u1ed9i B\u1ed9:** 3\n- **Li\u00ean K\u1ebft B\u00ean Ngo\u00e0i:** 2\n- **Ch\u1ee9a N\u1ed9i Dung \u0110a Ph\u01b0\u01a1ng Ti\u1ec7n:** C\u00f3\n\n---\n\n## \ud83d\udccb Ph\u00e2n T\u00edch Chi Ti\u1ebft\n### Ti\u00eau \u0110\u1ec1\n| Ch\u1ec9 S\u1ed1 | Gi\u00e1 Tr\u1ecb |\n|--------|-------|\n| **\u0110\u1ed9 D\u00e0i Ti\u00eau \u0110\u1ec1** | 49 |\n| **T\u1eeb Kho\u00e1 Trong Ti\u00eau \u0110\u1ec1** | C\u00f3 |\n| **Tr\u1ea1ng Th\u00e1i \u0110\u1ed9 D\u00e0i** | T\u1ed1t |\n\n---\n\n### M\u00f4 T\u1ea3\n| Ch\u1ec9 S\u1ed1 | Gi\u00e1 Tr\u1ecb |\n|--------|-------|\n| **\u0110\u1ed9 D\u00e0i M\u00f4 T\u1ea3** | 157 |\n| **Tr\u1ea1ng Th\u00e1i \u0110\u1ed9 D\u00e0i** | T\u1ed1t |\n\n---\n\n### \u0110\u01b0\u1eddng d\u1eabn url (slug)\n| Ch\u1ec9 S\u1ed1 | Gi\u00e1 Tr\u1ecb |\n|--------|-------|\n| **\u0110\u1ed9 D\u00e0i Slug** | 41 |\n| **Tr\u1ea1ng Th\u00e1i \u0110\u1ed9 D\u00e0i** | T\u1ed1t |\n| **T\u1eeb Kho\u00e1 Trong URL** | C\u00f3 |\n\n---\n\n### M\u1eadt \u0110\u1ed9 T\u1eeb Kho\u00e1\n| Ch\u1ec9 S\u1ed1 | Gi\u00e1 Tr\u1ecb |\n|--------|-------|\n| **S\u1ed1 T\u1eeb** | 2566 |\n| **S\u1ed1 T\u1eeb Kho\u00e1** | 19 |\n| **M\u1eadt \u0110\u1ed9 T\u1eeb Kho\u00e1** | 0.7404520654715511 |\n| **Tr\u1ea1ng Th\u00e1i M\u1eadt \u0110\u1ed9** | Ngo\u00e0i kho\u1ea3ng |\n\n---\n\n### Ti\u00eau \u0110\u1ec1\n| Ch\u1ec9 S\u1ed1 | Gi\u00e1 Tr\u1ecb |\n|--------|-------|\n| **T\u00ecm th\u1ea5y trong c\u00e1c c\u1ea5p ti\u00eau \u0111\u1ec1:** | H2, H3 |\n| **Thi\u1ebfu trong c\u00e1c c\u1ea5p ti\u00eau \u0111\u1ec1:** | H4 |\n\n---\n\n### Thu\u1ed9c t\u00ednh m\u00f4 t\u1ea3 \u1ea3nh\n| Ch\u1ec9 S\u1ed1 | Gi\u00e1 Tr\u1ecb |\n|--------|-------|\n| **T\u1eeb Kho\u00e1 Trong th\u1ebb alt** | C\u00f3 |\n\n---\n\n### Li\u00ean K\u1ebft\n| Ch\u1ec9 S\u1ed1 | Gi\u00e1 Tr\u1ecb |\n|--------|-------|\n| **S\u1ed1 Li\u00ean K\u1ebft B\u00ean Ngo\u00e0i** | 2 |\n| **S\u1ed1 Li\u00ean K\u1ebft N\u1ed9i B\u1ed9** | 3 |\n| **Li\u00ean K\u1ebft B\u00ean Ngo\u00e0i** | ![1982167386.01. SCLZZZZZZZ SX500, https://m.media-amazon.com/images/P/1982167386.01._SCLZZZZZZZ_SX500_.jpg \"Ph\u01b0\u01a1ng ph\u00e1p PARA trong t\u1ed5 ch\u1ee9c th\u00f4ng tin hi\u1ec7u qu\u1ea3 5\", Amazon, https://amzn.to/3MGQoYn |\n| **Li\u00ean K\u1ebft N\u1ed9i B\u1ed9** | H\u01b0\u1edbng d\u1eabn s\u1eed d\u1ee5ng Obsidian to\u00e0n t\u1eadp, https://thinhvu.com/2023/01/29/huong-dan-su-dung-obsidian-toan-tap/, Ph\u01b0\u01a1ng ph\u00e1p PARA - Tiago Forte, https://thinhvu.com/wp-content/uploads/2023/05/phuong-phap-para-summary-thinhvu.jpg \"Ph\u01b0\u01a1ng ph\u00e1p PARA trong t\u1ed5 ch\u1ee9c th\u00f4ng tin hi\u1ec7u qu\u1ea3 3\", Ph\u01b0\u01a1ng ph\u00e1p PARA trong t\u1ed5 ch\u1ee9c th\u00f4ng tin hi\u1ec7u qu\u1ea3, https://thinhvu.com/wp-content/uploads/2023/05/Obsidian-PARA-Zettelkasten-Journalit-thinhvu.jpg \"Ph\u01b0\u01a1ng ph\u00e1p PARA trong t\u1ed5 ch\u1ee9c th\u00f4ng tin hi\u1ec7u qu\u1ea3 4\" |\n\n---\n\n### \u0110\u1ed9 D\u00e0i \u0110o\u1ea1n V\u0103n\n| Ch\u1ec9 S\u1ed1 | Gi\u00e1 Tr\u1ecb |\n|--------|-------|\n| **\u0110\u1ed9 D\u00e0i \u0110o\u1ea1n V\u0103n Trung B\u00ecnh** | 59.674418604651166 |\n| **Tr\u1ea1ng Th\u00e1i \u0110\u1ed9 D\u00e0i** | T\u1ed1t |\n\n---\n\n### Lo\u1ea1i T\u1eeb Trong Ti\u00eau \u0110\u1ec1\n| Ch\u1ec9 S\u1ed1 | Gi\u00e1 Tr\u1ecb |\n|--------|-------|\n| **T\u1eeb T\u00edch C\u1ef1c** | C\u00f3 |\n| **T\u1eeb Ti\u00eau C\u1ef1c** | Kh\u00f4ng |\n| **T\u1eeb M\u1ea1nh** | Kh\u00f4ng |\n\n---\n\n### \u0110i\u1ec3m S\u1ed1 T\u1eeb\n100\n\n---\n\n### T\u1eeb Kho\u00e1 Ch\u00ednh Duy Nh\u1ea5t\nTrue\n\n---\n\n### Ch\u1ee9a N\u1ed9i Dung \u0110a Ph\u01b0\u01a1ng Ti\u1ec7n\nTrue\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A CLI and programmatic tool to analyze Markdown files for SEO using Huggingface API",
    "version": "0.1.4",
    "project_urls": {
        "Homepage": "https://github.com/thinh-vu/hf_seo_analyzer"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "02aa414a93341a67c098a3b677c58513958452c53e52ec46fe3b0595eb8c0c6f",
                "md5": "9398e9600adaa4354754a881db7fbdf3",
                "sha256": "697482408c8ee0408066f1851a341c1b5239dff6b5af02a77beec0c1b68f71e3"
            },
            "downloads": -1,
            "filename": "hf_seo_analyzer-0.1.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9398e9600adaa4354754a881db7fbdf3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 11163,
            "upload_time": "2024-11-16T16:23:24",
            "upload_time_iso_8601": "2024-11-16T16:23:24.228315Z",
            "url": "https://files.pythonhosted.org/packages/02/aa/414a93341a67c098a3b677c58513958452c53e52ec46fe3b0595eb8c0c6f/hf_seo_analyzer-0.1.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "55eaff19d372f648d62c61b22ad69d9acbfa51bb472492c0df8bf9d8c8abfbb2",
                "md5": "00bb27fbe8150273a44b73d066c18fbd",
                "sha256": "2f6816fc9ee9d31fbdf520f8e57dab5c829d153e9d87bb9376de82cde53e3785"
            },
            "downloads": -1,
            "filename": "hf_seo_analyzer-0.1.4.tar.gz",
            "has_sig": false,
            "md5_digest": "00bb27fbe8150273a44b73d066c18fbd",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 11067,
            "upload_time": "2024-11-16T16:23:25",
            "upload_time_iso_8601": "2024-11-16T16:23:25.962854Z",
            "url": "https://files.pythonhosted.org/packages/55/ea/ff19d372f648d62c61b22ad69d9acbfa51bb472492c0df8bf9d8c8abfbb2/hf_seo_analyzer-0.1.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-16 16:23:25",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "thinh-vu",
    "github_project": "hf_seo_analyzer",
    "github_not_found": true,
    "lcname": "hf-seo-analyzer"
}
        
Elapsed time: 0.40452s